SPUTNIK STALIN MUZHIG)))))
Quote:
"Хочу знать кто в локе!"
Code:
var
aPlayersArray: TaPlayersArray;
begin
aPlayersArray := aPWT.GetLocationPlayers(aPWWindow.aProcessID);
"Хочу прыгнуть!"
Code:
aPWT.Jump(aPWWindow.aProcessID);
|
А я указатель на процесс закладываю в экземпляр класса.
Потом делаю PW.Attach(WinTitle) и больше нигде не фигурирует ни хендл окна, ни процесса)))
Quote:
Бота все еще не написали ?
|
Ну я пока написал интеллектуальный сбор ресов и лута. Полет по заданной траектории, которую можно сначала записать (например пролететь по тем злачным местам где ресы есть, круг намотать, облетая препятствия как полагается)
Я прям в шоке был, когда это все таки получилось))) так красиво летает, в точности повторяя движения- ваще не палится что бот))
Кстати, я пошел тернистым путем-решил сделать бота многопоковым- но результат на лицо:
Один поток главный- управляет логикой, ищет самые актуальные цели для атаки/сбора/следования/бафания в соответствии с режимом, управляет остальными потоками.
Другой поток отслеживает показатели персонажа, обновляет списки мобов/лута/ресов/игроков. Высчитывает действительную скорость перемещения.
Еще один следит за здоровьем и маной. Пьет банки. Ресается в ближайшем городе при смерти.
Один поток управляет полетом/бегом к заданной точке, следит чтобы перс не застрял. Например, при полете на дальние расстояния набирает высоту повыше, а если цель рядом- просто летит напрямик итд
Еще один следит за ЧС: например, напал моб, лвл которого сильно превосходит лвл игрока. или критический уровень здоровья. или напало сразу три моба. или сломалось оружие. итд итп. на каждый случай есть заданное поведение- например подпрыгнуть дважды, включить полет и взлететь повыше, подождать пока мобы оторвутся или здоровье восстановится, после чего вернуться к ближайшей точке.
вот так вот. Не все так плохо)))
Правда еще многому нужно научить его и самому научиться)) Но основа заложена уже оочень масштабная.
Есть еще идея, сохранять настроенный экземпляр бота с привязкой под ID перса - потом при появлении Element Client проверять ID, если под него есть настройки- сразу их загружать, переименовывать окно под имя персонажа, и создавать новый экземпляр в режиме ожидания.
Таким образом реализовывается мнокооконность.
А благодаря многопотоковости- параллельность работы экземпляров бота. и все в одном окне.
Так же есть отличная идея их слаженной работы-например три фармят, один хилит и бафает.
Если один из эксемпляров не стартовать, а просто приаттачить к окну,а второй стартануть в режиме хилера, то получится бот-компаньон. Типа смурфита, только мой прист наконец будет улетать повыше, когда на него нападают мобы.
(собственно именно эта досадная ошибка и заставила меня писать своего)) )
ЗЫ: фигасе я отписал)))