Register for your free account! | Forgot your password?

You last visited: Today at 20:26

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

Advertisement



Group Spawn Packet

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

Reply
 
Old   #1
 
gabrola's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 1,039
Received Thanks: 1,335
Group Spawn Packet

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 already looked at a couple of p-serv sources but none of them help :/
gabrola is offline  
Old 01/26/2012, 01:32   #2
 
R0bbY LoLz's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 977
Received Thanks: 75
look at sro emu` ..
R0bbY LoLz is offline  
Old 01/26/2012, 03:18   #3
 
gabrola's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 1,039
Received Thanks: 1,335
Quote:
Originally Posted by R0bbY LoLz View Post
look at sro emu` ..
I've looked at srevolution and sroemu. Both of them are of no help.
gabrola is offline  
Old 01/26/2012, 06:36   #4
 
elite*gold: 0
Join Date: Jul 2011
Posts: 31
Received Thanks: 5
Post the packet here so we can help you !!
Little Hole is offline  
Old 01/26/2012, 16:17   #5
 
kevin_owner's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
at steal*hex.org are some pretty helpfull posts about the group spawn packet. these also include the skill series which have an extra byte.

About the suddenly ending after the guildname that is (if i remember correctly) only if the character is in his job suit. So check in the itemlist for a job item in slot 7 (not sure about the slot) and you can simply check if the user is jobbing then stop reading the guild stuff else read the guild/union/pvp and all the stuff at the end.
kevin_owner is offline  
Old 01/26/2012, 22:34   #6
 
gabrola's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 1,039
Received Thanks: 1,335
Quote:
Originally Posted by Little Hole View Post
Post the packet here so we can help you !!
I need to make some changes to fetch these packets, so this should take a while, I'm testing out a new parsing method.

Quote:
Originally Posted by kevin_owner View Post
at steal*hex.org are some pretty helpfull posts about the group spawn packet. these also include the skill series which have an extra byte.

About the suddenly ending after the guildname that is (if i remember correctly) only if the character is in his job suit. So check in the itemlist for a job item in slot 7 (not sure about the slot) and you can simply check if the user is jobbing then stop reading the guild stuff else read the guild/union/pvp and all the stuff at the end.
I've been told to search that website a couple of times but I can't seem to find anything. Maybe you could PM the URL? Or do I need to register cause it's telling me that my email is banned for no reason :/
gabrola is offline  
Old 01/29/2012, 23:32   #7
 
gabrola's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 1,039
Received Thanks: 1,335
Okay I guess I've taken care of that but there's another thing. Usually there's 8 bytes containing the stall flag and transport flag and such between the end of the Character name string and the guild name length. But there's this one packet I got which had 12 bytes in between, no idea what's the reason of this.

Code:
73 07 00 00 44 00 00 00 2D 05 3B 0E 00 00 00 3C		s...D...-.;....<
0E 00 00 00 3D 0E 00 00 00 30 0E 00 00 00 86 2A		....=....0.....*
00 00 00 05 00 00 1C AB 57 0A 33 5B 00 A0 EA 44		........W.3[...D
94 B9 AE 44 00 40 CB 44 A4 31 01 01 33 5B 55 07		[email protected][U.
75 05 5A 06 01 00 00 00 00 00 80 41 00 00 48 42		u.Z........A..HB
00 00 C8 42 00 05 00 50 68 69 44 75 00 01 00 01		...B...PhiDu....
00 77 B4 57 0A 00 00 00 0C 00 47 6F 44 44 5F 4F		.w.W......GoDD_O
46 5F 57 61 52 53 33 10 00 00 08 00 50 75 6E 69		F_WaRS3.....Puni
73 68 65 72 0E 00 00 00 00 00 00 00 00 00 00 00		sher............
01 00 00 FF 1E 3A 00 00 44 00 00 00 2D 06 F9 2E		.....:..D...-...
00 00 03 D5 2E 00 00 03 41 2F 00 00 03 1D 2F 00		........A/..../.
00 03 65 2F 00 00 03 F3 2B 00 00 03 05 00 00 F0		..e/....+.......
EB 58 0A 33 5B 00 20 E8 44 F5 B1 B2 44 00 40 DC		.X.3[. .D...D.@.
44 EC 48 01 01 33 5B 41 07 95 05 E2 06 01 00 00		D.H..3[A........
00 0A D7 23 42 00 00 00 43 00 00 C8 42 02 7F 79		...#B...C...B..y
00 00 3B FD 01 00 73 26 00 00 0A 65 01 00 08 00		..;...s&...e....
44 72 61 67 6F 6E 30 30 00 01 00 00 00 00 00 00		Dragon00........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00		................
00 00 00 00 00 00 00 FF 4E 0F 00 00 77 B4 57 0A		........N...w.W.
33 5B 00 A0 EA 44 94 B9 AE 44 00 40 CB 44 A4 31		3[[email protected]
01 01 33 5B 55 07 75 05 5A 06 01 00 00 00 00 00		..3[U.u.Z.......
34 42 00 00 F0 42 00 00 C8 42 00 00 			4B...B...B..
gabrola is offline  
Old 01/30/2012, 00:19   #8
 
Schickl's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,064
Received Thanks: 539
reverse engineering ftw
1. find out how it's parsed
2. change something
3. look for changes ingame
4. ?????
5. profit
Schickl is offline  
Old 01/30/2012, 05:15   #9
 
elite*gold: 0
Join Date: Jul 2011
Posts: 31
Received Thanks: 5
73 07 00 00 model
22 volume
00 00 noob icon
37 max item slot
00 num items items: dword id - byte plusvalue
05 avatar slot
00 num avatar items
00 duplicate flag 01: byte num_items + itemid's (no plusvalue!)
AD D7 00 00 object id
A7 61 sectors
B4 72 6F 44 float: x
18 E7 D5 C0 float: z
3D 74 E5 44 float: y
8F 7E angle
01 have_destination
01 walk flag 00: walking - 01: running
if(have_destination) {
A7 61 sectors
97 03 x
FB FF z
2D 07 y
} else {
00 no destination
8F 7E direction angle
}
01 death flag 01: alive - 02: dead
03 move flag 01: no movement - 03: moving - 04: sitting
00 berserk flag 00: normal - 01: berserk
DE 24 C6 41 float: walk speed
CD CC 9A 42 float: run speed
00 00 C8 42 float: berserk speed
00 number of buffs buffs: dword skill + dword duration in ms
0A 00 charname length
62616572626165777262 charname
00 job type 00: normal - 01: trader - 02: thief - 03: hunter
01 job level
00 pvp state 00: normal - 01: purple (attacker) - 02: red (murderer)
00 transport transport: dword transport id
00 ? unknown: no visual change
00 ? unknown: no visual change
00 ? unknown: no visual change
00 stall flag 04: player is stalling
00 00 strlen
<string> guild name
00 00 00 00 guild id
00 00 strlen
<string> guild grant name
00 00 00 00 guild emblem id
00 00 00 00 GP
00 00 00 00 union emblem id
00 ?unknown: no visual change
if(stall flag == 04) {
04 00 strle
1200340056007800 stallname
00 00 00 00 stall avatar (mall)
}
00 cooldown bar in seconds, bar above head indicating cooldown (capes/suits)
FF pvp flag need more info on this
04 1 or 3 or 4 unknown - no visual change



Edit: this is a parsed packet (groupspawn Packet for one player ) hope it help
Little Hole is offline  
Thanks
3 Users
Old 01/30/2012, 06:32   #10
 
elite*gold: 0
Join Date: May 2009
Posts: 31
Received Thanks: 11
Do you know how to get character position from float format? (after character ID)
srutownik is offline  
Old 01/30/2012, 11:00   #11
 
Schickl's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,064
Received Thanks: 539
@Little Hole: This packet looks like it's from 90 cap lol
Schickl is offline  
Old 01/30/2012, 22:53   #12
 
gabrola's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 1,039
Received Thanks: 1,335
Quote:
Originally Posted by Schickl View Post
reverse engineering ftw
1. find out how it's parsed
2. change something
3. look for changes ingame
4. ?????
5. profit


Quote:
Originally Posted by Little Hole View Post
73 07 00 00 model
22 volume
00 00 noob icon
37 max item slot
00 num items items: dword id - byte plusvalue
05 avatar slot
00 num avatar items
00 duplicate flag 01: byte num_items + itemid's (no plusvalue!)
AD D7 00 00 object id
A7 61 sectors
B4 72 6F 44 float: x
18 E7 D5 C0 float: z
3D 74 E5 44 float: y
8F 7E angle
01 have_destination
01 walk flag 00: walking - 01: running
if(have_destination) {
A7 61 sectors
97 03 x
FB FF z
2D 07 y
} else {
00 no destination
8F 7E direction angle
}
01 death flag 01: alive - 02: dead
03 move flag 01: no movement - 03: moving - 04: sitting
00 berserk flag 00: normal - 01: berserk
DE 24 C6 41 float: walk speed
CD CC 9A 42 float: run speed
00 00 C8 42 float: berserk speed
00 number of buffs buffs: dword skill + dword duration in ms
0A 00 charname length
62616572626165777262 charname
00 job type 00: normal - 01: trader - 02: thief - 03: hunter
01 job level
00 pvp state 00: normal - 01: purple (attacker) - 02: red (murderer)
00 transport transport: dword transport id
00 ? unknown: no visual change
00 ? unknown: no visual change
00 ? unknown: no visual change
00 stall flag 04: player is stalling
00 00 strlen
<string> guild name
00 00 00 00 guild id
00 00 strlen
<string> guild grant name
00 00 00 00 guild emblem id
00 00 00 00 GP
00 00 00 00 union emblem id
00 ?unknown: no visual change
if(stall flag == 04) {
04 00 strle
1200340056007800 stallname
00 00 00 00 stall avatar (mall)
}
00 cooldown bar in seconds, bar above head indicating cooldown (capes/suits)
FF pvp flag need more info on this
04 1 or 3 or 4 unknown - no visual change



Edit: this is a parsed packet (groupspawn Packet for one player ) hope it help
Well thing is you don't always read a transport ID, I'll log some data and see when you need to.

Quote:
Originally Posted by srutownik View Post
Do you know how to get character position from float format? (after character ID)
Well thanks for hijacking my thread but...
Code:
        public static int ToGameX(float X, byte Xsector)
        {
            return (int)Math.Round(((Xsector - 135) * 192 + (float)(X / 10)));
        }

        public static int ToGameY(float Y, byte Ysector)
        {
            return (int)Math.Round(((Ysector - 92) * 192 + (float)(Y / 10)));
        }
gabrola is offline  
Old 02/01/2012, 17:15   #13
 
R0bbY LoLz's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 977
Received Thanks: 75
if you want i`ll help you ...
R0bbY LoLz is offline  
Old 02/01/2012, 22:29   #14
 
gabrola's Avatar
 
elite*gold: 0
Join Date: Dec 2006
Posts: 1,039
Received Thanks: 1,335
I got most of it right. I'll perfect it when I'm free.
gabrola is offline  
Old 02/01/2012, 22:31   #15
 
R0bbY LoLz's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 977
Received Thanks: 75
ok good luck
R0bbY LoLz is offline  
Reply


Similar Threads Similar Threads
i need help plz source 5520 need spawn packet
10/02/2011 - CO2 Private Server - 7 Replies
i need help plz source 5520 need spawn packet
spawn name Packet 5520
08/21/2011 - CO2 Private Server - 11 Replies
hellos Evert Body this pic http://img832.imageshack.us/img832/7425/44423762.j pg that when i try to upgrade my sourse from 5375 to 5520 i upgrade the spawn to see the monsters and other chars but i can't see the names of them and the char is visble?? so i need spawn packet make it fully working
[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...
Confused about the spawn entity packet
12/20/2010 - CO2 Private Server - 7 Replies
So I wanted to update the spawn entity packet from Hybrid's source (5135 -> 5165) public unsafe struct SpawnEntityPacket { public ushort Size; public ushort Type; public uint Model;



All times are GMT +1. The time now is 20:26.


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.