PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Всем привет!
Решил выложить свой вариант PW FrameWork. Назвал я его PW FrameWork 2.0.
Совместимости между первоначальной версией и версией 2.0 нет.
Он переделан из первой версии и в нем использованы наработки TBXin и whoami и возможно еще кого то.
Классы, которые я изменял имеют пометку krukovis. Остальные классы из проекта исключены, до лучших времен.
Так они не откомментированы и как их использовать мне пока не понятно. Если разберусь - включу в проект.
Немного общих комментариев по классам:
Общий упор сделан на ООП - объектно ориентированное программирование. Я все старался представить в виде самостоятельных объектов. И все взаимодействие в виде взаимодействия объектов.
WinApi - просто сборник win api. Вынесен в отдельный класс для удобства поиска.
ClientFinder - с этого класс начинается подключение к клиенту.
Он принимает в качестве аргументов: базовый адрес клиента, смещение к структуре игры, смещение к структуре персонажа и смещение к адресу имени персонажа.
Возвращает список окон, если получится определить имя персонажа - то в виде имен персонажа, если нет - в виде имен окон.
Окно представленно классом ClientWindow.
MemoryWork - основной класс для работы с памятью.
В нем собраны удобные функции для чтения памяти и представления полученных данных в нужном формате: Int32, Int16, String и т.д
Этот класс основной для всех следующих классов, т.к. работа идет с памятью.
Он принимает в качестве аргумента класс ClientWindow и работает именно с этим окном. Что примечательно, можно создать экземпляр класса
MemoryWork для любого запущенного окна игры и можно будет работать из одной программы с несколькими окнами. Можно управлять хоть целой командой.
ASM - класс облегчающий инжект асм-функций. Вспомогательный класс для активизации различных функций клиента.
Конструктор класса ASM принимает в качестве параметра экземпляр класса MemoryWork. И соответственно инжектит функции в окно, которое связано с этим классом MemoryWork.
PacketSender - класс облегчающий использование пакетов. А точнее отправляющий пакеты. Принимает в качестве аргумента класс Packet. Packet - статический класс - огромная база пакетов. Все очень в удобном виде.
OffsetRetriever - класс для поиска смещений и адресов по маске. Как пользоваться - пример в исходниках.
OffsetsAndAddresses - сборник смещений и адресов, использующихся в других классах
GraphicUserInterface - это набор классов описыващий графические объекты в игре и позволяющий запускать различные кнопки.
и GameStructs - класс описывающий игровые структуры.
По поводу последних двух классов хотелось бы остановиться подробнее. В двух этих классах я хочу предложить новую концепцию работы с игровыми объектами.
Они реализуют принцип ООП и описывают окна, контролы на них, персонажа, его команду и т.д. как объекты.
При такой реализации с ними очень легко работать. Наример, чтобы нажать на кнопку нужно сделать следующее:
Создать экземпляр класса PWGUI:
Код:
PWGUI GUI = new PWGUI(SelectedWindow);//где SelectedWindow - это какое то окно PW описанное с помощью класса ClientWindow.
И работать с его свойствами и методами, как вы обычно привыкли:
Код:
//отображаем форму Win_LoginButton - форму ввода логина и пароля
GUI.Form("Win_LoginButton").Visible = true;
//открываем окно смены сервера:
GUI.Form("Win_LoginButton").Control("Btn_ChangeServer").CommandStart();
Аналогично можно работать с персонажем:
Код:
//получаем класс игры для запущенного окна
PWGameWindow game_window = new PWGameWindow(SelectedWindow);
//объявляем host-игрока для данного окна игры
PWHostPlayer MyPersonage = game_window.HostPlayer;
//Использовать Смерчь у приста
MyPersonage.UseSkill(127);
//Сесть в медитацию
MyPersonage.MeditationStart();
и т.д.
Все свойства и методы откомментированны и по описанию в навигаторе можно понять что делает то или иное свойство или метод
Основным желанием было наметить пути командной разработки и дальнейшего улучшения фреймворка для общего блага.
Класс для работы с GUI, я считаю, дописан. Так как на своей практике не вижу что еще нужно дописывать.
Класс для работы с игрой только начат - в нем я только наметил основные моменты и я предлагаю его дополнять и расширять совместными усилиями. Если вы будете выкладывать код с исправлениями или улучшениями - обязательным требованием будут комментарии и следование общей концепции (по аналогии).
Со своей стороны буду оказывать любую помощь и поддержку. Все объясню и расскажу. Весь новый код буду вставлять в исходный проект и выкладывать на форуме.
Исходники PW FrameWork 2.0 и пример можно скачать из вложения. Замените адреса для своего клиента перед использованием!
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
Последний раз редактировалось krukovis; 27.09.2012 в 23:07.
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Цитата:
Сообщение от N00bSa1b0t
А ты баг с памятью исправил, который был у TBX1in и whoami?
Баг с тем, что память переставала выделяться? Исправил. Память теперь выделяется один раз при открытии и дальше все классы, если что то нужно инжектить - инжектят в эту страницу.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Цитата:
Сообщение от N00bSa1b0t
Баг с тем, что занятая память не удалялась
Вот так вот . Значит можно переписывать PW FW.
Ну или пусть будет как есть - страница выделяется. Вся работа идет на этой странице. Все удобно.
Для меня важнее, чтобы мы общими усилиями описали основные параметры персонажа и прочих структур. Основной упор сделан на это.
Вот ты будешь сейчас писать софтину свою - возьми за основу PW 2.0 и что нибудь да допишешь в структуру перса. И я тоже сейчас буду писать кой чего - тоже допишу. Выложим вместе - будет польза обоим и еще куче народу.
Алгоритмы программы - не нужны. Только структура персонажа и дочерних структур.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
Последний раз редактировалось krukovis; 28.09.2012 в 07:48.
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Цитата:
Сообщение от krukovis
Вот ты будешь сейчас писать софтину свою - возьми за основу PW 2.0
У меня уже свой фреймворк на основе фреймворка от whoami =)
Идея была примерно такая же:
Есть класс pwProcess в нем класс pwgame а там уже hostplayer с разными функциями типа:
Код:
var party = PW.Game.HostPlayer.GetParty();
PW.Game.HostPlayer.Assist(party[0]);
...
PW.Game.HostPlayer.UseItem(found, cooldown);
..
var players = PW.Game.HostPlayer.NearestPlayers_Get();
Только у меня еще модульная структура, чтоб не всю либу сразу подключать к своим проектам. Например, для геобота не нужны функции работы с группой, игроками итп =)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Цитата:
Сообщение от N00bSa1b0t
Только у меня еще модульная структура, чтоб не всю либу сразу подключать к своим проектам. Например, для геобота не нужны функции работы с группой, игроками итп =)
Что за модульная структура? Подробнее плиз.
Добавлено через 2 минуты
Цитата:
Сообщение от Goooooogle
переделал оффсеты под руоф скачать
Так там заменить только адреса нужно было. Все остальное совпадает. Можешь просто скопировать сюда адреса для руофа - для замены.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
Последний раз редактировалось krukovis; 28.09.2012 в 14:47.
Причина: Добавлено сообщение
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Цитата:
Сообщение от krukovis
Что за модульная структура? Подробнее плиз.
Я пока думаю, как ее правильно реализовать. пока остановился на таком способе.
Например, делаю я простую ингейм утилитку. Например вот как EnemyDetector. Отображает список рядом находящихся игроков и выводит инфу о них.
В этой утилите не нужны функции работы с группой, с мобами, со скиллами, с чатом, функции движения, полета итп. Нужны функции только чтения списка игроков и все.
Например в иксо-боте не нужен список игроков рядов, но нужен автопот, скан мобов, движение итп.
Чтобы каждый раз не тащить за собой всю огромную либу, я её разбил на модули: Чат, группа, игроки, мобы, движение, скиллы итп.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
Re: PW FrameWork 2.0 - новый взгляд на инструмент для ботостроения
Цитата:
Сообщение от N00bSa1b0t
в зависимости от проекта по разному компилируется
Использовать директивы на уровне компилятора - моветон.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Быстрое снятие и загрузка скриншотов на хостинг.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------