Register for your free account! | Forgot your password?

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

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

Advertisement



[HELP] SENDING PACKETS IN A ROW

Discussion on [HELP] SENDING PACKETS IN A ROW within the SRO Coding Corner forum part of the Silkroad Online category.

Closed Thread
 
Old 09/22/2014, 23:35   #16
 
Muhab*'s Avatar
 
elite*gold: 0
Join Date: Feb 2014
Posts: 885
Received Thanks: 1,415
Quote:
Originally Posted by eitai123 View Post
Why it should work what is the difference ?
cuz it should work! xD
however adding this into your agent thread will confirm any spawns you do it.
Muhab* is offline  
Old 09/23/2014, 08:47   #17
 
elite*gold: 0
Join Date: Feb 2008
Posts: 961
Received Thanks: 648
I think that I understood what you actually want. You want to movetouser and recall another user to your location.
Well, you can't do both of them at the same time, since it would appear like you're recalling in the middle of teleporting and before the spawn is confirmed, which will not work. The solution is to simply put a delay after the movetouser packet.

Check this picture from your parsing :



You are recalling the user while your GM is still teleporting. Do as I suggested above in your agent.cs
Code:
else if (packet.Opcode == 0x34B5) //spawn confirmation packet
                        {
                            Packet p = new Packet(0x34b6);
                            Send(p);
                        }
This will confirm any spawning your clientless do, without the need to put it in every packet you send that involves teleportation. Afterwards, put a delay after movetouser packet

Code:
Thread.Sleep(3000);
Then, you can use the recalluser, and it should work.
magicanoo is offline  
Old 09/23/2014, 15:07   #18
 
Isoline*'s Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 667
Received Thanks: 345
Quote:
Originally Posted by magicanoo View Post
I think that I understood what you actually want. You want to movetouser and recall another user to your location.
Well, you can't do both of them at the same time, since it would appear like you're recalling in the middle of teleporting and before the spawn is confirmed, which will not work. The solution is to simply put a delay after the movetouser packet.

Check this picture from your parsing :



You are recalling the user while your GM is still teleporting. Do as I suggested above in your agent.cs
Code:
else if (packet.Opcode == 0x34B5) //spawn confirmation packet
                        {
                            Packet p = new Packet(0x34b6);
                            Send(p);
                        }
This will confirm any spawning your clientless do, without the need to put it in every packet you send that involves teleportation. Afterwards, put a delay after movetouser packet

Code:
Thread.Sleep(3000);
Then, you can use the recalluser, and it should work.
Yes, you understand what i want, but the log for the packet parser
i posted, is including the spawn confirmation and a proper delay time betwern the packets, thats the thing, and its still doesnt work, its still shows that it cant confirm the spawn when it should be, i will try again, n report back,
Isoline* is offline  
Old 10/03/2014, 13:58   #19
 
Isoline*'s Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 667
Received Thanks: 345
Quote:
Originally Posted by Muhab Ashraf View Post
That should work..
PHP Code:
                            if ((current.Opcode == 0x3017) && (current.ReadUInt8() == 2))
                            {
                                
Packet packet3 = new Packet(0x34b6);
                                
Send(packet3);
                            } 
just add it into your Agent thread.
Quote:
Originally Posted by LastThief* View Post
What's your problem exactly ?
Quote:
Originally Posted by magicanoo View Post
I think that I understood what you actually want. You want to movetouser and recall another user to your location.
Well, you can't do both of them at the same time, since it would appear like you're recalling in the middle of teleporting and before the spawn is confirmed, which will not work. The solution is to simply put a delay after the movetouser packet.

Check this picture from your parsing :



You are recalling the user while your GM is still teleporting. Do as I suggested above in your agent.cs
Code:
else if (packet.Opcode == 0x34B5) //spawn confirmation packet
                        {
                            Packet p = new Packet(0x34b6);
                            Send(p);
                        }
This will confirm any spawning your clientless do, without the need to put it in every packet you send that involves teleportation. Afterwards, put a delay after movetouser packet

Code:
Thread.Sleep(3000);
Then, you can use the recalluser, and it should work.
guys, i have tried what you suggested, adding delays between packets, confirming the spawn well now here is the Log for the packets:

Code:
[C->S][7010][8 bytes]
0000000000   08 00 04 00 74 65 73 74                           ....test........
   

[S->C][3017][3 bytes]
0000000000   02 01 00                                          ................
   

[S->C][3019][4 bytes]
0000000000   EE 39 00 00                                       9..............
   

[S->C][3018][0 bytes]
   

[S->C][B010][3 bytes]
0000000000   01 08 00                                          ................
   

[S->C][34B5][2 bytes]
0000000000   A8 62                                             b..............
   

[C->S][34B6][0 bytes]
   

[C->S][7010][8 bytes]
0000000000   11 00 04 00 74 65 73 74                           ....test........
   

[S->C][34A5][0 bytes]
   

[S->C][3013][464 bytes]
0000000000   8E 0E 87 4B 76 07 00 00 22 01 01 00 00 00 00 00   ...Kv...".......
0000000016   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0000000032   00 00 00 00 00 00 00 00 00 00 C8 00 00 00 C8 00   ..............
0000000048   00 00 01 00 00 00 00 00 00 00 00 00 2D 08 01 00   ............-...
0000000064   00 00 00 38 0E 00 00 00 00 00 00 00 00 00 00 00   ...8............
0000000080   2C 00 00 00 00 01 00 02 00 04 00 00 00 00 39 0E   ,.............9.
0000000096   00 00 00 00 00 00 00 00 00 00 00 2C 00 00 00 00   ...........,....
0000000112   01 00 02 00 05 00 00 00 00 3A 0E 00 00 00 00 00   .........:......
0000000128   00 00 00 00 00 00 2C 00 00 00 00 01 00 02 00 06   ......,.........
0000000144   00 00 00 00 30 0E 00 00 00 00 00 00 00 00 00 00   ....0...........
0000000160   00 3E 00 00 00 00 01 00 02 00 07 00 00 00 00 86   .>..............
0000000176   2A 00 00 00 00 00 00 00 00 00 00 00 2E 00 00 00   *...............
0000000192   00 01 00 02 00 0D 00 00 00 00 42 1D 00 00 01 00   ..........B.....
0000000208   0E 00 00 00 00 43 1D 00 00 01 00 0F 00 00 00 00   .....C..........
0000000224   8E 28 00 00 14 00 05 00 00 01 01 01 00 00 00 01   .(..............
0000000240   02 01 00 00 00 01 03 01 00 00 00 01 11 01 00 00   ................
0000000256   00 01 12 01 00 00 00 01 13 01 00 00 00 01 14 01   ................
0000000272   00 00 00 02 00 02 01 00 01 00 00 00 02 02 00 00   ................
0000000288   00 00 00 08 01 8D 01 00 00 10 00 18 08 01 01 00   ................
0000000304   16 00 53 4E 5F 43 4F 4E 5F 51 45 56 5F 41 4C 4C   ..SN_CON_QEV_ALL
0000000320   5F 42 41 53 49 43 5F 30 01 00 00 00 00 00 00 00   _BASIC_0........
0000000336   00 00 1B 3A 00 00 A8 62 8F 30 8C 44 C6 B0 DC 42   ...:..b.0.DưB
0000000352   13 FE B2 44 FE 8B 00 01 00 FE 8B 00 00 00 00 00   .D..........
0000000368   00 80 41 00 00 48 42 00 00 C8 42 00 0A 00 54 65   ..A..HB..B...Te
0000000384   6C 65 70 6F 72 74 65 72 00 00 00 01 00 00 00 00   leporter........
0000000400   00 00 00 00 00 00 00 00 00 00 00 FF 02 00 00 00   ...............
0000000416   00 00 00 00 01 00 00 00 01 07 04 01 4A EA 03 00   ............J..
0000000432   64 02 4A F0 03 00 64 03 4A EE 03 00 64 04 4A F8   d.J..d.J..d.J
0000000448   03 00 64 00 00 00 00 00 00 00 00 01 00 01 00 00   ..d.............
   

[S->C][34A6][0 bytes]
   

[S->C][3020][8 bytes]
0000000000   1B 3A 00 00 06 00 0A 0E                           .:..............
   

[C->S][3012][0 bytes]
   

[S->C][3809][2 bytes]
0000000000   01 B4                                             ...............
   

[S->C][3017][3 bytes]
0000000000   01 01 00                                          ................
   

[S->C][3019][50 bytes]
0000000000   2A 4C 00 00 33 01 00 00 A8 62 E1 2A C4 44 25 A4   *L..3...b*D%
0000000016   8B 42 B8 66 8B 44 B5 80 00 01 00 B5 80 01 00 00   .Bf.D........
0000000032   00 00 00 00 00 00 00 00 00 00 00 C8 42 00 02 02   ...........B...
0000000048   01 18                                             ................
   

[S->C][3018][0 bytes]
   

[S->C][3017][3 bytes]
0000000000   01 01 00                                          ................
   

[S->C][3019][123 bytes]
0000000000   73 07 00 00 22 00 00 01 2D 05 38 0E 00 00 00 39   s..."...-.8....9
0000000016   0E 00 00 00 3A 0E 00 00 00 31 0E 00 00 00 86 2A   ....:....1.....*
0000000032   00 00 00 05 00 00 EE 39 00 00 A8 62 8F 30 8C 44   ......9..b.0.D
0000000048   C6 B0 DC 42 13 FE B2 44 23 07 01 01 A8 62 61 04   ưB.D#...ba.
0000000064   6E 00 97 05 01 00 00 00 00 00 80 41 00 00 48 42   n..........A..HB
0000000080   00 00 C8 42 00 04 00 74 65 73 74 00 01 00 00 00   ..B...test.....
0000000096   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0000000112   00 00 00 00 00 00 00 00 00 00 FF                  ...............
   

[S->C][3018][0 bytes]
   

[S->C][303D][36 bytes]
0000000000   15 00 00 00 17 00 00 00 23 00 00 00 27 00 00 00   ........#...'...
0000000016   0C 00 14 00 23 00 18 00 C8 00 00 00 C8 00 00 00   ....#.........
0000000032   14 00 14 00                                       ................
   

[S->C][30BF][6 bytes]
0000000000   1B 3A 00 00 04 04                                 .:..............
   

[S->C][385F][115 bytes]
0000000000   00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0000000016   00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00   ................
0000000032   00 01 00 00 00 00 03 00 00 00 00 00 00 00 00 00   ................
0000000048   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0000000064   01 00 00 00 00 01 00 00 00 00 06 00 00 00 00 00   ................
0000000080   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0000000096   00 00 00 00 01 00 00 00 00 01 00 00 00 00 01 00   ................
0000000112   00 00 00                                          ................
   

[S->C][3077][2 bytes]
0000000000   00 00                                             ................
   

[S->C][3122][4 bytes]
0000000000   A0 01 03 05                                       *...............
   

[S->C][3153][12 bytes]
0000000000   00 00 00 00 00 00 00 00 00 00 00 00               ................
   

[S->C][3305][1 bytes]
0000000000   00                                                ................
it look like it should work but in-game result shows that the clientless GM only moved to character and didnot Recall it.
Isoline* is offline  
Old 10/04/2014, 00:49   #20
 
elite*gold: 0
Join Date: Feb 2008
Posts: 961
Received Thanks: 648
Put the 2 commands in a function in a separate thread, this will prevent the program from sleeping as a whole, only the function will sleep. Google "C# Threading".
magicanoo is offline  
Old 10/04/2014, 21:42   #21
 
Isoline*'s Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 667
Received Thanks: 345
well, its working now, not perfectly, sometimes the clientless get dced.
Isoline* is offline  
Old 10/08/2014, 18:29   #22
 
LastThief*'s Avatar
 
elite*gold: 60
Join Date: Feb 2012
Posts: 3,942
Received Thanks: 6,475
You must send keep alive packet 0x2002
LastThief* is offline  
Old 10/09/2014, 03:43   #23
 
elite*gold: 0
Join Date: Feb 2008
Posts: 961
Received Thanks: 648
Which clientless are you using?
magicanoo is offline  
Closed Thread


Similar Threads Similar Threads
Sending Packets
03/26/2019 - PW Hacks, Bots, Cheats, Exploits - 432 Replies
As per Smurfin's request: reposting of what I posted in the Prophet's bot thread. some example of functions you could use with sending packets (AutoIt code, see link below for C#): ;////Code for sending packets.
Sending Packets
11/29/2012 - AutoIt - 6 Replies
Hey, so I'm trying to send packets to a game called Pokemon World Online, I've been using WPE in order to sniff the packets, using WPE sending the packets its ridiculously easy so I've been trying to do the same with autoit script. After a lot of research I know that TCP function should do it but I've always failed to use the same socket as the same or even to listen to the right ports or something, I'm completely lost here. I know this can be done and I'm not asking for someone to...
Help sending packets
06/27/2012 - SRO Coding Corner - 2 Replies
well i knew that i need to put the packet in a byte array so i defined it BYTE pack = { 0x01, 0x00, 0x4F, 0x70, 0x20, 0x00, 0x04 }; and when i send it using the send through a socket like this
Help for sending packets
05/11/2012 - PW Hacks, Bots, Cheats, Exploits - 1 Replies
Hello Dear programmers, botovody! I am a novice programmer, and started programming in the language of Delphi! there is a couple of my works Каталог файлов - PwRuf - уникальный бот для Perfect World! But another question! I would like to implement the sending of packages to craft nirvana clothing, weapons. But I have a problem with traffic light emitted from the fact that the package that I send a very large ie 256 characters! Please help or point me where to...
Sending packets
10/12/2005 - Conquer Online 2 - 10 Replies
I've a question. Is it possible to send 1 packet multiple times at the exact same time?



All times are GMT +2. The time now is 14:31.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.