Когда варк под L2Walker захочет бафать то скрипт кинет пати нужному чару, затем варк бафнет и выйдет из пати.
(если в течение 8 секунд не используются скилы варка то скрипт понимает что нужно разорвать пати, именно по этому варк еще может и лекать в офф пати)
Код
//Автор ATMS_DIFKS
//если варк будет использовать скилы бафа
//то скрипт будет блокировать пакет пока не кинет пати тому, кого надо бафнуть
//потом варк распускает пати
//проще, офф пати бафф от варка
var Tim01: TTimer;
vark,invite,name,tn:string;
SID,stat,TestPaty,tim,tm:integer;
procedure Init; //Вызывается при включении скрипта
begin
stat:=0; tim:=-1;
tm:=8;//время до разрыва пати в секундах, от последнего бафа
Tim01:=TTimer.Create(nil);
Tim01.OnTimer:=@OnTim011;
Tim01.interval:=1000;
Tim01.enabled:=true;
vark:='сюда введи'; //ник варка
invite:='сюда введи';//кому кидать пати при попытке бафа
end;
procedure SendMsc(msc:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(2);
WriteS('Варк офф пати бафф');
WriteS(msc);
SendToClientEX(name);
end;
procedure OnTim011;
begin
if tim > 0 then tim := tim -1;
if tim = 0 then
begin
tim:=-1;
stat:=0;
buf:=hstr('2B');
SendToServerEX(invite);
end;
end;
procedure SendPaty;
begin
buf:=#$29;
WriteS(invite);
WriteD(1); //тип сообщения 1 шаут 2 приват 10 аноним обьявление и тд
SendToServerEX(vark);
end;
procedure Free; //Вызывается при выключении скрипта
begin
Tim01.free;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromClient and (pck[1]=#$2F) and (ConnectName=vark) then
begin
sid:=ReadD(2);
name:=vark;
{
//отладка
SendMsc(inttostr(sid));
pck:=''; }
case sid of
1002: if stat = 0 then begin pck:=''; SendPaty; end else begin tim := tm; end;
1006: if stat = 0 then begin pck:=''; SendPaty; end else begin tim := tm; end;
1007: if stat = 0 then begin pck:=''; SendPaty; end else begin tim := tm; end;
1009: if stat = 0 then begin pck:=''; SendPaty; end else begin tim := tm; end;
1252: if stat = 0 then begin pck:=''; SendPaty; end else begin tim := tm; end;
1310: if stat = 0 then begin pck:=''; SendPaty; end else begin tim := tm; end;
1253: if stat = 0 then begin pck:=''; SendPaty; end else begin tim := tm; end;
1229: if stat = 0 then begin pck:=''; SendPaty; end else begin tim := tm; end;
end;
end;
if FromServer and (pck[1]=#$3A) and (ConnectName=vark) then
begin
TestPaty:=ReadD(2);
if TestPaty = 1 then stat := 1;
if TestPaty = 0 then stat := 0;
end;
if FromServer and (pck[1]=#$39) and (ConnectName=invite) then
begin
tn:=ReadS(2);
if tn = vark then
begin
buf:=#$2A;
WriteD(1);
SendToServerEX(invite);
end;
end;
end.