Последние ответы
Тема Раздел
Используем API Lineage 2 с помощью Engine.dll... Программирование
Пишем бота для Lineage 2 [Delphi] #1 Программирование
Продам DownloaderBot [Торговля] Продажа
Все варианты обхода защит в одной теме! Актуальные уязвимости Lineage 2
Прямые руки или обход Smart Guard? Актуальные уязвимости Lineage 2
Как работать с потоками Delphi? Программирование
Куплю обход защиты СГ [Торговля] Продажа
Страница 1 из 11
Форум Lineage 2 » Вмешательство в внутриигровой процесс » Программы для Lineage 2 » Программирование » Пишем бота для Lineage 2 [Delphi] #1 (Вы задумывались об напиписании собственного бота для Lineage)
Пишем бота для Lineage 2 [Delphi] #1
Дата: Сб, 22.04.2017, 19:53
Администратор Сообщений: 143 Статус: Offline

Всем Привет! Решил написать статью как сделать рабочего бота для Lineage 2.
Хотя по другому можно сказать это мини кликер под него, нежели полноценный бот.
Ниже приведен код, который способен брать название окна в текстовом поле Edit1,
в нашем случаи Lineage 2, а затем по кнопке отправлять нажатие клавиш.
Код

procedure TForm1.FormActivate(Sender: TObject);
begin
  wnd := FindWindow(nil, PChar(FrmMain.Edit13.Text));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  //посылаем окну нажатие клавиши!
  PostMessage(wnd, WM_KEYDOWN, VK_F1, 0);
end;


Компонент Wininet посылает нажатие клавиш методом PostMessage.
Пример ниже:
Код

PostMessage(h, WM_KEYDOWN,  Ord(StringList[i][1]) , 0);//Шлется единица
PostMessage(h, WM_KEYUP,  Ord(StringList[i][1]) , 0);


Я думаю вы меня поняли, можно запихнуть в таймер тот же и посылать нажатие
клавиш в неактивное окно Lineage 2.



Зарегистрируйся!:)

Добавить в Skype
Дата: Вс, 25.06.2017, 15:47
Непроверенный Сообщений: 1 Статус: Offline

wnd почему не описали как переменная,код иза этого не работает. Как называеться переменая,ее создавать нужно?

Дата: Вт, 27.06.2017, 00:37
Администратор Сообщений: 143 Статус: Offline

Цитата mykpatlatyi ()
wnd почему не описали как переменная,код иза этого не работает. Как называеться переменая,ее создавать нужно?

WND — Это хендл окна, полученного для отправки сообщений. Можно воспользоваться этой функцией:
Код

Function hwnd(exe:string):Thandle;
Var
H: THandle;
Begin
H:=FindWindow(Nil,exe);
Result:=H;
End;


Применять так:
hwnd('l2.exe');



Зарегистрируйся!:)

Добавить в Skype
Форум Lineage 2 » Вмешательство в внутриигровой процесс » Программы для Lineage 2 » Программирование » Пишем бота для Lineage 2 [Delphi] #1 (Вы задумывались об напиписании собственного бота для Lineage)
Страница 1 из 11
Поиск: