Can i suggest you variablise some things to reduce file access / increase performace / make it easier to read (also made me see while rounding .5+ up was not a good idea!)
(example below, as you may find better spots to define the variables within the whole script)
if ($2- == all UP) {
var %nickini = $nick $+ .ini
var %gold = $readini( %nickini, THINGS, gold)
if ( %gold <= 10000) { msg $nick You only have %gold gold, Thats not enough!. | .halt }
;
var %up = $readini( %nickini, THINGS, UP)
var %ups = $round( $calc( %up + ( %gold / 10000 ) ) ,0 )
writeini %nickini THINGS UP %ups
writeini %nickini THINGS gold $calc( %gold - ( %ups * 10000 ) )
msg $nick Purchase successfull. Your UP is now: %ups
}
**** POSSABLE LOGIC BUG IN YOUR CODE ****
ok once i did that above it became easier to read and i noticed, that when you create the %UPS value u use the original UP value plus 1/10000th of the GOLD value, which is correct, but you then subtract from the GOLD the %UPS value * 10000
UP = 4
GOLD = 25000
%UPS = ( 4 + ( 25000 / 10000) ) = 6.5 = rounded = 6
GOLD = 25000 - ( 6 * 10000 ) = *** -35000 *** hmmmmmm that dont look right!
I would suggest this.
if ($2- == all UP) {
var %nickini = $nick $+ .ini
var %gold = $readini( %nickini, THINGS, gold)
if ( %gold <= 10000) { msg $nick You only have %gold gold, Thats not enough!. | .halt }
;
var %ups = $round( $calc( %gold / 10000 ) ,0 )
var %up = $calc( $readini( %nickini, THINGS, UP) + %ups )
writeini %nickini THINGS UP %up
writeini %nickini THINGS gold $calc( %gold - ( %ups * 10000 ) )
msg $nick Purchase successfull. Your UP is now: %up
}
PS: using VAR = in replace of SET as var's exist only tell the script completes.