Вопрос,в старых версиях l2phx,а точнее 3.2.0 скрипт работает отлично сам скрипт
PHP код:
var
i, p: integer;
Items: integer;
x, y, z: integer;
ObjectID, ItemID, Count: array [1..120] of integer;
m:TMemo;
First: boolean;
procedure Init;
begin
ShowTab;
m:=TMemo.Create(UserTab);
m.parent:=UserTab;
m.align:=alClient;
m.ReadOnly:=false;
m.ScrollBars:=ssBoth;
end;
begin
if FromClient and (pck[1]=#$03) then
begin
First:=True;
buf:=#$0F;
SendToServer;
end;
if FromServer and (pck[1]=#$1B) then
begin
p:=4;
Items:=(ReadC(p));
ReadC(p);
ReadC(p);
ReadC(p);
m.Lines.Add('Количество вещей в инвентаре: '+IntToStr(Items));
for i:=1 to Items do
begin
ObjectID[i]:=ReadD(p);
ItemID[i]:=ReadD(p);
Count[i]:=ReadD(p);
ReadD(p);
ReadD(p);
ReadD(p);
ReadD(p);
m.Lines.Add('OId: '+IntToStr(ObjectID[i])+' IId: '+IntToStr(ItemID[i])+' к-во: '+IntToStr(Count[i]));
end;
end;
if FromServer and (pck[1]=#$04) and (First) then
begin
if Items <> 0 then First:=false;
p:=2;
x:=ReadD(p);
y:=ReadD(p);
z:=ReadD(p);
m.Lines.Add('Ваши координаты: x='+IntToStr(x)+' y='+IntToStr(y)+' z='+IntToStr(z));
for i := 1 to Items do
begin
if ItemID[i]>0 then // - Дропнуть все вещи
// if ItemID[i] = 1463 then // - Дропнуть только вещь с заданным ItemID
begin
buf:=#$12;
WriteD(ObjectID[i]);
// Count[i]:=1; // - Дропнуть только одну вещь с заданным ItemID (речь о количестве... SS/SpS, например)
WriteD(Count[i]);
WriteD(x);
WriteD(y);
WriteD(z);
SendToServer;
m.Lines.Add('Дропнулось IId: '+IntToStr(Count[i])+' в количестве: '+IntToStr(ItemID[i]));
end;
end;
end;
end. procedure Init;
begin
//OnConnect
end;
procedure Free;
begin
//OnDisconnect
end;
begin
//OnRead
end.
2 скрина
Когда из скрипта убераю
PHP код:
procedure Init;
begin
ShowTab;
m:=TMemo.Create(UserTab);
m.parent:=UserTab;
m.align:=alClient;
m.ReadOnly:=false;
m.ScrollBars:=ssBoth;
end;
Скрипт по просту ничего не делает,а должен делать авто дроп,подскажите что нить