Показать сообщение отдельно
Старый 08.02.2010, 17:39   #626
Пользователь
 
Регистрация: 03.09.2009
Сообщений: 63
Сказал Спасибо: 19
Имеет 5 спасибок в 3 сообщенях
tiranosaur пока неопределено
По умолчанию

Подскажите где ошибка пжл. сервер грация
delphi Код:
const  NickName = '3ayp';     HPMedium = 95;   HPBottleID = 1061//1061=Healing Potion;  DrinkDelay = 14;  InvRazmer = 79var  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;

Последний раз редактировалось NLObP, 09.02.2010 в 00:32.
tiranosaur вне форума   Ответить с цитированием