|
Местный
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
|
to ICEFLOE
Оффтоп
PHP код:
BaseItems[i,1]:=ReadH(j); //ItemType1 BaseItems[i,2]:=ReadD(j); //ObjectID BaseItems[i,3]:=ReadD(j); //ItemID BaseItems[i,4]:=ReadD(j); //LocationSlot BaseItems[i,5]:=ReadD(j); //Count BaseItems[i,6]:=ReadH(j); //ItemType2 BaseItems[i,7]:=ReadH(j); //CustomType1 BaseItems[i,8]:=ReadH(j); //isEquipped BaseItems[i,9]:=ReadD(j); //BodyPart BaseItems[i,10]:=ReadH(j); //EnchantLevel BaseItems[i,11]:=ReadH(j); //CustType2 BaseItems[i,12]:=ReadD(j); //AugmentationID //debugmsg('OID='+inttostr(BaseItems[i,2])+' ID='+inttostr(BaseItems[i,3])); inc(j,40); //!!! 36
- вот тут - у меня с каких то недавних серверов осталось - смени на inc(j,36);
...черт его знает насколько верно будет - ето полуночная теоретика все 
P.S - это только в наИтемЛист пакет...на апдейт - не смотрел...
Если сумка начнет нормально отображать итемы, то вариант Итемапдейт:
Оффтоп
PHP код:
procedure InventoryUpdate; //пакет 21, Создает базу ObjectID по ItemID var i, ii, j, k, ListCount, UpdType : integer; ItemType1, ObjectID, ItemID, LocationSlot, Count, ItemType2, CustomType1, isEquipped, BodyPart, EnchantLevel, CustType2, AugmentationID :integer; additem : boolean; begin additem:=true; ListCount:=ReadH(2); //количество итемов // debugmsg('ListCount='+inttostr(ListCount)); j:=4; //смещение для действия с предметом 1-добавлен 2-изменен 3-удален for i:=1 to ListCount do begin UpdType:=ReadH(j); ItemType1:=ReadH(j); ObjectID:=ReadD(j); ItemID:=ReadD(j); LocationSlot:=ReadD(j); Count:=ReadD(j); ItemType2:=ReadH(j); CustomType1:=ReadH(j); isEquipped:=ReadH(j); BodyPart:=ReadD(j); EnchantLevel:=ReadH(j); CustType2:=ReadH(j); AugmentationID:=ReadD(j); case UpdType of 1: k:=0; //добавлен новый предмет 2: k:=ObjectID; //изменен предмет в инвентаре 3: begin //удален for ii:=1 to maxitems do if (BaseItems[ii,2]=ObjectID) then begin //debugmsg('удаляем OID='+inttostr(BaseItems[ii,2])+' ID='+inttostr(BaseItems[ii,3])); for k:=1 to 12 do BaseItems[ii,k]:=0; break; end; end; end; for ii:=1 to maxitems do begin if (BaseItems[ii,2]=k) then begin BaseItems[ii,1]:=ItemType1; //BaseItems[ii,2]:=ObjectID; BaseItems[ii,3]:=ItemID; BaseItems[ii,4]:=LocationSlot; BaseItems[ii,5]:=Count; BaseItems[ii,6]:=ItemType2; BaseItems[ii,7]:=CustomType1; BaseItems[ii,8]:=isEquipped; BaseItems[ii,9]:=BodyPart; BaseItems[ii,10]:=EnchantLevel; BaseItems[ii,11]:=CustType2; BaseItems[ii,12]:=AugmentationID; //debugmsg('доб/изм OID='+inttostr(BaseItems[ii,2])+' ID='+inttostr(BaseItems[ii,3])); break; end; end; inc(j,38); end; end;
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 22.01.2010 в 02:33.
|