Rember the golden rule... write your script to follow the actions you would do manually.
event macro 25 0 = wait for target .. try using this
http://wiki.easyuo.com/index.php?title=TargetNow ask yourself when you caste a spell manually do you wait for a Target PRIOR to clicking on the spell caste icon

?
Well if you did you would be waiting forever wouldnt you..... first you caste the spell .. then you wait for a target cursor then you target the item person object or ground...
So thats 3 steps .. caste spell, wait for target cursor, select a target done in that order... which is not what you are doing.
Just play with this segment until you get it working then slot it into the rest of the script
event macro 25 0
event Macro 15 57
wait 2s
set #LTARGETX #charposx + 4
set #LTARGETY #charposy + 4
set #LTARGETZ #CHARPOSZ
set #LTARGETKIND 2
event macro 22 0
halt