1. if(iskeydown(1)=1)
$x=$_xmouse
$y=$_ymouse
LOGWRITE ("Êîîðäèíàòû: ",$x," ",$y)
Else
WAITMS(RND(50,74))
GETSCREEN
IF_PICTURE_IN (331,241, 586, 326, "svr.bmp")
goto(e)
END_IF
GETSCREEN
IF_PICTURE_IN (194,631, 393, 797, "ne.bmp")
e:
WAITMS(RND(3580,5011))
KEYDOWN(#ALT)
WAITMS(60)
KEYPRESS(#S)
WAITMS(60)
KEYUP(#ALT)
LOGWRITE ("Îñòàíîâèëè ïðîãðàììó")
Else
GETSCREEN
IF_PICTURE_IN (905,9, 1019, 68, "pr.bmp")
WAITMS(RND(1376,2604))
KEYPRESS(#T)
LOGWRITE ("Çàáðîñèëè")
WAITMS(RND(1376,6604))
b:
GETSCREEN
IF_PICTURE_IN (1,267,945,487,"k.bmp")
WAITMS(RND(176,4604))
KEYPRESS(#SPACE)
WAITMS(RND(188,1102))
LOGWRITE ("Êëþíóëà")
LOGWRITE ("Òÿíåì")
Goto(c)
Else
Goto(b)
2. c:
GETSCREEN
IF_PICTURE_IN (13,460, 970, 542, "sh.bmp")
KEYDOWN(#H)
LOGWRITE ("H")
WAITMS(100)
$check1 = 0
WHILE($check1 = 0)
GETSCREEN
COLORMODE(6)
IF_PIXEL_IN (0,486, 1024,512, 4145151, 4161471)
$check1 = 1
KEYUP(#H)
LOGWRITE ("H")
WAITMS(50)
KEYDOWN(#G)
LOGWRITE ("G")
WAITMS(100)
$check2 = 0
WHILE($check2 = 0)
GETSCREEN
COLORMODE(6)
IF_PIXEL_IN (0,513, 1024,546, 4145151, 4161471)
$check2 = 1
KEYUP(#G)
LOGWRITE ("G")
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
ELSE
WAITMS(50)
END_IF
END_CYC
END_IF
goto(c)
Else
3. GETSCREEN
IF_PICTURE_IN (382,332, 750, 497, "so.bmp")
WAITMS(RND(2353,2975))
screenshot
KEYPRESS(#ENTER)
LOGWRITE ("Âû ÷åãî-òî âûïîëíèëè")
END_IF
Это часть кода. Ваш код в чистом виде работает, но не совсем так как хотелось бы. Объясню.
мне пришлось заменить второе и третье изображение проверкой цвета - это была моя ошибка, изображения все время меняются. С проверкой цвета работает.
При запуске с Вашим кодом действует до END_CYC END_IF один раз и переходит в самое начало кода (1). С помощью Goto(c) я этот вопрос решил, но Else после Goto не срабатывает. Код полностью зацикливает от с: до Goto(c). Не переходит к пункту 3. Как это побороть?