Это ошибка не скрипта, а пилота. Хотя обоих, ибо он считывает ласт мессагу на момент обращения, а не ее появления. Т.е. она иногда успевает на лагах перекрываться другими.
Юзай этот.
Код:
:start
repeat 20
send F6 3000
if lastmsg you lack
break
end_if
End_repeat
double_left xxx,yyy
wait 1000
set #i 0
While_not lastmsg you must wait
send F11 2000
if lastmsg you are at
break
end_if
if #i > 1000
goto start
end_if
End_while
set #i 0
While_not lastmsg you are at
If lastmsg you lose
send F11 1000
End_if
if mana = int
break
end_if
set #i #i+1
if #i > 2000
goto start
end_if
End_while