Jump to content

[C++] Prevent Ride in War (PvP) Maps


Recommended Posts

  • Active+ Member

INTRODUCTION & PROBLEM

Hello, the issue we will be working on this time is actually important, it will prevent players from using mounts/horses in various PvP maps (Guild War, Arena, PvP Event Maps, etc. - in addition to these, OX and Wedding maps are among the banned maps-) or if they go to unwanted map while riding on a mount/horse, we will have them dismount/unsummon when they enter these maps. Although there are many topics about this in various places, none of them offer a complete solution, so I am sharing with you all the checks I have made for my own src.

WHY & WHAT DID WE CHANGE?

Especially in PvP-oriented maps such as Guild War map, it is generally undesirable for players to gain an advantage by using mounts/horses. To prevent this, we will add the necessary controls in the right places and create a function that includes maps where we do not want characters to use mounts/horses. (You can create a new case in this function and add the extra map index code if you want to include in the list, so it will be very easy to activate this obstacle on the map you want.)

ATTENTION!

1- I do not use the COSTUME_MOUNT system in my own src, so I wrote the codes accordingly while creating this topic, so if you are using this system, you should add the necessary controls to this system and adjust some of the controls I gave you (because some sections were written based on the old mount system) , otherwise it may not work correctly or effectively!

2- As I said during the explanation, add it below or above the code you are looking for (whichever I said in the explanation), their positions are important! Many codes have different placements, so while following this guide, make sure that you do not make any mistakes in the parts i mentioned above or below.

HOW TO DO?

First, open the "char.h" file.

This is the hidden content, please

Best regards, MT2Dev.

 
  • Metin2 Dev 18
  • Good 1
  • Love 2

spacer.png

©

Link to comment
Share on other sites

I worked around this problem but I only used quest to prevent this scenario.
So I replaced these lines in the guild_war_join.quest:
 

				if s == 1 then
					guild.war_enter(e)

With this lines:
 

					if pc.is_mount() or horse.is_summon()==true then
						pc.unmount()
						horse.unsummon()
						guild.war_enter(e)
					else
						guild.war_enter(e)
					end

(If the player rides a horse/mount, the quest unmount the character/unsummon the horse and just after that enters the arena war map.)
At the horse_summon.quest I added these lines to the 50052 and 50053 cases:
 

		when 50052.use begin
			if pc.get_war_map() != 0 then
				syschat("<Horse> It's not allowed to use combat horse during guild war!")
				return
			end

Your solution is much more professional then mine, good work there! 🙂

  • Love 1
Link to comment
Share on other sites



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.