Custom Helicopter Tiers

Custom Helicopter Tiers 2.5.1

Contents
  • Permissions
  • Understanding the Weighting System
  • Chat Commands
  • Console Commands
  • Global Configuration
  • Take full control of the patrol helicopter and customize each of its aspects to your liking, creating an unlimited number of tiers with different difficulties. A great addition to both PVE and PVP servers.

    Discord server for support:



    Permissions
    CustomHelicopterTiers uses Oxides permission system
    To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
    To assign a group permission use oxide.grant group "groupname" "permission" in console.
    You can read more about how to use the permission system here : uMod - Permissions
    • customhelicoptertiers.call.<Tier> - Allows using the heli.call chat commands for a specific helicopter
    • customhelicoptertiers.call.all - Allows using the heli.call chat commands for all helicopters
    • customhelicoptertiers.limits.<Name> - Assigns a set of command limits.
    • customhelicoptertiers.admin - Allows using the admin commands



    Understanding the Weighting System

    1. Assigning Weights to Rarities
    In this system, items are divided into different rarities: Common, Uncommon, Rare, and VeryRare. Each rarity is assigned a specific weight that determines how likely it is to be selected when loot is populated. Here's an example of how these weights are assigned:
    JSON:
    "Rarity Weights": {
        "Common": 5,
        "Uncommon": 3,
        "Rare": 1,
        "VeryRare": 1
    }
    "Common" has a weight of 5.
    "Uncommon" has a weight of 3.
    Both "Rare" and "VeryRare" have weights of 1.

    When you add up these weights, you get a total of 10 (5 + 3 + 1 + 1 = 10). This means that out of these 10 items, if you were to randomly pick an item to spawn, you would have:
    - 5 out of 10 (50%) chance of picking a "Common" item.
    - 3 out of 10 (30%) chance of picking an "Uncommon" item.
    - 1 out of 10 (10%) chance of picking a "Rare" item.
    - 1 out of 10 (10%) chance of picking a "VeryRare" item.


    1Cy17V5.jpg


    2. Choosing Items Based on Rarity
    Once a rarity is chosen based on its weight, a specific item from that rarity pool is randomly selected. This means that not only is the rarity randomized, but also the specific item within that rarity. Here's an example of how it works:
    JSON:
    "Custom Loot Table": [
        {
            "Shortname": "ammo.rocket.basic",
            "Rarity": "Common"
        },
        {
            "Shortname": "explosives",
            "Rarity": "VeryRare"
        }
    ]
    If the "Common" rarity is chosen, any item marked as "Common" in the loot table (e.g., "ammo.rocket.basic") can be found in the crate. Each item within the same rarity category has an equal chance of spawning.

    Note:
    - No item will spawn multiple times in a single crate.



    Chat Commands
    • heli.help - Prints all commands and their usage
    • heli.call <Tier> - Spawns the helicopter from a random location
    • heli.call <Tier> here - Calls the helicopter to your location
    • heli.kill <Tier> - Kills the helicopter
    • heli.kill all - Kills all active helicopters on the map
    • heli.loot set <Tier> - Sets the loot table of the helicopter
    • heli.spawn set <Spawn Point Name> <Position> - Sets a custom spawn point based on the coordinates
    • heli.spawn set <Spawn Point Name> here - Sets a custom spawn point at your location
    • heli.spawn delete <Spawn Point Name> - Deletes a custom spawn point
    • heli.spawn show - Shows all created custom spawn points
    • heli.delete <Tier> - Deletes a helicopter
    • heli.add <Tier> - Adds a helicopter
    • heli.list - Lists all created helicopters


    Console Commands
    • heli.call <Tier> - Spawns the helicopter from a random location
    • heli.call <Tier> <Steam ID> - Calls the helicopter to the player's location
    • heli.kill <Tier> - Kills the helicopter
    • heli.kill all - Kills all active helicopters on the map
    • heli.report - Prints a report of the helicopters



    Global Configuration
    JSON:
    "Global Helicopter Config": {
          "Turrets Bullet Accuracy": 2,
          "Disable Rust Default Helicopter": true,
          "Maximum Helicopter Life Time In Minutes": 15.0
        },


    The above configs can't be set individually for each tier and changing them will affect all of the created helicopters.


    PVP Configuration​

    JSON:
    "PVP": {
    
              "Lock To The Invoker": true,
    
              "Team Included On Invoker Lock": false,
    
              "Invoker Has Priority In The Team": true,
    
              "Do Not Allow Others To Trigger The Helicopter Until Reaching The Invoker": false,
    
              "Lock To First Attacker": false
    
            },


    Lock To The Invoker​

    If enabled, the helicopter will not attack anyone but the player who called it, and it can't be interrupted by other players.
    Damage dealt by other players will be nullified as well.


    Team Included On Invoker Lock​

    Team and clan members of the invoker will be added to the hostility list of the helicopter.


    Invoker Has Priority In The Team​

    If enabled, the player who called the helicopter will have top priority among his teammates, but if he isn't alive or visible, then it'll target one of his team members.

    This option only works if Team Included On Invoker Lock is enabled.


    Do Not Allow Others To Trigger The Helicopter Until Reaching The Invoker​

    Stops the called helicopter from moving to its destination to the invoker and tries to attack the player who interrupted it instead.


    Lock To First Attacker​

    This works as a reservation system. The helicopter will be locked to the first player who attacks it





    PVE​

    JSON:
    "PVE": {
    
              "Prevent Damage To Other Players Properties": false
    
            },


    Prevent Damage To Other Players Properties​

    This works perfectly for PVE servers as it prevents any attempt to raid or destroy structures of other players while attacking the helicopter.





    Rockets and Turrets​

    JSON:
    "Damage": {
    
              "Rockets - Blunt Damage": 175,
    
              "Rockets - Explosion Damage": 100,
    
              "Rockets - Explosion Radius": 6,
    
              "Rockets - Max Launched Rockets": 12,
    
              "Rockets - Time Between Each Rocket In Seconds": 1,
    
              "Turrets - Bullet Damage": 20.0,
    
              "Turrets - Max Bullet Range": 300.0,
    
              "Turrets - Bullet Speed": 250,
    
              "Turrets - Interval Between Bursts In Seconds": 3,
    
              "Turrets - Duration of Burst In Seconds": 3,
    
              "Turrets - Fire Rate In Seconds": 12
    
            },


    Rockets Blunt Damage​

    Modifies the blunt damage caused by a single rocket.


    Rockets Explosion Damage​

    Modifies the explosion damage caused by a single rocket.


    Rockets Explosion Radius​

    Modifies the radius of an explosion caused by a single rocket.


    Rockets Max Launched Rockets​

    Sets the maximum rockets launched per attack.


    Rockets Time Between Each Rocket In Seconds​

    Adjusts the launch time between each rocket.


    Turrets Bullet Damage​

    Adjusts the damage a single bullet from helicopter machine guns can deal (Default 20)


    Turrets Max Bullet Range​

    Adjusts the maximum range of the machine guns (Default 300)


    Turrets Bullet Accuracy​

    Adjusts the accuracy of the machine guns (Default 2)


    Turrets Bullet Speed​

    Adjusts the travel speed of the bullet (Default 250)


    Turrets Interval Between Bursts In Seconds​

    Adjusts the cooldown between each burst of machine guns (Default 3)


    Turrets Duration of Burst In Seconds​

    Adjusts the fire duration of the machine guns (Default 3)


    Turrets Fire Rate In Seconds​

    Adjusts the fire speed of the machine guns (Default 0.125)





    Health​

    JSON:
    "Health": {
    
              "Body": 10000.0,
    
              "Main Rotor": 750.0,
    
              "Tail Rotor": 375.0
    
            },


    Body​

    The base health of the helicopter (Default 10000)


    Main Rotor​

    The health of the top rotor (Default 750)


    Tail Rotor​

    The health of the tail rotor (Default 375)





    Speed​

    JSON:
    "Speed": {
    
              "Maximum Helicopter Speed": 25.0,
    
              "Helicopter Startup Length In Seconds": 0.0,
    
              "Initial Helicopter Startup Speed": 25.0
    
            },


    Maximum Helicopter Speed​

    The maximum flight speed of the helicopter (Default 25)


    Helicopter Startup Length In Seconds​

    The time needed for the helicopter to change its initial speed to the maximum speed (Default 0)


    Initial Helicopter Startup Speed​

    The initial speed of the helicopter before reaching that maximum speed (Default 25)




    Chat Broadcast Configuration​

    JSON:
    "Chat Broadcast": {
    
              "Manual Spawn": false,
    
              "Custom Spawn": false,
    
              "Random Spawn": false
    
            },


    Manual Spawn​

    Broadcasts a message in chat when the helicopter is spawned by using the heli.call command.


    Custom Spawn​

    Broadcasts a message in chat when the helicopter is spawned by the server from one of the predefined custom spawn points.


    Random Spawn​

    Broadcasts a message in chat when the helicopter is spawned by the server from any location randomly.





    Loot​

    JSON:
            "Debris": {
              "Spawn After Crash": true,
              "Harvestable Hit Points": 500.0,
              "Cooling Period Seconds": 480.0
            },
            "Loot": {
              "Maximum Crates To Spawn": 10,
              "Burn Crates": false,
              "Fire Ball": {
                "Minimum Lifetime Seconds": 20.0,
                "Maximum Lifetime Seconds": 40.0,
                "Spread Probability Percentage": 50,
                "Elapsed Lifetime Percentage To Begin Spreading": 50,
                "Burn Damage Reach": 0.5,
                "Base Burn Damage Amount": 2.0,
                "Damage Occurrence Frequency Seconds": 0.5,
                "Water Amount To Extinguish": 200
              },
              "Delay Before Crates Become Lootable Minutes": 10.0,
              "Always Lootable By Admins": true,
              "Can Be Opened Only By Summoner": false,
              "Can Be Opened By Summoner Team": false,
              "Use Custom Loot Table": true,
              "Minimum Loot Spawn Slots": 2,
              "Maximum Loot Spawn Slots": 3,
              "Rarity Weights Preset": {
                "Common": 70,
                "Uncommon": 30,
                "Rare": 3,
                "VeryRare": 1
              },
              "Custom Loot Table": [
                {
                  "Shortname": "ammo.rocket.basic",
                  "Skin Id": 0,
                  "Minimum Spawn Amount": 3,
                  "Maximum Spawn Amount": 3,
                  "Spawn As Blueprint": false,
                  "Rarity": "Common"
                },
                {
                  "Shortname": "ammo.rocket.fire",
                  "Skin Id": 0,
                  "Minimum Spawn Amount": 3,
                  "Maximum Spawn Amount": 5,
                  "Spawn As Blueprint": false,
                  "Rarity": "Common"
                }
              ]
            },

    Gibs Health​

    The health of the harvestable fallen parts of the helicopter after it gets destroyed (Default 500)


    Gibs Harvest Cooldown In Seconds​

    The wait time required before the debris can be harvested (Default 480)


    Crates Amount​

    The number of dropped crates after the helicopter gets destroyed (Default 4)


    Crates Prevent Drop When Force Kill​

    If enabled, the helicopter will not drop any loot crates if it gets destroyed using the heli.kill command.


    Crates Unlock Cooldown In Minutes​

    The wait time required before the crates can be accessed and looted.

    Set to -1 for no cooldown.


    Crates Vanilla Slots​

    Determines the minimum and maximum available slots in a single loot crate.


    Lock To Invoker​

    Only allow the player who called the helicopter to loot the crates.


    Include Team​

    Allow team and clan members of the invoker to loot the crates.


    Admin Bypass Crates Cooldown​

    Allows admins to bypass the firelock of loot crates.




    Creating Custom Loot Table​


    JSON:
    "Custom Loot Table - Enabled": true,
    
              "Custom Loot Table": [
    
                {
    
                  "Item ID": -742865266,
    
                  "Item Short Name": "ammo.rocket.basic",
    
                  "Skin ID": 0,
    
                  "Minimum Amount": 2,
    
                  "Maximum Amount": 3,
    
                  "Blueprint": false
    
                },


    Create a custom loot table by using the command heli.loot set <Tier>.


    A crate will spawn in front of you which you can drop the wished items in to create the loot table. Afterwards, the items and their amounts will be saved automatically into the config.

    The maximum amount you dropped in the crate will be used as the maximum amount.

    If you had already a pre-created loot table, then its items will also appear in the spawned crate, allowing you to modify them easily.



    You can create the loot table manually as well by duplicating the items configs.
    Short names and IDs of items can be found here





    Spawn​

    JSON:
    "Spawn": {
    
              "Spawn Chance (Default = 100)": 100.0,
    
              "Minimum Spawn Time In Minutes": 60.0,
    
              "Maximum Spawn Time In Minutes": 120.0,
    
              "Randomized Spawn - Enabled (Vanilla)": true,
    
              "Custom Spawn - Enabled": false,
    
              "Custom Spawn - Locations": [
    
                "Airfield"
    
              ]
    
            },


    Spawn Chance​

    The probability of the helicopter to spawn


    Spawn Time In Minutes​

    The maximum and minimum time for spawning the helicopter.


    Randomized Spawn​

    If enabled, the helicopter will spawn from any location randomly.


    Custom Spawn​

    If enabled, the helicopter will spawn from predefined custom spawn locations.
    Keep in mind that you can't have both Randomized Spawn and Custom Spawned enabled.


    Create custom spawn locations by using the heli.spawn set <Spawn Point Name> <Position> command
    • The Position can be replaced either with a coordinate X, Y, Z or with here
    • You can get the player coordinate by using the server command server.printpos
    Now, and under the Custom Spawn Locations config, add the name of the spawn location you created.



    You can add as many custom spawn locations as you want to each tier, and for each time the helicopter spawns, it'll choose one of them randomly.





    Reward Points and Money​

    JSON:
    "Kill Rewards": {
    
              "Reward Points": 1000,
    
              "Economics": 1000
    
            },


    Allow your players to receive Money and Reward Points by taking down the helicopter.
    Rewards are given based on the total damage dealt to the helicopter.





    Statistics​


    Statistics are broadcasted in a chat message upon destroying the helicopter, and they include

    • Accuracy of hitting the rotors
    • Total damage dealt
    • Time spent to take down the helicopter




    Summon Profiles​

    JSON:
    "Call Command": {
    
              "Default Cooldown In Minutes": 0.0,
    
              "Default Daily Limit": 0,
    
              "Custom Limits": {
    
                "VIP": {
    
                  "Cooldown Minutes": 60.0,
    
                  "Daily Limit": 3
    
                }
    
              }
    
            }


    Call Command Cooldown In Minutes​

    The default time required in order to use the heli.call command again.


    Call Command Daily Limit​

    The default number of times a player can use the heli.call command per day.


    Custom Limits​

    Provides dynamic permissions which allow infinite customization for each tier.


    To add custom limits assigned to permission, head to the Custom Limits config and create one with the name VIP. Now, replace <Name> in customhelicoptertiers.limits.<Name> permission with VIP.

    This will result in customhelicoptertiers.limits.VIP, which when granted will have a cooldown of 60 minutes and 3 limited uses per day



    In case a player has 2 permissions with different limits, he'll be automatically using the best available limits from each of them.




    Monuments Spawn Locations​


    JSON:
    "Monuments Spawn Locations": {
    
          "Large Fishing Village": {
    
            "Position": {
    
              "x": -454.068848,
    
              "y": 0.0,
    
              "z": -1019.226
    
            }
    
          },
    
          "Fishing Village": {
    
            "Position": {
    
              "x": 612.134949,
    
              "y": 0.0,
    
              "z": 489.8864
    
            }
    
          }
    
    }

    Monuments spawn locations of monuments are auto-generated on plugin load and they get added automatically to the Monuments Spawn Locations list.



    Information

    Author
    Dana
    First release
    Last update
    Rating
    4.00 star(s) 22 ratings

    Latest Release v2.5.1

    Released
    Nov 15, 2023 at 2:20 PM
    Rating
    0.00 star(s) 0 ratings


    More resources from Dana


    Custom Helicopter Tiers by Dana
    © chaoscode.io Oct 16, 2020

    Latest reviews

    Great Plugin for pvp/pve server for heli replacement. very customizable to fit any need, dana is very fast and responsive with help. Would recommend. 12/10
    Dana
    Dana
    Thank you!
    Great plugin! Cannot wait for the API update so I'll be able to grab the tiers of each helicopter and integrate it with item perks to drop super powered enhanced loot with certain tiers!
    Dana
    Dana
    Soon! ;D
    I absolutly love this plugin it makes spawning custom helis so easy this only thing that is missing and i would love to see is some kind of developer api at least posibility to get all spawned helicopters is it would be easier to integrate to other plugins :)
    Dana
    Dana
    Thank you! In the upcoming CHT rewrite 3.0.0, which is currently under development, I'll be introducing API methods that will enable other plugins to utilize tiered helicopters or distinguish them from vanilla ones
    the plugin works BUT: all my custom loot crates are empty! impossible to pop an item there if the loot is not vanilla :/ help me please
    Dana
    Dana
    It's possible that the problem is due to an invalid loot table config, where the items might be missing the Rarity config keys or have them set to 0. If you reach out to me in the Discussion section or on Discord, I'd be happy to help you troubleshoot the issue. In the future, it might be more helpful to contact me directly for assistance rather than asking for help in the review section. Thank you for your understanding.
    Dana's getting a lot of stick in ratings, I'd ask some of the inpatient kids firing reviews left right and centre without even attempting to contact Dana for support rethink their approach. I would also say ChaosCode should be vetting the reviews better in order to protect their creators?

    This plugin is very easy to setup, there's not much to it at all - enables you to alter every aspect of helicoptes, to the difficulty you want to spawn, how fast it goes, what damage it does, how many crates it'll drop, if it'll be on fire or not.

    I understand some new server owners might be struggling so please get in touch with Dana if you're having a problem, - if you need help setting this up on your server then let me know, you can find me in the RustAdminAcademy or RustEdit Discords.
    Dana
    Dana
    Thank you, Markiii, for your supportive words, and I hope you and your players find CHT enjoyable.
    PvE damage doesn't work. unable to damage downed heli
    Dana
    Dana
    When enabling the "Player Versus Environment" option, players' constructions and deployable will not receive damage from the helicopter except those owned by the caller and his team. That includes nullifying damage from helicopter rockets and turrets. You may have misunderstood what the config option does, or the event didn't meet all the conditions required for the flag to take effect.

    What you said about being unable to damage downed helicopters is vague and requires more details to understand what you mean, which would have been better to take place in the discussion section. Otherwise, how do you expect me to help if you don't contact me and report your issue in detail?
    PvE damage still bugged
    Dana
    Dana
    The PVE flag was fixed a couple of updates ago. If you're having a problem, explain and describe it precisely so I can help you solve it. But posting misleading reviews repeatedly is not cool.
    this plugin is the father of bugs! bought 1 year ago and its still not good
    Dana
    Dana
    I have addressed all the reported issues in the latest releases. If you're still facing a particular problem, please provide a detailed report on the problem so we can work together to solve it. I regularly read and answer posted threads. You can reach me easily on Discord or here through the discussions section!
    PvE damage still bugged
    Still buggy with PvE