Подскажите где ошибка пжл. сервер грация
delphi Код:
const
NickName = '3ayp';
HPMedium = 95;
HPBottleID = 1061; //1061=Healing Potion;
DrinkDelay = 14;
InvRazmer = 79;
var
MyX, MyY,MyZ : integer;
MyID, MyHP, MyMaxHP: integer;
MyMP, MyMaxMP : integer;
HPlevelProcent : integer;
CurrentInvRazmer : integer;
TargetID : integer;
time1: integer;
Inventory: array[0..InvRazmer, 0..9] of integer;
HPBottleObjID: integer;
HpBottleCount: integer;
procedure Init; //Вызывается при включении скрипта
begin
MyID:= 0;
MyX:= 0;
MyY:= 0;
MyZ:= 0;
MyID:= 0;
MyHP:= 0;
MyMaxHP:= 0;
MyMP:= 0;
MyMaxMP:= 0;
TargetID:=0;
time1:=1;
buf:= #$14;
SendToServerEx(NickName);
end;
function Wait(var tick: integer;Timewait: Integer): Boolean; // сквозная проверка без остановки скрипта (c)dmitry501, modifed by Sh00rGo
var
t: integer;
begin
result:=false;
t:=Round(Time*86400);
if t>(tick+Timewait) then begin
if tick>0 then result:=true;
tick:=t;
end;
end;
procedure UseItemID(ItemID:integer); //Использовать предмет с заданным ItemID
var
ObjItemID : integer;
begin
ObjItemID:= GetInv(ItemID,2,1);
if ObjItemID = -1 then exit;
buf:=#$19;
WriteD(ObjItemID);
WriteD(0);
SendToServerEx(NickName);;
end;
procedure InventoryCreate;
var
i,k, offset : integer;
begin
offset:= 76 ;
CurrentInvRazmer:=ReadH(4);
for i:=0 to InvRazmer do
if i < CurrentInvRazmer then begin
Inventory[i,0]:=ReadH(i*(28+offset)+6); // itemType1
Inventory[i,1]:=ReadD(i*(28+offset)+8); // ObjectId
Inventory[i,2]:=ReadD(i*(28+offset)+12); // ItemID
Inventory[i,3]:=ReadD(i*(28+offset)+16); // count
Inventory[i,4]:=ReadH(i*(28+offset)+20); // itemType2
Inventory[i,5]:=ReadH(i*(28+offset)+22); // CustType1
Inventory[i,6]:=ReadH(i*(28+offset)+24); // isEquipped
Inventory[i,7]:=ReadD(i*(28+offset)+26); // BodyPart
Inventory[i,8]:=ReadH(i*(28+offset)+30); // EnchantLevel
Inventory[i,9]:=ReadH(i*(28+offset)+32); // CustType2
end else
for k:=0 to 9 do Inventory[i,k]:=0; // забиваем нулями
end;
procedure InventoryUpdate;
var
i,j,k, offset: integer;
begin
offset:= 82;
for j:=0 to (ReadH(2)-1) do
begin
case pck[j*offset+4] of
#$01: k:=0; // add item, запишет на пустую ячейку
#$02: k:=ReadD(j*offset+8); // mod item
#$03: begin // remove item, обнулит ячейки удаленного предмета
k:=ReadD(j*offset+8);
for i:=0 to InvRazmer do if (Inventory[i,1]=k) then
begin
for k:=0 to 9 do Inventory[i,k]:=0;
exit;
end;
end;
end;
for i:=0 to InvRazmer do if (Inventory[i,1]=k) then
begin
Inventory[i,0]:=ReadH(j*offset+6); // itemType1
Inventory[i,1]:=ReadD(j*offset+8); // ObjectId
Inventory[i,2]:=ReadD(j*offset+12); // ItemID
Inventory[i,3]:=ReadD(j*offset+20); // count
Inventory[i,4]:=ReadH(j*offset+24); // itemType2
Inventory[i,5]:=ReadH(j*offset+26); // CustType1
Inventory[i,6]:=ReadH(j*offset+28); // isEquipped
Inventory[i,7]:=ReadD(j*offset+30); // BodyPart
Inventory[i,8]:=ReadH(j*offset+34); // EnchantLevel
Inventory[i,9]:=ReadH(j*offset+36); // CustType2
break;
end;
end;
end;