PDA

Просмотр полной версии : нестандартный 0x11 Itemlist (final)


Likoms
27.10.2009, 17:59
в попытках настроить скрипт на заточку столкнулся с проблемой, пакет itemlist какой-то кривой: 11 01 00 02 00 01 00 DD 84 09 10 9B 16 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 10 00 00 02 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 01 00 93 74 09 10 9B 16 00 00 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FE FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF
соответственно скрипт неверно определяет вещи в инвентаре и ничего хорошего не выходит:)
пока смог его разобрать только до вот такого состояния(очень мало опыта с пакетами, только вчера скачал ph):
Tип: 0x11 (ItemList)
Pазмер: 133+2
Время прихода: 16:54:26:562
0002 h ShowWindow: 1 (0x0001)
0004 h ListSize: 2 (0x0002)
[Начало повторяющегося блока 1/2]
0006 h ItemType1: 1
0008 d ObjectID: 269059293
0012 d ItemID: Сапоги Величия ID:5787 (0x169B)
0016 d LocationSlot: 0
0020 d Count: 1
0024 h ItemType2: 0
0026 h CustomType1: 0
0028 h isEquipped: 1
0030 d BodyPart: 0
0034 h AugmentationID: 4096
0036 h CustType2: 0
0038 d EnchantLevel: 2
0042 d Mana: 0
0046 d AttackAttrElement: -1
0050 d AttackAttrElementVal: 65534
0054 d DefAttrFire: 0
0058 d DefAttrWater: 0
0062 d DefAttrWind: 0
0066 d DefAttrEarth: -1
[Конец повторяющегося блока 1/2]
[Начало повторяющегося блока 2/2]
0070 h ItemType1: 1
0072 d ObjectID: 269055123
0076 d ItemID: Сапоги Величия ID:5787 (0x169B)
0080 d LocationSlot: 1
0084 d Count: 1
0088 h ItemType2: 0
0090 h CustomType1: 0
0092 h isEquipped: 1
0094 d BodyPart: 0
0098 h AugmentationID: 4096
0100 h CustType2: 0
0102 d EnchantLevel: 0
0106 d Mana: 0
0110 d AttackAttrElement: -1
0114 d AttackAttrElementVal: 65534
0118 d DefAttrFire: 0
0122 d DefAttrWater: 0
0126 d DefAttrWind: 0
0130 d DefAttrEarth: -1
[Конец повторяющегося блока 2/2]

помогите разобраться, что нужно писать в packetsT1.ini, у меня там уже:
11=ItemList:h(ShowWindow)h(ListSize:Loop.01.0019)h (ItemType1)d(ObjectID)d(ItemID:Get.Func01)d(Locati onSlot)d(Count)h(ItemType2)h(CustomType1)h(isEquip ped)d(BodyPart)h(AugmentationID)h(CustType2)d(Ench antLevel)d(Mana)d(AttackAttrElement)d(AttackAttrEl ementVal)d(DefAttrFire)d(DefAttrWater)d(DefAttrWin d)d(DefAttrEarth)d(?)
или направьте на путь истинный))
сервер java, gracia final, популярный.

alexteam
27.10.2009, 18:15
несоответсвий в структуре пакета - не нашел.

Likoms
27.10.2009, 18:42
я исправил там
11=...h(ListSize:Loop.01.0019)...

и поменял местами EnchantLevel с AugmentationID

до этого вообще не видело ID вещей кроме первой в инвентаре и уровень заточки.
Сейчас скрипт видит нормально только первый итем в инвентаре. Вместо остальных - бред.
Хотя в просмотре пакетов все норм. Ну с ID, count и энчантом норм, остальные параметры по-моему перепутаны совсем.

alexteam
27.10.2009, 19:10
Проблемма только с этим пакетом ? что с say2/creaturesay пакетами ? текст в них отображается нормально ?

TAMBIK
27.10.2009, 21:05
Likoms,
наверно от того как отображается пакет
правильно аль нет на скрипт не влияет

Likoms
28.10.2009, 01:46
Likoms,
наверно от того как отображается пакет
правильно аль нет на скрипт не влияет
понятно, значит не в том разделе тему создал))

в двух местах скрипта так код изменил
if (i<=ListCount) then begin
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); //AugmentationID
BaseItems[i,11]:=ReadH(j); //CustType2
BaseItems[i,12]:=ReadD(j); //EnchantLevel

и в одном так.
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);
AugmentationID:=ReadH(j);
CustType2:=ReadH(j);
EnchantLevel:=ReadD(j);

видимо гоню. подскажите что нужно изменить в скрипте, чтобы он начал видеть весь инвентарь...
скрипт брал тут: http://coderx.ru/showpost.php?p=22135&postcount=95

TAMBIK
28.10.2009, 09:02
Likoms,

я пытался поправить скрипт
вот что вышло . как посчитать.
если не ошибся .
http://coderx.ru/showpost.php?p=41522&postcount=26

твой пакет норм отображается :
l2phx.3.5.28.151
ты какой версией работаешь ???????
Tип: 0x11 (ItemList)
Pазмер: 133+2
Время прихода: 08:04:49:921
0002 h ShowWindow: 1 (0x0001)
0004 h ItemCount: 2 (0x0002)
[Начало повторяющегося блока 1/2]
0006 h ItemTypeID: 1 (0x0001)
0008 d ObjectID: 269059293 (0x100984DD)
0012 d ItemID: Сапоги Величия ID:5787 (0x169B) (0x0000169B)
0016 d LocationSlot: 0 (0x00000000)
0020 q Amount: 1
0028 h ItemType2: 1 (0x0001)
0030 h CustomType1: 0 (0x0000)
0032 h isEquipped: 0 (0x0000)
0034 d BodyPart: 4096 (0x00001000)
0038 h EnchantLevel: 2 (0x0002)
0040 h CustType2: 0 (0x0000)
0042 h AugmentID: 0 (0x0000)
0044 h AugmentID: 0 (0x0000)
0046 d Mana: -1 (0xFFFFFFFF)
0050 h AttackElement: 65534 (0xFFFE)
0052 h AttackElementPower: 0 (0x0000)
0054 h FireDefElementPower: 0 (0x0000)
0056 h WaterDefElementPower: 0 (0x0000)
0058 h WindDefElementPower: 0 (0x0000)
0060 h EarthDefElementPower: 0 (0x0000)
0062 h HolyDefElementPower: 0 (0x0000)
0064 h UnholyDefElementPower: 0 (0x0000)
0066 d RemainingTime: -1 (0xFFFFFFFF)
[Конец повторяющегося блока 1/2]
[Начало повторяющегося блока 2/2]
0070 h ItemTypeID: 1 (0x0001)
0072 d ObjectID: 269055123 (0x10097493)
0076 d ItemID: Сапоги Величия ID:5787 (0x169B) (0x0000169B)
0080 d LocationSlot: 1 (0x00000001)

alexteam
28.10.2009, 11:51
BodyPart: 4096 (0x00001000)
ога.. нормально...
про сай так и не ответил.

Likoms
29.10.2009, 02:25
Спасибо всем,
l2phx.3.5.28.151. и этот скрипт
http://coderx.ru/showthread.php?t=2237
идеально работают!
:)