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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 16.02.2011, 17:01   #1
Новичок
 
Регистрация: 16.02.2011
Сообщений: 15
Сказал Спасибо: 7
Имеет 3 спасибок в 3 сообщенях
TEHb пока неопределено
По умолчанию Скрипт для AION 2.0.0.3 помогите немного

delphi Код:
var Timer01,Timer02: TTimer; Mission1,start:Boolean; i,j,a,k:integer; missionArr,ProdArr:array[0..20] of string; procedure Init; //первый таймер активирует второй begin     Timer01:=TTimer.Create(nil); //выделяем памать и т.п.     Timer01.OnTimer:=@OnTimer01; //привязываем процедуру к событию     Timer01.enabled:=false; //начальное положение включен(true)/выключен(false)     Timer01.interval:=5000; //29000 интервал(в милисекундах) как часто таймер срабатывает     Timer02:=TTimer.Create(nil); //выделяем памать и т.п.     Timer02.OnTimer:=@OnTimer01; //привязываем процедуру к событию     Timer02.enabled:=false; //начальное положение включен(true)/выключен(false)     Timer02.interval:=3000; //29000 интервал(в милисекундах) как часто таймер срабатывает     Mission1:=False;     i:=0;     j:=1;     a:=0;     k:=0;     ProdArr[0]:='E3 57 80 80 8B D1 F0 08 7B 2C 3D 09 54 01 00 00 05 00 6A 86 DD 0A 2A 00 00 00 00 00 00 00 49 87 DD 0A 2A 00 00 00 00 00 00 00 D3 D6 18 0A 3F 01 00 00 00 00 00 00 DC D6 18 0A 5E 00 00 00 00 00 00 00 D9 D6 18 0A 6A 02 00 00 00 00 00 00';     start:=false;     Timer01.enabled:=true; end; procedure OnTimer01(Sender: TObject); begin Start:=true; Timer01.enabled:=False; end; procedure OnTimer02(Sender: TObject); begin     buf:='C9 57 66 00 ';     SendToServer;     buf:='B5 57 72 52 01 00 00 00 ';     SendToServer;     buf:='E3 57 80 80 8B D1 F0 08 7B 2C 3D 09 54 01 00 00 05 00 6A 86 DD 0A 18 00 00 00 00 00 00 00 49 87 DD 0A 18 00 00 00 00 00 00 00 D3 D6 18 0A 99 01 00 00 00 00 00 00 DC D6 18 0A 78 00 00 00 00 00 00 00 D9 D6 18 0A 18 03 00 00 00 00 00 00';     SendToServer;     Timer02.Enabled:=false; end; Procedure TakeMission; begin MissionArr[0]:='9C 57 5B 60 00 00 00 34 00 01 00 0A 00 00 00 00 00 00 00'; MissionArr[1]:='9C 57 5B 60 00 00 00 19 00 01 00 1C 00 A2 13 00 00 00 00'; MissionArr[2]:='9C 57 5B 60 00 00 00 EA 03 01 00 04 00 A2 13 00 00 00 00'; For i:=0 to 2 do    begin         buf:=HStr(MissionArr[i]);         SendToServer;   end;     Mission1:=True; end; Procedure BuyItems; begin     buf:=HStr('9C 57 5B 61 00 00 00 02 00 01 00 0A 00 00 00 00 00 00 00');     SendToServer;     buf:=HStr('A1 57 5E 61 00 00 00 0D 00 04 00 D9 D6 18 0A 60 00 00 00 00 00 00 00 DC D6 18 0A 10 00 00 00 00 00 00 00 D3 D6 18 0A 30 00 00 00 00 00 00 00 D6 D6 18 0A 66 00 00 00 00 00 00 00');     SendToServer; End; Procedure EndMission; Begin    //пока  в разработке ибо не требуется сдача end; procedure Free; //Вызывается при выключении скрипта begin   Timer01.free;   Timer02.free;   start:=false; end; begin   //IF FromServer and (pck[1]=#$1A) then  a:=1;   //if FromServer and (pck[1]=#$16) and (a=1) or start then   if FromServer and (pck[1]=#$17) then  //Жду личного сообщения пакет типа 17 DD PP XX ZZ и т.д...   begin     if mission1=true then     begin         Timer02.enabled:=true;         j:=j+1;         if j=16 then         begin           mission1:=false;           j:=1;          end;     end     a:=0;     start:=false;     if (mission1=false)  then     begin         //EndMission;         i:=0;         j:=1;         a:=0;         TakeMission;         BuyItems;         start:=true;     end;   end   else a:=0end.



Вот собственно такой скрипт.
Цель скрипта брать ЗАКАЗ покупать необходимое для изготовления и изготавливать, а затем сдавать.

В алгоритме скрипта думаю Вам копаться не стоит у меня в следующем проблема:
1. Скрипт сейчас должен запускаться от личного сообщения
"if FromServer and (pck[1]=#$17) then ..." но не запускается не пойму почему пакет 17 приходит

2. Цель чтобы скрипт работал циклически там
"//IF FromServer and (pck[1]=#$1A) then a:=1;
//if FromServer and (pck[1]=#$16) and (a=1) or start then ..." заготовка под цикл как ни странно работает суть ее в том что надо поймать два пакет разного типа идущие друг за другом (эти пакеты означают что производство завершено)

3. Проблема заключается в том что при запуске берется задание и покупаются вещи, но когда скрипт доходит до места где должно начаться производство, то рвется соединение с сервером без всяких сообщений в лог l2ph если я отправляю пакеты самостоятельно просто через посылку то все работает не пойму в чем проблема

4. если кто-нибудь подскажет элегантный способ сделать задержку между отсылкой любых пакетов, например в одну секунду буду признателен подозреваю, что проблема в этом.

5. есть еще маленькая проблема с логами я хотел себе в дальнейшем писать сообщения в личку игрового чата (это уже для других скриптов но и тут было бы полезно), но суть в том что там кодируются буквы а ничего нормально для самостоятельной кодировки средствами скрипта я не нашел если кто в курсе как закодировать слова в сообщения буду признателен (с примером отсылки Hello с вкладки дополнительно не разобрался)

Последний раз редактировалось NLObP, 17.02.2011 в 22:23.
TEHb вне форума   Ответить с цитированием
 

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



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

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


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

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

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