k2_target
15.08.2011, 11:43
Выложу исходиник скрипта AvtoPvP
Помойму не было такой темы.
const
tt=1901;
var
timer:TTimer;
conid:Integer;
targetId:Integer;
procedure Log(msg:String); //Вызывается при включении скрипта
begin
//sendMSG('Using conid:' + IntToStr(useforconnectid));
buf:=HStr('17 50 D4 19 00 00 00 00 00 00 00');
WriteS(msg);
SendToClient;
end;
procedure Init; //Вызывается при включении скрипта
begin
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnHTimer;
timer.Interval:=tt;
timer.Enabled:=false;
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
procedure OnHTimer(Sender: TObject);
begin
If (targetId <> 0) then
begin
useforconnectid := conid;
//CF 57 6C 4E 08 01 00 19 8E 00
// CF 57 6C 42 08 01 00 19 8E 00
buf:=hstr('1е 7 байт');
WriteD(targetId);
buf:=buf+hstr('последние 6 байт');
SendToServer;
Delay(100);
buf:=hstr('1е 7 байт');
WriteD(targetId);
buf:=buf+hstr('последние 6 байт');
SendToServer;
timer.enabled:=false;
end;
end;
procedure usecon(cid:Integer);
begin
if(cid <> 0) then conid := cid;
useforconnectid := conid;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
usecon(ConnectID);
if(fromserver) and (pck[1]=#$B6) then
begin
targetId:=ReadD(5);
timer.enabled:=true;
end;
end.
Это таймер:
const
tt=1901;
Обозначение в мили секундах.
тоесть когда вы кинули\приняли пвп идёт отчёт таймера.
Пакеты на отправку:
buf:=hstr('1е 7 байт');
WriteD(targetId);
buf:=buf+hstr('последние 6 байт');
SendToServer; \\\\ Cкил 1
Delay(100);
buf:=hstr('1е 7 байт');
WriteD(targetId);
buf:=buf+hstr('последние 6 байт');
SendToServer; \\\\ скил 2
timer.enabled:=false;
Пример
buf:=hstr('CF 57 6C 97 06 09 00');
WriteD(targetId);
buf:=buf+hstr('84 03 05 D6 00 00');
SendToServer;
Delay(100);
buf:=hstr('CF 57 6C 42 08 01 00');
WriteD(targetId);
buf:=buf+hstr('2A 02 05 0E 00 00');
SendToServer;
timer.enabled:=false;
В скрипте можно выпулять 2 скила до начала PvP
Помойму не было такой темы.
const
tt=1901;
var
timer:TTimer;
conid:Integer;
targetId:Integer;
procedure Log(msg:String); //Вызывается при включении скрипта
begin
//sendMSG('Using conid:' + IntToStr(useforconnectid));
buf:=HStr('17 50 D4 19 00 00 00 00 00 00 00');
WriteS(msg);
SendToClient;
end;
procedure Init; //Вызывается при включении скрипта
begin
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnHTimer;
timer.Interval:=tt;
timer.Enabled:=false;
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
procedure OnHTimer(Sender: TObject);
begin
If (targetId <> 0) then
begin
useforconnectid := conid;
//CF 57 6C 4E 08 01 00 19 8E 00
// CF 57 6C 42 08 01 00 19 8E 00
buf:=hstr('1е 7 байт');
WriteD(targetId);
buf:=buf+hstr('последние 6 байт');
SendToServer;
Delay(100);
buf:=hstr('1е 7 байт');
WriteD(targetId);
buf:=buf+hstr('последние 6 байт');
SendToServer;
timer.enabled:=false;
end;
end;
procedure usecon(cid:Integer);
begin
if(cid <> 0) then conid := cid;
useforconnectid := conid;
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
usecon(ConnectID);
if(fromserver) and (pck[1]=#$B6) then
begin
targetId:=ReadD(5);
timer.enabled:=true;
end;
end.
Это таймер:
const
tt=1901;
Обозначение в мили секундах.
тоесть когда вы кинули\приняли пвп идёт отчёт таймера.
Пакеты на отправку:
buf:=hstr('1е 7 байт');
WriteD(targetId);
buf:=buf+hstr('последние 6 байт');
SendToServer; \\\\ Cкил 1
Delay(100);
buf:=hstr('1е 7 байт');
WriteD(targetId);
buf:=buf+hstr('последние 6 байт');
SendToServer; \\\\ скил 2
timer.enabled:=false;
Пример
buf:=hstr('CF 57 6C 97 06 09 00');
WriteD(targetId);
buf:=buf+hstr('84 03 05 D6 00 00');
SendToServer;
Delay(100);
buf:=hstr('CF 57 6C 42 08 01 00');
WriteD(targetId);
buf:=buf+hstr('2A 02 05 0E 00 00');
SendToServer;
timer.enabled:=false;
В скрипте можно выпулять 2 скила до начала PvP