Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Silkroad Online > SRO Coding Corner
You last visited: Today at 17:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Spawn Packet - Items Part

Discussion on Spawn Packet - Items Part within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2009
Posts: 152
Received Thanks: 11
Spawn Packet - Items Part

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?
tarek1500 is offline  
Old 03/01/2014, 17:59   #2
 
elite*gold: 0
Join Date: Jan 2009
Posts: 314
Received Thanks: 686
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;
		}
	}
DaxterSoul is offline  
Thanks
2 Users
Old 03/01/2014, 23:19   #3
 
elite*gold: 0
Join Date: Aug 2009
Posts: 152
Received Thanks: 11
i don't understand it now maybe i have to go to sleep
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?
tarek1500 is offline  
Old 03/02/2014, 00:12   #4
 
elite*gold: 0
Join Date: Jan 2009
Posts: 314
Received Thanks: 686
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.
DaxterSoul is offline  
Old 03/02/2014, 13:18   #5
 
elite*gold: 0
Join Date: Aug 2009
Posts: 152
Received Thanks: 11
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?
tarek1500 is offline  
Old 03/02/2014, 16:05   #6
 
elite*gold: 0
Join Date: Jan 2009
Posts: 314
Received Thanks: 686
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
DaxterSoul is offline  
Thanks
1 User
Old 03/02/2014, 18:11   #7
 
elite*gold: 0
Join Date: Aug 2009
Posts: 152
Received Thanks: 11
thx alot , where u got all these info

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
tarek1500 is offline  
Old 03/04/2014, 22:54   #8
 
elite*gold: 0
Join Date: Sep 2012
Posts: 8
Received Thanks: 0
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.
Sadronis is offline  
Old 04/27/2014, 11:08   #9
 
elite*gold: 0
Join Date: Apr 2014
Posts: 114
Received Thanks: 120
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
Alkosh is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
3013 Packet - Items part
02/27/2014 - SRO Coding Corner - 15 Replies
iSro Hi , i wanna know some details about items parse here code 07 //slot 00 00 00 00 //unknown AB 8C 00 00 //Item ID 00 //Plus E0 B4 D9 0E 00 00 00 00 //White stat 0F 01 00 00 //Durab.
[Help] Spawn Packet
01/22/2014 - CO2 Private Server - 8 Replies
Hello! I created a command so I can change my first reborn class, but when I use the command, the class does not change the status. I wonder what I did wrong? Photo below: Code: http://i.epvpimg.com/yyV9c.png Game example: http://i.epvpimg.com/be9Qb.png Obs: Version 5765, FirstRebornClass SpawnPacket: 221.
Group Spawn Packet
02/11/2012 - SRO Coding Corner - 22 Replies
Well every now and then a packet isn't parsed correctly, sometimes character spawn data just simply ends after the character name causing me to read over other data while it tries to read guild name and stuff like that. Also some buffs related to clerics and bards seem to have an extra byte while parsing the character spawn packet, I'm not sure which buffs exactly so that's a problem too. It'd be great if someone could point out what I can do to correctly parse these group spawn packets. I've...
[Help] Spawn Packet
08/20/2011 - CO2 Private Server - 6 Replies
Right, this is my entity.cs, Im guessing the spawnpacket is in here but I'm trying to update it to work in 5517. I tried changing the individual numbers to the ones found in Shisui's post but im guessing I did it wrong because now I just dc when I log in. Can someone explain what I'm meant to do please? using System; using System.Collections.Generic; using System.IO; using System.Text; using Conquer_Online_Server.Network; using Conquer_Online_Server.Network.GamePackets; using...
Auto spawn(sorry if in wrong part of forum)
04/24/2008 - Silkroad Online - 2 Replies
I have made my own private server and all i need to do now is get auto spawning to work and get the monsters to fight back. If anyone has had this problem and knows how to fix it please tell me how.



All times are GMT +1. The time now is 17:22.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.