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

L2PacketHack Форум программы L2PacketHack, всё что с ней связано находится тут.
Правила раздела! Обсуждение багов Lineage ЗАПРЕЩЕНО!

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 05.10.2007, 22:00   #1
Новичок
 
Регистрация: 05.10.2007
Адрес: Украина
Сообщений: 19
Сказал Спасибо: 0
Имеет 23 спасибок в 13 сообщенях
DeVolf пока неопределено
По умолчанию Кружок нубов(Вопрос-Ответ)

//QaK:отдельная тема по подкючению пакетхака к серверу >>>>>>>>тут
любые вопросы по данной тематике в этом топе будут удаляться без предупреждения.


Код:
const
mp='8A 1B 15 01 10';
hp='8A 1A 15 01 10';
begin
if fromclient and (pck[1]=#$38#$F5#$00#$EF#$00#$00#$00#$03#$00#$00#$00) then
begin
buf:=hstr(hp);
SendToServer;
end;
if fromclient and (pck[2]=#$33#$F5#$00#$EF#$00#$40#$00#$03#$00#$00#$00) then
begin
buf:=hstr(mp);
SendToServer;
end;
end.
где я ошибся?

Последний раз редактировалось QaK, 30.08.2010 в 18:56.
DeVolf вне форума   Ответить с цитированием
За это сообщение DeVolf нажился 6 спасибками от:
Старый 17.05.2011, 21:14   #1711
Новичок
 
Регистрация: 09.01.2011
Сообщений: 5
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Velizarx пока неопределено
По умолчанию

Это печать сообщения, с вашего форума:
Код:
procedure SendMsc(msc:string); 
begin 
    buf:=#$4A; 
    WriteD(0); 
    WriteD(10); 
    WriteS(''); 
    WriteS(msc); 
    SendToClientEx(Name); 
end;
Без этой функции в процедуре Инит тоже ничего не работает, не создается экземпляр таймера. Пока обошел этот лаг написав буквальный вызов процедуры Init в основном коде обработки пакетов. При первом её вызове она выставляет параметр в труе и больше не запускается, а как быть с функцией запускаемой при остановке скрипта - Free?
Вот весь код скрипта:
Код:
const 
//====================================== 
Name='BOPOH'; //<-----Ник Персонажа 
//====================================== 
var                 
//a:integer;
//x:integer;
//MyID:string; 
//y:integer;
//z:integer; 
//ValidatePosition:string; 

b:boolean;
InitStart:boolean;
timer:TTimer;

procedure Init; //Вызывается при включении скрипта
begin
    SendMsc('Скрипт стартовал');
    UseForConnectName:=Name;
    timer:=TTimer.Create(nil);
    timer.interval:=500; //Скорость распития ЦП в мили. сек., чем меньше число тем быстрее
    timer.OnTimer:=@OnTimer;
    timer.enabled:=false;  
    InitStart:=true;
end;


procedure OnTimer(Sender: TObject);
begin 
   SendMsc('Съел ЦП баночку)');
end;

procedure SendMsc(msc:string); 
begin 
    buf:=#$4A; 
    WriteD(0); 
    WriteD(10); 
    WriteS(''); 
    WriteS(msc); 
    SendToClientEx(Name); 
end;

procedure UseCP;
begin
    buf:=#$19;
    WriteD(268907985);
    WriteD(0);
    SendToServerEx(Name);
end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
    if InitStart<>true then Init();
    //Нечитаем пустые пакеты 
    if pck='' then exit; 
    //Если Имя соединения Name 
    //И Пакет Action от клиента то  
    if FromClient and (ConnectName=Name) 
        and (pck=hstr('49 2E 00 61 00 75 00 74 00 6F 00 63 00 70 00 00 00 00 00 00 00'))  //пакет сказать в чат .autocp
    then  begin     
        if b=true then begin 
            b:=false;
            timer.enabled:=false;
            SendMsc('режим autocp выключен'); //Оповещаем юзера
        end     
        else begin  
            b:=true;
            timer.enabled:=true;
            SendMsc('режим autocp включен'); //Оповещаем юзера
        end;  
        pck:='';
    end; 
    
    if FromServer and (ConnectName=Name) and (pck[0]='#$18') then
    begin 
        SendMsc('Пакет пойман!');
    end;
end.

procedure Free; //Вызывается при выключении скрипта
begin
    timer.free;
end;
Это недоделка для автохаванья ЦП банок, пока только по таймеру выводит надпись "Съел ЦП баночку)"

Последний раз редактировалось Velizarx, 17.05.2011 в 21:19.
Velizarx вне форума   Ответить с цитированием
Старый 17.05.2011, 21:18   #1712
Местный
 
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
dyh9l пока неопределено
По умолчанию

а как ты узнаешь что неработает процедура, по SendMsc? если да попробуй SendMsg(' Init start ');
__________________
dyh9l вне форума   Ответить с цитированием
Старый 18.05.2011, 00:26   #1713
Новичок
 
Регистрация: 09.01.2011
Сообщений: 5
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Velizarx пока неопределено
По умолчанию

Как обычно и узнают) запускаю скрипт и смотрю на состояние переменных, экземпляр класса таймер и прочее даже не существует, хотя если буквально вызывать функцию (как у меня в коде выше) то все нормально работает и в списке переменных видно что значения заполнились и всё в порядке. Функция печати тут не причем, туда что не запихни все не пашет. Например инкримент переменной со значением 1 делал в этой функции, и смотрел результат, инкримент не выполнялся тоже.

На всякий случай попробую добавить эту строчку щас.

Добавлено через 14 минут
Ооо, заработала на удивление после вписывания строки SendMsg(' Init start '); в процедуру Инит, не могли бы вы пояснить как это работает, ведь по моему вызов такой строки всего лишь должен был вывести в чат фразу "Init start"? и как можно осушествить запуск процедуры Free?

Мммм методом тыка определил что функция работает даже если удалить строку совсем, может дело было в том что на этой строке возникала ошибка? в связи с тем что функция SendMsc не была инициализирована еще? (Просто я слабовато паскаль знаю, пишу на Си подобных языках)

Последний раз редактировалось Velizarx, 18.05.2011 в 00:32. Причина: Добавлено сообщение
Velizarx вне форума   Ответить с цитированием
Старый 18.05.2011, 00:42   #1714
Местный
 
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
dyh9l пока неопределено
По умолчанию

Velizarx, а вот я вобще нехера в языках программирования не понимаю ) незнаю, мож быть
P.s: ДОлжно было вывести в лог пакет хака а не чат)
__________________
dyh9l вне форума   Ответить с цитированием
Старый 18.05.2011, 22:30   #1715
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Процедура Free выполняется при снятии галочки с скрипта (выключение скрипта). Процедура SendMsc выводит сообщения в лог пакетхака, но если объявить ее в скрипте с другими командами (как было сделано выше), то она будет выполнять эти команды.
А процедура Init не выполнялась раньше именно из за того, что останавливалась на этой строке и завершалась, не успев создать таймер.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Старый 19.05.2011, 10:59   #1716
Новичок
 
Регистрация: 09.01.2011
Сообщений: 5
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Velizarx пока неопределено
По умолчанию

Ок, спасибо, а можно ли в пакетхаке скриптом реализовать отправку игровой почты, версия Л2 - Freya, отлавливал пакеты но там бред какой-то не расшифрованный.
Velizarx вне форума   Ответить с цитированием
Старый 19.05.2011, 11:26   #1717
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Можно. инишку от новой версии возьми - там есть расшифровка.
delphi Код:
D066=RequestSendPost:h(subID)s(receiver)d(isCod)s(subj)s(text)d(attachCount:For.0002)d(ObjID)q(count)q(reqAdena)
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
Старый 19.05.2011, 13:02   #1718
Новичок
 
Регистрация: 09.01.2011
Сообщений: 5
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Velizarx пока неопределено
По умолчанию

Да действительно в инишке PacketsFreya.ini пакет D066=BR_ProductList:h(subID) лежит, но у меня версия пакетхака и так последняя 166 с форума. Может где выкладывались нормальные ини под фрею, или не могли бы вы скинуть мне такую инишку)

Добавлено через 2 минуты
Пока попробую скопировать вашу строку расшифровки в ини, но все равно буду очнь благодарен за "прямую" инишку

//Breadfan: следи за этой веткой

Последний раз редактировалось Breadfan, 19.05.2011 в 15:51. Причина: Добавлено сообщение
Velizarx вне форума   Ответить с цитированием
Старый 21.05.2011, 02:03   #1719
Новичок
 
Регистрация: 21.05.2011
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
mrserg пока неопределено
По умолчанию

Уважаемые, подскажите.
Задача такая: Нужно в L2phx реализовать проигрывание звукового файла.
Не важно как, главное что бы пошел звук с колонок.

Попробовал чез вин. dll-ки
ну примерно так:
Код:
var
    lib:Integer;
    Res:variant;
begin
    lib := loadLibrary('c:\WINMM.DLL');
    Res := CallFunction(lib,'mciSendString',1,['"play c:\test.wav wait"', 'NULL',1,'NULL']);
    FreeLibrary(lib);
end.
Но глухо, нечего не происходит, даже не материться.
Подскажите, как возможно реализовать данную задачу!?


//J-Fobos: Вот в этой теме как раз обсуждается проигрывание звука. Я пользуюсь функцией MessageBeep из user32.dll

Последний раз редактировалось J-Fobos, 21.05.2011 в 14:47.
mrserg вне форума   Ответить с цитированием
Старый 21.05.2011, 16:06   #1720
Новичок
 
Регистрация: 16.02.2010
Сообщений: 20
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
0rfin пока неопределено
По умолчанию

Подскажите из какого пакета можно узнать что моего чара взяли в таргет?

//Breadfan: для Freya - 23=TargetSelected:d(ObjectID)d(TargetID)d(X)d(Y)d( Z)d(unk)

Спс, ммм там все таргеты посылаются от то всех чаров которые вокруг.

//Breadfan: d(ObjectID) - кто выделяет, d(TargetID) - кого выделяет. Сравнивай TargetID с OID своего перса - и так выяснишь взял ли ктото тебя в таргет.

Последний раз редактировалось Breadfan, 21.05.2011 в 20:18.
0rfin вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack



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

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


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

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

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