Register for your free account! | Forgot your password?

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

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

Advertisement



Help with 0x3019 and 0x3015

Discussion on Help with 0x3019 and 0x3015 within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2009
Posts: 46
Received Thanks: 5
Help with 0x3019 and 0x3015

hi guys ,
any help parsing the 0x3019 Group spawn and single spawn 0x3015 .

the only purpose , i wanna get a list of the nearby chars names and teleport if a GM is detected
theking200051 is offline  
Old 10/09/2015, 08:48   #2
 
elite*gold: 0
Join Date: Oct 2014
Posts: 34
Received Thanks: 16
its not that "easy" to just parse these packets..
you need to know all the "models" to identify if its a MOB, ITEM, GATE, PET, PLAYER, ...
only if you know which type of spawn it is, you can parse it correctly.

So you have to parse the Media.pk2 first and extract all needed data.

Then you need these packets to:
0x3017 - group spawn begin: get the count of spawns
0x3019 - group spawn data: collect all of these packets
0x3018 - group spawn end: parse collected data
mxii is offline  
Thanks
1 User
Old 10/10/2015, 08:43   #3
 
elite*gold: 0
Join Date: Feb 2009
Posts: 46
Received Thanks: 5
first thanks for try helping ,

so i need to get the models id from Pk2 and then switch those models ,case it player id first byte is what ever and so on .case item first byte what ever and so on ,is that the logic to parse it? .

can u exactly tell me the file name that contain those models in Media.pk2

third i got an easy way idea that i will just convert the packet data from bytes to string then search the string for "GM" name if he found it just teleport ,is this easy way will work fine ?.
theking200051 is offline  
Old 10/10/2015, 17:12   #4
 
elite*gold: 0
Join Date: Oct 2014
Posts: 34
Received Thanks: 16
that would be the easiest way!
you could get some false positives.. guild names or grant names.. but if its okay, that would take you some minutes against many hours ;D
mxii is offline  
Thanks
1 User
Old 10/12/2015, 02:09   #5

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,661
gms generally have [GM] tag, so yeah, since '[' and ']' can't be used by normal players it will work.
But no tag = won't work.
sarkoplata is offline  
Old 10/12/2015, 07:04   #6
 
elite*gold: 0
Join Date: Feb 2009
Posts: 46
Received Thanks: 5
Quote:
Originally Posted by sarkoplata View Post
gms generally have [GM] tag, so yeah, since '[' and ']' can't be used by normal players it will work.
But no tag = won't work.
i tried it ,and it work very good .
theking200051 is offline  
Old 10/12/2015, 10:23   #7

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,661
Itwill work but as mentioned above there might me guild names/grant names or pet names and stuff and they will give false positives.
sarkoplata is offline  
Old 10/15/2015, 05:26   #8
 
elite*gold: 0
Join Date: Feb 2009
Posts: 46
Received Thanks: 5
Ty .guys i do like u said and it work 100 %.
here the code BTW

Code:
 if (pack.Opcode==0x3015||pack.Opcode==0x3019)
                        {
                            int size = pack.RemainingRead();
                            byte[] PacketBytes=new byte[size] ;
                            for (int i = 0; i < size; i++)
                            {
                                PacketBytes[i] = pack.ReadUInt8();
                            }
                            string PacketString = System.Text.Encoding.Default.GetString(PacketBytes);
                            bool r1 = PacketString.Contains("[GM]");
                               if (r1)
                            {

                               // the teleport packet ;

                            }
theking200051 is offline  
Old 10/18/2015, 22:27   #9
 
Royalblade*'s Avatar
 
elite*gold: 85
Join Date: Feb 2014
Posts: 1,056
Received Thanks: 1,644
Quote:
Originally Posted by theking200051 View Post
Ty .guys i do like u said and it work 100 %.
here the code BTW

Code:
 if (pack.Opcode==0x3015||pack.Opcode==0x3019)
                        {
                            int size = pack.RemainingRead();
                            byte[] PacketBytes=new byte[size] ;
                            for (int i = 0; i < size; i++)
                            {
                                PacketBytes[i] = pack.ReadUInt8();
                            }
                            string PacketString = System.Text.Encoding.Default.GetString(PacketBytes);
                            bool r1 = PacketString.Contains("[GM]");
                               if (r1)
                            {

                               // the teleport packet ;

                            }
haha you might as well just get the baseStream... google for getBaseStream or getStream method implementation @ BinaryReader. Should give you a few hits, its simple though and would make your **** SUBSTANTIALLY faster.

Additionally, if you need proper group & single spawn parsed as a service you can PM me. 50$ per month.
Royalblade* is offline  
Thanks
1 User
Old 10/19/2015, 19:03   #10
 
zeteris's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 575
Received Thanks: 752
Quote:
Originally Posted by Royalblade* View Post
Additionally, if you need proper group & single spawn parsed as a service you can PM me. 50$ per month.
Can I order this service ? ^^
zeteris is offline  
Old 10/19/2015, 19:17   #11
dotCom
 
Devsome's Avatar
 
elite*gold: 9842
The Black Market: 107/0/0
Join Date: Mar 2009
Posts: 16,847
Received Thanks: 4,675
Quote:
Originally Posted by Royalblade* View Post
haha you might as well just get the baseStream... google for getBaseStream or getStream method implementation @ BinaryReader. Should give you a few hits, its simple though and would make your **** SUBSTANTIALLY faster.

Additionally, if you need proper group & single spawn parsed as a service you can PM me. 50$ per month.
Hope you arn't using any parsed packets I send you :3
Devsome is offline  
Old 10/20/2015, 06:19   #12
 
elite*gold: 0
Join Date: Feb 2009
Posts: 46
Received Thanks: 5
Quote:
haha you might as well just get the baseStream... google for getBaseStream or getStream method implementation @ BinaryReader. Should give you a few hits, its simple though and would make your **** SUBSTANTIALLY faster.
hm , u r right this code is so bad , i just rushed for a working code .
i googled for the getbasestream and i don't get it , how to use that in my code ?
i dont use any binaryreader , and i deal with the stream for read or write by the SilkroadsecurityAPI .Packet.Read & packet.Write methods (i don't deal with the stream directly)

i just made a new code i think it much faster
Code:
if (pack.Opcode==0x3015||pack.Opcode==0x3019)
                        {
                           byte[] packetbytes=pack.GetBytes();
                            string PacketString = System.Text.Encoding.Default.GetString(packetbytes);
                            bool r1 = PacketString.Contains("[GM]");
                               if (r1)
                            {

                               // the teleport packet ;

                            }
}
Thank you for the Advice's guys .
theking200051 is offline  
Reply


Similar Threads Similar Threads
Help with 0x3019, 0x3015 Packets - Items Part
02/09/2013 - SRO Coding Corner - 4 Replies
I need help with items spawn packets i have these items code 0F000000 96D3E500 30 5A 5B45E943 76325844 59739744 9E4B 00 00 0F000000 A1B6EE00 6C 6B AA022C44 00003443 62671143 6684 01 FFFFFFFF 0006 88B6EE00 i wanna know what 00 00 mean in the first one and 01 FFFFFFFF 0006 88B6EE00 in the second one



All times are GMT +1. The time now is 08:12.


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.