Fancy Drop is the all-in-one solution to change anything related to Supply Drops in Rust.
WARNING BEFORE UPDATIING TO VERSION 3.0.0 OR HIGHER READ THE UPDATE NOTES!
Credits to @k1lly0u for the patch
**Example 1: ** ad.random custom_event
**Example 2: ** ad.random custom_event regular
**Example 3: ** ad.random regular massdrop
**Example 4: ** ad.random regular custom_event
**Example 1: ** ad.topos 12 34 custom_event
**Example 2: ** ad.topos 56 78 massdrop dropdirect
**Example 3: ** ad.topos 46 58 massdrop custom_event
**Example 1: ** ad.massdrop 10 custom_event
**Example 2: ** ad.massdrop 20 supplysignal regular
**Example 3: ** ad.massdrop 15 supplysignal custom_event
This command can be extended by choosing the drop type AND optional static item list by this format: ad.massdropto <x> <z> <planes> <radius> <droptype> <optional:itemlist>
**Example 1: ** ad.massdropto 12 34 20 50 custom_event
**Example 2: ** ad.massdropto 56 78 50 100 supplysignal regular
**Example 3: ** ad.massdropto 46 58 25 100 supplysignal custom_event
**Example: ** ad.massdrop 10 supplysignal would announce that someone has used a supply signal, so better to use custom types instead.
Note: crateAirResistance should never be 0 - the lowest this should ever be set to is 0.6
Custom types can have an additional field:
This will be used for announcement of those custom drop types by combination with the language file entry "msgDropCustom".
The default configuration file has also this entry, which is used as default(fallback) in case of you delete some of the lines of any droptype:
You should leave it untouched, or if you are familiar wtih editing json files, you could take this as default for all types and delete not needed entrys from the "DropTypes" entries. It depends all on your experience level.
Furthermore you can ADD unlimited custom entries by your own and use such types by the supported console commands. These are:
As the name already describes, those lists are static. This means, it will always create the items which are included by the list. The only part of randomization is the amount between min and max.
You can define an infinite of those list entrys and use them by the available commands with each drop type.
You can change for every drop type, default or custom, the default static item list by adding a new "itemlist" entry and by changing the droptype-field "StaticItemListName"
You can use every of those unlimited item lists with every unlinmited custom drop type be the supported console commands:
This file is a simplified version of the built-in LootSpawn entries, already known by plugins like Loot Config.
Those Lootspawn tables are splitted into several sections, the plugin does export it in a more readable way.
The plugin will mark each level by a prefix number, to give you a hint how deep the tree the category is set.
Note: If you already have set up your drops by Loot Config, the export will exactly mirror your custom setting and you could use then this for further customization, which will resist any protocol change/update .
WARNING BEFORE UPDATIING TO VERSION 3.0.0 OR HIGHER READ THE UPDATE NOTES!
Features
- Lag-free crate spawning
- Spawning of a number of crates as you want
- Lag free mass dropping by unlimited number of planes
- Define any flight height for planes
- Define any flight distance for planes
- Define custom Loot for SupplyDrops
- Add static items to any SupplyDrop
- Adding a light-indicator system for dropping for day or night
- Adding a sound-indicator system for dropping for day or night
- Timer system
- Removal of inbuilt event-based drop
- NEW options for Space Delivery command for a direct drop
Drop Type Options
- Additional height for the plane
- Air resistance of the crates to define the fallspeed
- Distance between dropped crates
- Despawn time for dropped crates
- Optional usage of static item lists
- Define the number of crates
- Define the number of items in the crates
- The speed of the plane
- Optional usage of THE custom loot table
- Extra announcement text to be informed about the drop content/type
Alpha Loot Support
Fancy Drop detects any active usage of populating Supply Drops by Alpha Loot and does then deactivate ALL actions on changing the loot content.Credits to @k1lly0u for the patch
Better Loot Support
Fancy Drop detects any active usage of populating Supply Drops by Better Loot and does then deactivate ALL actions on changing the loot content.Chat Commands
- /droprandom > Initiates a random drop on the map; The random dropposition is calculated by serverdefault function by the plane itself => /droprandom
- /droptopos > /droptopos X Z' => droptopos 12 34' | takes NO Y(Height) and needs only numbers
- /droptoplayer > Initates a drop to a given player => /droptoplayer johndoe | names will be autocompleted, so you'll need only parts of the full name
- /dropdirect > Initates a (direct)drop to a given player; this means, a drop'only' without a plane will be created above the players position with a distance(up) of 100 meters => /dropdirect johndoe | names will be autocompleted, so you'll need only parts of the full name
- /dropspace > Initiates a (direct)drop to a given player; this means, a drop'only' without a plane will be delivered via a Space Delivery above the players position with a distance of 450 meters with a loud BOOM when it enters the atmosphere => /dropspace johndoe | names will be autocompleted, so you'll need only parts of the full name
- /dropmass > Initiates a random massdrop on map; with no number given, it will drop the default amount (default: 5), or specify the amount with /dropmass 10 to drop 10 crates random on the map
- /droptomass > Initiates a massdrop on a given area specified by X and Z (full numbers), and optional the amount of crates to drop (default:5), and optional another radius (in meters) then default (default: 100) => /droptomass 100 200 20 50 will drop around the position x:100 z:200 an amount of 20 drops within a radius of 50 meters
Console Commands
- ad.random > Initiates a random drop on the map; the random drop position is calculated by server default function by the plane itself.
**Example 1: ** ad.random custom_event
**Example 2: ** ad.random custom_event regular
**Example 3: ** ad.random regular massdrop
**Example 4: ** ad.random regular custom_event
- ad.topos > Initiates a drop on the map to the given x and z coordinates > 'ad.topos ' => ad.topos. 12 34
**Example 1: ** ad.topos 12 34 custom_event
**Example 2: ** ad.topos 56 78 massdrop dropdirect
**Example 3: ** ad.topos 46 58 massdrop custom_event
- ad.massdrop > Initiates a random massdrop on map; with no number given, it will drop the default amount (default: 5), or specify the amount with ad.massdrop 10 to drop 10 crates random on the map.
**Example 1: ** ad.massdrop 10 custom_event
**Example 2: ** ad.massdrop 20 supplysignal regular
**Example 3: ** ad.massdrop 15 supplysignal custom_event
- ad.massdropto > Initiates a massdrop on a given area specified by X and Z (full numbers), and optional the amount of crates to drop (default:5), and optional another radius (in meters) then default (default: 100) => ad.massdropto 100 200 20 50 will drop around the position x:100 z:200 an amount of 20 drops within a radius of 50 meters
This command can be extended by choosing the drop type AND optional static item list by this format: ad.massdropto <x> <z> <planes> <radius> <droptype> <optional:itemlist>
**Example 1: ** ad.massdropto 12 34 20 50 custom_event
**Example 2: ** ad.massdropto 56 78 50 100 supplysignal regular
**Example 3: ** ad.massdropto 46 58 25 100 supplysignal custom_event
- ad.toplayer > Initates a drop to a given player => ad.toplayer johndoe'| names will be autocompleted, so you'll need only parts of the full name
- ad.dropplayer > Initates a (direct)drop to a given player; this means, a drop'only' without a plane will be created above the players position with a distance(up) of 100 meters => ad.dropplayer johndoe | names will be autocompleted, so you'll need only parts of the full name
- ad.dropspace > Initiates a (direct)drop to a given player; this means, a drop'only' without a plane will be delivered via a Space Delivery above the players position with a distance of 450 meters with a loud BOOM when it enters the atmosphere => ad.dropspace johndoe| names will be autocompleted, so you'll need only parts of the full name
- ad.timer > Does reset the current timer and sets random a new depending on the config-file => ad.timer 5 will for example define exactly the time for the next timed airdrop; the timer will be calculated as normal again after this timer is run.
- ad.cleanup > The cleanup is a little helper for testing purposes or accidently to high initated massdrop; It stops the massdrop-routine, removes ALL planes and ALL airdrops.
Broadcasts
The usage of the default droptypes regular, massdrop and supplysignal will always force such information type. So its recommended to use only custom types with the supported commands, which gives back the correct information to be broadcasted.**Example: ** ad.massdrop 10 supplysignal would announce that someone has used a supply signal, so better to use custom types instead.
Configuration
The settings and options can be configured in the FancyDrop file under the config directory. The use of an editor and validator is recommended to avoid formatting issues and syntax errors.Note: crateAirResistance should never be 0 - the lowest this should ever be set to is 0.6
Localization
The default messages are in the FancyDrop file under the lang/en directory. To add support for another language, create a new language folder (e.g. de for German) if not already created, copy the default language file to the new folder and then customize the messages.FAQ
Description of DropTypes
The config includes by default all common droptypes. These are:- regular (timed/random drops)
- dropdirect ( planes to player or direct crate drop)
- massdrop
- supplysignal
- AND a predefined custom one called custom_event
Custom types can have an additional field:
This will be used for announcement of those custom drop types by combination with the language file entry "msgDropCustom".
The default configuration file has also this entry, which is used as default(fallback) in case of you delete some of the lines of any droptype:
You should leave it untouched, or if you are familiar wtih editing json files, you could take this as default for all types and delete not needed entrys from the "DropTypes" entries. It depends all on your experience level.
Furthermore you can ADD unlimited custom entries by your own and use such types by the supported console commands. These are:
- ad.random
- ad.topos
- ad.massdrop
- ad.massdropto
Description of StaticItems
Each drop type has a predefined static item list. These are found under:As the name already describes, those lists are static. This means, it will always create the items which are included by the list. The only part of randomization is the amount between min and max.
You can define an infinite of those list entrys and use them by the available commands with each drop type.
You can change for every drop type, default or custom, the default static item list by adding a new "itemlist" entry and by changing the droptype-field "StaticItemListName"
You can use every of those unlimited item lists with every unlinmited custom drop type be the supported console commands:
- ad.random
- ad.topos
- ad.massdrop
- ad.massdropto
Description of Custom Loot Table
On first start the plugin will create a file called FancyDrop.json in your oxide data folder.This file is a simplified version of the built-in LootSpawn entries, already known by plugins like Loot Config.
Those Lootspawn tables are splitted into several sections, the plugin does export it in a more readable way.
The plugin will mark each level by a prefix number, to give you a hint how deep the tree the category is set.
Note: If you already have set up your drops by Loot Config, the export will exactly mirror your custom setting and you could use then this for further customization, which will resist any protocol change/update .