Вот мой скрипт для "фарма" всех городов по очереди. Делался под UO Pilot 2.28(Который тут на форуме и качаем) Постарался добавить максимум описаний для упрощения настроек + приложил все необходимые иконки (имиджи) в zip т.к bmp форум не даёт выставить.
Я не профи в скриптовании,по этому скрипт по мере тестов изменяется. Тут так-же буду обновлять. Пока работает стабильно. Максимальное время теста 4 дня без перебоя + возможность зайти с другого компа или мобилы. Скрипт сам переконектится через 5 минут. Следуйте настройкам в самом скрипте и всё получится.
Настройки самого Пилота: Все стандартное + перемещать курсор в точку клика.
В настройках скрипта в некоторых местах нужно поменять координаты. Где именно я указал. Брать координаты: Окно УО пайлота активное, наводим мышку на место откуда хотим взять координаты и нажимаем (Ctrl+A). В УО Пайлоте в "Точка (Ctrl+A)" появятся 2 цифры, это и есть нужные координаты. (Берём левые 2, не правые)
Все имиджи с архива в место к которому и прописываем адреса в самом скрипте. Звуковой файл помещаем к самому УО Пайлоту.
P.S
Запускать скрипт на городе где самое верхнее селение не собрано т.к первый шаг берёт цвет значка готовности к фарму...
Script
Код
//Убрать в настройках игры автоматическое открытие города и обязательно включить автоматический переход к городу при его выборе и убрать ночную графику.
// Проверить что не стоит галочка на "Скрыть индикатор выполнения для селений земледельцев (может повысить скорость игры)" в разделе карта в настройках.
set #City 5 //Колличество городов есть
set #Gift 2 //Выбрать ежедневный подарок. 1=Ресурсы,2=Благосклонность
set #Attack 1 //Проверка на атаку. 1-да, 0-нет
set #First 1
set #AttackOn 0
set #MaxChe 8
set Timer
set #Che 0
set #Circ 1
set #Done 0
set #Fail 0
set #Go 0
set #f 0
wait 2000
goto Start
:Reload //Обновление страницы
send F5
set #Che 0
wait 2000
while 936, 386 0
wait 1000
set #Che #Che + 1
if #Che > #MaxChe
set #Che 0
goto Reload
end_if
end_while
:Start //Перезайти на нужный сервер если выкинуло. Прописываем адресс к Имиджу
set $s FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\Grepolis.bmp) %arr 2 80 1)
if $s > 0
set #X %arr[#1 1] + 326
set #Y %arr[#1 2] + 20
wait 300000 //Время ожидания для релога в секундах
double_kleft #X,#Y
wait 10000
end_if
:Gift //Сбор ежедневного подарка. Прописываем адресс к Имиджу
set $g FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\Gifts.bmp) %arr 2 80 1)
if $g > 0
if #Gift = 1
set #X2 %arr[#1 1] - 90
set #Y2 %arr[#1 2] + 25
left #X2,#Y2
wait 1000
end_if
if #Gift = 2
set #X2 %arr[#1 1] + 130
set #Y2 %arr[#1 2] + 25
left #X2,#Y2
wait 1000
end_if
end_if
//Закрыть любое открытое окно если есть. Прописываем адресс к Имиджу
set $X FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\X.bmp) %arr 2 80 1)
if $X > 0
set #X1 %arr[#1 1]
set #Y1 %arr[#1 2]
left #X1,#Y1
wait 500
end_if
:Farm //Поиск деревни и фарм 5 минут. Прописываем адресс к Имиджу
set $f FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\Flag.bmp) %arr 2 80 -1)
if $f > 0
For #i 1 $f
set #X %arr[#i 1] +22
set #Y %arr[#i 2] + 40
if #First = 1
get color #color #X #Y
set #First 0
end_if
if #X,#Y #color
repeat 2
left #X,#Y
wait 100
end_repeat
call Farm
end_if
Continue
end_for
else
goto NextCity
end_if
:Attack //Проверка на атаку. Прописываем адресс к Имиджу
if #Attack = 1
set $a FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\Attack.bmp) %arr 2 80 1)
if $a = 0
set #AttackOn #AttackOn + 1
Alarm Attack.wav
else
set #Attack 1
end_if
if #AttackOn > 4
set #Attack 0
set #AttackOn 0
end_if
end_if
:NextCity //Переход к следующему городу. Прописываем адресс к Имиджу
if #City > 1
set #Che 0
set $c FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\Next.bmp) %arr 2 80 1)
if $c > 0
get color #color2 769, 537 //Координаты любой точки на карте(По центру на острове)
get color #color3 200, 100 //Координаты любой точки на карте(Cлева от острова в начале карты)
get color #color4 828, 884 //Координаты любой точки на карте(Под островом,внизу карты)
set #X1 %arr[#1 1]
set #Y1 %arr[#1 2]
left #X1,#Y1
wait 500
else
goto Reload
end_if
while 769, 537 #color2 and 200, 100 #color3 and 828, 884 #color4 //3 разных координата указанные выше. Вписываем к каждому цвету свои
wait 200
set #Che #Che + 1
if #Che > 50
set #Che 0
goto reload
end_if
end_while
set #Circ #Circ + 1
wait 500
else
goto Wait
end_if
:Wait //Ожидание готовности селений или пока пройдёт 1,5 минуты с окончания цикла. Прописываем адресс к Имиджу
if #Circ > #City
set #Circ 1
while timer < 80000
set $w FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\Flag.bmp) %arr 2 80 -1)
For #i 1 $w
set #X %arr[#i 1] +22
set #Y %arr[#i 2] + 40
if #X,#Y #color
set #Done #Done + 1
Break
end_if
end_for
if #Done > 0
set #Done 0
goto Start
end_if
wait 5000
end_while
set timer
end_if
//Процедура фарма.
proc Farm
set #Che 0
set $fm 0
while $fm = 0
//Нажатие кнопки фарма 5-ти минут. Прописываем адресс к Имиджу
set $fm FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\5m.bmp) %arr 2 60 1)
set #Che #Che + 1
wait 120
if #Che > 25
set #Che 0
left 1, 1
wait 500
Break
end_if
end_while
if $fm > 0
set #X1 %arr[#1 1]
set #Y1 %arr[#1 2] +65
left #X1,#Y1
wait 500
end_if
//Закрыть окно фарма если осталось. Прописываем адресс к Имиджу
set $X FindImage (0 0 1600 1400 (D:\Games\Uo Tools\Scripts\Grepolis\X.bmp) %arr 2 80 1)
if $X > 0
set #X1 %arr[#1 1]
set #Y1 %arr[#1 2]
left #X1,#Y1
wait 100
end_if
end_proc
goto Start
end_script
Сообщение отредактировал Fors1k - 14.6.2020, 1:18