This plugin has been updated! Explore the newer, better version here.
🔔 Stay informed when a new update is released https://discord.gg/v8HwnRHtCn
Includes
- Recoil Training Ground
- Recoil Pattern Generator
Depends On
Requires
1. Recoil Training Ground
Practice and improve your aim on stationary and moving targets provided with a recoil pattern display of your spray.
1.1 Console Commands
rtg.help
- Prints a list of available commands.rtg.create <Training Ground Name> <Zone ID> [<Entrance Trigger Radius>]
- Creates a training ground.rtg.edit <Training Ground ID>
- Starts editing the training ground.rtg.done
- Stops editing the training ground and disables any further changes to it.rtg.delete <Training Ground ID>
- Deletes the training ground.rtg.set player.sp <Position>
- Creates player spawn point.rtg.bot.add <Bot Name> <Bots Count>
- Creates bot profile.rtg.bot.remove <Bot Name>
- Removes bot profile.rtg.set.spawn <Position> [<Bot Name>] [<Spawn Radius>] [<Spawn Chance>]
- Creates bot spawn point.rtg.delete.spawn <Spawn Point Name>
- Deletes bot spawn pointrtg.set <Key> <Value> [<Key> <Value>]
- Sets values for the edited training ground.rtg.set.help
- Prints a list of available keys for editing the training ground.rtg.allow <add/remove> <Training Ground ID> <Steam ID>
- Adds or removes a player from the whitelist.rtg.ban <add/remove> <Training Ground ID> <Steam ID>
- Adds or removes a player from the blacklist.
1.2 Training Ground 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 training ground.
- Begin editing the lobby to which you will connect the training ground using
lobby.edit <Lobby ID>
- Use
lobby.show
to view the lobby ID.
- Use
💡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 training ground.
Create the training ground using
rtg.create <Training Ground Name> <Zone ID> [<Entrance Trigger Radius>]
The
[<Entrance Trigger Radius>]
stands for the radius that teleports the player to the training ground when stepping into it.Upon creating the training ground, the plugin will automatically teleport you to it.
1.3 Players Spawn Point
Each training ground has only one spawn point for players.
- Begin editing the lobby to which the training ground is connected using the command
lobby.edit <Lobby ID>
and then usertg.edit <Training Ground ID>
to edit the training ground.
💡Note
You can always skip the step above if you're already in edit mode.
- Stand in the location where you want to create the spawn point inside the training ground and use the command
rtg.set player.sp <Position>
- You can replace the
<Position>
either with a coordinateX, Y, Z
, orhere
, which passes your current location automatically. - To get your current coordinate, use the command
server.printpos
in the console.
- You can replace the
"Player Spawn Location": { "x": -1567.846, "y": 5.005183, "z": -1569.577 },
1.4 Players Loadout
To create a kit that players obtain when joining the training ground, we will use the Inventory Loadout plugin.
- Equip your inventory with the items you want the loadout to have, and then use the command
/loadout.save <Loadout Name>
- Head to the
RecoilTrainingGround.json
data file and add the created loadout name.
"Player Loadout": "Training Ground"
💡 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 Training Ground Bots
You can have as many bot profiles as you want for each training ground with different spawn points, loadouts, health, movement speed, and other settings for each bot separately.
1.5.1 Bots Creation
- Start by creating profiles for the bots using the command
rtg.bot.add <Bot Name> <Bots Count>
- You can also manually duplicate the bots' profiles from the
RecoilTrainingGround.json
data file but make sure to give each profile a unique name.
"Bots": [ { "Bot Name": "garry", "Bot Count": 10 }, { "Bot Name": "helk", "Bot Count": 10 } ],
- Head to the config and add the bot you created under the
"Bots List"
. This is where you can adjust their movement speed, health, loadout, and other settings.
"Bots List": [ { "Name": "Garry", "Loadout": "Garry", "Minimum Movement Speed": 3.0, "Maximum Movement Speed": 7.0, "Restrict To Named Spawn Point": false, "Infinitive Health": false },
1.5.2 Bots Spawn Points
Bots won't appear in the training ground before creating spawn points for them.
- Decide where you want the bot spawn point to be in the training ground, and then use the command
rtg.set.spawn <Position> [<Bot Name>] [<Spawn Radius>] [<Spawn Chance>]
You can replace the
<Position>
either with a coordinateX, Y, Z
, orhere
, which passes your current location automatically.To get your current coordinate, use the command
server.printpos <Steam ID>
in the console.If you don't specify the bot name in the command, all bots will share this spawn point. However, the
"Restrict To Named Spawn Point"
must be disabled for this to work.If you want to restrict the spawn point to a specific bot, enable
"Restrict To Named Spawn Point"
and specify the bot name in the command."Restrict To Named Spawn Point": true,
The
[<Spawn Chance>]
determines the probability of the bot spawning at the spawn point after it gets killed.The
[<Spawn Radius>]
determines two things, the scope in which the bots can randomly spawn and their movement range.
"Spawn Points": [ { "Spawn - Bot Name": "garry", "Spawn - Enabled": true, "Spawn - Name": "SP_001", "Spawn - Location": { "x": -1595.184, "y": 5.00518656, "z": -1589.92676 }, "Spawn - Radius": 100.0, "Spawn - Chance": 100 } ],
Now, if you join the training ground, you'll notice that the bots have begun to spawn and move.
💡 Note
Never edit the spawn point names. They're named and given specific IDs automatically by Game Mode Manager
1.5.3 Bots Loadouts
Like the last time, create loadouts for the bots as you did for players.
- Assign the loadout to the bot in the
RecoilTrainingGround.json
config file.
"Bots List": [ { "Name": "Garry", "Loadout": "Garry", },
1.5.4 Bots Movement
You can adjust the bots' movement speed from the RecoilTrainingGround.json
config file.
- To get your bots to standing still and without movement, set the speed values to zero.
"Minimum Movement Speed": 3.0, "Maximum Movement Speed": 7.0,
💡Tip
Setting different values for "Minimum Movement Speed"
and "Maximum Movement Speed"
gives natural and randomized movement for your bots.
1.5.5 Bots Health
Make your bots immune by enabling "Infinitive Health"
. Useful for recoil practicing on the bots that don't move.
"Infinitive Health": true
1.6 Training Ground Performance Mode
By default, bots spawn when the player joins the training ground, and they get networked only to that player. But when this option is enabled, all players inside the training ground will share the same bots, which means the plugin won't spawn bots for each player separately.
This mode can be enabled for each training ground separately.
"Performance Mode - Enabled": true,
2. Recoil Pattern Generator
Helps to capture and generate recoil and anti-recoil patterns of any weapon with any attachments accurately.
2.1 Recoil Pattern Creation
Before you begin, the patterns are affected by any attachments attached to the weapon. Therefore the generated pattern for a gun with an attachment is different from a gun without one. So you may have to create different patterns for the same weapon but with various attachments to get all viable, accurate patterns.
- Prepare the weapon for which you want to create the recoil pattern.
- After you equip the weapon with its desired attachments, use the command
recoil.ready
and start firing without any gun control five times in a row at least. - Upon using the command, you'll notice the plugin has locked your belt inventory to prevent moving or dropping the weapon.
💡 Note
Only one admin can generate patterns at the same time.
When you finish, generate the pattern by using the command
recoil.generate
The plugin will print on the console detailed data of the pattern before generating and saving it.
[Recoil Pattern Generator] Max shots: 30
[Recoil Pattern Generator] 0: 0,14,13,32,50,51,44,37,17,0,-16,-31,-44,-51,-51,-45,-34,-19,-2,6,30,52,66,75,80,75,61,42,26,7
[Recoil Pattern Generator] 1: 0,14,12,24,41,51,44,33,17,0,-14,-30,-40,-48,-51,-45,-36,-27,-7,10,30,52,66,75,80,76,65,49,29,10
[Recoil Pattern Generator] 2: 0,11,12,19,43,51,44,35,19,3,-14,-32,-44,-51,-51,-45,-34,-21,-7,15,29,51,65,75,80,75,61,41,26,6
[Recoil Pattern Generator] AVG: 0,13,12,25,45,51,44,35,18,1,-15,-31,-43,-50,-51,-45,-35,-22,-5,10,30,52,66,75,80,75,62,44,27,8
The plugin now will automatically use the average or median of shots to reach the best result of the pattern.
You can find the patterns you generated in the
RecoilPatternGenerator.json
data file, and to use them in the training ground, copy them toRecoilTrainingGround.json
under the"Recoils"
list.{ "Recoils": [ { "Weapon Short Name": "ak47u.entity", "Attachments": [], "Recoil Points": [ 0, 14, 12, 27, 46, 51, 44, 33, 17, 0, -16, -32, -44, -51, -51, -45, -34, -19, -3, 14, 33, 52, 66 ] } ] }
Your spray pattern will remain displayed on the recoil board as long as you're firing with the gun, but as soon as you stop, your recoil points will reset.
💡Note
The recoil board and statistics will only work if there are patterns added to the "Recoils"
list.
2.2 Pattern Customization
You can modify the symbol, color, and size of the pattern from the RecoilTrainingGround.json
config file. That includes separate settings for both successful and missed shots, giving you more freedom in customizing the look of your pattern board.
"Symbol - Original Weapon Pattern": "⦿", "Symbol - Hit": "⦿", "Symbol - Miss": "⦿", "Color - Original Weapon Pattern": "#ffffff", "Color - Hit": "#00ff00", "Color - Miss": "#ff0000", "Font - Original Weapon Pattern": 10, "Font - Hit": 10, "Font - Miss": 10,
2.3 Shot Tolerance
"Hit - Max Tolerance": 10,
The "Max Tolerance"
stands for the ignorable amount of the missed hit.
Let's say the position of the recoil point X is 5, and your shot X landed at 9. In that case, the plugin will ignore the difference "Tolerance" and accept your shot as a successful hit.
2.3 Future Plans
User Reviews
Would 100% recommend this to others.
Easy to setup and great support for a very good price. Would 100% recommend this to others.
Love this +rep to dana