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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 23.01.2009, 16:45   #1
Новичок
 
Регистрация: 15.01.2009
Сообщений: 8
Сказал Спасибо: 7
Имеет 0 спасибок в 0 сообщенях
Pusha пока неопределено
По умолчанию Помогите написать скрипт

Напишите пож. скрит, а то я непойму или подсказку дайте как писать
Мне нужно чтоб выполнялось 2 действия 10раз подрят:
1)

Код:
begin
  buf:=hstr('7C B1 19 00 00');
  SendToClient;
end.
2)

Код:
begin
  buf:=hstr('65 DE 7D 22 10 00 00 00 00 ');
  SendToServer;
end.
И если я от сервера получю этот пакет
Код:
62 ED 05 00 00 00 00 00 00
то процедуру 1 и 2 нужно повторить.
Pusha вне форума   Ответить с цитированием
Старый 23.01.2009, 16:48   #2
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

с каким интервалом? 2 пакета должны чередоватся или сначало 1 10 раз потом 2?
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился спасибкой от:
Старый 23.01.2009, 16:54   #3
Новичок
 
Регистрация: 15.01.2009
Сообщений: 8
Сказал Спасибо: 7
Имеет 0 спасибок в 0 сообщенях
Pusha пока неопределено
По умолчанию

2 пакета должны чередоватся, интервал 500 хватит думаю.
Pusha вне форума   Ответить с цитированием
Старый 23.01.2009, 17:38   #4
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

примерно так
delphi Код:
var   Timer : TTimer;   Counter : integer;   f : boolean; procedure Init; begin   Timer :=TTimer.Create(nil);   Timer.enabled :=false;         //таймер выключен   Timer.OnTimer :=@SendPck;      //адрес процедуры,                                  //которая будет выполнятся   Timer.interval :=500;          //Задержка в мс   f := false; end; procedure Free; begin   Timer.free; end; procedure SendPck(Sender: TObject); begin   if (Counter mod 2) = 0 then begin     buf:=hstr('7C B1 19 00 00');     SendToClient;   end else begin     buf:=hstr('65 DE 7D 22 10 00 00 00 00');     SendToServer;   end;   Dec(Counter);                //Уменьшаем счетчик   if Counter=0 then            //Проверяем     Timer.enabled :=false;     //и если надо выключаем end; var   S : string;   D1 : integer;   D2 : integer; begin   if FromClient and (pck[1]=#$49) then begin  //49=Say2     S :=ReadS(2);           //считываем текст сообщения     if S='START' then begin  //по START в чат включаем посылку       Counter := 20;       Timer.enabled :=true; //запускаем       f := true;       pck :='';             //не отправляем это на сервер     end   end;   if FromServer and (pck[1]=#$62) then begin     D1 := ReadD(2);     D2 := ReadD(6);     if (D1=1517) and (D2=0) and f then begin       Counter := 20;       Timer.enabled :=true//опять запускаем     end;   end; end.

Последний раз редактировалось PanAm, 28.01.2009 в 15:34.
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился 2 спасибками от:
Старый 23.01.2009, 17:47   #5
Новичок
 
Регистрация: 15.01.2009
Сообщений: 8
Сказал Спасибо: 7
Имеет 0 спасибок в 0 сообщенях
Pusha пока неопределено
По умолчанию

блин ругается "List index out of bounds (17)" незнаеш что это?
у меня хроники gracia part 2.
Pusha вне форума   Ответить с цитированием
Старый 23.01.2009, 18:10   #6
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

тогда вроде (я у довно не играю в линейку грации нет)
delphi Код:
if FromClient and (pck[1]=#$38)
заменить на
delphi Код:
if FromClient and (pck[1]=#$49)

Добавлено через 8 минут
мб пакеты неправильно составлены? на грацию непохоже
7C B1 19 00 00 нехватает 2 Dword
7C=RequestAcquireSkill:d(SkillID)d(Level)d(Type)
65 DE 7D 22 10 00 00 00 00 а тут наоборот перебор
65=RequestPledgeInfo:d(ClanID)

Последний раз редактировалось PanAm, 23.01.2009 в 18:11. Причина: Добавлено сообщение
PanAm вне форума   Ответить с цитированием
Старый 23.01.2009, 18:21   #7
Новичок
 
Регистрация: 15.01.2009
Сообщений: 8
Сказал Спасибо: 7
Имеет 0 спасибок в 0 сообщенях
Pusha пока неопределено
По умолчанию

таже ошибка
мда я конечно нешарю во всём этом но (хз у меня 5 по паскалю) но за что отвечает
Код:
(pck[1]=#$49)
и нужно оно сдесь если я так полагаю что мне нужно отловить имено этот пакет
Код:
62 ED 05 00 00 00 00 00 00
и не какой другой. можно затать требования типа если мы палучем от сервера
Код:
62 ED 05 00 00 00 00 00 00
этот пакет то заного всё.
ЗЫ сори за то что парю тибе мозги.

Добавлено через 3 минуты
Цитата:
Сообщение от PanAm Посмотреть сообщение
мб пакеты неправильно составлены? на грацию непохоже
7C B1 19 00 00 нехватает 2 Dword
7C=RequestAcquireSkill:d(SkillID)d(Level)d(Type)
65 DE 7D 22 10 00 00 00 00 а тут наоборот перебор
65=RequestPledgeInfo:d(ClanID)

та не всё правильно если я беру пакет 7C B1 19 00 00 и просто вставляю его в раздел "Посылка" ставлю напростив галочку клиенту ну и послать кароче работает
и также с 65 DE 7D 22 10 00 00 00 00 может и перебор но работает же но тут тока я ставлю послать серверу.

Последний раз редактировалось Pusha, 23.01.2009 в 18:22. Причина: Добавлено сообщение
Pusha вне форума   Ответить с цитированием
Старый 23.01.2009, 18:48   #8
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

Сорь, недоглядел ))
конечно надо заменить
buf:=hstr('7C B1 19 00 00');
SendToServer;
на
buf:=hstr('7C B1 19 00 00');
SendToClient;

Добавлено через 4 минуты
delphi Код:
if FromServer and (pck[1]=#$62) then begin     D := ReadD(2);     if (D=1517) and f then begin       Counter := 10;       Timer.enabled :=true//опять запускаем     end;   end;
можно конечно проверить пакет и на последний 0
delphi Код:
if FromServer and (pck[1]=#$62) then begin     D := ReadD(2);     if (D=1517) and f then begin       D := ReadD(6);       if (D=0)  then begin          Counter := 10;          Timer.enabled :=true//опять запускаем       end;     end;   end;

Добавлено через 4 минуты
испарвил скрипт в 4 посте

Добавлено через 10 минут
Цитата:
Сообщение от Pusha Посмотреть сообщение
мда я конечно нешарю во всём этом но (хз у меня 5 по паскалю) но за что отвечает
(pck[1]=#$49)
это отлавливает напмсаное в чат START и включает посылку пакетов

Последний раз редактировалось PanAm, 23.01.2009 в 18:48. Причина: Добавлено сообщение
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился спасибкой от:
Старый 23.01.2009, 18:52   #9
Новичок
 
Регистрация: 15.01.2009
Сообщений: 8
Сказал Спасибо: 7
Имеет 0 спасибок в 0 сообщенях
Pusha пока неопределено
По умолчанию

тоже ошибка но другая
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 131
Размер:	167.0 Кб
ID:	238  
Pusha вне форума   Ответить с цитированием
Старый 23.01.2009, 18:54   #10
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

if (D1=1517) and (D2=0) and f then begin
PanAm вне форума   Ответить с цитированием
За это сообщение PanAm нажился спасибкой от:
Ответ

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



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

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


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

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

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