Показать сообщение отдельно
Старый 07.02.2008, 23:52   #217
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

lQaKl ы делаю, но из-за кривизны рук и недостатка свободного времени пишеться медлено тем более делаю по аналогии других скриптов.

Добавлено спустя 11 часов 56 минут 56 секунд:
Код:
  const
   Name='xxx';//скилы от ПП для теста
b1='2F 3D 04 00 00 00 00 00 00 00 ';   //Acumen
b2='2F 18 04 00 00 00 00 00 00 00 ';   //BtS
b3='2F 15 04 00 00 00 00 00 00 00 ';   //BtB
b4='2F 2C 04 00 00 00 00 00 00 00 ';   //Might 
b5='2F 10 04 00 00 00 00 00 00 00 ';    //Shield
b6='2F 36 04 00 00 00 00 00 00 00 ';    //concentration
b7='2F 35 04 00 00 00 00 00 00 00 ';     //Focus
b8='2F DA 04 00 00 00 00 00 00 00 ';     //DW
b9='2F D8 04 00 00 00 00 00 00 00 ';      //Точночть
b10='2F B4 04 00 00 00 00 00 00 00 ';     //WW
b11='2F 0C 04 00 00 00 00 00 00 00 ';      //   MB
b12='2F 0B 04 00 00 00 00 00 00 00 ';      //   Mental
b13='2F 3E 04 00 00 00 00 00 00 00 ';      //   Haste
b14='2F 48 05 00 00 00 00 00 00 00 ';      // EP
b15='2F DB 04 00 00 00 00 00 00 00 ';      // щит
var
    prof,x, SkilID, SkilHIT : integer;
    timer1: TTimer;
    Target: string;
procedure Say(msg:string);
begin
 buf:=hstr('4A 00 00 00 00');
 WriteD(2);
 WriteS(Name);
 WriteS(msg);
 SendToClientEx(Name);
end;


procedure Init; //Вызывается при включении скрипта
begin
      timer1:=TTimer.Create(nil);
   timer1.OnTimer:=@OnTimer;
   timer1.enabled:=true;
   timer1.interval:=SkilHIT;// главная трабла или не всё так просто :( значение не присваивается динамически изначальео его 
просто нет пробовал менять на 2000 там ниже вместа адреса числа


Say('НУ РАБОТАЙ!');
  end;
  procedure OnTimer(Sender: TObject);
begin
case x of
1: begin
    buf:=hstr(b1);
    sendtoserver;

    x:=x+1;
    end;
2: begin
    buf:=hstr(b2);
    sendtoserver;

    x:=x+1;
    end; 
3: begin
    buf:=hstr(b3);
    sendtoserver;

    x:=x+1;
    end;
4: begin
    buf:=hstr(b4);
    sendtoserver;

    x:=x+1;
    end;
5: begin
    buf:=hstr(b5);
    sendtoserver;

    x:=x+1;
    end;
6: begin
    buf:=hstr(b6);
    sendtoserver;

    x:=x+1;
    end;
7: begin
    buf:=hstr(b7);
    sendtoserver;

    x:=x+1;
    end;
8: begin
    buf:=hstr(b8);
    sendtoserver;

    x:=x+1;
    end;
9: begin
    buf:=hstr(b9);
    sendtoserver;

    x:=x+1;
    end;
10: begin
    buf:=hstr(b10);
    sendtoserver;

    x:=x+1;
    end;
11: begin
    buf:=hstr(b11);
    sendtoserver;

    x:=x+1;
    end;
12: begin
    buf:=hstr(b12);
    sendtoserver;

    x:=x+1;
    end;
13: begin
    buf:=hstr(b13);
    sendtoserver;

    x:=x+1;
    end;
14: begin
    buf:=hstr(b14);
    sendtoserver;

    x:=x+1;
    end;
15: begin
    buf:=hstr(b15);
    sendtoserver;

    x:=0;
    end;
end;

end;




procedure Free; //Вызывается при выключении скрипта
begin
  timer1.enabled:=false;
timer1.Free;
   x:=0;
end;

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
   begin

    if FromServer and (ConnectName=Name) and (pck[1]=#$48)  then
   begin
   SkilHIT:=ReadD(18);
   SkilID:= ReadD(10);
   Say('Скил='+inttostr(SkilID)); // иди скрипта так для самопроверке кстате можно тестить бафы на ускорение каста и шмот
   Say('Откат='+inttostr(SkilHIT)); //время каста скила

   end;
   if FromClient and (pck[1]+pck[2]=#$38#$31)then  //1- нажимаем в любой чат окуратней я пакет не убил
begin
  prof:=1
 end;
  if prof=1 then begin
      x:=1;
      prof:=0;
    end;
     Say('x='+inttostr(x))// так что б мониторить измение в чате 
end.
ЗЫ НЕ РАБОТАЕТ в чём трабла?
Grinch вне форума   Ответить с цитированием