Покопавшись по форуму, изучив хэлп, и выпив 3 литра пива, написал бота.
Но очень хотелось бы сделать его универсальным.
Для этой задумки подскажите как сделать пользовательскую форму вида:
Где в квадратики автоматически заносятся координаты и цвет по нажатию кнопки
З.Ы Замечания по поводу скрипта бота тоже учту)
Но очень хотелось бы сделать его универсальным.
Для этой задумки подскажите как сделать пользовательскую форму вида:
Где в квадратики автоматически заносятся координаты и цвет по нажатию кнопки
Global $antizavisalko, $antiz 'обьявляю глобальные переменные для таймера
while 1 'Тут все просто, запуск бота по клавише Esc
HotKeySet ("{ESC}","bott")
WEnd
func bott() 'начало бота
while 1 'бесконечный цикл)
WinActivate("Джаггернаут") 'Делаем активным окно бота
$antizavisalko = TimerInit() 'Включаем таймер на случай зависания клиента игры
Call ("regen") 'Вызываем функцию проверки здоровья персонажа
MouseClick("left", 1073, 530) 'Нажимаем на "Моба"
$colorExit = 7798784 'Задаем цвет кнопки выхода после убийства моба
Do 'Начало цикла убийства моба
$colorForExit = PixelGetColor (659,425) 'Снимаем цвет с места где должна быть кнопка выхода
$coloBut = PixelGetColor (671,336) 'Снимаем цвет с места где должна быть кнопка удара
if $coloBut = 4456448 then 'Если цвет кнопки удара тот что нужен нажимаем кнопку
MouseClick("left", 671,336) 'нажимаем кнопку
MouseClick("left", 700,300) 'отводим мышку в сторону, так как кнопки
EndIf 'подсвечиваются т.е. меняюц цвет
sleep (1000) 'Методом научного тыка определил что эта пауза нужна
call("timer") 'Вызов процедуры проверки на зависание скрипта
Until $colorExit = $colorForExit 'Крутим цикл пока непоявится цвет кнопки для выхода из боя
sleep (300)
MouseClick("left", 617, 435) 'Закрываем окно боя
MouseClick("left", 668, 506) 'Наводим мышку на место где должна быть кнопка закрытия еще одной менюшки
sleep (1000) 'Ждем 1 секунду, завершение боя, подсчет опыта и раздачу плюшек
Do 'Запускаем паузу (угадать невозможно) а ждать лишнее время нехочится до
$color = PixelGetColor (668,506) 'появления кнопки закрытия тупой менюшки. Цикл уже узнаваем описывать небуду
call("timer")
until $color = 7471104
MouseClick("left", 668, 506) 'Наконецто закрываем Тупую менюшку
WEnd 'Бежим в начало
EndFunc
func timer() 'Таймер от зависания бота, в принципе все элементарно, если 100сек
$antiz = TimerDiff($antizavisalko) 'бот неотвечает то закрывается окно, если надо то и сообщение об ошибке,
If $antiz > 100000 Then 'запускается снова клиент
MouseClick("left", 528, 259)
MouseClick("left", 541,439)
MouseClick("left", 541,439)
MouseClick("left", 1252, 6)
sleep (500)
MouseClick("left", 111, 139)
MouseClick("left", 111, 139)
Do
$color = PixelGetColor (233,127)
until $color = 16777215
MouseClick("left", 72, 223)
sleep (8000)
Call ("bott")
EndIf
EndFunc
Func regen() 'Функция регенерации здоровья персонажа, если здаровья мало
$color = PixelGetColor (195,162) 'он открывает сумку и из первого слота сумки ест абилки
MouseClick("left", 360, 144) 'пока невостановит здоровье, потом закрывает сумку
While $color = 2098437
$color = PixelGetColor (195,162)
MouseClick("left", 528, 259)
sleep (500)
call("timer")
WEnd
MouseClick("left", 1121, 185)
EndFunc
while 1 'Тут все просто, запуск бота по клавише Esc
HotKeySet ("{ESC}","bott")
WEnd
func bott() 'начало бота
while 1 'бесконечный цикл)
WinActivate("Джаггернаут") 'Делаем активным окно бота
$antizavisalko = TimerInit() 'Включаем таймер на случай зависания клиента игры
Call ("regen") 'Вызываем функцию проверки здоровья персонажа
MouseClick("left", 1073, 530) 'Нажимаем на "Моба"
$colorExit = 7798784 'Задаем цвет кнопки выхода после убийства моба
Do 'Начало цикла убийства моба
$colorForExit = PixelGetColor (659,425) 'Снимаем цвет с места где должна быть кнопка выхода
$coloBut = PixelGetColor (671,336) 'Снимаем цвет с места где должна быть кнопка удара
if $coloBut = 4456448 then 'Если цвет кнопки удара тот что нужен нажимаем кнопку
MouseClick("left", 671,336) 'нажимаем кнопку
MouseClick("left", 700,300) 'отводим мышку в сторону, так как кнопки
EndIf 'подсвечиваются т.е. меняюц цвет
sleep (1000) 'Методом научного тыка определил что эта пауза нужна
call("timer") 'Вызов процедуры проверки на зависание скрипта
Until $colorExit = $colorForExit 'Крутим цикл пока непоявится цвет кнопки для выхода из боя
sleep (300)
MouseClick("left", 617, 435) 'Закрываем окно боя
MouseClick("left", 668, 506) 'Наводим мышку на место где должна быть кнопка закрытия еще одной менюшки
sleep (1000) 'Ждем 1 секунду, завершение боя, подсчет опыта и раздачу плюшек
Do 'Запускаем паузу (угадать невозможно) а ждать лишнее время нехочится до
$color = PixelGetColor (668,506) 'появления кнопки закрытия тупой менюшки. Цикл уже узнаваем описывать небуду
call("timer")
until $color = 7471104
MouseClick("left", 668, 506) 'Наконецто закрываем Тупую менюшку
WEnd 'Бежим в начало
EndFunc
func timer() 'Таймер от зависания бота, в принципе все элементарно, если 100сек
$antiz = TimerDiff($antizavisalko) 'бот неотвечает то закрывается окно, если надо то и сообщение об ошибке,
If $antiz > 100000 Then 'запускается снова клиент
MouseClick("left", 528, 259)
MouseClick("left", 541,439)
MouseClick("left", 541,439)
MouseClick("left", 1252, 6)
sleep (500)
MouseClick("left", 111, 139)
MouseClick("left", 111, 139)
Do
$color = PixelGetColor (233,127)
until $color = 16777215
MouseClick("left", 72, 223)
sleep (8000)
Call ("bott")
EndIf
EndFunc
Func regen() 'Функция регенерации здоровья персонажа, если здаровья мало
$color = PixelGetColor (195,162) 'он открывает сумку и из первого слота сумки ест абилки
MouseClick("left", 360, 144) 'пока невостановит здоровье, потом закрывает сумку
While $color = 2098437
$color = PixelGetColor (195,162)
MouseClick("left", 528, 259)
sleep (500)
call("timer")
WEnd
MouseClick("left", 1121, 185)
EndFunc