CustomHelicopterTiers
Custom Helicopter Tiers V.1.4.1 by Dana
allows creating multiple helicopter levels with different advanced modifiers.
Social
Permissions
this plugin uses Oxide's permission system.
customhelicoptertiers.call.<tier_name>-- allows calling a specific helicopter tier.customhelicoptertiers.call.all-- allows calling any and all helicopter tiers.customhelicoptertiers.kill.<tier_name>-- allows destroying a specific helicopter tiers.customhelicoptertiers.kill.all-- allows destroying any and all helicopter tiers.customhelicoptertiers.limits.<name>-- assigns a set of command limits. replace<name>with the specified name in ["Custom Limits"] config.customhelicoptertiers.spawn-- allows using spawns chat commands.customhelicoptertiers.edit-- allows editing the loot table of helicopters.
Chat Commands
when using a chat command, prefix it with a forward slash.
/heli.call <tier_name>-- calls the specified helicopter tier to a random location./heli.call <tier_name> here-- adding here at the end will spawn the helicopter at your location./heli.kill <tier_name>-- destroys the specified helicopter./heli.kill all-- destroys all helicopters./heli.spawn set <name> X Y Z-- sets custom spawn target to specific coordinate./heli.spawn set <name>-- sets the current position as custom spawn target./heli.spawn show <optional time>-- displays all set custom spawn targets./heli.spawn delete <name>-- deletes specific custom spawn target./heli.loot <tier>-- creates loot table for specific tier helicopter.
Console Commands
heli.call <tier_name>-- calls the specified helicopter tier to random location.heli.kill <tier_name>-- destroys the specified helicopter.heli.kill all-- destroys all helicopters.heli.list-- lists all set helicopter tiers.
Client Console Commands
heli.call <tier_name>-- calls the specified helicopter tier to the player location.
Damage Modifiers
1.1. Rockets - Blunt Damage
- modifies the blunt damage caused by a single rocket.
1.2. Rockets - Explosion Damage
- modifies the explosion damage caused by a single rocket.
1.3. Rockets - Explosion Radius
- modifies the radius of an explosion caused by a single rocket.
1.4. Rockets - Max Launched Rockets
- sets the maximum rockets launched per attack.
1.5. Rockets - Time Between Each Rocket In Seconds
- adjusts the launch time between each rocket.
2.1. Turrets - Bullet Damage
- adjusts the damage a single bullet from helicopter machine guns can deal - Default 20
2.2. Turrets - Max Bullet Range
- adjusts the maximum range of the machine guns - Default 300
2.3. Turrets - Bullet Accuracy
- adjusts the accuracy of the machine guns - Default 2
2.4. Turrets - Bullet Speed
- adjusts the travel speed of the bullet - Default 250
2.5. Turrets - Interval Between Bursts In Seconds
- adjusts the cooldown between each burst of machine guns - Default 3
2.6. Turrets - Duration of Burst In Seconds
- adjusts the fire duration of the machine guns - Default 3
2.7. Turrets - Fire Rate In Seconds
- adjusts the fire speed of the machine guns - Default 0.125
Global Modifiers
The following modifiers can't be set individually for each helicopter tier, as they're global configs for the server and not the plugin.
Keep in mind, changing them will affect all of the patrol helicopters.
{
"Damage - Turrets - Bullet Accuracy": 2.0,
"Spawn - Maximum Helicopter Life Time In Minutes": 15.0
}Optional Dependency
This plugin supports both ServerRewards and Economics plugins, as it allows the players to receive Reward Points and Money when taking down the helicopter.
Compatibility
This plugin can not be compatible with AutomatedEvents unless you have the config of Patrol Helicopter Event disabled. Otherwise, there won't be conflicts.
Statistics
The plugin provides stats upon helicopter kill which are,
- Most accurate player with hitting the helicopter rotors.
- The total damage dealt to the helicopter.
- Time spent to take the helicopter down.
Tiers
You can add as many tiers as you want, but make sure to keep the level names without spaces.
"Levels": {
"Elite": {},
"Regular": {},
"Military": {}
}Configuration
the settings and options for this plugin can be configured in the CustomHelicopterTiers.json file under the oxide/config directory.
{
"Config": {
"Plugin - Enabled": true,
"ServerRewards - Enabled": true,
"Economics - Enabled": false,
"Damage - Turrets - Bullet Accuracy": 2.0,
"Spawn - Disable Rust Default Helicopter": true,
"Spawn - Maximum Helicopter Life Time In Minutes": 15.0,
"Spawn Locations": {
"Airfield": {
"x": 0.0,
"y": 0.0,
"z": 0.0
},
"MilitaryTunnel": {
"x": 0.0,
"y": 0.0,
"z": 0.0
}
},
"Helicopter - Tiers": {
"Regular": {
"Helicopter - Enabled": true,
"Damage - Rockets - Blunt Damage": 175.0,
"Damage - Rockets - Explosion Damage": 100.0,
"Damage - Rockets - Explosion Radius": 6.0,
"Damage - Rockets - Max Launched Rockets": 12,
"Damage - Rockets - Time Between Each Rocket In Seconds": 0.2,
"Damage - Turrets - Bullet Damage": 20.0,
"Damage - Turrets - Max Bullet Range": 300.0,
"Damage - Turrets - Bullet Speed": 250,
"Damage - Turrets - Interval Between Bursts In Seconds": 3.0,
"Damage - Turrets - Duration of Burst In Seconds": 3.0,
"Damage - Turrets - Fire Rate In Seconds": 0.125,
"Health - Body Health": 10000.0,
"Health - Main Rotor Health": 750.0,
"Health - Tail Rotor Health": 375.0,
"Misc - Helicopter Speed": 25.0,
"Misc - Helicopter Startup Length In Seconds": 0.0,
"Misc - Helicopter Startup Speed": 25.0,
"Misc - Prevent Loot Crates Spawn When Force Kill": true,
"Loot - Gibs HP": 500.0,
"Loot - Gibs Harvest Cooldown In Seconds": 480.0,
"Loot - Only Invoker Can Loot": false,
"Loot - Admin Bypass Crates Cooldown": true,
"Loot - Max Crates": 4,
"Loot - Crates Unlock Cooldown In Minutes": 15.0,
"Loot - Enable Custom Loot Table": true,
"Loot - Maximum Amount": 2,
"Loot - Minimum Amount": 1,
"Loot - Custom Loot Table": [
{
"ItemId": -742865266,
"ItemShortName": "ammo.rocket.basic",
"SkinId": 0,
"Amount": 3,
"IsBlueprint": false
},
{
"ItemId": -1841918730,
"ItemShortName": "ammo.rocket.hv",
"SkinId": 0,
"Amount": 3,
"IsBlueprint": false
},
{
"ItemId": 1638322904,
"ItemShortName": "ammo.rocket.fire",
"SkinId": 0,
"Amount": 3,
"IsBlueprint": false
}
],
"Spawn - Max Active Helicopters": 3,
"Spawn - Custom - Enabled": true,
"Spawn - Custom - Location Name": "Airfield",
"Spawn - Randomized - Enabled": false,
"Spawn - Minimum Time In Minutes": 60.0,
"Spawn - Maximum Time In Minutes": 120.0,
"Kill - Reward Points": 1000,
"Kill - Economics": 1000,
"Command - Default Cooldown In Minutes": 60.0,
"Command - Default Daily Limit": 3,
"Command - Custom Limits": {
"VIP": {
"Cooldown Minutes": 60.0,
"Daily Limit": 3
}
}
},
"Military": null,
"Elite": null
}
}
}Custom Loot Table
To create a loot table to specific helicopter tier, use the command /heli.loot <tier>. After that, a crate in front of you will spawn where you can drop the wished items in to create the loot table.
If you had already items set in config, those items will appear in the crate as well, allowing you to modify it easily.
You can also duplicate this config format to add new items to the loot table. But when adding items manually, make sure to use their short names which can be found here Rust Items List
"Loot - Custom Loot Table": [
{
"ItemId": -742865266,
"ItemShortName": "ammo.rocket.basic",
"SkinId": 0,
"Amount": 3,
"IsBlueprint": false
}
]Adjusting items chances can be done through these 2 configs, which determine the minimum and maximum available slots in the helicopter crates to spawn items in.
{
"Loot - Maximum Amount": 2,
"Loot - Minimum Amount": 1,
}Crates Unlock Cooldown
Set it to -1 for no cooldown.
Custom Spawn Locations
You can add custom locations either through the config or by using the heli.spawn chat commands.
Each helicopter tier accepts only one custom spawn location.
"Spawn - Locations": {
"Airfield": {
"x": 0.0,
"y": 0.0,
"z": 0.0
}
}Custom Command Limits
This plugin provides dynamic permissions that allow infinite customization for each helicopter tier.
To add custom limits assigned to permission, head to the ["Command - Custom Limits"] config and create a new custom limit with the name "VIP" as follows,
{
"Command - Custom Limits": {
"VIP": {
"Cooldown In Minutes": 0.0,
"Daily Limit": 3
},
"VIP_GOLD": {
"Cooldown In Minutes": 60.0,
"Daily Limit": 0
}
}
}In this example,
customhelicoptertiers.limits.VIPpermission will grant no cooldown and 3 limited daily uses.customhelicoptertiers.limits.VIP_GOLDpermission will grant 60 minutes of cooldown and unlimited daily uses.
In case a player has both permissions, he'll be using the best available limits from each of them.
Max Active Helicopters
Set it to -1 for an unlimited number of helicopters per tier.
Admin Bypass Crates Cooldown
Enabling this option will allow admins to bypass the fire-lock of the crates immediately.
Localization
the default messages are in CustomHelicopterTiers.json file under the oxide/lang/en directory.
{
"Kill Reward Point Player Message": "You have been rewarded <color=#00FF00>{0} RP</color> for destroying the {1}!",
"Kill Reward Point Server Message": "<color=#CCEE33>{2}</color> has been rewarded <color=#00FF00>{0} RP</color> for destroying the {1}!",
"Kill Economics Player Message": "You have been rewarded <color=#00FF00>{0} </color> for destroying the {1}!",
"Kill Economics Server Message": "<color=#CCEE33>{2}</color> has been rewarded <color=#00FF00>{0} </color> for destroying the {1}!",
"Kill Stats Damage": "It took {0} and total {1} damage to destroy {2}!",
"Kill Stats Top Most Accurate": "<color=#CCEE33>{2}</color> with top rotor accuracy of <color=#00FF00>{0}%</color> for destroying the {1}!",
"No Tiers Found": "No Tiers Found",
"Tier Not Found": "Tier Not Found",
"No Custom Loots Found": "Unable to populate heli crate with custom loot items because no items were specified in config",
"No Item Definition": "Failed to use custom helicopter crate loot item \"{0}\" because no such item definition exists",
"Is Not Researchable": "Failed create helicopter crate loot item \"{0}\" as a blueprint because it is not researchable",
"Item Not Found": "Failed to create heli crate loot item \"{0}\" because no such item exists",
"Helicopter Crate Items": "--- Helicopter Crate Items ---",
"No Loot Permission": "You don't have permission to loot this container.",
"Plugin Disabled": "This plugin is disabled.",
"Tier Name Required": "You must add a tier name as an argument.",
"Tier No Call Permission": "You don't have permission to call this tier.",
"Tier No Call Permission (ForAdmins)": "You don't have {0} permission to destroy this tier.",
"Helicopter Level Disabled": "That helicopter tier is disabled.",
"Helicopter Called Chat Message": "Helicopter tier {0} called for {1}",
"Helicopter Called Console Message": "{0} called helicopter tier {1} for {2}",
"Helicopter Spawned": "Helicopter tier {0} spawned for {1}",
"Invalid Argument For Kill Command": "You must add a tier name, or \"all\" as an argument.",
"Tier No Kill Permission": "You don't have permission to destroy this tier.",
"No Helicopters To Destroy": "No helicopters to destroy.",
"Helicopters Destroyed Chat Message": "You destroyed {0} tier {1} helicopter(s).",
"Helicopters Destroyed Console Message": "{0} destroyed {1} tier {2} helicopter(s).",
"Helicopter List Title": "Helicopters List:",
"Helicopter List Item": "Tier: {0}, Enabled: {1}, AutoSpawn: {2}, RandomSpawn: {3}, Current Active: {4}",
"Helicopter List No Data": "Tier: {0}, No Data To Display",
"Day(s)": "Day(s)",
"Hour(s)": "Hour(s)",
"Minute(s)": "Minute(s)",
"Second(s)": "Second(s)",
"Patrol Helicopter Info": "[<color=#EE0000>{0}</color>] Patrol Helicopter",
"No Tiers Found To Spawn": "No auto or random spawn helicopters since there are no levels",
"No Enabled Tiers Found To Spawn": "No auto or random spawn helicopters since all levels are disabled",
"No Auto Spawn Tiers Found": "No auto spawn helicopters found to spawn",
"No Random Spawn Tiers Found": "No random spawn helicopters found to spawn",
"Cooldown Message": "You can use this again in {0}.",
"Daily Limit Message": "You have reached your daily limit for this helicopter ({0}).",
"Default Helicopter Spawning Disabled": "Default helicopter spawning disabled",
"Wrong Command": "Wrong Command",
"No Spawn Command Permission": "You don't have permission to use this command",
"No Edit Command Permission": "You don't have permission to use this command",
"Invalid Coordinates": "Invalid Coordinates",
"Spawn Name Required": "You must add a spawn name as an argument.",
"Spawn Position Set": "Spawn position set",
"Spawn Position Deleted": "Spawn position deleted",
"Spawn Position Not Found": "Spawn Position Not Found",
"Helicopter Limit Reached": "Unable to spawn tier {0} helicopter, because maximum limit reached.",
"Invalid Box Data": "Invalid box data",
"Loot Box Updated": "Loot box table updated for helicopter tier {0}",
"Loot Box Cooldown": "You should wait {0} for opening this crate"
}



