proverka:
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(1000,810, 1090,40, 922256)
WAITMS(100)
GOTO(proverkablackplus)
END_IF
ELSE
GETSCREEN
IF_PIXEL_IN(1000,810, 1090,40, 4798640)
WAITMS(100)
GOTO(proverkablackminus)
END_IF
ELSE
WAITMS(100)
GOTO(start)
END_CYC
proverkablackplus:
WAIT(5)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1000,810, 1090,40, "black.bmp", -1, 100)
WAITMS(100)
$check = 1
END_IF
ELSE
WAITMS(100)
GOTO(proverka)
END_CYC
INC($orderplus,1)
log($note)
WAIT(1)
goto(start)
proverkablackminus:
WAIT(5)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (1000,810, 1090,40, "black.bmp", -1, 100)
WAITMS(100)
$check = 1
END_IF
ELSE
WAITMS(100)
GOTO(proverka)
END_CYC
INC($orderminus,1)
log($note)
WAIT(60)
goto(start)
$check = 0
$time = $_time_d + 1
WHILE($time > $_time_d,$check = 0)
GETSCREEN (1000,810, 1090,40)
IF_PIXEL_IN(1000,810, 1090,40, 922256)
$check = 1
$time = 0
LOGWRITE("нашел зеленый цвет")
WAIT(1)
GETSCREEN (60,770, 141,881)
IF_PICTURE_IN (60,770, 140,880, "white.bmp", -1, 100)
LOGWRITE("нашел черный квадрат после зеленого")
INC($orderplus,1)
WAITMS(50)
log($note)
WAIT(1)
ELSE
GETSCREEN (1000,810, 1090,40)
IF_PIXEL_IN(1000,810, 1090,40, 4798640)
$check = 1
$time = 0
LOGWRITE("нашел красный цвет")
WAIT(1)
GETSCREEN (60,770, 141,881)
IF_PICTURE_IN (60,770, 140,880, "white.bmp", -1, 100)
LOGWRITE("нашел черный квадрат после красного")
INC($orderminus,1)
WAITMS(50)
log($note)
WAIT(120)
ELSE
LOGWRITE("не нашел ни один цвет")
WAIT(1)
END_IF
END_IF
END_IF
END_IF
END_CYC
$time = $_time_d + 1
WHILE($time > $_time_d)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "confirm.bmp", -1, 100) //подтвердить
$time = 0
MOVE_SLOW($_return1, $_return2)
LCLICK($_return1, $_return2)
WAIT(1)
END_IF
ELSE
WAIT
END_CYC
GR:
$check = 0
$checc = 0
$time = $_time_d + 1
WHILE($time > $_time_d)
GETSCREEN (1000,810, 1090,840)
IF_PIXEL_IN(1000,810, 1090,840, 4601507, 4864436, 5127362, 5915625, 4272784)// красный
$check = 1
$time = 0
WAITMS(100)
LOGWRITE("пиксель красный")
WAIT(1)
ELSE
GETSCREEN (1000,810, 1090,840)
IF_PIXEL_IN(1000,810, 1090,840, 6922256, 6130193, 5074451, 6988304, 7846415)// зеленый
$checc = 1
$time = 0
WAITMS(100)
LOGWRITE("пиксель зеленый")
WAIT(1)
END_IF
END_IF
END_CYC
IF($check = 1)
LOGWRITE("да пиксель красный")
GOTO(red)
END_IF
IF($checc = 1)
LOGWRITE("да пиксель зеленый")
GOTO(green)
END_IF
red:
$check = 0
$time = $_time_t + 1
WHILE($time > $_time_t)
getscreen (60,770, 141,881)
IF_PICTURE_IN (60,770, 140,880, "white.bmp", -1, 100)
$check = 1
LOGWRITE ("нашел картинку")
ELSE
LOGWRITE ("не нашел картинку")
WAIT(1)
END_IF
end_cyc
IF($check = 1)
INC($orderminus,1)
WAITMS(50)
log($note)
LOGWRITE ("закрыл ордер на красный")
WAIT(5)
halt
END_IF
IF($time ! 0)
GOTO(GR)
END_IF
green:
$check = 0
$time = $_time_t + 1
WHILE($time > $_time_t)
getscreen (60,770, 141,881)
IF_PICTURE_IN (60,770, 140,880, "white.bmp", -1, 100)
$check = 1
LOGWRITE ("нашел картинку")
ELSE
LOGWRITE ("не нашел картинку")
WAIT(1)
END_IF
end_cyc
IF($check = 1)
INC($orderplus,1)
WAITMS(50)
log($note)
LOGWRITE ("закрыл ордер на зеленый")
WAIT(1)
halt
END_IF
IF($time ! 0)
GOTO(GR)
END_IF
Короче почитал форум понял что GOTO в циклах не работает.Неправильно понял, всё работает, но конечно не так как написано.
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(1000,810, 1090,40, 922256)
WAITMS(100)
GOTO(proverkablackplus)
END_IF
ELSE
GETSCREEN
IF_PIXEL_IN(1000,810, 1090,40, 4798640)
WAITMS(100)
GOTO(proverkablackminus)
END_IF
ELSE
WAITMS(100)
GOTO(start)
END_CYC
WHILE($time > $_time_d,$check = 0)
DEFINE($orderminus, 0) DEFINE($orderplus, 0) SUB(wait_white) $white = 0 WHILE($white = 0) GETSCREEN(60,770, 141,881) IF_PICTURE_IN (60,770, 140,880, "white.bmp") $white = 1 ELSE WAITMS(100) END_IF end_cyc END_SUB SUB(red_green, $color, $W) $check = 1 LOGWRITE("пиксель ", $color) wait_white() IF($color = "красный") INC($orderminus) ELSE INC($orderplus) END_IF log($note) // хз что это такое LOGWRITE("закрыл ордер на ", $color) WAIT($W) END_SUB $check = 0 WHILE($check = 0) GETSCREEN(1000,810, 1090,840) IF_PIXEL_IN(1000,810, 1090,840, 4601507, 4864436, 5127362, 5915625, 4272784) red_green("красный", 5) ELSE IF_PIXEL_IN(1000,810, 1090,840, 6922256, 6130193, 5074451, 6988304, 7846415) red_green("зеленый", 1) ELSE WAITMS(80) END_IF END_IF END_CYC HALT