Roses are red,
violets are blue,
The topic is in english,
comments should be too.
Roses are red,
violets are blue,
The topic is in english,
comments should be too.
I was working on new battle royale event recently and today i finally finished it.
The best thing about this event is - every player has same chance to win. This event is not about luck, its just about skill.
How does this event work?
• GM starts the event with command /start_battle_ryoale <how_many_seconds_wait_for_players>
• All items on the ground in the event map are removed (just in case, you started another instance of event too soon after last event is ended)
• Every player see next to minimap the battle royale button + showing remaning time
• When players click on the button, he can select his temporary character + skill group for battle royale
Bitte melden Sie sich an, um diesen Anhang zu sehen.
• When player selects character+skill group, he is teleported to the "waiting lobby" of battle royale map.
• "Waiting lobby" is small place in the corner of map that players cant leave + they cant attack there each other.
• When player is teleported to event map, he has completely new selected character without items, without affects. (when he leaves the event map, his real character+items will be loaded again)
• When player is in event map, these functions are disabled:
-Quests (can be changed in config)
-Normal safebox
-Itemshop safebox (mall)
-Duel
-Group
-Guild war
-Marriage teleport
-Change PKMode
-Trade (can be changed in config)
• When the time for "waiting players..." runs out, players need to select position on minimap in 30 seconds where they will be teleported to. (you can change value "30" just like many others in config file)
Bitte melden Sie sich an, um diesen Anhang zu sehen.
• System will not allow players to teleport to "nonmovable zone", system will not let players teleport to "waiting lobby"
• If player doesnt select his position in time, he will be either kicked out from event or teleported to random position (you can choose in config file)
• When the time for selecting players position runs out, system will determine random zone position that players need to enter, otherwise they will receive damage every X seconds (can be set in config file)
• You can declare as many zone positions as you want (you just need to write center possition of zones [to prevent scenario when the zone is not accessible for players] and then system calculates everything automatically)
• Every upcoming zone is marked as "red" on minimap.
• Every current zone is marked as "green" on minimap + marked on terrain (players can turn on/off the terrain zone indicator)
Bitte melden Sie sich an, um diesen Anhang zu sehen.
• The zone will get smaller by X percent (of its initial size) each X seconds (you can set this in config file)
• When the zone is at its smallest size (you declare this size in config file), players will see message "Event will be ended in draw in X seconds" (you declare these seconds in config file, to prevent never ending event - when some players are trolling for example)
• When player dies, he is teleported to his village and he can check in chat his position in event.
• The last standing player wins the price that you set in quest. He will receive the reward right after he is automatically teleported out of event map.
• Every event is logged to mysql table
Bitte melden Sie sich an, um diesen Anhang zu sehen.
• How does players get items?
-You can either place shop to the "waiting lobby" and let players buy what they want
-Or place mobs on the map, and let players kill the mobs and drop the items
-Or place chests on the map that players needs to find and destroy/open to get items
•Is there a special map included in price?
-Unfortunately i am not mapper so i was testing the event on "orc map", but the implementation of new map is very easy and i will help you with that if needed
•What if server crashes when players are in event map with deleted items, deleted stats, deleted skills, basically with their "new" character?
-No need to worry. The real information of characters and items are always saved in cache+DB. The "clean" characters are loaded only temporary in the event map.
•What can be set in the config file?
MINIMUM_PLAYERS = minimum players needed to start the event
MAP_INDEX = index of event map
START_POSITION_X = X position of "waiting lobby" in the event map
START_POSITION_Y = Y position of "waiting lobby" in the event map
START_LEVEL = this level will be set to their "temporary new clean" characters
START_MONEY = these yangs will be set to their "temporary new clean" characters
START_POINT_HT = these points will be set to their "temporary new clean" characters
START_POINT_IQ = these points will be set to their "temporary new clean" characters
START_POINT_ST = these points will be set to their "temporary new clean" characters
START_POINT_DX = these points will be set to their "temporary new clean" characters
STAT_POINTS = how many stat points will be set to their "temporary new clean" characters
SKILL_POINTS = how many skill points will be set to their "temporary new clean" characters
ENABLE_RED_POTION = enable or disable red potions
ENABLE_BLUE_POTION = enable or disable blue potions
ENABLE_HP_RECOVERY_EVENT = enable or disable refilling HP
ENABLE_SP_RECOVERY_EVENT = enable or disable refilling SP
ENABLE_CONSUME_STAMINA = enable/disable
ALLOW_QUESTS = enable/disable - if players can use the quests
ALLOW_TRADE = enable/disable - if players can trade with each other
ALLOW_AFFECT_FROM_MAIN_CHAR = enable/disable loading affects (dews, etc.) from main character to the new temporary character
INITIAL_SAFEZONE_WIDTH: 600 = initial zone size
INITIAL_SAFEZONE_HEIGHT: 600 = initial zone size
SAFEZONE_MIN_WIDTH: 6 = minimal size of zone
SAFEZONE_MIN_HEIGHT: 6 = minimal size of zone
SHRINK_SAFEZONE_SIZE_BY_PERCENT: 20 = how much will zone get smaller each interval
SHRINK_SAFEZONE_INTERVAL_IN_SECONDS: 120 = how ofter will zone be shrinked
OUT_OF_ZONE_CHECK_INTERVAL_IN_SECONDS: 2 = how often will system check if player is in zone
OUT_OF_ZONE_DAMAGE_PER_INTERVAL: 30 = damage dealt to players who are not in zone
WARPING_LIMIT_SECONDS: 30 = how long can players be selecting their position on map
WARPING_TIMED_OUT_ACTION: 2 = what to do, when players dont select their position in time? 1=kick them from event, 2=teleport them to random position
LAST_ROUND_MAX_SECONDS_LIMIT: 300 = when the zone is at its smallest size, how many seconds wait before ending the event in a draw
DROP_ITEMS_WHEN_DIE: 3 = when player dies 1=drop only equipment, 2=drop only inventory, 3=drop all items
IP_PROTECTION: 1 = enable/disable only 1 IP per character in event
TREAT_GM_AS_NORMAL_PLAYER: 1 = enable/disable treating GM as normal players - when you need to test
•Is there video from the event? (the zone is shrinked really fast, just for test purposes)
Bitte melden Sie sich an, um diesen Link zu sehen.
•What is the price?
-150€ 100€ - bank transfer or paypal friends&family only
-You will receive whole files where you can search for changes with #ifdef ENABLE_BATTLE_ROYALE or if app.ENABLE_BATTLE_ROYALE
-I will help you with installation if needed
-I will adapt/teach you how to adapt event for your map if needed for free
-I will fix bugs for free if you find any
-For additional price i can edit the event however you like to.
•How can you contact me?
-Discord: ondry#7053