Scrim

(*)(*)(*)(*)(*) (4)

🔔 Stay informed when a new update is released https://discord.gg/v8HwnRHtCn

Includes

  • Scrim

Depends On

Requires


1. Scrim

Scrim or Team Deathmatch is an event that organizes players into teams to eliminate each other and secures victory.

You can set up this minigame for tournaments, competitions, and competitive scrim matches.


1.1 Console Commands

  • s.help - Prints a list of available commands.
  • s.create <Match Name> <Zone ID> [<Capacity>] [<Entrance Trigger Radius>] - Creates a match.
  • s.edit <Match ID> - Starts editing the match.
  • s.done - Stops editing the match and disables any further changes to it.
  • s.delete <Match ID> - Deletes the match.
  • s.set <Key> <Value> [<Key> <Value>] [<Key> <Value>] - Sets values for the edited match.
  • s.set.help - Prints a list of available keys for editing the match.
    • s.set name <Match Name> - Sets the name of the match.
    • s.set zone <Zone ID> - Sets the zone of the match.
    • s.set lobby <Lobby ID> - Sets the lobby to which the match is connected.
    • s.set enabled <true/false> - Enables or disables the match.
    • s.set capacity <Capacity> - Sets the maximum number of players who can join the match.
    • s.set wt <Wound Timeout> - Sets the timeout before wound players get eliminated.
    • s.set entrance.pos <Position> - Edits the position of the entrance trigger point.
    • s.set entrance.active <true/false> - Enables or disables the entrance trigger point.
    • s.set entrance.r <Entrance Trigger Radius> - Sets the entrance point trigger radius.
    • s.set access.lobbyonly <true/false> - Enables only physically enter to the match.
    • s.set entrance.vr <Text Visibility Range> - Sets the visibility range of the floating text.
    • s.set restrict <true/false> - Restricts the match to VIP players.
    • s.set countdown <Round Countdown> - Sets the start countdown of the round.
    • s.set bluename <Team Name> - Sets the name of the blue team.
    • s.set redname <Team Name> - Sets the name of the red team.
    • s.set text.started <Display Text> - Sets the floating text for an active match.
    • s.set text.notstarted <Display Text> - Sets the floating text for an inactive match.
    • s.set text <Display Text> - Sets the floating text for both active and inactive matches.
    • s.set loadout.spect <Loadout Name> - Sets the loadout for the spectators.
    • s.set loadout.red <Loadout Name> - Sets the default loadout for the red team.
    • s.set loadout.blue <Loadout Name> - Sets the default loadout for the blue team.
    • s.set loadout.default <Loadout Name> - Sets the default loadout for both teams.
    • s.set loadout.add <Loadout Name> - Adds a loadout to the match's loadouts list.
    • s.set loadout.remove <Loadout Name> - Removes a loadout from the match's loadouts list.
    • s.set item.add <Item Short Name> - Adds an item to the attachments list.
    • s.set item.remove <Item Short Name> - Removes an item from the attachments list.
  • s.set.spawn <Position> [<Spawn Point Type>] [<Spawn Radius>] [<Safe Area Radius>] [<Spawn Chance>] - Creates a spawn point inside the match.
  • s.set.spawn.help - Prints available spawn point types of a Scrim match.
    • b blue - Blue team spawn point.
    • r red - Red team spawn point.
    • s spect spectator - Spectators spawn point
  • s.delete.spawn <Spawn Point Name> - Deletes a spawn point.
  • s.allow <add/remove> <Match ID> <Steam ID> - Adds or removes a player from the whitelist.
  • s.ban <add/remove> <Match ID> <Steam ID> - Adds or removes a player from the blacklist.

1.2 Match Creation

Before starting and considering that you already have the core plugin, create a lobby as explained in the Game Mode Manager setup guide.

  • Now that you've created the lobby, make a zone using Zone Manager on the island where you want the Scrim match.
  • Begin editing the lobby to which you will connect the match using lobby.edit <Lobby ID>
    • Use lobby.show to view the lobby ID.

💡Note

By default, the first created lobby will always come with the ID 1001, and each match or training ground connected to it will inherit its ID.

  • Next, stand inside the lobby and precisely where you want the entrance trigger since the plugin will consider your position the entry point to the match.

  • Create the Scrim match using s.create <Match Name> <Zone ID> [<Capacity>] [<Entrance Trigger Radius>]

    • The [<Capacity>] stands for the maximum number of players who can join the match.
    • The [<Entrance Trigger Radius>] stands for the radius that displays the team selection GUI when stepping into it.
			"Match - Name": "Grass",
      "Match - ID": 100101,
      "Match - Enabled": true,
      "Match - Zone ID": "82487529",
      "Match - Lobby ID": 1001,
      "Match - Type": "Scrim",
      "Match - Capacity": 20,

The "Match Type" config key is important when Game Mode Manager wants to check the data of a specific match.

There are currently two types of matches, Scrim and RecoilTraining for Recoil Training Ground minigame.


1.3 Entrance Point

The entrance point works as a trigger that teleports players to the match when they walk into it. Besides, it shows various information about the active game as floating texts.

      "Entrance Point - Enabled": true,
      "Entrance Point - Radius": 3.0,
      "Entrance Point - Physically Enter - Enabled": true,
      "Entrance Point - Text Visibility Range": 50.0,
      "Entrance Point - Display Text - Active Match": "$.Name \n $.TotalCount \n $.BlueCount \n $.RedCount \n $.Capacity",
      "Entrance Point - Display Text - Inactive Match": "$.Name \n $.TotalCount \n $.Capacity",
      "Entrance Point - Location": {
        "x": -1281.46375,
        "y": 2.985576,
        "z": -1364.12341
      },


1.3.1 Entrance Point Location

  • You already had the entry point generated when you created the match from the previous step, but let's say you want to edit its location, use s.set entrance.pos <Position>
    • You can replace the <Position> either with a coordinate X, Y, Z, or here, which passes your current location automatically.
    • To get your current coordinate, use the command server.printpos <Steam ID> in the console.

1.3.2 Entrance Point Physically Enter

  • Enabling the "Physically Enter" option forces players to be physically in the lobby to enter the match. Otherwise, if disabled, players can use the /menu command to enter.
    • You can also enable it using s.set access.lobbyonly <true/false>

1.3.3 Entrance Point Text Visibility Range

  • The "Text Visibility Range" is the range in which the floating text will appear to the player if he's within it.
    • You can adjust it either from the Scrim.json data file or by using the command s.set entrance.vr <Text Visibility Range>


1.3.4 Entrance Point Text

  • You can customize the floating texts that appear on the entrance trigger for both active and inactive games separately, giving you more freedom in customizing the look of your entrances.

    • To set the text, use either the s.set text <Display Text> command or do it from the Scrim.json data file.
  • There're several supported placeholders that you can use

    • $.Name - Match name.
    • $.Capacity - Match capacity.
    • $.MatchType - Match type.
    • $.BlueCount - Blue team players' count.
    • $.RedCount - Red team players' count.
    • $.Blue - Blue team name.
    • $.Red - Red team name.
    • $.SpectatorCount - Spectators count.
    • $.TotalCount - Total players' count.


1.4 Teams Spawn Points

Each match contains three types of spawn points, blue for the blue team, red for the red team, and green for spectators. You can create as many spawn points as you want for both teams, but the spectators should always have one.

"Spawn Points": [
        {
          "Spawn - Type": "Blue",
          "Spawn - Safe Area Radius": 2.0,
          "Spawn - Enabled": true,
          "Spawn - Name": "001_B",
          "Spawn - Location": {
            "x": -1296.63916,
            "y": 1.98375857,
            "z": -928.8849
          },
          "Spawn - Radius": 2.0,
          "Spawn - Chance": 100
        }
      ],

💡 Note

Never edit the spawn point names. They're named and given specific IDs automatically by Game Mode Manager


1.4.1 Spawn Point Creation

  • Begin editing the lobby to which the match is connected using the command lobby.edit <Lobby ID> and then use s.edit <Match ID> to edit the match.

💡Note

You can always skip the step above if you're already in edit mode.

  • Decide where you want the spawn points to be on the island for both teams and the spectators. Then stand at each location and use s.set.spawn <Position> [<Spawn Point Type>] [<Spawn Radius>] [<Safe Area Radius>] [<Spawn Chance>]

    • You can replace the <Position> either with a coordinate X, Y, Z, or here, which passes your current location automatically.
    • To get your current coordinate, use the command server.printpos in the console.
  • The [<Spawn Radius>] determines the area in which players randomly spawn.


1.4.2 Spawn Point Types

  • The [<Spawn Point Type>] stands for the type of the spawn point
    • blue or b for the blue team
    • red or r for the red team
    • spectator or spect or s for the spectators


1.4.3 Spawn Point Safe Area Radius

  • The [<Safe Area Radius>] is the area around the spawn point where players can move within while waiting for the match to start.

  • The safe area radius has some flags which take effect before the match start.

    • While being in the safe area radius, players cannot leave it before the match starts.
    • Players cannot suicide or deal damage to themselves or others as well (Friendly fire)

💡Note

If you want to bypass the safe area radius of the spawn point as an admin, grant the gamemodemanager.ignore permission.


1.4.4 Spawn Chance

  • The "Spawn Chance" determines the probability of the player spawning at the spawn point. Set it at 100 to have constant spawn.

💡Tip

You are not only limited to the normal Team Deathmatch gameplay. You can create different types of minigames with varying playing styles by having unique match locations and several spawn points created with different settings for both teams.


1.5 Teams Loadouts

We'll use the Inventory Loadout plugin to create loadouts and kits that both teams can use during the match.

1.5.1 Loadout Creation

  • Start by equipping your inventory with the items you want the loadout to have, and then use the command /loadout.save <Loadout Name>
  • You can create up to 36 shared loadouts for both teams.
  • Add the loadouts you created to the match's loadouts list. You can do that either from the Scrim.json data file or using the command s.set loadout.add <Loadout Name>
      "Loadout List": [
        "AK",
        "Python",
        "Thombson",
        "Bow",
        "Spear"
			],

💡 Tip

  • If you want to view the loadout you created, use the command /loadout.take <Loadout Name> which allows you to obtain it manually.
  • To edit an existing loadout, use the command /loadout.save <Loadout Name> and save it with the same name.
  • List all created loadouts using the command /loadout.list

1.5.2 Default Loadout

The default loadout is what players automatically obtain when joining the match. You can set different default loadouts for both teams separately, giving you more customization.

  • To assign the default loadout for each team separately, use s.set loadout.red <Loadout Name> for the red team and s.set loadout.blue <Loadout Name> for the blue team.
  • To assign the same default loadout, use s.set loadout.default <Loadout Name> instead.
  • For spectators, use s.set loadout.spect <Loadout Name>

Otherwise, you can also assign them manually from the Scrim.json data file.

			"Loadout - Spectator": "Spectator",
      "Loadout - Default - Blue Team": "AK",
      "Loadout - Default - Red Team": "AK",


1.5.3 Attachments

The attachments list contains items that are given separately to players' inventories. It works like a give command, and the best use of it is to provide spare walls or attachments.

  • Add an item to the attachments list using s.set item.add <Item Short Name>, and head to the data file to change its display name.
		 "Attachments List": [
        {
          "Item Short Name": "weapon.mod.holosight",
          "Item Display Name": "Holosight"
        }
      ],


1.6 VIP Match

Set your match as VIP only by enabling the "Whitelist Mode" in the Scrim.json data file or by using the command s.set restrict <true/false>

This restricts match access to specific players. However, regular players can enter these matches, but only as spectators.

1.6.1 VIP Players Whitelist

To whitelist your VIP players, use the command s.allow <add/remove> <Match ID> <Steam ID> which adds them to the "Whitelisted Players list under the specified match.

			"Whitelist Mode - Enabled": true,
      "Whitelisted Players": [],
      "Banned Players": []

1.7 Gameplay Mechanics


1.8 Future Plans


User Reviews

Awesome plugin(*)(*)(*)(*)(*) - Apr 14, 2022

Very easy to configure plugin, it allows you to set up ukn style arenas in a few minutes.

It is true that some functions are missing, but really for the price, you can not ask for more. In any case, the author constantly updates it and adds new functions.

Very good support, Dana always answers all questions on her discord.


chena
1 out of 1 people found this helpful
Amazing(*)(*)(*)(*)(*) - Jun 18, 2021

Easy to setup +rep Dana


xfrankzappa
1 out of 1 people found this helpful

Store: Dana

Price: $30



Supported payment methods
PayPal, Skrill, WebMoney

Supported Platforms
Standalone

All future updates (bug fixes, new features, etc.) are included in the price.