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.
вот тут каст сдлан по изменению скорости каста скилов
варк не самый быстрый но не надо парится с таймером