Показать сообщение отдельно
Старый 26.12.2007, 16:28   #128
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Попробуй так
Цитата:
Сообщение от jestb
begin
if FromClient and (ConnectName='char1') //посылаю с 1-го окна пакет "SocialActionYes"
and (pck=HStr('1B 06 00 00 00')) then begin
buf:=HStr('2A 01 00 00 00'); //п.№1 - принять пати
SendToServerEx('char2');
Delay(1000);
buf:=HStr('2F 13 01 00 00 00 00 00 00 00 '); //п.№2 - Fury
SendToServerEx('char2');
Delay(1000);
buf:=HStr('2F 12 01 00 00 00 00 00 00 00 '); //п.№3 - Fire
SendToServerEx('char2');
Delay(1000);
buf:=HStr('2F 0F 01 00 00 00 00 00 00 00 '); //п.№4 - Warrior
SendToServerEx('char2');
Delay(1000);
buf:=HStr('2B'); //п.№5 - выйти с пати
Delay(1000);
buf:=HStr('04 B2 F9 20 48 24 CB 00 00 45 2B FF FF A6 F3 FF FF 00'); //п.№7 - следовать за мной
SendToServerEx('char2'); //вместо 1-го окна "yes", 2-е окно делает пункты №1-№7.
pck:='';
end;
end.
Единственный минус в том, что когда идет задержка 1 сек то в это время никакие пакеты не обрабатываются.

Код:
const MainChar = 'Сюда имя основного перса';
         BD = 'Сюда ник БД соответственно'
  
var Timer1:TTimer;
      actions:array[1..6] of string;
      nm:integer;

procedure Init;
begin
nm:=1;

Timer1:=TTimer.Create(nil);
Timer1.OnTimer:=@OnTimer1;
Timer1.enabled:=false;
Timer1.interval:=1000; //задержка 1 сек;

actions[1]:='2A 01 00 00 00';
actions[2]:='2F 13 01 00 00 00 00 00 00 00 ';
actions[3]:='2F 12 01 00 00 00 00 00 00 00 ';
actions[4]:='2F 0F 01 00 00 00 00 00 00 00 ';
actions[5]:='2B'
actions[6]:='04 B2 F9 20 48 24 CB 00 00 45 2B FF FF A6 F3 FF FF 00';
end;

procedure Timer1.ontimer(Sender:Tobject);
begin if nm>6 then Timer1.Enabled:=false
         else begin buff:=Hstr(actions[nm]);
                         SendToServerEx(BD);
                         inc(nm);
                end;
end;

procedure Free;
begin 
Timer1.Free;
end;

begin
if Pck='' then exit;
if FromClient and (ConnectName=MainChar)  //посылаю с 1-го окна пакет "SocialActionYes"
  and (pck=HStr('1B 06 00 00 00')) then begin
    pck:='';
    buf:=HStr(actions[nm]);                
    SendToServerEx(BD);
    Timer1.Enabled:=true;
end;
end.
попробуй так.
QaK вне форума   Ответить с цитированием