Показать сообщение отдельно
Старый 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 вне форума   Ответить с цитированием