Может конечно что то я в скрипте напортачил. Он работает, но время от времени случаются ошибки выполнения.
Скрипт для чистки почты в игре Гнев Богов:
[spoiler]
// почта
// Автор: Полуночник
// Версия: 15.3 (30.07.2014)
A:
HINTPOPUP("Чищу почту")
LCLICK(95,85)
$r1 = 467
$r2 = 344
$r3 = $r1+10
$r4 = $r2+10
GOSUB(Per)
$b1=0
WHILE($b1=0)
$r1 = 467
WAIT(1)
GOSUB(Per)
GETSCREEN
if_pixel_in(870, 300, 900, 550, 1339325)
LCLICK($_return1+10, $_return2+2)
WAIT(1)
GETSCREEN
if_pixel_in(1045, 555, 1065, 575, 2286590)
else
LCLICK(1070, 540)
$b2=0
WHILE($b2=0)
WAITMC(500)
GETSCREEN
IF_PIXEL_IN(815,340, 830, 360, 8901117)
$b2 = 1
END_IF
END_CYC
KEYPRESS(#ENTER)
WAIT(1)
GOSUB (Per)
goto(D)
end_if
WHILE($r1<705)
IF_PIXEL_IN($r1,$r2, $r3,$r4, 3158058)
$j = $_return1
$j2 = $_return2
WAITMS(500)
LCLICK(925,560)
LDOWN(920,564)
WAITMS(RND(700,900))
MOVE($j,$j2)
WAITMS(500)
LUP($j,$j2)
LCLICK(800,10)
KEYPRESS(#ENTER)
GOSUB (Per)
$r1 = 706
else
INC($r1,53)
INC($r3,53)
WAITMS(100)
IF($r1 = 732)
INC($r2,53)
INC($r4,53)
$r1 = 467
$r3 = $r1+10
WAITMS(100)
IF($r2>556)
$r1 = 706
$b1=1
END_IF
END_IF
END_IF
END_CYC
else
LCLICK(35,85)
HINTPOPUP("нет писем")
halt
end_if
D:
END_CYC
lClick(1399,58)
waitms(300)
lClick(131,550)
waitms(300)
$b = 0
WHILE($b = 0)
WAIT(1)
GETSCREEN
if_pixel_in(170, 550, 171, 551, 16053492)
else
$b = 1
END_IF
END_CYC
lClick(212,116)
goto(A)
SUB(Per)
$b = 0
WHILE($b = 0)
WAIT(1)
GETSCREEN
if_pixel_in(820, 387, 821, 388, 9935251)
$b = 1
END_IF
END_CYC
END_SUB
[/spoiler]
Ошибки бывают разные. Чаще всего встречается не выполнение участка кода
[spoiler]
else
INC($r1,53)
INC($r3,53)
WHILE($r1 = 732)
INC($r2,53)
INC($r4,53)
$r1 = 467
$r3 = $r1+10
IF($r2>556)
$r1 = 706
$b1=1
END_IF
END_CYC
END_IF
[/spoiler]
но бывает что скрипт работает норм, а потом с 25 или 46, да неважно с какой строки просто перескакивает на 69 строку, на участок кода
[spoiler] LCLICK(35,85) ---- 69 строка
HINTPOPUP("нет писем")
halt
end_if
[/spoiler]
Обьясните плииз в чём может быть заковырка?