c-lavr
01.04.2012, 23:10
наконец готов дюп)
1. Включаем скрипт до выбора перса.
2. Открываем склад и 1 раз нажимаем на ту вещь, которую хотите дюпнуть
2. В чате пишите команду don - начало дюпа
3. Как у вас в инвентаре наберется нужное количество дюпа, вводим команду в чат dof
Сам скрипт:
var
Timer:TTimer;
i,a:integer;
info,name,nah:string;
control:boolean;
procedure Init;
begin
a:=1;
nah:= HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
control:=false;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.enabled:=false;
Timer.interval:=10000;
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case a of
1:
begin
buf := nah+HStr('41 00 64 00 6D 00 69 00 6E 00 3A 00 20 00 12 04 3D 04 38 04 3C 04 30 04 3D 04 38 04 35 04 20 00 2C 00 32 04 30 04 48 04 4C 04 20 00 30 04 3A 04 3A 04 43 04 30 04 3D 04 42 04 20 00 37 04 30 04 31 04 3B 04 3E 04 3A 04 38 04 40 04 3E 04 32 04 30 04 3D 04 20 00 3F 04 3E 04 20 00 3F 04 40 04 38 04 47 04 38 04 3D 04 35 04 20 00 2D 00 20 00 14 04 4E 04 3F 04 20 00 32 04 35 04 49 04 35 04 39 04 00 00');
SendToClientEx(name);
Inc(a);
end;
2:
begin
buf := nah+HStr('41 00 64 00 6D 00 69 00 6E 00 3A 00 20 00 25 04 30 04 40 04 30 04 3A 04 42 04 35 04 40 04 38 04 41 04 42 04 38 04 3A 04 38 04 20 00 3F 04 35 04 40 04 41 04 3E 04 3D 04 30 04 36 04 30 04 20 00 3F 04 3E 04 3B 04 3D 04 3E 04 41 04 42 04 4C 04 4E 04 20 00 3E 04 31 04 3D 04 43 04 3B 04 35 04 3D 04 4B 04 00 00');
SendToClientEx(name);
buf:=info;
SendToClientEx(name);
Timer.interval:=80000;
Inc(a);
end;
3:
begin
buf := nah+HStr('43 00 4C 00 41 00 56 00 52 00 3A 00 20 00 21 04 20 00 3F 04 40 04 3E 04 48 04 35 04 34 04 48 04 38 04 3C 04 20 00 31 00 20 00 30 04 3F 04 40 04 35 04 3B 04 4F 04 29 00 29 00 29 00 20 00 3F 04 3E 04 3C 04 30 04 33 04 30 04 35 04 3C 04 20 00 48 04 43 04 42 04 38 04 42 04 4C 04 20 00 3D 04 30 04 34 04 20 00 34 04 40 04 43 04 33 04 38 04 3C 04 38 04 00 00');
SendToClientEx(name);
Timer.interval:=10000;
Timer.enabled:=false;
a:=1;
end;
end;
end;
begin
if FromClient and (ReadC(1) = $9F) then
name:=ConnectName;
if FromServer and (ReadC(1)=$01) then
begin
buf:='';
For i:= 1 to 13 do
buf:=buf+pck[i];
For i:= 14 to 50 do
if i=38 then
buf:=buf+HStr('01')
else buf:=buf+HStr('00');
For i:= 50 to 100 do
buf:=buf+pck[i];
For i:= 101 to Length(pck) do
buf:=buf+pck[i];;
info:=buf;
if control then
begin
sendtoClient;
pck:='';
end;
end;
if FromClient and control and (ReadC(1) = $CE) then
begin
buf := nah+HStr('10 04 39 04 2C 00 20 00 3D 04 35 04 20 00 42 04 40 04 3E 04 33 04 30 04 39 04 20 00 3C 04 35 04 3D 04 4F 04 00 00');
sendtoClient;
end;
if FromClient and (ReadC(1)=$B2) then
case ReadS(7) of
'don':
begin
control:=True;
Timer.enabled:=True;
pck:='';
end;
'dof':
begin
buf:=nah+HStr('43 00 4C 00 41 00 56 00 52 00 3A 00 20 00 10 04 20 00 32 04 3E 04 42 04 20 00 42 04 35 04 3F 04 35 04 40 04 4C 04 20 00 32 04 41 04 35 04 20 00 34 04 30 04 3D 04 3D 04 4B 04 35 04 20 00 3F 04 35 04 40 04 41 04 30 04 20 00 3F 04 3E 04 3B 04 3D 04 3E 04 41 04 42 04 4C 04 4E 04 20 00 43 04 3D 04 38 04 47 04 42 04 3E 04 36 04 35 04 3D 04 4B 04 20 00 2D 00 20 00 3F 04 40 04 3E 04 41 04 4C 04 31 04 30 04 20 00 30 04 34 04 3C 04 38 04 3D 04 3E 04 32 04 00 00 ');
sendtoclient;
pck:='';
end;
end;
end.
P.S. Если рядом появляется администрация, то просто берем кого-угодно в таргет - и пакеты для администрации идут, как будто от того, кто в таргете
1. Включаем скрипт до выбора перса.
2. Открываем склад и 1 раз нажимаем на ту вещь, которую хотите дюпнуть
2. В чате пишите команду don - начало дюпа
3. Как у вас в инвентаре наберется нужное количество дюпа, вводим команду в чат dof
Сам скрипт:
var
Timer:TTimer;
i,a:integer;
info,name,nah:string;
control:boolean;
procedure Init;
begin
a:=1;
nah:= HStr('16 00 54 D5 FF 22 00 00 00 00 00 00 00');
control:=false;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@OnTimer;
Timer.enabled:=false;
Timer.interval:=10000;
end;
procedure Free;
begin
Timer.free;
end;
procedure OnTimer(Sender: TObject);
begin
case a of
1:
begin
buf := nah+HStr('41 00 64 00 6D 00 69 00 6E 00 3A 00 20 00 12 04 3D 04 38 04 3C 04 30 04 3D 04 38 04 35 04 20 00 2C 00 32 04 30 04 48 04 4C 04 20 00 30 04 3A 04 3A 04 43 04 30 04 3D 04 42 04 20 00 37 04 30 04 31 04 3B 04 3E 04 3A 04 38 04 40 04 3E 04 32 04 30 04 3D 04 20 00 3F 04 3E 04 20 00 3F 04 40 04 38 04 47 04 38 04 3D 04 35 04 20 00 2D 00 20 00 14 04 4E 04 3F 04 20 00 32 04 35 04 49 04 35 04 39 04 00 00');
SendToClientEx(name);
Inc(a);
end;
2:
begin
buf := nah+HStr('41 00 64 00 6D 00 69 00 6E 00 3A 00 20 00 25 04 30 04 40 04 30 04 3A 04 42 04 35 04 40 04 38 04 41 04 42 04 38 04 3A 04 38 04 20 00 3F 04 35 04 40 04 41 04 3E 04 3D 04 30 04 36 04 30 04 20 00 3F 04 3E 04 3B 04 3D 04 3E 04 41 04 42 04 4C 04 4E 04 20 00 3E 04 31 04 3D 04 43 04 3B 04 35 04 3D 04 4B 04 00 00');
SendToClientEx(name);
buf:=info;
SendToClientEx(name);
Timer.interval:=80000;
Inc(a);
end;
3:
begin
buf := nah+HStr('43 00 4C 00 41 00 56 00 52 00 3A 00 20 00 21 04 20 00 3F 04 40 04 3E 04 48 04 35 04 34 04 48 04 38 04 3C 04 20 00 31 00 20 00 30 04 3F 04 40 04 35 04 3B 04 4F 04 29 00 29 00 29 00 20 00 3F 04 3E 04 3C 04 30 04 33 04 30 04 35 04 3C 04 20 00 48 04 43 04 42 04 38 04 42 04 4C 04 20 00 3D 04 30 04 34 04 20 00 34 04 40 04 43 04 33 04 38 04 3C 04 38 04 00 00');
SendToClientEx(name);
Timer.interval:=10000;
Timer.enabled:=false;
a:=1;
end;
end;
end;
begin
if FromClient and (ReadC(1) = $9F) then
name:=ConnectName;
if FromServer and (ReadC(1)=$01) then
begin
buf:='';
For i:= 1 to 13 do
buf:=buf+pck[i];
For i:= 14 to 50 do
if i=38 then
buf:=buf+HStr('01')
else buf:=buf+HStr('00');
For i:= 50 to 100 do
buf:=buf+pck[i];
For i:= 101 to Length(pck) do
buf:=buf+pck[i];;
info:=buf;
if control then
begin
sendtoClient;
pck:='';
end;
end;
if FromClient and control and (ReadC(1) = $CE) then
begin
buf := nah+HStr('10 04 39 04 2C 00 20 00 3D 04 35 04 20 00 42 04 40 04 3E 04 33 04 30 04 39 04 20 00 3C 04 35 04 3D 04 4F 04 00 00');
sendtoClient;
end;
if FromClient and (ReadC(1)=$B2) then
case ReadS(7) of
'don':
begin
control:=True;
Timer.enabled:=True;
pck:='';
end;
'dof':
begin
buf:=nah+HStr('43 00 4C 00 41 00 56 00 52 00 3A 00 20 00 10 04 20 00 32 04 3E 04 42 04 20 00 42 04 35 04 3F 04 35 04 40 04 4C 04 20 00 32 04 41 04 35 04 20 00 34 04 30 04 3D 04 3D 04 4B 04 35 04 20 00 3F 04 35 04 40 04 41 04 30 04 20 00 3F 04 3E 04 3B 04 3D 04 3E 04 41 04 42 04 4C 04 4E 04 20 00 43 04 3D 04 38 04 47 04 42 04 3E 04 36 04 35 04 3D 04 4B 04 20 00 2D 00 20 00 3F 04 40 04 3E 04 41 04 4C 04 31 04 30 04 20 00 30 04 34 04 3C 04 38 04 3D 04 3E 04 32 04 00 00 ');
sendtoclient;
pck:='';
end;
end;
end.
P.S. Если рядом появляется администрация, то просто берем кого-угодно в таргет - и пакеты для администрации идут, как будто от того, кто в таргете