Помогите, плз, оптимизировать скрипт. он слишком часто промахивается.
Стадии Скрипта:
1)начинается рыбалка
2)выполняется проверка на клев (определенное количество раз анализируется цвет точки экрана в которой появится полоска хп рыбы) если клева нет, завершение скрипта (в будущем переход на п1)
3)регистрация изменений полоски. Создается 2мерный массив. в первой строке - значения цвета в нескольких точках полоски (зависит от выбранного шага) Во второй строке - значения цвета в тех же точках но спустя нек. время.
4)Проверка изменения полоски для определения используемого скила. если все значения в 2х строках массива одинаковы, значит полоска стоит на месте, в противном случае - увеличивается.
5)Использование скила и повтор действий с п2. Если полоска неизменна то используется pumping (если он использовался до этого то даем время на откат скила). Если полоска увеличивается то используется reeling (если он использовался до этого то даем время на откат скила).
Код
//Скрипт на рыбалку by ORLANGUR
//------------------------------------------Options----------------------------------------------
//Координаты полоски статуса рыбы
set %FishBar_Pos [1 1] 116 //X start
set %FishBar_Pos [1 2] 342 //Y start
set %FishBar_Pos [2 1] 340 //X end
set %FishBar_Pos [2 2] 342 //Y end
//Клавиши
set $Start_Fishing F3
set $SoulShot F4
set $Pump F5
set $Reel F6
//Другие опции
set #FishBar_Color1 13005064 //цвет полоски остатка хп рыбы
set #FishBar_Color2 853063 //цвет "пустой" полоски
set #FishBar_Step 5 // шаг элемента массива при анализе полоски
//Reserved
set #Pumped 0
set #Reeled 0
//-----------------------------------------------СКРИПТ--------------------------------------------
send $Start_Fishing
//____________проверка на клев______________
:prov
get color #Col %FishBar_Pos [1]
set #iter 0
While #Col <> #FishBar_Color1
get color #Col %FishBar_Pos [1]
set #iter #iter +1
If #iter > 6000
end_script
end_if
end_while
//----------------------------------------------------------------------------------
//____________Регистрация изменений полоски_____________
set #i2 0
set #i1 %FishBar_Pos [1 1]
set #end %FishBar_Pos [2 1]
While #i1 < #end
set #i2 #i2 +1
get color #Col #i1, %FishBar_Pos [1 2]
set %FishBar_Aray_Color [1 #i2] #Col
set #i1 #i1 +#FishBar_Step //44
end_while
wait 10
set #i2 0
set #i1 %FishBar_Pos [1 1]
While #i1 < #end
set #i2 #i2 +1
get color #Col #i1, %FishBar_Pos [1 2]
set %FishBar_Aray_Color [2 #i2] #Col
set #i1 #i1 +#FishBar_Step //44
end_while
//------------------------------------------------------------------------------------------------------------
//__________________проверка изменения полоски___________
set #Operation 0
For #i3 1 #i2
set #uslov1 %FishBar_Aray_Color [1 #i3]
set #uslov2 %FishBar_Aray_Color [2 #i3]
if #uslov1 <> #uslov2
set #Operation #Operation +1
else
set #Operation #Operation +0
end_if
end_for
//-------------------------------------------------------------------------------------------------------------
if #Operation = 0
if #Pumped = 1
wait 1500
set #Pumped 0
end_if
send $SoulShot
wait 5
send $Pump
set #Pumped 1
else
if #Reeled = 1
wait 1500
set #Reeled 0
end_if
send $SoulShot
wait 5
send $Reel //Reeling
set #Reeled 1
set #Operation 0
end_if
wait 50
goto prov