If you are uncertain whhat happens in your script, do some debug messages... it'll show ya the problem.
Code:
sub test()
WHILE UO.Life > 0
poison = UO.Poisoned()
IF poison == 1
UO.print("TRUE, casting")
UO.Cast('Cure','self)
ELSE
UO.print("FALSE, waiting")
wait(5000)
ENDIF
wait(1000) ### just to slow down all the script and avoid message flood.
WEND
end sub
btw: what the heck is IF without THEN ? Parser should Yell about it!
btw2: what is "poison=" ment to be, when there is no "var poison" before? HA :)
btw3: it is ABSOLUTELY useless, you can write "IF UO.Poisoned() THEN" instead