Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 12.01.2008, 13:15   #11
Пользователь
 
Аватар для skymanrus
 
Регистрация: 28.12.2007
Сообщений: 54
Сказал Спасибо: 0
Имеет 40 спасибок в 10 сообщенях
skymanrus пока неопределено
По умолчанию

в том то и дело что в пакет хаке работает вызов длл !:(
вызов функций из виндузовых длл таких как User32.dll и GDI32.dll проходит на ура и эти функции возвращают в пакет переменные!
а я просто не могу правильно составить длл чтоб переменные передавались :(
скорее всего многоуважаемый создатель пакет хака может как то меня просветить по этому вопросу
__________________
На людей сердишся, когда чувсивуешь, что их поступки важны. Ничего подобного я больше не чувствую...
skymanrus вне форума   Ответить с цитированием
Старый 12.01.2008, 19:22   #12
Новичок
 
Регистрация: 15.11.2007
Сообщений: 19
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
SWS
По умолчанию

Цитата:
как передать при вызове dll значение переменной dda из dll в L2PacketHack ???
Очень легко используй обычные функции вместо процедур и при ее описании укажи тип возвращаемого значения и лови это значение на выходе в L2ph.

Цитата:
мне все равно от длл приходит пустота :((
что не так то делаю ???
Я честно давно не писал уже DLL, попробуй отладь в делфи, может у тя сама DLL не пашет? Если компилируется, еще не значит, что с ней все ок, для того чтоб откомпилировать DLL, надо написать прогу, которая ее использует. Если не знаешь как делать, то почитай в поисковик те быстро выдаст статейки.

еще попробуй убери в uses все модули, все равно ты там ничего из них не используешь и проверь еще раз.

Вообще, я сам собираюсь написать DLL в которую из l2ph будут просто передаваться пакеты от клиента и сервака, а там уже будут процедурки для анализа пакетов и т.д. (т.е. там я помещу как раз весь тот код, который хочу реализовать), а обратно l2ph будет получать на выходе модифицированный пакет и отправлять. Кто подскажет можно мне как нить сделать так, чтоб я мог из DLL отправлять пакеты какие-то серваку или клиенту? Если так напрямую нельзя, то подскажите как реализовать оп другому, вообщем нужно сделать так, чтобы я мог когда мне нужно отослать пакеты клиенту или серваку, но весь исполняемый код будет в DLL, т.к. DLL намного быстрее выполняется, чем скрипт в l2ph, да и возможностей побольше предоставляет :)
SWS вне форума   Ответить с цитированием
Старый 13.01.2008, 00:57   #13
Гость
 
Сообщений: n/a
По умолчанию

Правильная передача параметров в DLL в пакетхаке не работает.
Механизм работы с DLL был тупо передран с форума http://fast-report.com/ru/forum/index.p ... topic=3593
и никто не собирается его модифицировать или хотя бы разобраться.
В это способе все очень криво и не совсем правильно сделано и работает только частично.
  Ответить с цитированием
Старый 13.01.2008, 00:58   #14
Гость
 
Сообщений: n/a
По умолчанию

В WP PPC все работает там явно использован другой механизм.
  Ответить с цитированием
Старый 13.01.2008, 16:14   #15
Пользователь
 
Аватар для skymanrus
 
Регистрация: 28.12.2007
Сообщений: 54
Сказал Спасибо: 0
Имеет 40 спасибок в 10 сообщенях
skymanrus пока неопределено
По умолчанию

хех ладно.. я в ЛС написал xkor по поводу dll, надеюсь он ответит..
если нормально dll не пашут в пакетхаке придётся все свои скрипты под WP PPC перегонять :(
а жаль... в пакет хаке в 100 раз проще всё

кстати кто нидь может дать ссылку на темку про WP PPC где описывается как простейшие FS скрипты писать?
__________________
На людей сердишся, когда чувсивуешь, что их поступки важны. Ничего подобного я больше не чувствую...
skymanrus вне форума   Ответить с цитированием
Старый 13.01.2008, 16:33   #16
Новичок
 
Регистрация: 15.11.2007
Сообщений: 19
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
SWS
По умолчанию

skymanrus, пожалуйста:

http://saur.x33.ru/ - ссылка на офф сайт автора проги
http://saur.x33.ru/wp.html - тут сразу можешь скачать самую последнюю бесплатную версию, сейчас 5.07

В архиве с прогой есть папка doc, там найдёшь документацию самого автора, описано как ее подключить и описание методов написание скриптов.

Вообще, если тут не работает нормально подключение сторонней dll, то придётся отложить свою идею о написание dll, в которой будет производится все вычисления и модификации с пакетами :(
Надеюсь автор программы обратит на сей факт свое внимание и раскажет подробно как правильно следует подключать dll, иначе придётся искать альтернативные варианты.
SWS вне форума   Ответить с цитированием
Старый 13.01.2008, 18:17   #17
Гость
 
Сообщений: n/a
По умолчанию

На АЧ есть много скриптов для ппц, даже есть на полную дешифрацию логин трафика для интерлюдии и камаэля
  Ответить с цитированием
Старый 13.01.2008, 20:00   #18
Новичок
 
Регистрация: 15.11.2007
Сообщений: 19
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
SWS
По умолчанию Re:

Цитата:
Сообщение от кпк
На АЧ есть много скриптов для ппц, даже есть на полную дешифрацию логин трафика для интерлюдии и камаэля
АЧ пока не работает )) У них переезд :(
SWS вне форума   Ответить с цитированием
Старый 14.01.2008, 12:06   #19
Пользователь
 
Аватар для skymanrus
 
Регистрация: 28.12.2007
Сообщений: 54
Сказал Спасибо: 0
Имеет 40 спасибок в 10 сообщенях
skymanrus пока неопределено
По умолчанию

действительно те длл которые я пытался запустить в пакетхаке прекрасно работают в WP PPC
а я так с ними мучился... :(

но меня все же удивляет и поражает что виндузовые библиотеки User32.dll и GDI32.dll все же пашут в пакет хаке :shock: :shock:
значит если как то все же изловчиться можно подобную библиотеку под пакетхак написать
жалко что исходники этих библиотек недостанеш нигде :(

может у кого то все же есть какие то дллки с исходным кодом которые в пакет хаке пашут?
__________________
На людей сердишся, когда чувсивуешь, что их поступки важны. Ничего подобного я больше не чувствую...
skymanrus вне форума   Ответить с цитированием
Старый 14.01.2008, 14:56   #20
Новичок
 
Регистрация: 15.11.2007
Сообщений: 19
Сказал Спасибо: 0
Имеет 1 спасибку в 1 сообщении
SWS
По умолчанию

skymanrus, у меня есть исходники, где в DLL создаётся форма, есть внешняя функция, которая создаёт и показывает модальное окно, по окончанию работы с ней форма разрушается.
Так же научился передавать строковые типа и никакой модуль ShareMem не нужен)) Единственное, что ща не могу реализовать, так это создание немодального окна, ибо модальное окно стопорит процесс передачи пакетом в том скрипте, где она вызвалась и пока не завершишь работу с ней пакеты не проходят, я в частности делал так: при написание какого-либо сообщения в клиенте, я подгружал DLL и вызывал функцию, все норм, а после выгружал. Но мля, модальное окно не катит, нужен механизм немодального, я нашел его, но там требуется 2 параметра, которые я не могу в скрипте узнать: Application.Hadle основной программы (l2ph) и CallForm.Handle, в этом вся запара, попробую написать xkor может поможет, вообще я знаю уже способ, но он требует поправки исходного кода программы))
Вообще мог бы и сам наверно поправить, тока Delphi я щас юзаю 7 и компоненты не ставил таких как JEDI, на счет версии Delphi я мож и не прав :)

Код скрипта:

Код:
var
  MyLib:Integer;
  Res:Variant;
  ar:array of variant;
begin

  //38 - пакет когда вы пишите что нить в чат, не важно что и в какой, тут проверяется тока тип пакета )
  if FromClient and (pck[1]=#$38) and (MyLib=0) then begin
  MyLib := LoadLibrary('D:\Программы\l2phx318\MyLib\MyLib.dll'); //Здесь укажи свой путь до DLL
  if (MyLib = 0) then ShowMessage('Не удалось загрузить библиотеку!')
  else Res := CallFunction(MyLib,'ShowFormInDLL',1,['Мое окошко, че хочу, то и делаю с ним ^^']);
  ShowMessage('Окошко должно было появится, а это сообщение выводится после того как вы его закрыли');
  end;

  if FromClient and (pck[1]=#$38) and (MyLib<>0) then
     begin
     ShowMessage('Попытка выгрузить библиотеку');
     FreeLibrary(MyLib);
     ShowMessage('Библиотека должна была выгрузится');
     end;

end.
Код самой Dll:

Код:
library MyLib;
uses
  ShareMem,
  SysUtils,
  Classes,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

exports
    ShowFormInDLL;
    
begin
end.
Код Unit1, в котором описана форма, этот модуль подключён к основной DLL в разделе uses:

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

function ShowFormInDLL(Name: PWideChar): TModalResult; stdcall;

implementation

{$R *.dfm}

function PWideToString(pw: PWideChar): string;
var
  p: PChar;
  iLen: integer;
begin
  iLen := lstrlenw(pw) + 1;
  GetMem(p, iLen);

  WideCharToMultiByte(CP_ACP, 0, pw, iLen, p, iLen * 2, nil, nil);

  Result := p;
  FreeMem(p, iLen);
end;

function StringToPWide(sStr: string; var iNewSize: integer): PWideChar;
var
  pw: PWideChar;
  iSize: integer;
begin
  iSize := Length(sStr) + 1;
  iNewSize := iSize * 2;

  pw := AllocMem(iNewSize);

  MultiByteToWideChar(CP_ACP, 0, PChar(sStr), iSize, pw, iNewSize);

  Result := pw;
end;

function ShowFormInDLL(Name: PWideChar): TModalResult; stdcall;
begin
Form1 := TForm1.Create(Application);
Result := Form1.ShowModal;
Form1.Free;
end;

end.
Я этот код в самом начале писал, т.к. щас парюсь с показом немодульного окна, поэтому исходники скопировал сюда и тут ручками поправлял и не проверял, так что возможны какие-то опечатки или мелкие недочеты, если не пашет напишите, посмотрю исправлю, я делал у меня работало. :)

DLL руль и необходимое ее правильно подключить и взаимодействовать,т.к. скриптовая машина она конечно хороша, но не тягаться с языками программирования ей еще рано. :)
SWS вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:09.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!