Gamemode Battle Royale

Gamemode Battle Royale 1.0.0

Sign in now and buy a copy for 20.00 USD
Dependencies
Gamemode Core (Required)
Gear Core (Required)
Custom Loot Spawns (Optional)
Drop into a large, hostile arena. Gather resources, equip gear, and eliminate other players. Be the last one standing as the safe zone shrinks, forcing everyone into intense combat.






Console Commands

  • gm.br create <title> <position> <radius> [maxPlayerCapacity]- Creates a new Battle Royale arena with the given title, position, and radius.
    • <position> - Coordinates for the arena center. Use here to use your current location.
  • gm.br edit <arenaId> - Opens an existing arena for editing, allowing you to modify spawn points, safe zones, and other settings.
  • gm.br remove - Deletes the currently selected arena. You must edit an arena first to use this command.
  • gm.br teleporter create <position> <radius> [visibilityRange] [visibleZone]- Creates a teleporter within the currently edited arena.
    • <position> - Location for the teleporter. Use here for your current position.
    • <radius> - The area around the teleporter where players can step in to get teleported into the arena.
    • [visibilityRange] (Optional) - Range in which the teleporter information is visible.
    • [visibleZone] (Optional) - Whether the teleporter has a visible zone marker.
  • gm.br teleporter remove - Removes the teleporter in the currently edited arena.
  • gm.br spawn add <position> <radius>- Adds a spawn point to the currently edited arena
    • <position> - Coordinates for the spawn point. Use here to use your current location.
    • <radius> - Defines the area around the position to randomize player spawns. If set to 0, players will always spawn at the center.
  • gm.br spawn remove <spawnPointId> - Removes a specific spawn point by its id.
  • gm.br rule add <rule1> [<rule2> ...] - Adds one or more rules to the currently edited arena. (See Rules for available rules.)
  • gm.br rule remove <rule1> [<rule2> ...] - Removes one or more rules from the currently edited arena.
  • gm.br safezone add <safeZoneType> <zoneReductionPercentage> <waitTimeSeconds> <shrinkTimeSeconds> [damagePerSecond] [radiationAmountPerSecond] [lootSpawnGroup]- Adds a shrinking safe zone phase to the arena.
    • <safeZoneType>- Determines the behavior of the safe zone during this phase. The available types are:
      • Moving - The safe zone's center relocates randomly while its radius shrinks.
      • NonMoving - The safe zone shrinks in size but keeps its center fixed in the same location.
    • <zoneReductionPercentage>- Specifies how much the safe zone will shrink, expressed as a percentage of its current size.
      • Higher values like 80%: The safe zone retains most of its size, shrinking by only 20%, resulting in a larger playable area.
      • Lower values like 30%: The safe zone shrinks significantly, reducing its size by 70%, leaving a much smaller area to play in.
    • <waitTimeSeconds> - How long to wait before the shrinking process begins for this phase.
    • <shrinkTimeSeconds> - Duration of the shrinking process for this phase.
    • [damagePerSecond] (Optional) - Amount of damage applied per second to players outside the safe zone. Defaulted to 1.0.
    • [radiationAmountPerSecond] (Optional) - Radiation level applied per second to players outside the safe zone. Defaulted to 1.0.
    • [lootSpawnGroup] (Optional) - The spawn group used to spawn loot containers during this phase. (Requires Custom Loot Spawns plugin)
  • gm.br safezone remove <phaseIndex> - Removes a specific shrinking phase from the arena.
  • gm.br set <property> <value>- Updates a property of the currently edited arena. Below is a complete list of properties you can configure and their expected values:
    • title <string> - Sets the name of the arena that will be displayed to players.
    • enabled <true/false> - Determines whether the arena is active and available for players to join.
    • maxplayers <int> - Specifies the maximum number of players that can participate in the arena at one time.
    • infotemplate <string> - Customizes the template for displaying information about the arena, such as player count, status, and more. (See Arena Teleporters for all placeholders you can use.)
    • warmupgear <string> - Defines the gear set that players use during the warmup phase, where they play a temporary deathmatch while waiting for enough players to start the event.
    • maingear <string> - Defines the gear set that players receive when the Battle Royale event begins.
    • killfeed <true/false> - Toggles whether kill notifications are displayed in the chat during the game.

Battle Plane

The Battle Plane is the starting point for the Battle Royale event, carrying players across the arena at the start of each match. It follows a randomized straight path over the arena, giving players the opportunity to jump and parachute down to their chosen landing spots. Once the Battle Plane reaches the end of its path, any players still on board will be automatically dropped.

Shrinking Safe Zone

The Shrinking Safe Zone is a dynamic gameplay mechanic that gradually reduces the playable area, forcing players closer together as the match progresses. The zone shrinks in a series of phases, with each phase shrinking the zone to a smaller radius over time.

Players caught outside the safe zone take damage and may also accumulate radiation, adding urgency to move back within the boundary. The intensity of damage and radiation can be adjusted for each phase. Additionally, loot crates can be configured to spawn at the start of specific phases.

Each phase begins with a waiting period before the shrinking starts, giving players a chance to reposition. As the safe zone shrinks, the boundaries either contract inward or shift toward a new center, depending on whether the zone is static or moving.

Quick Start

  1. Be sure the lobby is created first. If you haven't done this yet, follow the steps here.

  2. Use gm.br create <title> <position> <radius> [maxPlayerCapacity] to create the Battle Royale arena.
    Example: gm.br create Apollo here 100 50 creates an arena called 'Apollo' at your location, with a radius of 100 and a maximum capacity of 50 players.

  3. While players wait for enough participants to start the event, they play a warmup team deathmatch, and spawn points are required for players to respawn during this time. You can add spawn points using gm.br spawn add <position> <radius>.
    Example: gm.br spawn add here 1 adds a spawn point at your location with a radius of 1.

  4. Define the gear set used during the warmup team deathmatch using the command gm.br set warmupgear <gearSetName>. This determines the equipment players will use while waiting for the main event to start.
    Example: gm.br set warmupgear RifleSet.

  5. Place a teleporter for players to enter the arena using gm.br teleporter create <position> <radius>. (Teleporters must be placed within the lobby zone.)
    Example: gm.br teleporter create here 1 places a teleporter at your location with a radius of 1.

  6. Shrink phases determine how the safe zone shrinks and evolves during the event. You can configure one or multiple phases using the command gm.br safezone add <safeZoneType> <zoneReductionPercentage> <waitTimeSeconds> <shrinkTimeSeconds> [damagePerSecond] [radiationAmountPerSecond] [lootSpawnGroup]. (It's recommended to set up 5 to 9 phases.)
    1. Start with smaller zone reductions in the early phases for a slower, more gradual pace.
      Example: gm.br safezone add NonMoving 90 60 30 shrinks the safe zone by only 10%, waits 60 seconds before starting, and takes 30 seconds to shrink.

    2. Gradually increase the shrinking intensity in later phases to create a more challenging endgame.
      Example: gm.br safezone add Moving 30 30 15 shrinks the safe zone by 70%, waits 30 seconds before starting, and takes 15 seconds to shrink while moving.

    3. Add radiation and damage to penalize players who stay outside the safe zone. Damage applies directly to players' health, while radiation accumulates over time, adding an extra layer of difficulty.
      Example: gm.br safezone add NonMoving 90 60 30 1 2 applies 1 damage per second and 2 radiation per second to players outside the safe zone during this phase.

    4. Defining a loot spawn group will spawn crates from that group at the beginning of the phase, while leaving it empty means no crates will spawn. Loot groups can be created using the Custom Loot Spawns plugin. (Remember to disable the spawn group, as the arena will manage crate spawning.)
      Example: gm.br safezone add NonMoving 90 60 3 CrateSpawns spawns crates from the 'CrateSpawns' group at the start of the phase.

      The result will look like this:
      JSON:
      "Shrinking Safe Zone": {
        "Shrink Phases": [
          {
            "Safe Zone Type": "NonMoving",
            "Zone Reduction Percentage": 90,
            "Wait Time Seconds": 60,
            "Shrink Time Seconds": 30,
            "Damage Per Second": 1,
            "Radiation Amount Per Second": 1,
            "Loot Spawn Group": "CrateSpawns"
          },
          {
            "Safe Zone Type": "Moving",
            "Zone Reduction Percentage": 70,
            "Wait Time Seconds": 30,
            "Shrink Time Seconds": 20,
            "Damage Per Second": 1,
            "Radiation Amount Per Second": 2,
            "Loot Spawn Group": "CrateSpawns2"
          },
          {
            "Safe Zone Type": "Moving",
            "Zone Reduction Percentage": 30,
            "Wait Time Seconds": 15,
            "Shrink Time Seconds": 10,
            "Damage Per Second": 2,
            "Radiation Amount Per Second": 5,
            "Loot Spawn Group": "CrateSpawns3"
          }
        ]
      }
  7. Finally, use gm.br set maingear <gearSetName>to configure the gear players will receive when the main Battle Royale event begins.
    Example: gm.br set maingear Starter.

Configuration

JSON:
{
  "Version": "1.0.0",
  "Battle Plane": {
    "Flight Speed": 20,
    "Flight Altitude Above Ground": 100,
    "Additional Flight Path Distance": 200
  },
  "Parachute": {
    "Auto Open After Jump": true
  },
  "Shrinking Safe Zone": {
    "Edge Bias Percentage": 70
  }
}
  • Battle Plane- Configures the flight path and behavior of the battle plane.
    • Flight Speed - Determines how fast the plane moves across the map.
    • Flight Altitude Above Ground - The height at which the plane flies above the ground level, measured in meters.
    • Additional Flight Path Distance - Extra distance added to the flight path to ensure the plane flies beyond the arena boundaries.
  • Parachute- Configures the parachute behavior after jumping.
    • Auto Open After Jump - Specifies whether parachutes automatically deploy after a player jumps from the battle plane. (Deployment occurs 2 seconds after the jump.)
  • Shrinking Safe Zone- Configures the behavior of the shrinking play area.
    • Edge Bias Percentage- Controls how much the random positions for the moving safe zone are biased toward the edge of the current radius. Here's how different values affect the behavior:
      • Higher values like 80% or 90%:
        • Positions will be generated closer to the edge of the current safe zone radius.
        • This creates more unpredictable gameplay as players are forced to travel longer distances to reach the new safe zone, often leaving cover and increasing the chance of encounters.
      • Lower values like 50% or 30%:
        • Positions will have a more even distribution, with some positions closer to the center and others near the edge.
        • This allows for shorter movements between phases, reducing the risk of exposure during transitions.

Stored Data

JSON:
{
  "Battle Royale Arenas": [
    {
      "Enabled": true,
      "Id": "001",
      "Title": "Apollo",
      "Gamemode": "BattleRoyale",
      "Radius": 500.0,
      "Position": { "x": 1000.0, "y": 20.0, "z": 1000.0 },
      "Rules": ["NoCrafting", "NoBuild"],
      "Teleporter": {
        "Radius": 5.0,
        "Position": { "x": 995.0, "y": 20.0, "z": 1005.0 },
        "Information Text Visibility Range": 20.0,
        "Visible Zone": true
      },
      "Information Template": "<span>{Title}\nGamemode: {Gamemode}\nStatus: {Status}\nTime Left: {TimeLeft}\nPlayers: {PlayerCount} / {PlayerCapacity}\n\nParticipants:\n{PlayerList}</span>
",
      "Maximum Player Capacity": 20,
      "Spawn Points": [
        {
          "Id": "001",
          "Position": { "x": 980.0, "y": 20.0, "z": 1010.0 },
          "Radius": 10.0
        },
        {
          "Id": "002",
          "Position": { "x": 1020.0, "y": 20.0, "z": 990.0 },
          "Radius": 10.0
        }
      ],
      "Warmup Gear Set": "AssaultRifle",
      "Main Gear Set": "Starter",
      "Has Kill Feed": true,
       "Shrinking Safe Zone":{
           "Shrink Phases":[
               {
                  "Safe Zone Type": "NonMoving",
                  "Zone Reduction Percentage": 90,
                  "Wait Time Seconds": 30,
                  "Shrink Time Seconds": 15,
                  "Damage Per Second": 1.0,
                  "Radiation Amount Per Second": 0.5,
                  "Loot Spawn Group": ""
               },
               {
                  "Safe Zone Type": "NonMoving",
                  "Zone Reduction Percentage": 75,
                  "Wait Time Seconds": 25,
                  "Shrink Time Seconds": 20,
                  "Damage Per Second": 2.0,
                  "Radiation Amount Per Second": 0.7,
                  "Loot Spawn Group": ""
               },
               {
                  "Safe Zone Type": "Moving",
                  "Zone Reduction Percentage": 50,
                  "Wait Time Seconds": 20,
                  "Shrink Time Seconds": 15,
                  "Damage Per Second": 3.0,
                  "Radiation Amount Per Second": 1.0,
                  "Loot Spawn Group": ""
               },
               {
                  "Safe Zone Type": "Moving",
                  "Zone Reduction Percentage": 30,
                  "Wait Time Seconds": 15,
                  "Shrink Time Seconds": 10,
                  "Damage Per Second": 4.0,
                  "Radiation Amount Per Second": 1.5,
                  "Loot Spawn Group": ""
               },
               {
                  "Safe Zone Type": "Moving",
                  "Zone Reduction Percentage": 15,
                  "Wait Time Seconds": 10,
                  "Shrink Time Seconds": 8,
                  "Damage Per Second": 5.0,
                  "Radiation Amount Per Second": 2.0,
                  "Loot Spawn Group": ""
               }
            ]
         }
    }
  ]
}
  • Love
Reactions: (Manky)sieve
Author
VisEntities
Downloads
1
Type
Digital product
License duration
Unlimited
Price
20.00 USD
First release
Last update

Ratings

0.00 star(s) 0 reviews

Parent plugin

Also by VisEntities

Back
Top