- Dependencies
This plugin creates a dynamic aim training environment where you can practice your shooting skills against stationary or moving bots, while receiving instant feedback on your performance.
Bot Isolation
Trainees and their bots are completely hidden from other players. They are completely invisible and inaudible to others, making the training space fully private and distraction-free.Console Commands
gm.at create <title> <position> <radius> [maxPlayerCapacity]
- Creates a new Aim Train arena with the specified title, position, radius, and optional maximum player capacity.<position>
- Coordinates for the center of the arena. Usehere
to use your current location.
gm.at edit <arenaId>
- Enters editing mode for the specified Aim Train arena, allowing you to modify spawn points, bots, teleporters, and other settings.gm.at remove
- Deletes the currently selected arena. You must edit an arena first to use this command.gm.at 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.[visibilityRange]
(Optional) - Range in which the teleporter information is visible.[visibleZone]
(Optional) - Whether the teleporter has a visible zone marker.
gm.at teleporter remove
- Removes the teleporter associated with the currently edited arena.gm.at spawn add <position> <radius>
- Adds a spawn point to the currently edited arena.<position>
- Coordinates for the spawn point. Usehere
to use your current location.<radius>
- Defines the area around the position to randomize player spawns.
gm.at spawn remove <spawnPointId>
- Removes a specific spawn point by its id.gm.at rule add <rule1> [<rule2> ...]
- Adds one or more rules to the currently edited arena. (See Rules for details on available rules.)gm.at rule remove <rule1> [<rule2> ...]
- Removes one or more rules from the currently edited arena.gm.at set <property> <value>
- Updates a property of the currently edited arena. Available properties:title <string>
- Sets the name of the arena.enabled <true/false>
- Toggles whether the arena is active.maxplayers <int>
- Sets the maximum number of players allowed in the arena.infotemplate <string>
- Customizes the information template displayed about the arena, such as player count, status, and more. (See Arena Teleporters for all placeholders you can use.)respawngear <string>
- Sets the gear players receive upon respawning in the arena.
gm.at bot add <numberToSpawn>
- Adds a new bot profile to the currently edited arena.gm.at bot edit <botId>
- Selects an existing bot profile for editing, allowing you to update its properties (such as health or movement speed) or manage its spawn points.gm.at bot remove
- Removes the currently edited bot profile.gm.at bot set <property> <value>
- Updates the properties of the currently selected bot profile. The following properties can be modified:health <float>
- Sets the bot's health points.immune <true/false>
- Determines whether the bot is immune to all damage. (Useful for stationary bots intended as static targets.)randomname <true/false>
- Toggles random name generation for bots spawned under this profile.number <int>
- Updates the number of bots spawned.minspeed <float>
- Defines the minimum speed at which bots can move. (Set to 0 if bots should not move at all.)maxspeed <float>
- Defines the maximum speed at which bots can move.
gm.at bot spawn add <position> <radius>
- Adds a spawn point for the currently edited bot profile.<position>
- Coordinates for the spawn point. Usehere
to use your current location.<radius>
- The area around the position where bots can randomly spawn. If set to 0, the bot always spawns at the exact center.
gm.at bot spawn remove <spawnPointId>
- Removes a specific spawn point from the currently edited bot profile.
Quick Start
Stored Data
JSON:
{
"Aim Train Arenas": [
{
"Enabled": true,
"Id": "001",
"Title": "Training Arena",
"Gamemode": "AimTrain",
"Radius": 50.0,
"Position": {
"x": 100.0,
"y": 0.0,
"z": 200.0
},
"Rules": ["NoCorpseSpawn", "NoItemContainerSpawn"],
"Teleporter": {
"Radius": 5.0,
"Position": { "x": 105.0, "y": 0.0, "z": 195.0 },
"Information Text Visibility Range": 20.0,
"Visible Zone": true
},
"Information Template": "{Title}\nGamemode: {Gamemode}\nPlayers: {PlayerCount}/{PlayerCapacity}",
"Maximum Player Capacity": 10,
"Spawn Points": [
{
"Id": "001",
"Position": { "x": 102.0, "y": 0.0, "z": 202.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 5.0
},
],
"Respawn Gear Set": "DefaultGear",
"Training Bots": [
{
"Id": "001",
"Health": 100.0,
"Immune To Damage": false,
"Minimum Movement Speed": 0.0,
"Maximum Movement Speed": 0.0,
"Gear Sets": ["TrainingBot"],
"Generate Random Name From Pool": true,
"Custom Names": [],
"Number To Spawn": 3,
"Spawn Points": [
{
"Id": "001",
"Position": { "x": 102.0, "y": 0.0, "z": 202.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 0.0
},
{
"Id": "002",
"Position": { "x": 104.0, "y": 0.0, "z": 204.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 0.0
},
{
"Id": "003",
"Position": { "x": 106.0, "y": 0.0, "z": 206.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 0.0
}
]
},
{
"Id": "002",
"Health": 200.0,
"Immune To Damage": false,
"Minimum Movement Speed": 2.0,
"Maximum Movement Speed": 5.0,
"Gear Sets": ["TrainingBot"],
"Generate Random Name From Pool": true,
"Custom Names": [],
"Number To Spawn": 20,
"Spawn Points": [
{
"Id": "001",
"Position": { "x": 110.0, "y": 0.0, "z": 210.0 },
"Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
"Radius": 25.0
}
]
}
]
}
]
}