Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Silkroad Online
You last visited: Today at 11:55

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

Advertisement



Open cap after Teleport

Discussion on Open cap after Teleport within the Silkroad Online forum part of the Popular Games category.

Reply
 
Old   #1
 
kotsh's Avatar
 
elite*gold: 0
Join Date: May 2007
Posts: 360
Received Thanks: 27
Open cap after Teleport

any idea about how to make char wear pvp cap after teleport to map
like survival at electus ?
kotsh is offline  
Old 12/09/2018, 17:52   #2

 
SubZero**'s Avatar
 
elite*gold: 70
Join Date: Apr 2017
Posts: 1,023
Received Thanks: 504
based on the packet filter
SubZero** is offline  
Old 12/10/2018, 11:31   #3

 
putzeimer195's Avatar
 
elite*gold: 29
Join Date: Apr 2011
Posts: 481
Received Thanks: 223
The Packet if you start the process of joining a pvp team is this one:
Code:
[C->S] [1] [0x7516] 
05
The Packet is 7516
and for example the 05 is the color of the Team.
In my example is 05 the team yellow.
So after the teleport you have to send the packet 7516 with the 05 to the Server.

I did it a few days ago.


If you need any help feel free to ask me
putzeimer195 is offline  
Thanks
1 User
Old 12/11/2018, 09:02   #4
 
B1Q's Avatar
 
elite*gold: 350
Join Date: Aug 2015
Posts: 1,999
Received Thanks: 1,188
^

if u need help pm me
B1Q is offline  
Old 12/12/2018, 14:00   #5
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,108
Received Thanks: 903
It's very simple as an idea and it wouldn't take much time to implement.

This is with a packet filter.

You're gonna work at 0x3012 | AGENT_CLIENT_GAME_READY after specifying character region from database or 0x3013 | AGENT_SERVER_ENTITY_SPAWN, you're gonna prevent the character from doing anything that would cancel the cape like using (pvp cape options,movement,exchange,pick,stall,wearing a job suit...etc), some of them might be already blocked with wearing the cape in usual, but taking precautions... Then start wearing the pvp cape using 0x7516 | AGENT_FRPVP_UPDATE with the pvp cape color flag and after the cape is worn, allow him some stuff, like walking.. picking, whatever you want.

OFC, you're gonna need some flags at your packets to prevent them from doing stuff like exchange, you're gonna have to do something like this at your exchange packet section:
Code:
if (this.BlockExchange)
{
  this.SendNotice("You are not allowed to use exchange.");
  this.continue;
}
And to implement this you can basically do something like this at your 0x3012 | AGENT_CLIENT_GAME_READY section:
Code:
if (this.CurrentRegion == myspecificregion)
	{
	  PrepareWearingCape(true);
	}
else
	{
	  PrepareWearingCape(false);
	}
While you're having these functions:
Code:
public async void PrepareWearingCape(bool dojobflag)
	{
	  this.BlockMovement = dojobflag;
	  this.BlockPvPCape = dojobflag;
	  this.BlockExchange = dojobflag;
	  this.BlockStall = dojobflag;
	  this.BlockPick = dojobflag;
	  this.BlockInventoryControl = dojobflag;
	  if (dojobflag)
	  {
	    this.OpenCape("Yellow");
	    await Task.Delay(10500); // cape takes 10 seconds to finish, so we're gonna wait 10.5 seconds. We can do it with receiving the server packet but this easier.
	    this.BlockMovement = false;
	    this.BlockPick = false;
	  }
	}

public void OpenCape(string color)
        {
	   try
	   {
            int capeindex = 0;
            switch (color)
            {
                case "Red":
                    capeindex = 1;
                    break;
                case "Black":
                    capeindex = 2;
                    break;
                case "Blue":
                    capeindex = 3;
                    break;
                case "White":
                    capeindex = 4;
                    break;
                case "Yellow":
                    capeindex = 5;
                    break;
            }

		Packet cape = new Packet(0x7516, true);
                cape.WriteUInt8(capeindex);
                this.LocalSecuirity.Send(cape);
		this.SendToHost(true);
	       }
	    catch { }
	}
#HB is offline  
Thanks
1 User
Old 12/13/2018, 06:09   #6
 
B1Q's Avatar
 
elite*gold: 350
Join Date: Aug 2015
Posts: 1,999
Received Thanks: 1,188
Quote:
Originally Posted by #HB View Post
Code:
if (this.BlockExchange)
{
  this.SendNotice("You are not allowed to use exchange.");
  this.continue;
}
And to implement this you can basically do something like this at your 0x3012 | AGENT_CLIENT_GAME_READY section:
Code:
if (this.CurrentRegion == myspecificregion)
	{
	  PrepareWearingCape(true);
	}
else
	{
	  PrepareWearingCape(false);
	}
While you're having these functions:
Code:
public async void PrepareWearingCape(bool dojobflag)
	{
	  this.BlockMovement = dojobflag;
	  this.BlockPvPCape = dojobflag;
	  this.BlockExchange = dojobflag;
	  this.BlockStall = dojobflag;
	  this.BlockPick = dojobflag;
	  this.BlockInventoryControl = dojobflag;
	  if (dojobflag)
	  {
	    this.OpenCape("Yellow");
	    [highlight]await Task.Delay(10500);[/highlight] // cape takes 10 seconds to finish, so we're gonna wait 10.5 seconds. We can do it with receiving the server packet but this easier.
	    this.BlockMovement = false;
	    this.BlockPick = false;
	  }
	}

public void OpenCape(string color)
        {
	   try
	   {
            int capeindex = 0;
            switch (color)
            {
                case "Red":
                    capeindex = 1;
                    break;
                case "Black":
                    capeindex = 2;
                    break;
                case "Blue":
                    capeindex = 3;
                    break;
                case "White":
                    capeindex = 4;
                    break;
                case "Yellow":
                    capeindex = 5;
                    break;
            }

		Packet cape = new Packet(0x7516, true);
                cape.WriteUInt8(capeindex);
                this.LocalSecuirity.Send(cape);
		this.SendToHost(true);
	       }
	    catch { }
	}
this is really bad
pls don't use await

instead wait for server response (which is more reliable, in this case anything could go wrong and player could be standing still without the cape for the next 10 seconds then they will start moving)
the response packet is B516
Code:
 if (pck.ReadByte() == 1)
            {               
                bool isuid = pck.ReadUInt() == client.Character.UniqueID;
                byte cape = pck.ReadByte(); 
                if (isuid)
                {
                    if (cape > 0)
                    {
                        client.Character.PVPCapeNum = cape;
                        client.Character.PVPOn = true;
                        client.Character.CanMove = true;
                    }
                    else 
                    {
                        client.Character.PVPCapeNum = 0;
                        client.Character.PVPOn = false;
                        if (AutoCapeRegions.Contains(client.Character.Region))                       
                            client.Character.CanMove = false;
                    }
                }
            }
B1Q is offline  
Old 01/01/2019, 15:04   #7
 
kotsh's Avatar
 
elite*gold: 0
Join Date: May 2007
Posts: 360
Received Thanks: 27
Quote:
Originally Posted by putzeimer195 View Post
The Packet if you start the process of joining a pvp team is this one:
Code:
[C->S] [1] [0x7516] 
05
The Packet is 7516
and for example the 05 is the color of the Team.
In my example is 05 the team yellow.
So after the teleport you have to send the packet 7516 with the 05 to the Server.

I did it a few days ago.


If you need any help feel free to ask me

Please add my discord or send me yours
i want to pay you for this brother

Kotsh
#5187

i will pay for anyone do it for me guys
kotsh is offline  
Old 01/02/2019, 00:30   #8
 
Royalblade*'s Avatar
 
elite*gold: 85
Join Date: Feb 2014
Posts: 1,055
Received Thanks: 1,643
There is a byte at the end of the self-spawn packet that indicates current pvp status.
if you change that to yellow cape then you'll have it properly displayed for yourself too

And ignore all (action-break) packets from character if inside region XYZ.
Royalblade* is offline  
Old 01/03/2019, 19:18   #9
 
kotsh's Avatar
 
elite*gold: 0
Join Date: May 2007
Posts: 360
Received Thanks: 27
Thx Royal for trying helping me
but i really dont know about C#
i hope if there anyone can help me by team viewer and i will pay him
kotsh is offline  
Reply


Similar Threads Similar Threads
KBot_5.62_setup.exe ' Open Open Open '
12/18/2011 - DarkOrbit - 5 Replies
KBot_5.62_setup.exe LİNK : http://www.kbotik.com/files/mo_IMG_3.jpg SCAN : http://www.metascan-online.com/img/metascanonline -logo.png
[tut] speed teleport (not map teleport)
08/11/2009 - 12Sky2 - 2 Replies
you need cheat eng for this find the movement speed address current: C61778 2. change to 99999 3. enable your run skill your done you will go so fast you will teleport make sure you don't click in anything bad shit will happen thank me :mofo: :mofo: :mofo:



All times are GMT +1. The time now is 11:55.


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