Spawn Packet - Items Part

03/01/2014 15:20 tarek1500#1
Hi , i have this code from spawn packets (0x3015 , 0x3019) , and there is something i don't understand

Code:
47 00 00 00    //Item ID
00             //Items plus
BF EC 12 01    //Unique ID
A7             //X
61             //Y
4B 30 DF 44    //X
D0 45 D1 C0    //Z
1C A2 E0 44    //Y
CC 6E          //Angel
01             //Owner code
FF FF FF FF    //Owner (Mine)
00 06          //??
9D E3 12 01    //??

47 00 00 00    //Item ID
00             //Items plus
BF EC 12 01    //Unique ID
A7             //X
61             //Y
4B 30 DF 44    //X
D0 45 D1 C0    //Z
1C A2 E0 44    //Y
CC 6E          //Angel
00             //Owner code
00             //??
This code for the same item on floor , but first when i drop it , and second when i go away and come back
The question is , What "??" refer to?
How to know that it is 6 bytes or 1 byte only after Owner code?
03/01/2014 17:59 DaxterSoul#2
You're probably handling 0x3015 and 0x3019 in the same method.
The source-part of an item is only appended for those who see (are within spawn radius) when spawning 0x3015.

Code:
	uint	4	RefObjID
	if(ITEM_QNO)
	{
		ushort	2	Owner.Name.Length
		string	*	Owner.Name
	}
	else if(EQUIPMENT)
	{
		byte	1	OptLevel
	}	
	uint	4	UniqueID
	ushort	2	RegionID
	float	4	XOffset
	float	4	ZOffset
	float	4	YOffset
	ushort	2	Angle
	if(!ITEM_QNO)
	{
		byte	1	hasOwner
		if(hasOwner)
		{
			uint	4	Owner.UserJID (FF FF FF FF = Me)
		}
	}
	byte	1	isBlue

	if(Opcode == 0x3015)
	{
		byte	1	Source	
		switch(Source)
		{
			case 5: //Dropped by Monster
				uint	4	Dropper.UniqueID
			break;
			
			case 6: //Dropped by Player
				uint	4	Dropper.UniqueID
			break;
		}
	}
03/01/2014 23:19 tarek1500#3
i don't understand it now maybe i have to go to sleep :D
but anyway what is the "isBlue" byte? cuz it is 1 or 2 or 6 and sometimes it is 0 , and the "Source" byte will appear only in 0x3015 and 0x3019 will not appear?
03/02/2014 00:12 DaxterSoul#4
Source will only appear in 0x3015
OptLevel = Plus
isBlue = Any MagicOpt (Blues and Reds like STR, INT)
I don't belive that isBlue is anything different that 0 or 1, but you can send me your packets then, same for source types different than 5 and 6. I'm collecting that data for my wiki, i'll parse it then.
03/02/2014 13:18 tarek1500#5
Code:
CF 38 00 00
00
6F D6 F5 00
6C
6B
71 96 36 44
00 00 34 43
C4 D7 FC 42
8C AF
01
FF FF FF FF
00 06
67 D6 F5 00
//--------------------------------------------------------
93 2C 00 00
05
84 D6 F5 00
6C
6B
61 36 37 44
00 00 34 43
6E 9F EF 42
8C EB
01
FF FF FF FF
01 06
67 D6 F5 00
//--------------------------------------------------------
6C 2C 00 00
03
C2 99 62 01
87
5B
C6 9D 65 44
7A C1 10 41
37 21 15 44
92 0D
01
FF FF FF FF
02 06
B6 99 62 01
//--------------------------------------------------------
4D 63 00 00
03
8B 68 63 01
6C
6B
75 AB 29 44
00 00 34 43
44 2A 09 43
7A BC
01
FF FF FF FF
06 06
83 68 63 01
Owner.UniqueID (FF FF FF FF = Me) it is Account ID not Unique ID
and what is Dropper.UniqueID used for?
03/02/2014 16:05 DaxterSoul#6
It's not the AccountID its the UserJID, sorry for my mistake I just estimated that to be UniqueID.

The Dropper.UniqueID stops the AbilityPet from grabbing stuff you dropped nearby.
This takes places when you set your PetOptions to "Grab only my items".

I reseached on the hasBlue byte and i need to correct it.
It displays the Rarity.
0 = None
1 = hasMagicOptions
2 = RARE_A, RARE_B, RARE_C
3 = SET
6 = ROC_SET
7 = Legend
03/02/2014 18:11 tarek1500#7
thx alot , where u got all these info :D

and i have another packet for Gate i don't know full struct

Code:
84 4A 00 00    //ID (Gap of Dimensions)
19 58 A5 00    //Unique ID
6C             //X
6A             //Y
55 7C 8A 43    //X
00 00 34 43    //Z
F9 B0 A9 44    //Y
28 3E          //Angel
0100010605006C65646934C0810000    //??
and my last question , there is something in players spawn , in active skills part
Code:
04             //Skills count
09 26 00 00    //ID
01 17 01 00    //Time
14 26 00 00    //ID
B7 9C 06 00    //Time
01             //??
99 8F 00 00    //ID
68 1E 00 00    //Time
AB 8F 00 00    //ID
82 8F 00 00    //Time
01             //??
what is "??" , it appear in some skills and others not
03/04/2014 22:54 Sadronis#8
It's about the skills which can be transferred like recovery divison. I dont remember now if it's 01 the caster is the player if it's 00 it's transferred from someone else.
04/27/2014 11:08 Alkosh#9
Best parsing of this:

Code:
                              
    [dword] pk2 (item)

if(avatar) {
00
}

if(job && quest) {
     [word] string (player_name)
}

if(gold) {
    [dword] count (gold)
}

    [dword] unique id (item)
     [word] zone
    [float] x
    [float] z
    [float] y
     [word] angle
     [byte] flag (permissions)

if(permissions) {
    [dword] permissions

}

[byte] flag (blue)

if(single_spawn) {
    [byte] flag (drop_source)
   [dword] unique id (object)
}
This is the bit you are looking for:
Code:
[byte] flag (blue)

if(single_spawn) {
    [byte] flag (drop_source)
   [dword] unique id (object)
}
I have coloured the parts you are interested in above. The flag for the drop source is below:

05 - Mob
06 - Player