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

cat,
delphi Код:
const        PPbafer = 'НИК';// ник бафера        buff =        ['2F 3D 04 00 00 00 00 00 00 00 ',   //Acumen         '2F 26 04 00 00 00 00 00 00 00  ',   //BtS         '2F 15 04 00 00 00 00 00 00 00 ',   //BtB         '2F 2C 04 00 00 00 00 00 00 00 ',   //Might         '2F 10 04 00 00 00 00 00 00 00 ',   //Shield         '2F 36 04 00 00 00 00 00 00 00 ',   //concentration         '2F 35 04 00 00 00 00 00 00 00 ',   //Focus         '2F DA 04 00 00 00 00 00 00 00 ',   //DW         '2F D8 04 00 00 00 00 00 00 00 ',   //Точночть         '2F B4 04 00 00 00 00 00 00 00 ',   //WW         '2F 0C 04 00 00 00 00 00 00 00 ',   //   MB         '2F 0B 04 00 00 00 00 00 00 00 ',   //   Mental         '2F 3E 04 00 00 00 00 00 00 00 ',   //   Haste         '2F 48 05 00 00 00 00 00 00 00 ',   // EP         '2F DB 04 00 00 00 00 00 00 00 '];  // щит         SS=0;     var         prof,x,y, SkilID, SkilHIT,PPbaferID : integer;         timer1, timer2: TTimer;         Target: string;     procedure Say(msg:string);     begin     buf:=hstr('4A 00 00 00 00');     WriteD(2);     WriteS(PPbafer);     WriteS(msg);     SendToClientEx(PPbafer);     end;     procedure Init; //Вызывается при включении скрипта     begin     //делаем таймер     timer1:=TTimer.Create(nil);     timer1.OnTimer:=@OnTimer1;     timer1.enabled:=false;//по начал не баффаемся, толко по команде     timer1.interval:=200;// 0,2 секунды - начальный интервал таймера     end;     procedure InitStats;     begin         PPbaferID:=ReadD(18);        //Say('ID'+inttostr(PPbaferID));     end;      procedure OnTimer1(Sender: TObject);     begin     if x = 1 then     Say('Начинаем баффаццо');     buf:=hstr(buff[x]);             //берем нужный элемент из массива     SendToServerEx(PPbafer);     inc(x);                        //увеличиваем х на 1     if x = 15 then     begin Say('Баффаццо вроде закончили');           Timer1.Enabled:=False;    //закончили баффаццо - таймер отключили           x:=0;     end;   //  Say('x='+inttostr(x))// так что б мониторить измение в чате     end;     procedure Free; //Вызывается при выключении скрипта     begin     timer1.enabled:=false;     timer1.Free;     x:=0;     end;     //основная часть скрипта     //вызывается при приходе каждого пакета если скрипт включен     begin     if pck='' then exit;     if FromServer and (ConnectName=PPbafer) and (pck[1]=#$04)  then InitStats;     if FromServer and (ConnectName=PPbafer) and ((pck[1]=#$48) and (ReadD(18)=SS)) then exit ;     if FromServer and (ConnectName=PPbafer) and (pck[1]=#$48)and (ReadD(2)=PPbaferID) then        begin        SkilHIT:=ReadD(18);        SkilID:= ReadD(10);        Timer1.Interval:=SkilHit+100;      //ставим время отката скила   +100 константа смешения тупо что б паузу сделать маленькую      //  Say('Скил='+inttostr(SkilID)); // иди скрипта так для самопроверке кстате можно тестить бафы на ускорение каста и шмот     //   Say('Откат='+inttostr(SkilHIT)); //время каста скила        end;     if FromClient and (pck[1]+pck[2]=#$38#$31) and (ConnectName=PPbafer)and(pck[3]=#$00) and (pck[4]=#$00) and (pck[5]=#$00)and (pck[6]=#$09) then  //1- нажимаем в любой чат окуратней я пакет не убил     begin     pck:='';       prof:=1;       Timer1.Enabled:=True//врубаем таймер     end;     //  if prof=1 then begin       //    y:=1;       //    prof:=0;      // end;     end.
вот тут каст сдлан по изменению скорости каста скилов варк не самый быстрый но не надо парится с таймером

Последний раз редактировалось NLObP, 07.05.2008 в 01:11. Причина: вставил тэги [HIGHLIGHT="delphi"]...[/HIGHLIGHT]
Grinch вне форума   Ответить с цитированием
За это сообщение Grinch нажился 5 спасибками от: