WorldCheats Forum

Форум
Форум посвященный главным образом MMORPG играм. Никаких ХАЙДОВ!

 
ФорумПорталЧаВоПоискПользователиГруппыРегистрацияВход

Поделиться | 
 

 MainBot - Бот, управляющий ботом.

Предыдущая тема Следующая тема Перейти вниз 
АвторСообщение
Typok
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 3
Возраст : 38
Награда :  
Дата регистрации : 2009-06-28

СообщениеТема: MainBot - Бот, управляющий ботом.   Вс Сен 27, 2009 2:50 pm

Начать пост хотел бы со слов благодарности всем тем, кто писал тут и выкладывал много всякой полезной всячины, без которой я врятли когда-либо смог написать собственного бота. да и, чесно говоря, не стал бы даже браться за это дело.
Но, так или иначе, бот теперь написан и прекрасно работает - копает лед в импе отлично, руду не совсем отлично (ну и хрен сним)
И мне кажется, что пришла пора и мне кое чем поделиться. Тем более подобных вещей тут пока еще никто не выложил (автологин не всчет - это не совсем то). Что происходит на форуме, куда переехал проект, мне не ведомо.

Впринципе, майнинг-бот у меня и так работает хорошо, но одну проблему я решал очень долго. Это реакция бота на всплывающие окна (флит-инвайт, конво и предупреждение о начале ДТ) в ЛЮБОМ месте выполнения скрипта. Решение выкладываю.
Корче... смотрим ниже и критикуем.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
WinActivate ("EVE")
HotKeySet("{PAUSE}") ;__Пауза

;____________________________
HotKeySet("{z}","Var") ;__снятие с паузы
;____________________________

;____________________________
Main()
;____________________________


;==ОСНОВНАЯ ФУНКЦИЯ===============================================
Func Main()
;__запуск БОТ-КРОТ
Run("MiningBot(MACKINAW)2.exe", "G:\Мои документы\EVE\Bot")
;__ожидание
While 1
;__ДТ
if PixelGetColor(487,409) = 56311 Then
If PixelGetColor(541,445) = 470344 Then
if PixelGetColor(756,488) = 9474963 Then
if PixelGetColor(784,594) = 3855 Then
;__нажимаем "ОК"
MouseClick("left",Random(627,659),Random(588,594),1,Random(10,15))
;__ждем док
Do
Sleep(1000)
Until PixelGetColor (20,1000) = 2166792
;__выключаем БОТ-КРОТ
ProcessClose ("MiningBot(MACKINAW)2.exe")
;__освобождаем карго
MouseClickDrag ("left",Random(60,110),Random(920,980),Random(700,950),Random(630,980),Random(10,15))
;__стакаем лед
MouseClick ("right",693,693,10)
MouseClick ("left",726,749,10)
;__считаем время до окончания ДТ
Dim $t = 0
Do
Sleep (1000)
$t = $t+1
Until $t = 7000
;__выравниваем окно евы
WinActivate ("EVE")
MouseClickDrag("left",600,26,597,0,30)
;__вводим пароль + ENTER
MouseClick("left",595,928,1,10)
Sleep(500)
Send("{*}")
Sleep(100)
Send("{*}")
Sleep(100)
Send("{*}")
Sleep(100)
Send("{*}")
Sleep(100)
Send("{*}")
Sleep(100)
Send("{*}")
Sleep(100)
Send("{*}")
Sleep(100)
Send("{*}")
Sleep(500)
Send("{ENTER}")
;__ждем меню выбора чара и логинимся
Do
If PixelGetColor(77,35) = 2174509 Then
if PixelGetColor(638,811) = 1452601 Then
if PixelGetColor(847,307) = 4630 Then
MouseClick ("left",436,364,1,20)
Sleep(Random(2000,4000))
EndIf
EndIf
EndIf
Sleep(1000)
Until PixelGetColor (20,1000) = 2166792
;__закрываем окна чатов
MouseClick("left",428,189,1,20)
Sleep(1000)
MouseClick("left",283,129,1,20)
Sleep(1000)
;__делаем черный фон
Send("{F10}")
Sleep(5000)
MouseClickDrag("left",1228,705,311,158,20)
Sleep(1000)
MouseClick("left",344,290,1,20)
;__забускаем БОТ-КРОТ
Run("MiningBot(MACKINAW)2.exe", "G:\Мои документы\EVE\Bot")
EndIf
EndIf
EndIf
EndIf
WEnd
EndFunc

;_________________________________________________________________________
Func Pause() ;_ставит выполнение скрипта на паузу , после нажатия 'Pause'
Global $p=0
While $p=0
Sleep(1000)
WEnd
EndFunc

;__снятие с паузы________________________________________________________________
Func Var()
WinActivate ("EVE")
Global $p=1
EndFunc
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1. Из скрипта удалены модули, отвечающие за реакцию на конво и флит-инвайт т.к. это палево. При желании выключение этой шняги дописать легко, а технологию общения бота с потенцияльным ГМ'ом описывать не буду по понятным причинам. (пароль тоже показан звездочками если что Smile )
2. Пауза и снятие с паузы выглядят крайне коряво т.к. они полностью (за исключением ф-ции Var() ) повторяют оные из основного скрипта копательного бота (я егоназываю БОТ-КРОТ, если кто не догадался, т.к. в качестве индикатора его работы выбрал надпись "БОТ-КРОТ"). А там при вызове паузы еще проходит проверка переменных, но вставать на паузу должны оба скрипта.
3. Ева работает в оконном режиме с разрешением 1280х1024. Поэтому перед запуском БОТ-КРОТ его нужно выравнивать (это делает бот). расположение окон описывать не буду т.к. куда и для чего нужно тыкать мышкой, думаю, и так понятно.
4. Так и не понял, как запостить код в нормальном формате (с отступами и разноцветным). Уж простите...


Последний раз редактировалось: Typok (Вс Сен 27, 2009 2:59 pm), всего редактировалось 1 раз(а)
Вернуться к началу Перейти вниз
Посмотреть профиль
Typok
Пользователь
Пользователь
avatar

Мужчина Количество сообщений : 3
Возраст : 38
Награда :  
Дата регистрации : 2009-06-28

СообщениеТема: Re: MainBot - Бот, управляющий ботом.   Вс Сен 27, 2009 2:55 pm

Бот определяет какое меню всплыло по цвету в нескольких точках.
Как получить этот цвет с помощью AutoIT я не разобрался.
Использовал вот такую конструкцию (если что):

;__Цвета

WinActivate ("EVE")

Global $1 = PixelGetColor(18,146)
Global $2 = PixelGetColor(1024,810)
Global $3 = PixelGetColor(58,868)
;Global $4 = PixelGetColor(784,594)

MsgBox(4096,"1",$1,30)
MsgBox(4096,"2",$2,30)
MsgBox(4096,"3",$3,30)
;MsgBox(4096,"4",$4,30)
Вернуться к началу Перейти вниз
Посмотреть профиль
 
MainBot - Бот, управляющий ботом.
Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
WorldCheats Forum :: Лаборатория Читера :: EVE Online-
Перейти: