Ура, я сделал наполовину то что хотел:
SUB(get_items,$get, $get1, $get2, $get3, $get4, $get5, $get6, $get7)
GETSCREEN( $get1, $get2, $get3, $get4)
LOGWRITE ("Êàðòèíêà ïîëó÷åíà")
COLORMODE(8)
LOGWRITE ("Êàðòèíêà îáðàáîòàíà")
WAITMS(50)
SCANPICTURE($get0, $get1, $get2, $get3, $get4, $get5, $get6, $get7)
LOGWRITE ("Ñêàíèðîâàíèå îáëàñòè âûïîëíåíî")
WHILE (arrsize($get0) > 0)
$y = arrpop($get0)
$x = arrpop($get0)
LCLICK( $x, $y)
WAIT(3)
LCLICK(598,1030)
WAIT(3)
PRINT ("Íàéäåíî çàâåðø¸ííûõ ïðåäìåòîâ :" , $x , ":" , $y)
END_CYC
END_SUB
SUB(craft_items,$cre, $cre1, $cre2, $cre3, $cre4, $cre5, $cre6, $cre7)
GETSCREEN( $cre1, $cre2, $cre3, $cre4)
LOGWRITE ("Êàðòèíêà êðàôòà ïîëó÷åíà")
COLORMODE(8)
LOGWRITE ("Êàðòèíêà êðàôòà îáðàáîòàíà")
WAITMS(50)
SCANPICTURE($cre0, $cre1, $cre2, $cre3, $cre4, $cre5, $cre6, $cre7)
LOGWRITE ("Ñêàíèðîâàíèå îáëàñòè êðàôòà")
WHILE (arrsize($cre0) > 0)
$y = arrpop($cre0)
$x = arrpop($cre0)
LCLICK( $x, $y)
WAIT(3)
LCLICK(1513,907)
WAIT(3)
LCLICK(129,599)
SETTHREAD (take_res, 1)
WAIT(30)
SETTHREAD (take_res, 0)
PRINT ("Íàéäåíî ñâîáîäíûõ ñëîòîâ äëÿ êðàôòà :" , $x , ":" , $y)
END_CYC
END_SUB
LOGWRITE ("Ïîäïðîãðàììà Çàïóñêàåòñÿ")
SETTHREAD (take_res, 0)
get_items( $var, 168, 867, 1243, 1015, "take.bmp", 5026082, 95)
WAITMS(50)
craft_items( $var1, 168, 867, 1243, 1015, "create.bmp", 5026082, 94)
LOGWRITE ("Ïîäïðîãðàììà Çàâåðøåíà")
SETTHREAD (take_res, 1)
WAIT(10)
Но тут появилась проблема :
Иногда не хватает ресурсов на крафт какой либо вещи и бот встаёт так как нет проверки на достаточность материалов. Есть ли алгоритм как мне определять кол-во ресурсов (цифры в виде картинок) или искать другие пути?