FancyDrop for Rust

The All-In-One Airdrop toolset

Total Downloads: 9,902 - First Release: Jun 8, 2016 - Last Update: Oct 12, 2017

5/5, 46 likes
  1. Fujikura
    FancyDrop is the all-in-one solution to change anything related to SupplyDrops.
    Info on the Docs: you should also check the Update section, I do not refresh the documentation on every plugin-update > FancyDrop for Rust - Updates | Oxide

    Core-Features of FancyDrop:
    • 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 at night
    • Timer system
    • Removal of inbuilt event-based drop
    It supports many default drop types and custom added event based drop types.
    Each drop type has its own settings to give a most possible unique configuration.

    The unique DropType options for each plane include those features:
    • 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
    • READ MORE in the FAQ: FancyDrop for Rust - FAQ | Oxide
    INFO on using BetterLoot: FancyDrop detects any active usage of populating SupplyDrops by BetterLoot and does then deactivate ALL actions on changing the lootcontent.

    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 => 'ad.dropplayer 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 'ad.massdrop 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) => '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

      By given '0 0' for the coords, it wil choose a random position
    Console Commands:
    • ad.random > Initiates a random drop on the map; The random dropposition is calculated by serverdefault function by the plane itself
      This command can be extended by choosing the droptype AND optional static-item-list by
      this format 'ad.random <droptype> <optional:itemlist>'
      Example1: 'ad.random custom_event'
      Example2: 'ad.random custom_event regular'
      Example3: 'ad.random regular massdrop'
      Example4: 'ad.random regular custom_event'

    • ad.topos > Initiates a drop on the map to the given x and z coordinates > 'ad.topos <x> <z>' => 'ad.topos. 12 34'
      This command can be extended by choosing the droptype AND optional static-item-list by
      this format 'ad.topos <x> <z> <droptype> <optional:itemlist>'
      Example1: 'ad.topos 12 34 custom_event'
      Example2: 'ad.topos 56 78 massdrop dropdirect'
      Example3: '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
      This command can be extended by choosing the droptype AND optional static-item-list by
      this format 'ad.massdrop <planes> <droptype> <optional:itemlist>'
      Example1: 'ad.massdrop 10 custom_event'
      Example2: 'ad.massdrop 20 supplysignal regular'
      Example3: '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

      By given '0 0' for coords, it will choose a random position

      This command can be extended by choosing the droptype AND optional static-item-list by
      this format 'ad.massdropto <x> <z> <planes> <radius> <droptype> <optional:itemlist>'
      Example1: 'ad.massdropto 12 34 20 50 custom_event'
      Example2: 'ad.massdropto 56 78 50 100 supplysignal regular'
      Example3: '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.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.
    Info on 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 supplysignal. So better use custom types instead.

    Description of config parts:
    Code (Javascript):
      "Airdrop": {
        "Default radius for location based massdrop": 100, // plane drop radius setting for Massdrop to location
        "Delay between Massdrop plane spawns": 0.33, // this does prevent massdrop server laggs by delaying the spawn of planes
        "Disable SupplySignal randomization": false, // lets drops by signal exactly land on position or randomize the drop location (+/-20)
        "Massdrop default plane amount": 5, // default amount for massdrop when no number was provided
        "Multiplier for (plane height * highest point on Map); Default 1.0": 1.0, // sets the plane flight height based on the maps highest point.
        "Multiplier for overall flight distance; lower means faster at map": 1.25, // lets planes fly in short from map border, lowering lets them fly in earlier; reduces also the general flight distance of planes
        "Players can shoot down the drop": false, // weither players can shoot drop "crate" down > would kill the parachute amd lets it fall down faster
        "Players can shoot down the drop - needed hits": 5, // number of bullets for ths function above
        "Prefab effect to use": "assets/bundled/prefabs/fx/survey_explosion.prefab", // creates an effect on crates hitting the ground
        "Prefab effect to use at spawn by night": "assets/bundled/prefabs/fx/player/onfire.prefab", // creates an effect when the crate got dropped in the air
        "signal rocket explosion timer": 15, // timer when signal rockets do explode
        "signal rocket speed": 15, // speed of signal rockets
        "Use special effect at reaching ground position": true, // using effect when hitting ground
        "Use special effect at spawning by night": true // using bright light effect when crates are dropped by night
      },
    Code (Javascript):
      "DropLight": {
        "Frequency for blinking": 0.25, // blinking frequency in seconds
        "remove Light once landed": false, // do remove the lantern once the crate does hit the ground
        "Time for pause between blinking": 3.0, // pause interval between blinking
        "use SupplyDrop Light": true // enable/disable the droplight
      },
    Code (Javascript):
      "Generic": {
        "Admin messages color": "silver", // color of messages to online admins (like incoming drop locations)
        "AuthLevel needed for console commands": 1, // needed authLevel for airdrop commands
        "Broadcast messages color": "white", // color of broadcast texts
        "Chat/Message prefix": "Air Drop", // plugin prefix for broadcasts
        "GUI Announce command": "announce.announce",
        "Lock DirectDrop to be looted only by target player": true, // locks drops of type directdrop for the player it was sent to, to prevent stealing of content
        "Lock SignalDrop to be looted only by target player": false, / locks drops of type supplysignal for the player it was sent to, to prevent stealing of content
        "Prefix color": "cyan", // color of the plugin prefix
        "Prefix format": "<color={0}>{1}</color>: ", // prefix formatting
        "Show message to admin after command usage": true, // gives specific feedback when a airdrop comand was run.
        "Time for active smoke of SupplySignal": 210.0, // can shorten the time how long the supplysignal smoke will be active.
        "Unlock crates only after player stopped looting": false, // extra protection to the crae locking functions; Can unlock the crate only when the owner-player did stop the first loot
        "version": "2.6.19"
      },
    Code (Javascript):
      "Timer": {
        "Cleanup old Drops at serverstart": true, // Does remove any crates on map when server starts
        "Maximum minutes for random timer delay ": 50, // default timer maximum in minutes
        "Minimum minutes for random timer delay ": 30, // default timer minimum in minutes
        "Minimum players for timed Drop": 2, // defines the needed player count for timed random airdrops
        "Remove builtIn Airdrop": true, // this does remove the inbuilt airdrop event
        "Reset Timer after manual random drop": false, // would restart the airdrop timer when someone did call a manual random drop.
        "Use Airdrop timer": true // enable/disable the timed airdrop functions
      },
    Code (Javascript):
      "Timers": {
        "log to console": true, // log any ran command to console
        "Minimum players for running Timers": 0, // minimum players to let these timers run
        "RealTime": { // local server-time (means the host where Rust runs; is also timezone depending
          "16:00": "massdrop 3", // example command would run a massdrop with 3 planes at 4pm
          "18:00": "toplayer *" // example command would call a plane/drop to each online player at 6pm
        },
        "ServerTime": { // in-game time
          "18": "massdropto 0 0 5 100",
          "6": "massdrop 3"
        },
        "use RealTime": false, // enable/disable usage of realtime
        "use ServerTime": false // enable/disable usage of servertime
      }
    Default language file:
    Code (Javascript):

    {
      "msgDropSignal": "Someone ordered an Airdrop",
      "msgDropSignalCoords": "Someone ordered an Airdrop to position <color=yellow>X:{0} Z:{1}</color>",
      "msgDropSignalAdmin": "Signal thrown by '{0}' at: {1}",
      "msgDropSignalByPlayer": "Signal thrown by <color=yellow>{0}</color>",
      "msgDropSignalByPlayerCoords": "Signal thrown by <color=yellow>{0}</color> at position <color=yellow>X:{1} Z:{2}</color>",
      "msgDropRegular": "Cargoplane will deliver the daily AirDrop in a few moments",
      "msgDropRegularCoords": "Cargoplane will deliver the daily AirDrop at <color=yellow>X:{0} | Z:{1}</color> in a few moments",
      "msgDropMass": "Massdrop incoming",
      "msgDropCustom": "Eventdrop <color=orange>{0}</color> is on his way",
      "msgDropCustomCoords": "Eventdrop <color=orange>{0}</color> is on his way to <color=yellow>X:{1} | Z:{2}</color>",
      "msgDropPlayer": "<color=yellow>Incoming Drop</color> to your current location",
      "msgDropDirect": "<color=yellow>Drop</color> spawned above your <color=yellow>current</color> location",
      "msgDropLanded": "Supplydrop has landed <color=yellow>{0:F0}m</color> away from you at direction <color=yellow>{1}</color>",
      "msgDropLootet": "<color=yellow>{0}</color> was looting the AirDrop",
      "msgDropLootetCoords": "<color=yellow>{0}</color> was looting the AirDrop at (<color=yellow>X:{1} | Z:{2}</color>)",
      "msgNoAccess": "You are not allowed to use this command",
      "msgConsoleDropSpawn": "SupplyDrop spawned at (X:{0} Y:{1} Z:{2})",
      "msgConsoleDropLanded": "SupplyDrop landed at (X:{0} Y:{1} Z:{2})",
      "msgCrateLocked": "This crate is locked until being looted by the owner",
      "msgNorth": "North",
      "msgNorthEast": "NorthEast",
      "msgEast": "East",
      "msgSouthEast": "SouthEast",
      "msgSouth": "South",
      "msgSouthWest": "SouthWest",
      "msgWest": "West",
      "msgNorthWest": "NorthWest"
    }