2
« on: November 02, 2022, 07:34:47 AM »
Здравствуйте, выкладываю сюда код. Проблема в том, что спустя определенное время работы - невозможно остановить скрипт, он не реагирует на бинды, в трее тоже не останавливается вплоть до нескольких минут. Что нужно поменять?
$rnd1_x = 960
$rnd1_y = 441
$rnd2_x = 1043
$rnd2_y = 447
$rnd3_x = 1071
$rnd3_y = 501
$rnd4_x = 1026
$rnd4_y = 546
$rnd5_x = 961
$rnd5_y = 573
$rnd6_x = 886
$rnd6_y = 563
$rnd7_x = 864
$rnd7_y = 510
$rnd8_x = 959
$rnd8_y = 543
$rnd = RNDFROM($rnd1,$rnd2,$rnd3,$rnd4,$rnd5,$rnd6,$rnd7,$rnd8)
//$rnd_x = RNDFROM(829,1085,957,1030,900,1007,906,1092,1076)
//$rnd_y = RNDFROM(533,424,503,566,411,610)
$rnd_wait = RND(2000,5000)
THREAD(found, 1)
IF($first = 0)
$first = 1
$g = hget(868, 296)
hsettext($g, "MU_QUEST")
$quest = inputbox("Какого монстра ищем?", ".bmp", 500)
LOGWRITE($quest)
$exit = dialogbox("Закрыть окно по завершению квеста?", 4)
if ($exit = 6)
print("Да")
$close = 1
else
print("Нет")
$close = 0
end_if
waitms(300)
WNDBUMP ($g)
SETTHREAD (move, 1)
END_IF
$check = 0
WHILE($check = 0)
GETSCREEN(547,270, 1354,791)
COLORMODE(8)
IF_PICTURE_IN (547,270, 1354,791, $quest, -1, 99)
SETTHREAD (move, 0)
LUP($_xmouse, $_ymouse)
waitms(200)
// $check = 1
MOVE($_return1+30, $_return2+100)
WAITMS(500)
LDOWN($_return1+30, $_return2+100)
waitms(500)
LUP($_return1+30, $_return2+100)
wait(1)
KEYPRESS(#F6)
wait(3)
KEYPRESS(#F8)
waitms(500)
GETSCREEN(548,646, 876,780)
COLORMODE(7)
IF_PICTURE_IN (548,646, 876,780, "quest_done.bmp", -1, 90)
IF($close = 1 )
waitms(1000)
MOVE(1337,236)
waitms(300)
LCLICK(1337,236)
LOGWRITE("Окно закрыто")
EXECUTE("CMH.exe", "TMessage Квест успешно выполнен! Окно закрыто")
wait(1)
halt
ELSE
EXECUTE("CMH.exe", "TMessage Квест успешно выполнен! Окно на месте ")
halt
END_IF
ELSE
WAITMS(1000)
SETTHREAD (move, 1)
END_IF
END_IF
END_CYC
END_THREAD
THREAD(move, 0)
waitms(100)
//MOVE($rnd_x, $rnd_y)
MOVE(RNDFROM($rnd1_x,$rnd2_x,$rnd3_x,$rnd4_x,$rnd5_x,$rnd6_x,$rnd7_x,$rnd8_x), RNDFROM($rnd1_y,$rnd2_y,$rnd3_y,$rnd4_y,$rnd5_y,$rnd6_y,$rnd7_y,$rnd8_y))
waitms(500)
LDOWN($_xmouse, $_ymouse)
waitms($rnd_wait)
LUP($_xmouse, $_ymouse)
wait(1)
END_THREAD