1
Общие вопросы / Re: Поток функция внутри потока =)
« on: June 22, 2020, 05:59:51 PM »Привет.Дай Бог тебе всегда быть счастливым)))))
Подпрограмма должна быть описана в том-же потоке, в котором будет вызываться.
Добавлена тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Привет.Дай Бог тебе всегда быть счастливым)))))
Подпрограмма должна быть описана в том-же потоке, в котором будет вызываться.
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
$MOVE_Start_X = $_xmouse
$MOVE_Start_Y = $_ymouse
$MOVE_X = $MOVE_Start_X
$MOVE_Y = $MOVE_Start_Y
$dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
$MOVE_step = ($dist-1)/INT(SQRT($dist))
$MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
$MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
FOR($MOVE_i=0, $MOVE_i < INT($MOVE_step))
$MOVE_X = $MOVE_X + $MOVE_X_step
$MOVE_Y = $MOVE_Y + $MOVE_Y_step
MOVE(INT($MOVE_X) + RND(-2,2), INT($MOVE_Y) + RND(-2,2))
WAITMS(RND(13,16)) // çàäåðæêà ïðè äâèæåíèè ïî òî÷êàì ñëó÷àéíàÿ ñêîðîñòü
END_CYC
END_SUB
SUB(m_move,$M_X,$M_Y)
$MOVE_MID_X = INT(($_xmouse+$M_X)/2)
$MOVE_MID_Y = INT(($_ymouse+$M_Y)/2)
$otx = INT(ABS($_xmouse - $M_X) * 0.12)
$oty = INT(ABS($_ymouse - $M_Y) * 0.12)
mouse_move($MOVE_MID_X+RND(-$otx,$otx), $MOVE_MID_Y+RND(-$oty,$oty))
mouse_move($M_X,$M_Y)
MOVE($M_X,$M_Y)
END_SUB
THREAD(start)
GETSCREEN
COLORMODE(5)
IF_PICTURE_IN (548,459, 1111,725, "Авто.bmp", -1, 85) //***1
m_move($_return1, $_return2)
WAITMS(50)
lclick($_return1, $_return2)
waitms(50)
ELSE
logwrite("Авто.bmp не найдена.")
END_IF //
wait(2)
END_THREAD
LCLICK(164,546) // 16119285
LCLICK(455,551) // 16777215
LCLICK(853,560) // 16777215
halt
$vkql=2
ELSE
waitms(30)
END_IF
waitms(RND(700,1800)
//***********Проверяем проверен ли квест**********
if($vkql=2)
$time = $_time_t + 15
WHILE($time > $_time_t)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (754,437, 1013,663, "theQuestIsComplete.bmp", -1, 85)
LCLICK($_return1, $_return2)
WAITMS(100)
LOGWRITE("квест пройден(успешно)")
$vkql=3
waitms(30)
ELSE
waitms(30)
LOGWRITE("квест не пройден успешно")
wait(30)
END_IF
END_CYC
end_if
//Пройти квест
if($vkql=3)
GETSCREEN
Oraven, вот часть моего кода, проблема в том что после нахождения картинки задание по прежнему в логе вижу что пишет "квест пройден(успешно)"на протяжении 15 секунд...Нужно как-то без команды halt обойтись т.к. дальше идёт ещё код... $check = 0
WHILE($check = 0)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(50)
END_IF
END_CYC
$time = $_time_t + 10
WHILE($time > $_time_t)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
$time = 0
LCLICK($_return1, $_return2)
WAITMS(100)
ELSE
WAITMS(500)
END_IF
END_CYC