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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 26.09.2011, 03:44   #11
Пользователь
 
Регистрация: 01.08.2010
Сообщений: 82
Сказал Спасибо: 49
Имеет 5 спасибок в 4 сообщенях
semiromid пока неопределено
По умолчанию

Вот так работает .Сделал как сказал NLObP

Код:
const
name = 'Кортик';  

begin
  if FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39 
    if ReadS(2) = 'Перотехник' then            //проверяем от кого
       buf:=hstr('43 01 00 00 00')
    else
      buf:=hstr('43 00 00 00 00');             //Создаем пакет "Отказать в пати"
    pck :='';                                  //убиваем этот пакет
    SendToServer;                              //Отправляем его на сервер
  end;  

end.
Но теперь другая проблемка. Я хочу что бы отправлялось 2-а пакета этот buf:=hstr('43 01 00 00 00') и еще другой buf:=hstr('49 01 00 00 00').Не могу понять как сделать что бы это реализовать



И еще после прихода пакета buf:=hstr('49 01 00 00 00'). возможно сделать метку ? или может функцию .Я хочу что бы после выполнения этого пакета , бафер бафа 1-н раз .

Последний раз редактировалось semiromid, 26.09.2011 в 07:56.
semiromid вне форума   Ответить с цитированием
Старый 26.09.2011, 15:42   #12
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
По умолчанию

Если
delphi Код:
//... if FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39     if ReadS(2) = 'Перотехник' then            //проверяем от кого       begin          buf:=hstr('49 01 00 00 00')//Формирование 1го пакета          SendToServer;                   //Посылка 1го          buf:=hstr('43 01 00 00 00')   //Формирование 2го пакета       end;     else //...  

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

Добавлено через 4 минуты
(Или через делей, который не очень)
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]

Последний раз редактировалось Nickers, 26.09.2011 в 15:42. Причина: Добавлено сообщение
Nickers вне форума   Ответить с цитированием
Старый 26.09.2011, 20:34   #13
Пользователь
 
Регистрация: 01.08.2010
Сообщений: 82
Сказал Спасибо: 49
Имеет 5 спасибок в 4 сообщенях
semiromid пока неопределено
По умолчанию

вот написал с помощью delay()

Код:
const
name = 'AntBuf';  

begin
  if FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39 
    if ReadS(2) = 'Пиротехник' then            //проверяем от кого
       buf:=hstr('43 01 00 00 00'); 
       delay(5000); 
       buf:=hstr('43 01 00 00 00') 
    else
      buf:=hstr('43 00 00 00 00');             //Создаем пакет "Отказать в пати"
    pck :='';                                  //убиваем этот пакет
    SendToServer;                              //Отправляем его на сервер
  end;  

end.
Но чего то выдает ошибку на против "else"

Добавлено через 36 минут
Цитата:
Сообщение от goodvin1709 Посмотреть сообщение
Код:
VAR
Timer:TTimer;
Procedure Init;
begin
               Timer := TTimer.Create(nil) ;
               Timer.Interval := 1000;//Интервал.
               Timer.Enabled := False ;//Его включеность при старте.
               Timer.Ontimer := @OnTimer ; //Вызов Процедуры.
End;
Procedure Free;
begin
timer.free;
end;


Procedure OnTimer(Sender : TObject) ;
begin
Timer.enabled:=false;
buf:=#$42;
      SendToServer;//Отправили Пакет.
end;


begin
  if FromServer and (pck[1]=#$39) then Timer.enabled:=true;
   end.
//Включили таймер.
А как можно несколько пакетов отсылать с определенным промежутком времени , каждого пакета?

Последний раз редактировалось semiromid, 26.09.2011 в 20:34. Причина: Добавлено сообщение
semiromid вне форума   Ответить с цитированием
Старый 26.09.2011, 21:22   #14
Местный
 
Аватар для Pinko
 
Регистрация: 31.05.2011
Сообщений: 130
Сказал Спасибо: 287
Имеет 23 спасибок в 22 сообщенях
Pinko пока неопределено
По умолчанию

http://coderx.ru/showthread.php?t=8701
Pinko вне форума   Ответить с цитированием
Старый 26.09.2011, 22:25   #15
Пользователь
 
Регистрация: 01.08.2010
Сообщений: 82
Сказал Спасибо: 49
Имеет 5 спасибок в 4 сообщенях
semiromid пока неопределено
По умолчанию

Цитата:
Сообщение от Pinko Посмотреть сообщение
Спасибо за ссылку Но я сам хочу понимать что я пишу
semiromid вне форума   Ответить с цитированием
Старый 26.09.2011, 23:19   #16
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

semiromid, ищи
Цитата:
Сообщение от Nickers Посмотреть сообщение
нужно будет реализовывать через таймер
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 27.09.2011, 02:16   #17
Пользователь
 
Регистрация: 01.08.2010
Сообщений: 82
Сказал Спасибо: 49
Имеет 5 спасибок в 4 сообщенях
semiromid пока неопределено
По умолчанию

Код:
begin
  if FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39 
    if ReadS(2) = 'Пиротехник' then               //проверяем от кого 
    buf:=Hstr('43 01 00 00 00');
    timer.enabled:=true;
    TimerStep:=1  
    else     
      buf:=hstr('43 00 00 00 00');             //Создаем пакет "Отказать в пати"
    pck :='';                                  //убиваем этот пакет
    SendToServer;                            //Отправляем его на сервер
  end;
Опять напротив else ошибку выдает(




Код:
const
name = 'AntBuf';  

var
    timer:TTimer;
    TimerStep:byte;
procedure Init; 
begin
    TimerStep:=1;
    timer:=TTimer.Create(nil);
    timer.OnTimer:=@OnTimer;
    timer.enabled:=false;
    timer.interval:=1000; //время задержки между отправкой пакетов.
end;

procedure Free;
begin
    timer.free;
end;

procedure OnTimer;
    begin
        case TimerStep of
        
                   
            1: 
                begin  
                    timer.interval:=1000;
                    buf:=Hstr('49 14 04 3E 04 31 04 40 04 3E 04 20 00 3F 04 3E 04 36 04 30 04 3B 04 3E 04 32 04 30 04 42 04 4C 04 20 00 3A 04 20 00 31 04 30 04 44 04 35 04 40 04 43 04 20 00 3A 04 3B 04 30 04 3D 04 30 04 20 00 22 00 1B 04 38 04 33 04 30 04 22 00 20 00 21 00 00 00 03 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;        
        
            2: 
                begin
                    timer.interval:=1000;
                    buf:=Hstr('39 93 03 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;
            3: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 10 01 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            4: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 36 01 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;
            5: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 0F 01 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            6: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 DD 03 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;

            7: 
                begin 
                    timer.interval:=1000;
                    buf:=Hstr('39 13 01 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            8: 
                begin 
                    timer.interval:=1000;
                    buf:=Hstr('39 12 01 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;                                               
            9: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('49 21 04 3F 04 30 04 41 04 38 04 31 04 3E 04 20 00 47 04 42 04 3E 04 20 00 32 04 3E 04 41 04 3F 04 3E 04 3B 04 4C 04 37 04 3E 04 32 04 30 04 3B 04 38 04 41 04 4C 04 20 00 48 04 42 04 30 04 42 04 3D 04 4B 04 3C 04 20 00 3A 04 3B 04 30 04 3D 04 20 00 31 04 30 04 44 04 35 04 40 04 3E 04 3C 04 21 00 1F 04 40 04 38 04 45 04 3E 04 34 04 38 04 42 04 35 04 20 00 35 04 49 04 35 04 20 00 3A 00 29 00 00 00 03 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);                       
                end;
            10: 
                begin 
                    buf:=Hstr('44');
                    SendToServerEx(name);              
                    timer.enabled:=false;     
                end;                            
        end;
    end;

begin
  if FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39 
    if ReadS(2) = 'Пиротехник' then               //проверяем от кого 
    buf:=Hstr('43 01 00 00 00');
    timer.enabled:=true;
    TimerStep:=1  
    else     
      buf:=hstr('43 00 00 00 00');             //Создаем пакет "Отказать в пати"
    pck :='';                                  //убиваем этот пакет
    SendToServer;                            //Отправляем его на сервер
  end; 

end.

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

Не уверен, но мож после then надо открыть begin ?
__________________
dyh9l вне форума   Ответить с цитированием
Старый 27.09.2011, 16:26   #19
Пользователь
 
Регистрация: 01.08.2010
Сообщений: 82
Сказал Спасибо: 49
Имеет 5 спасибок в 4 сообщенях
semiromid пока неопределено
По умолчанию

Вот сдела. Все работает . Но когда наприер "Сэрик" дает пати "Вива" то она почемута его берет , а "AntBuf'" начинает давать денсы (

Код:
const
name = 'AntBuf';  

var
 Paname: String;

    timer:TTimer;
    TimerStep:byte;
procedure Init; 
begin
    TimerStep:=1;
    timer:=TTimer.Create(nil);
    timer.OnTimer:=@OnTimer;
    timer.enabled:=false;
    timer.interval:=1000; //время задержки между отправкой пакетов.
end;

procedure Free;
begin
    timer.free;
end;

procedure OnTimer;
    begin
        case TimerStep of
        
                   
            1: 
                begin  
                    timer.interval:=1000;
                    buf:=Hstr('49 14 04 3E 04 31 04 40 04 3E 04 20 00 3F 04 3E 04 36 04 30 04 3B 04 3E 04 32 04 30 04 42 04 4C 04 20 00 3A 04 20 00 31 04 30 04 44 04 35 04 40 04 43 04 20 00 3A 04 3B 04 30 04 3D 04 30 04 20 00 22 00 1B 04 38 04 33 04 30 04 22 00 20 00 21 00 00 00 03 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;        
        
            2: 
                begin
                    timer.interval:=1000;
                    buf:=Hstr('39 10 01 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;
            3: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 12 01 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            4: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 35 06 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;
            5: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 37 06 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            6: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 39 06 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;

            7: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 0F 01 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            8: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 13 01 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end; 
            9: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 36 01 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;                     
                                                              
            10: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('49 21 04 3F 04 30 04 41 04 38 04 31 04 3E 04 20 00 47 04 42 04 3E 04 20 00 32 04 3E 04 41 04 3F 04 3E 04 3B 04 4C 04 37 04 3E 04 32 04 30 04 3B 04 38 04 41 04 4C 04 20 00 48 04 42 04 30 04 42 04 3D 04 4B 04 3C 04 20 00 3A 04 3B 04 30 04 3D 04 20 00 31 04 30 04 44 04 35 04 40 04 3E 04 3C 04 21 00 1F 04 40 04 38 04 45 04 3E 04 34 04 38 04 42 04 35 04 20 00 35 04 49 04 35 04 20 00 3A 00 29 00 00 00 03 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);                       
                end;
            11: 
                begin  
                    timer.interval:=1000;
                    buf:=Hstr('44');
                    SendToServerEx(name);
                    Inc(TimerStep);                  
                end;
            12: 
                begin 
                    timer.interval:=1000;
                    buf:=Hstr('19 F5 5E 30 10 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);                   
                end;
            13: 
                begin 
                    timer.interval:=1000;
                    buf:=Hstr('19 F5 5E 30 10 00 00 00 00');
                    SendToServerEx(name);              
                    timer.enabled:=false;     
                end;                                                
            14: 
                begin                                          
                    buf:=Hstr('1C 01 00 00 00');
                    SendToServerEx(name);                       
                    timer.enabled:=false;     
                end;                   
                
                
                
                
                
        end;
    end;

begin
  if FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39     
  
   PAname:= ReadS(2);
    if (PAName = 'Сэрик') or (PAName = 'еенн') or (PAName = 'тете') or (PAName = 'Огнн') or (PAName = 'бдбдбд') or (PAName = 'LIGAsword') or (PAName = 'Вива') or (PAName = 'wuiwiw')  then   begin
    
    buf:=Hstr('43 01 00 00 00');  
    timer.enabled:=true;
    TimerStep:=1; 
      
  end else 
     buf:=hstr('43 00 00 00 00');             //Создаем пакет "Отказать в пати"
    pck :='';                                  //убиваем этот пакет
    SendToServer;        
                        
  end;
 

 
 
//даем мп 

begin
  if FromServer and (pck[1]=#$70) then begin   //от сервера получен пакет $39     
  
    
    buf:=Hstr('55 01 00 00 00');  
    timer.enabled:=true;
    timer.interval:=5000; 
    TimerStep:=14;                                   
    SendToServer;                            //Отправляем его на сервер
  end;
  end; 
  
  
  
  
  

end.
semiromid вне форума   Ответить с цитированием
Старый 27.09.2011, 16:31   #20
Пользователь
 
Регистрация: 01.08.2010
Сообщений: 82
Сказал Спасибо: 49
Имеет 5 спасибок в 4 сообщенях
semiromid пока неопределено
По умолчанию

Цитата:
Сообщение от semiromid Посмотреть сообщение
Вот сдела. Все работает . Но когда наприер "Сэрик" дает пати "Вива" то она почемута его берет , а "AntBuf'" начинает давать денсы (

Код:
const
name = 'AntBuf';  

var
 Paname: String;

    timer:TTimer;
    TimerStep:byte;
procedure Init; 
begin
    TimerStep:=1;
    timer:=TTimer.Create(nil);
    timer.OnTimer:=@OnTimer;
    timer.enabled:=false;
    timer.interval:=1000; //время задержки между отправкой пакетов.
end;

procedure Free;
begin
    timer.free;
end;

procedure OnTimer;
    begin
        case TimerStep of
        
                   
            1: 
                begin  
                    timer.interval:=1000;
                    buf:=Hstr('49 14 04 3E 04 31 04 40 04 3E 04 20 00 3F 04 3E 04 36 04 30 04 3B 04 3E 04 32 04 30 04 42 04 4C 04 20 00 3A 04 20 00 31 04 30 04 44 04 35 04 40 04 43 04 20 00 3A 04 3B 04 30 04 3D 04 30 04 20 00 22 00 1B 04 38 04 33 04 30 04 22 00 20 00 21 00 00 00 03 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;        
        
            2: 
                begin
                    timer.interval:=1000;
                    buf:=Hstr('39 10 01 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;
            3: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 12 01 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            4: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 35 06 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;
            5: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 37 06 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            6: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 39 06 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;

            7: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 0F 01 00 00 00 00 00 00 00');
                    SendToServerEx(name); 
                    Inc(TimerStep);                
                end; 
            8: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 13 01 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end; 
            9: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('39 36 01 00 00 00 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);
                end;                     
                                                              
            10: 
                begin 
                    timer.interval:=2000;
                    buf:=Hstr('49 21 04 3F 04 30 04 41 04 38 04 31 04 3E 04 20 00 47 04 42 04 3E 04 20 00 32 04 3E 04 41 04 3F 04 3E 04 3B 04 4C 04 37 04 3E 04 32 04 30 04 3B 04 38 04 41 04 4C 04 20 00 48 04 42 04 30 04 42 04 3D 04 4B 04 3C 04 20 00 3A 04 3B 04 30 04 3D 04 20 00 31 04 30 04 44 04 35 04 40 04 3E 04 3C 04 21 00 1F 04 40 04 38 04 45 04 3E 04 34 04 38 04 42 04 35 04 20 00 35 04 49 04 35 04 20 00 3A 00 29 00 00 00 03 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);                       
                end;
            11: 
                begin  
                    timer.interval:=1000;
                    buf:=Hstr('44');
                    SendToServerEx(name);
                    Inc(TimerStep);                  
                end;
            12: 
                begin 
                    timer.interval:=1000;
                    buf:=Hstr('19 F5 5E 30 10 00 00 00 00');
                    SendToServerEx(name);
                    Inc(TimerStep);                   
                end;
            13: 
                begin 
                    timer.interval:=1000;
                    buf:=Hstr('19 F5 5E 30 10 00 00 00 00');
                    SendToServerEx(name);              
                    timer.enabled:=false;     
                end;                                                
            14: 
                begin                                          
                    buf:=Hstr('1C 01 00 00 00');
                    SendToServerEx(name);                       
                    timer.enabled:=false;     
                end;                   
                
                
                
                
                
        end;
    end;

begin
  if FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39     
  
   PAname:= ReadS(2);
    if (PAName = 'Сэрик') or (PAName = 'еенн') or (PAName = 'тете') or (PAName = 'Огнн') or (PAName = 'бдбдбд') or (PAName = 'LIGAsword') or (PAName = 'Вива') or (PAName = 'wuiwiw')  then   begin
    
    buf:=Hstr('43 01 00 00 00');  
    timer.enabled:=true;
    TimerStep:=1; 
      
  end else 
     buf:=hstr('43 00 00 00 00');             //Создаем пакет "Отказать в пати"
    pck :='';                                  //убиваем этот пакет
    SendToServer;        
                        
  end;
 

 
 
//даем мп 

begin
  if FromServer and (pck[1]=#$70) then begin   //от сервера получен пакет $39     
  
    
    buf:=Hstr('55 01 00 00 00');  
    timer.enabled:=true;
    timer.interval:=5000; 
    TimerStep:=14;                                   
    SendToServer;                            //Отправляем его на сервер
  end;
  end; 
  
  
  
  
  

end.

Подскажите кк сделать примерно вот так

Код:
const
name = 'AntBuf';  

begin
  if FromServer and (pck[1]=#$39) then begin   //от сервера получен пакет $39 
    if ReadS(2) = ('Пиротехник') or ('Пиротyехник') then               //проверяем от кого       
       buf:=hstr('43 01 00 00 00');
                SendToServer;
                              //Отправляем его на сервер
  end; 
  
    
end.
semiromid вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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