Search the Community
Showing results for tags 'ch47'.
-
Version 1.3.1
6,297 downloads
This plugin adds variety of NPC sets with very high number of parameter sets on standard and custom monuments. Also it is added during dropping the server AirDrop, locked crate and destroying a tank or helicopter Dependencies (optional, not required) AlphaLoot CustomLoot True PVE Kits Economics Server Rewards IQEconomic PveMode Custom maps Maps that have default settings for their custom monuments. For these maps, you will not need to create places for the appearance of NPCs, they have already been created by the map developer and are located inside the archive when buying the map You can also download all these files for all maps here Detroit: Irreparable Damage Oregon 2: Last Hope Lostly Island Frontier – American Old West Oregon: Land of Dead Badlands Foreign Lands Namalsk Kong: Skull Island Destroyed World Deathland Dreamland Last Train Pandora Railway Island Wasteland Cataclysm: Fury of Nature Last Oasis Crazy Island Standard monuments This item of the plugin settings is used for appearing NPCs in all standard monuments. All these settings are located in the Monument folder (oxide/data/BetterNpc/Monument). Each file in this folder corresponds to a standard monument If there is no standard monument file in the folder, you can create it (you need to name the file the same way as the standard monuments on the map inside the game). You can copy the settings from any other standard monument Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the monument. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply The size of the monument – this parameter contains two values. It is the length and width of the monument. This parameter is necessary for random appearance of NPC on the monument and indication of limits of removal of standard NPCs on the monument (if it is necessary) Remove other NPCs? [true/false] – It deletes the standard NPCs inside the limits of this monument Presets – It is a list of all the NPC presets to appear on the monument (the description of the NPC preset settings is located below) Custom monuments This item of the plugin settings is responsible for the appearance of NPCs on custom monuments. All these settings are located in the Custom folder (oxide/data/BetterNpc/Custom). Each file in this folder corresponds to a custom monument If you have bought a map with already configured NPC appearance files for custom monuments you will copy these files into the Custom folder. If you want to create and configure the appearance of NPC in your custom location on the map, you will use the command in the administrators’ chat /SpawnPointAdd {name} (see the description of this command below in the instruction) Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the monument. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Position – It is a position of the custom monument on the map Rotation – It is a rotation of the custom monument on the map (this parameter is necessary for using custom places to appear of NPC on the monument, if the monument is used on more than one map) Radius – It is the radius of the custom monument from the position on the map Remove other NPCs? [true/false] – It removes the standard NPCs inside the limits of this monument Presets – It is a list of all the NPC presets to appear on the monument (the description of the NPC preset settings is located below) Roads This item of the plugin settings is used to appear NPCs on all types of roads. All these settings are located in the Road folder (oxide/data/BetterNpc/Road). Each file in this folder corresponds to a particular road type ExtraNarrow – It is a narrow, unpaved walkway ExtraWide It is a wide, paved, two-lane, beltway road Standard – It is a regular, paved road Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the road. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Presets – It is a list of all the NPC presets to appear on the road (the description of the NPC preset settings is located below) Biomes This item of the plugin settings is used to appear NPCs on all types of biomes. All these settings are located in the Biome folder (oxide/data/BetterNpc/Biome). Each file in this folder corresponds to a particular biome type (Arctic, Arid, Temperate, Tundra) Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the biome. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Presets – It is a list of all the NPC presets to appear on the biome (the description of the NPC preset settings is located below) In-game events This item of the plugin settings is used to appear the NPCs in standard Rust events. All of these settings are located in the Event folder (oxide/data/BetterNpc/Event). Each file in this folder corresponds to its own type of event The supported events: When the plane drops the server AirDrop, it will be guarded by specific NPC presets CH47 – When the chinook drops a locked crate during patrolling the map, it will be guarded by specific NPC presets Bradley – When someone destroys a tank, its crates will be guarded by specific NPC presets Helicopter – When someone shoots down a patrol helicopter, its crates will be guarded by specific NPC presets Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the event. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Radius – NPC appearance radius Presets – It is a list of all the NPC presets to appear on the event (the description of the NPC preset settings is located below) The NPC preset parameters Enabled? [true/false] – It is enabling/disabling the preset Minimum numbers – Day – It is the minimum number of NPCs from the day preset Maximum numbers – Day – It is the maximum number of NPCs from the day preset Minimum numbers – Night – It is the minimum number of NPCs from the night preset Maximum numbers – Night – It is the maximum number of NPCs from the night preset NPCs setting – It is all NPC settings of this preset (see the description of NPC settings for details) Type of appearance (0 – random; 1 – own list) – It is a type of NPC appearance. You can create your own list of places of NPC appearance. The NPC will appear only randomly. This parameter is not used in Road appearance types Own list of locations – It is your own list of NPC appearances. You need to use the number of locations at least the maximum possible number of NPCs in this preset. This parameter is not used in Road appearance types The path to the crate that appears at the place of death – It is the full path to the crate prefab that appears at the place of death of an NPC. If you don’t need this parameter, you should leave this blank Which loot table should the plugin use (0 – default; 1 – own; 2 – AlphaLoot; 3 – CustomLoot; 4 – loot table of the Rust objects; 5 – combine the 1 and 4 methods) – It is the type of the NPC loot table in this preset. Type 5 includes two types (1 and 4) at the same time and locates items from both types Loot table from prefabs (if the loot table type is 4 or 5) – It is a setting of the loot tables from Rust objects. You can see the loot table of Rust objects description for more details Own loot table (if the loot table type is 1 or 5) – It’s NPC’s own loot table. You can see the description of your own loot table for more details The NPC settings description Names is a list of NPC names. It is selected from the list randomly Health – It’s the HP amount of the NPC Roam Range – It’s the patrolling area distance. It’s the distance that the NPC can move from the place of appearance during patrolling Chase Range – It’s the chase range of the target. It’s the distance that the NPC can chase his target from the place of appearance Attack Range Multiplier – It’s the attack range multiplier of the NPC’s weapon Sense Range – It’s a target detection radius Target Memory Duration [sec.] – It’s the time that the NPC can remember his target Scale damage – It’s the damage multiplier from NPC to the player Aim Cone Scale – It’s the spread of NPC shooting, the default value in Rust is 2. It doesn’t take negative values Detect the target only in the NPCs viewing vision cone? [true/false] – It’s the parameter that allows detecting the target only in a certain NPC viewing. If you want to detect the target in 360 degrees, you will set the parameter “False” Vision Cone – It’s the NPC viewing. The range of values is from 20 to 180 degrees. If the previous parameter is False, this parameter is not used Speed – It’s the NPC speed. The default value in Rust is 5 Minimum time of appearance after death [sec.] – It’s the minimum time of NPC appearance after the death. This parameter is not used in the NPC Event places Maximum time of appearance after death [sec.] – It’s the maximum time of NPC appearance after the death. This parameter is not used in the NPC Event places Disable radio effects? [true/false] – You can disable/enable radio effects Is this a stationary NPC? [true/false] – If this parameter is True, the NPC will not move or run Remove a corpse after death? [true/false] – This parameter can control the deleting of NPC corpses (only backpacks are left). This parameter improves efficiency if there are a lot of NPCs Wear items – It’s a list of NPCs’ clothes and armor Belt items – It’s a list of weapons and items NPCs’ fast slots. Medical syringes are used for healing. If you give grenades to an NPC, he will use them. Smoke grenades are used for creating smoke screens (if you don’t need them, you should remove them from your inventory). If you give a Rocket Launcher to an NPC, he will raid the target’s building (if the target is inside it) Kits – It gives a pack of Kits plugin. If you don’t need this parameter, you should leave this blank. I recommend using the previous 2 points to configure NPC items A description of the Rust loot table settings Minimum numbers of prefabs –It’s the minimum numbers of prefabs that are needed to appear in the NPC loot table Maximum numbers of prefabs –It’s the maximum numbers of prefabs that are needed to appear in the NPC loot table Use minimum and maximum values? [true/false] – this parameter specifies whether to use the minimum and maximum numbers to limit the number of items List of prefabs – It’s a list of prefabs that need to add in the loot table. It is necessary to indicate the full path to the prefab and the probability of falling out this prefab A description of the own loot table settings Minimum numbers of items – It’s the minimum number of items Maximum numbers of items – It’s the maximum number of items Use minimum and maximum values? [true/false] – this parameter specifies whether to use the minimum and maximum numbers to limit the number of items List of items – It’s a total list of all items that can fall out in the NPC loot table. You can specify any standard items, their blueprints and any skinned or custom items The commands in the chat (for admins only) /SpawnPointPos {name} – To show the local admin’s position coordinates relative to the place where the NPC {name} appears /SpawnPointAdd {name} – To create the NPC appearance point {name} in the Admin’s custom coordinates. A file with this name will be created in the folder Custom and you can configure it as you need /SpawnPointAddPos {number} {name} – To write the local admin’s coordinate into the preset with the positional number {number} (starting from 1) to the place where the NPC {name} appears /SpawnPointAddWear {number} {name} – To write all the admin’s dressed clothes into the preset with the positional number {number} (starting from 1) to the place where the NPC {name} appears /SpawnPointAddBelt {number} {name} – To write all the admins’ quick slots cells into a preset with the positional number {number} ( starting from 1) to the place where the NPC {name} appears /SpawnPointShowPos {number} {name} – To show to the Admin all the custom NPC appearance points in the preset with the positional number {number} ( starting from 1) in the place where the NPC {name} appears /SpawnPointReload {name} – Reload Spawn Point with the name {name} Console commands (RCON only) ShowAllNpc – Shows the number of all NPCs of the BetterNpc plugin on your server Hooks object CanAirDropSpawnNpc(SupplyDrop supplyDrop) – It is called before an NPC appearance to guard an AirDrop. The returning of a non-zero value stops an NPC appearance object CanCh47SpawnNpc(HackableLockedCrate crate) – It is called before an NPC appearance to guard a locked chinook crate. The returning of a non-zero value stops an NPC appearance object CanBradleySpawnNpc(BradleyAPC bradley) – It is called before an NPC appearance to guard the boxes from crushed Bradley. The returning of a non-zero value stops an NPC appearance object CanHelicopterSpawnNpc(BaseHelicopter helicopter) – It is called before an NPC appearance to guard the crates from crushed patrol helicopter. The returning of a non-zero value stops an NPC appearance API void DestroyController(string name) – It destroys the place of appearance NPC with the name {name} void CreateController(string name) – It creates the place of appearance NPC with the name {name} These APIs can be used with standard monuments, custom monuments (NPC locations) and roads. The name of this monument is in standard monuments {name}. It is the name of the file in the Custom and Road folder in custom monuments and roads My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! Creator of the default configuration – jtedal$30.00 -
Version 1.1.5
1,464 downloads
Defend your home.. well.. defend what's left of it! Welcome to an epic new event where the players will defend their bases against waves of Frankenraiders! They will use any weapons they have available to try to raid your base. Some will come with whatever they can swing at you and your base, some will just try to defend their kin, some have found some heavy weaponry too! I think that one has a rocket launcher?! Description To launch the event first you must find a flare bright enough to attract their attention. You'll be able to find flares bright enough to attract an Easy Frankenraid in Bradley, Elite, Military, and Supply crates. When you've found a flare just toss it on or near the base within Tool Cupboard range. Once you successfully defend an Easy Frankenraiding party, you will be rewarded with a flare bright enough for a Medium party. Then upon defending successfully against a Medium raid, well if you really want to risk your wipe being wiped by a full Frankenraider party, then you will have earned a flare bright enough to attract a Hard Frankenraid! When you complete any difficulty level and are able to defend your base, a chinook will be sent to your location with rewards for your service to the island in clearing out the threat! If your base is destroyed, the event ends, chat notifications are sent, and there you stand in shame. Hopefully you're on a low pop server and not too many people noticed. It's okay champ, happens to the best of us some days! Just keep an eye on the in game UI like the timer and wave information to give yourself the best shot at keeping your base standing! There are various ways to configure this plugin to customize it for your server, for any level and number of players. The creativity is in your hands with the configuration file as well as your communities wants or needs. The loot table, the flare spawns, the different enemy types and their setups, everything is there for you to customize this if you so choose. Dependencies (optional, not required) True PVE GUI Announcements Notify AlphaLoot CustomLoot Base Repair Chat commands /defstop - in game command to end event in your current Tool Cupboard range (be near the event you are trying to end) - only for administrators! /checkfoundations - checks all the foundations of the house for the event (it is necessary to be inside the Cupboard area of the house) ⊘ - you or your friends are not the owner of the foundation ⊝ - the foundation does not match in height/depth ⊛ - the foundation does not match the topology (prohibited topologies: Cliff, Cliffside, Decor, Building, Monument, Clutter, Mountain) ◉ - the foundation is located within a radius of 40 meters from the custom monument Console commands (RCON only) giveflare {skinid} {steamid} - Console command to give a custom flare with a Steam Workshop SkinID ({skinid}) to a player using their SteamID ({steamid}) Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! Creator of the default configuration – jtedal Help in creating a plugin description – Jbird$40.00 -
Version 2.0.0
61 downloads
As soon as the event starts, several troops (NPCs) are spawned to defend an hackable crate that will be delivered by the CH47. This crate may contain a lot of loot, so the troops have the duty to defend it. For this purpose, there is a variety of troops such as snipers, close-range shooters, and long-range shooters. If a player manages to initiate the hacking of the crate, all the airfield troops will be relocated to a combat position. In other words, all troops that you haven't seen yet or that are hidden will be moved to the center of the airfield to defend the crate. After a few minutes, a plane will be sent with supply drops containing weapons to assist the troops in defense. However, airborne troops will also be dispatched from the plane to parachute down and aid in defending the crate. If the crate is looted, all troops will be destroyed, leaving only the crates, supply drops, and bodies to be looted by intruders. /ma start to start the event /ma stop to stop the event /ma position to get the current position based in the airfield monument (used to config) militaryairfield.admin to access all commands private void OnMilitaryAirfieldEventStarted(); - // Called when the event starts private void OnMilitaryAirfieldEventEnded(BasePlayer? lootedBy); - // Called when the event ends$24.99 -
Version 1.0.4
223 downloads
Want to spice up the Ferry Terminal location on your map? Look no further! Captors have taken hostages and are going to execute them if they cannot enslave them. Liberate the hostages while waves of backup arrive Johnny Blaze style on their motorcycles. They will be relentless and merciless. It's recommended that you bring a friend or two for this one! Description The event will begin with a notification that captors have taken hostages and will be trying to take them away to enslave them from the Ferry Terminal monument. First you will want to dispatch as many of the enemies on site as possible without alerting them of your intent or presence. Once you are ready though, alarms will be sounded and they will attempt to call for backup. Once the backup begins coming on motorcycle they will continue to send units to keep you from liberating the hostages, or execute them as opposed to letting you get them to freedom! Each hostage will have a small radius and a configurable countdown will begin as you work on releasing them from their shackles. Once freed you will still need to escort them to a ferry nearby, and they will thank you by opening a hackable crate for you. There are indicators that help highlight important event items such as the hostages. The configuration file gives plenty of options to customize the event, from NPCs, timers, rewards, and plenty of other options like integration with plugins you already own, in game UI, and more! Dependencies (optional, not required) True PVE Pve Mode GUI Announcements Notify Discord Messages Alpha Loot Custom Loot NTeleportation Economics Server Rewards IQEconomic XPerience Kits Better Npc Monument Owner Chat commands (only for administrators) /ftstart - start the event /ftstop - end the event /ftpos - determining the position coordinates for changing the location of NPCs and crates. It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the monument is read) Console commands (RCON only) ftstart - start the event ftstop - end the event Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnFerryTerminalEventStart(Vector3 pos, float radius) – called when the event starts void OnFerryTerminalEventEnd() – called when the event ends void OnFerryTerminalEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event My Discord: kpuctajl Join the Mad Mappers Discord here! Check out more of my work here!$35.00- 4 comments
- 4 reviews
-
- 5
-
- #ferry terminal
- #ch47
- (and 25 more)
-
Version 1.2.0
342 downloads
About you will found in the event Ferry Terminal Event: Unveiling the Secrets of the Abandoned Terminal Embark on a thrilling adventure at the Rust Ferry Terminal, where mysteries await and danger lurks around every corner! The Ferry Terminal Event introduces a pulse-pounding experience that will challenge even the most seasoned survivors. Drone Surveillance: As you step foot onto the desolate terminal, beware of the watchful eyes of the drones overhead. These mechanical sentinels are programmed to detect any intruders, summoning reinforcements at the first sign of trouble. Keep your wits about you, for the patrols will not hesitate to confront trespassers. The Crazy Bio Scientist's Lair: Deep within the heart of the main building lies the lair of the enigmatic Crazy Bio Scientist. Accompanied by his legion of undead minions, he guards the precious loot hidden within. Prepare to face hordes of zombies as you navigate through the treacherous corridors, braving the unknown in search of valuable treasures. Snipers in the Shadows: Beware the sharp eyes of the snipers perched atop the monument, their rifles trained on any who dare to challenge their domain. Navigate with caution, for a wrong step could lead to a deadly encounter with these expert marksmen. Guardian Patrols: Throughout the monument, vigilant guards stand watch, ever ready to defend their territory. Approach with caution, for these hardened soldiers will not hesitate to engage intruders in combat. Work together with your fellow survivors to overcome their defenses and claim victory. Hidden Treasures: Amidst the chaos and danger, opportunities for riches abound. Search high and low for loot-filled trucks and locked crates, each promising valuable rewards for those brave enough to claim them. But beware: activating certain crates may trigger the arrival of reinforcements, adding an extra layer of challenge to your quest. Unlock the Secrets: Embark on a thrilling puzzle ladder challenge to unlock the secrets hidden within the monument. Solve intricate puzzles and overcome daunting obstacles as you ascend to new heights, uncovering the truth behind the abandoned terminal. Dare to embark on the Ferry Terminal Event, where danger and adventure await at every turn. Gather your allies, hone your skills, and prepare for an unforgettable journey into the heart of Rust's most mysterious monument! Fully Customizable Plugin Configuration Dive into the heart of the action with our fully customizable Ferry Terminal Event plugin! With a robust array of features, you have the power to tailor every aspect of the event to suit your server's unique gameplay experience. Customizable Crate Locations Choose the placement and quantity of military crates, elite crates, and hackable locked crates to strategically scatter across the Ferry Terminal monument. Use the /ftpos command to effortlessly retrieve coordinates for precise crate placement, ensuring a diverse and engaging looting experience for all players. Tailored NPC Encounters Craft bespoke NPC encounters to challenge and thrill your players. From selecting different NPC loadouts and skins to adjusting firepower and NPC numbers, the possibilities are endless. Create immersive scenarios that test your players' skills and teamwork, guaranteeing adrenaline-pumping action at every turn. Upcoming Features for Endless Possibilities Stay tuned for exciting new features on the horizon! Soon, you'll have the option to introduce radiation zones, deploy Bradleys, install SAM sites, and unleash fixed explosions throughout the event. With each addition, your sandbox of possibilities expands, offering boundless opportunities for adventure and exploration. With the Ferry Terminal Event plugin, the only limit is your imagination. Craft the ultimate Rust experience for your players, and watch as they embark on unforgettable journeys into the heart of the unknown. Backlog (within the next 2 weeks) [] Allow radiation Chat Commands /ftestart // Activate the event /ftestop // Stop the event /ftepos // Return in the chat and in the console the current coords you can use this in the config file in the Spawn points Console Commands ftestart // Activate the event ftestop // Stop the event Hooks OnFerryTerminalEventStarted // The Event started OnFerryTerminalEventEnded // The Event finished Permissions FerryTerminalEvent.admin This will allow you to run all the commands Configuration Example { "Event Configuration": { "Time to run the event every [sec]": 7200, "Duration of the event once it start [sec]": 5400, "Delay after the event start is announce to spawn the event [sec]": 300, "Delay after the event end is announce to despawn the event [sec]": 300, "Start the Event ONLY through command and remove Timer ": false, "Notify everyone in the server about the status of the event": true, "Developer mode [false/true]": false, "Event Title for the Vending Machine Marker": "Ferry Terminal Event" }, "Notification Settings": { "Send missions details to the players?": true, "Message system to use? Please use one of the supported one [ChatAdapter|GUIAnnouncementAdapter]": "ChatAdapter", "Chat message configuration": { "Icon to use for messages": 76561198031649764, "Message Prefix Size": 15, "Message Prefix Color": "black", "Message Color": "white", "Message Size": 15 }, "GUIAnnouncement message configuration": { "banner Tint Color": "white", "text Color": "black" }, "Message Prefix Text": "[Ferry Terminal Event]" }, "Send Notifications To Discord?": false, "Discord Webhook url?": "https://hookdeck.com/webhooks/platforms/how-to-get-started-with-discord-webhooks", "Guards Settings": { "Name": "Guardian", "Health": 150.0, "Roam Range": 10.0, "Chase Range": 30.0, "Attack Range Multiplier": 2.0, "Sense Range": 30.0, "Target Memory Duration [sec.]": 30.0, "Scale damage": 1.0, "Aim Cone Scale": 1.0, "Detect the target only in the NPC's viewing vision cone? [true/false]": false, "Vision Cone": 30.0, "Speed": 5.5, "Disable radio effects? [true/false]": false, "Is this a stationary NPC? [true/false]": false, "Remove a corpse after death? (it is recommended to use the true value to improve performance) [true/false]": true, "Wear items": [ { "ShortName": "hoodie", "SkinID (0 - default)": 941172099 }, { "ShortName": "shoes.boots", "SkinID (0 - default)": 869007492 }, { "ShortName": "roadsign.jacket", "SkinID (0 - default)": 2803024010 }, { "ShortName": "coffeecan.helmet", "SkinID (0 - default)": 2803024592 }, { "ShortName": "pants", "SkinID (0 - default)": 1313091292 } ], "Belt items": [ { "ShortName": "rifle.lr300", "Amount": 1, "SkinID (0 - default)": 0, "Mods": [ "weapon.mod.flashlight" ], "Ammo": "" }, { "ShortName": "syringe.medical", "Amount": 5, "SkinID (0 - default)": 0, "Mods": [], "Ammo": "" }, { "ShortName": "grenade.f1", "Amount": 1, "SkinID (0 - default)": 0, "Mods": [], "Ammo": "" } ], "Spawn Point for this specific NPC class, as many position you add you will get 1 NPC on each, use the command /ftpos to get the current location": [ { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "4.87, 5.18, -18.61" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "-38.32, 5.10, 12.31" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "-19.18, 5.14, -36.1" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "11.55, 5.23, 2.32" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "-31.26, 5.25, -1.59" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "27.63, 5.32, -8.46" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "-6.57, 5.02, 25.89" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "18.71, 5.07, 33.80" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "12.90, 5.25, -22.43" } ] }, "Sniper Settings": { "Name": "Silent Death", "Health": 150.0, "Roam Range": 20.0, "Chase Range": 100.0, "Attack Range Multiplier": 2.0, "Sense Range": 85.0, "Target Memory Duration [sec.]": 30.0, "Scale damage": 0.4, "Aim Cone Scale": 1.0, "Detect the target only in the NPC's viewing vision cone? [true/false]": false, "Vision Cone": 135.0, "Speed": 7.5, "Disable radio effects? [true/false]": false, "Is this a stationary NPC? [true/false]": false, "Remove a corpse after death? (it is recommended to use the true value to improve performance) [true/false]": true, "Wear items": [ { "ShortName": "hoodie", "SkinID (0 - default)": 3031048156 }, { "ShortName": "shoes.boots", "SkinID (0 - default)": 2511111623 }, { "ShortName": "jacket", "SkinID (0 - default)": 3023836945 }, { "ShortName": "pants", "SkinID (0 - default)": 3031050852 }, { "ShortName": "metal.facemask", "SkinID (0 - default)": 3037689021 } ], "Belt items": [ { "ShortName": "rifle.bolt", "Amount": 1, "SkinID (0 - default)": 562396268, "Mods": [ "weapon.mod.flashlight" ], "Ammo": "" }, { "ShortName": "syringe.medical", "Amount": 5, "SkinID (0 - default)": 0, "Mods": [], "Ammo": "" } ], "Spawn Point for this specific NPC class, as many position you add you will get 1 NPC on each, use the command /ftpos to get the current location": [ { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "-22.55, 18.25, -15.87" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "15.29, 18.23, -16.37" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "14.99, 18.23, -1.34" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "-42.52, 21.31, 41.36" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "38.25, 14.77, -15.60" } ] }, "Scientis Settings": { "Name": "Dr. Viktor Stravinsky", "Health": 150.0, "Roam Range": 20.0, "Chase Range": 100.0, "Attack Range Multiplier": 2.0, "Sense Range": 85.0, "Target Memory Duration [sec.]": 30.0, "Scale damage": 0.4, "Aim Cone Scale": 1.0, "Detect the target only in the NPC's viewing vision cone? [true/false]": false, "Vision Cone": 135.0, "Speed": 7.5, "Disable radio effects? [true/false]": false, "Is this a stationary NPC? [true/false]": true, "Remove a corpse after death? (it is recommended to use the true value to improve performance) [true/false]": true, "Wear items": [ { "ShortName": "tshirt", "SkinID (0 - default)": 1833021945 }, { "ShortName": "pants", "SkinID (0 - default)": 1833026292 }, { "ShortName": "mask.bandana", "SkinID (0 - default)": 2784951040 }, { "ShortName": "burlap.gloves", "SkinID (0 - default)": 2785000980 } ], "Belt items": [ { "ShortName": "pistol.prototype17", "Amount": 1, "SkinID (0 - default)": 562396268, "Mods": [ "weapon.mod.flashlight" ], "Ammo": "" }, { "ShortName": "syringe.medical", "Amount": 5, "SkinID (0 - default)": 0, "Mods": [], "Ammo": "" } ], "Spawn Point for this specific NPC class, as many position you add you will get 1 NPC on each, use the command /ftpos to get the current location": [ { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "3.98, 5.25, -6.04" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "3, 5.25, -8.39" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "9.07, 5.25, -7.36" }, { "Spawn Point x, y, z. The comma (,) is important [25, 0, -13]": "12.39, 5.25, -6.23" } ] }, "Amount of Elite Squad to spawn": 5, "Elite Squad Settings": { "Name": " Elite Squad", "Health": 180.0, "Roam Range": 50.0, "Chase Range": 60.0, "Attack Range Multiplier": 3.0, "Sense Range": 60.0, "Target Memory Duration [sec.]": 30.0, "Scale damage": 2.0, "Aim Cone Scale": 1.0, "Detect the target only in the NPC's viewing vision cone? [true/false]": false, "Vision Cone": 90.0, "Speed": 5.5, "Disable radio effects? [true/false]": false, "Is this a stationary NPC? [true/false]": false, "Remove a corpse after death? (it is recommended to use the true value to improve performance) [true/false]": true, "Wear items": [ { "ShortName": "metal.plate.torso", "SkinID (0 - default)": 2105505757 }, { "ShortName": "roadsign.kilt", "SkinID (0 - default)": 2120628865 }, { "ShortName": "hoodie", "SkinID (0 - default)": 2080975449 }, { "ShortName": "roadsign.gloves", "SkinID (0 - default)": 2090790324 }, { "ShortName": "shoes.boots", "SkinID (0 - default)": 2090776132 }, { "ShortName": "pants", "SkinID (0 - default)": 2080977144 }, { "ShortName": "burlap.headwrap", "SkinID (0 - default)": 2221614485 } ], "Belt items": [ { "ShortName": "rifle.ak", "Amount": 1, "SkinID (0 - default)": 2128372674, "Mods": [ "weapon.mod.flashlight" ], "Ammo": "" }, { "ShortName": "syringe.medical", "Amount": 5, "SkinID (0 - default)": 0, "Mods": [], "Ammo": "" }, { "ShortName": "grenade.smoke", "Amount": 3, "SkinID (0 - default)": 0, "Mods": [], "Ammo": "" } ], "Spawn Point for this specific NPC class, as many position you add you will get 1 NPC on each, use the command /ftpos to get the current location": null }, "Zombies": { "Amount of Zombies to spawn": 10 }, "Elite Crates": { "Spawn Point every Elite Crate to Spawn, use the command /ftpos to get the current location": [ { "Spawn Point for crates x, y, z. The comma (,) is important [25, 0, -13]": "-12.53, 5.25, -8.08", "Rotation number from 1 to 359": 0 }, { "Spawn Point for crates x, y, z. The comma (,) is important [25, 0, -13]": "20.82, 6.37, 30.12", "Rotation number from 1 to 359": 0 } ], "Custom Loot Configuration": { "Activate Custom Loot": false, "Min amount of Items to have in the Container": 1, "Max amount of Items to have in the Container": 2, "Items to spawn": [ { "Item short name to spawn": "rifle.ak", "Minimun ammount of the item to spawn": 1, "Maximun ammount of the item to spawn": 1, "Skin Id, default 0": 0 } ] } }, "Military Crates": { "Spawn Point every Military Crate to Spawn, use the command /ftpos to get the current location": [ { "Spawn Point for crates x, y, z. The comma (,) is important [25, 0, -13]": "-8.75, 5.25, -4.52", "Rotation number from 1 to 359": 0 }, { "Spawn Point for crates x, y, z. The comma (,) is important [25, 0, -13]": "27.85, 6.94, 32.05", "Rotation number from 1 to 359": 0 }, { "Spawn Point for crates x, y, z. The comma (,) is important [25, 0, -13]": "24.59, 6.37, 30.12", "Rotation number from 1 to 359": 0 } ], "Custom Loot Configuration": { "Activate Custom Loot": false, "Min amount of Items to have in the Container": 1, "Max amount of Items to have in the Container": 2, "Items to spawn": [ { "Item short name to spawn": "rifle.ak", "Minimun ammount of the item to spawn": 1, "Maximun ammount of the item to spawn": 1, "Skin Id, default 0": 0 } ] } }, "Hackable Crates": { "Spawn Point for Hackable Crate to Spawn, use the command /ftpos to get the current location": [ { "Spawn Point for crates x, y, z. The comma (,) is important [25, 0, -13]": "66.55, 24.14, 59.45", "Rotation number from 1 to 359": 0 } ], "Time in Seconds for the Locked Crate to open up": 900, "Custom Loot Configuration": { "Activate Custom Loot": false, "Min amount of Items to have in the Container": 1, "Max amount of Items to have in the Container": 2, "Items to spawn": [ { "Item short name to spawn": "rifle.ak", "Minimun ammount of the item to spawn": 1, "Maximun ammount of the item to spawn": 1, "Skin Id, default 0": 0 } ] } }, "Marker Configuration": { "Alpha for the Event Marker": 0.5, "Radius for the Event Marker": 1.0, "Color for the Event Marker": "255 80 103" }, "Use Event Borders?": true, "Reinforcement: Add a Patrol Helicopter": true, "Reinforcement: Add Elite Squad": true, "Spawn Samsites": true, "PVE Mode": { "Pve Mode active [true|false]": false, "Radius of the sphere": 2.0 }, "Patrol Helicopter Configuration": { "Initial Health": 10000.0, "Weak Spot main rotor health": 900.0, "Weak Spot tail rotor health": 500.0, "Crates to Spawn": 6 }, "Drone Configuration": { "Drone speed": 10, "Drone detection radius, as bigger they are they will detect players sooner": 10 }, "Rewards Configuration": { "Activate Rewards": false, "Reward is Economic, ServerRewards": "Economic", "Name of the adapter to show your players for example $ or RP": "$", "Reward to give a player for loot a militar crate/normal crate": 0, "Reward to give a player for loot a hackable crate crate": 0, "Reward for killing an NPC": 0, "Reward for killing a Zombie": 0, "Reward for destroying Patrol (Reward will be split for everyone in the event evenly)": 0 }, "Event Version": { "Major": 1, "Minor": 1, "Patch": 0 } }$20.00- 23 comments
- 3 reviews
-
- 1
-
- #ferry terminal
- #pvp/pve
- (and 9 more)
-
Version 2.2.5
1,934 downloads
It’s an event in the Satellite Dish location Description The event begins with a chat warning: a bioweapons deal will be in the Satellite Dish. When the time is up, extra crates, NPCs guarding this location will appear in the Satellite Dish. Then a locked zombie’s cage will appear. A CH47 will fly to this location to make a transaction. When the CH47 arrives, it will drop the locked crate as a payment for the biological weapon. Then it will land and zombies will begin boarding on the CH47. As soon as the CH47 has picked up all the remaining zombies, it will fly off the map. If you kill at least one zombie, an alarm will start. The alarm can be ended by answering the phone on the Satellite Dish within 10 seconds. If you don’t stop the alarm, reinforcements will arrive as Bradley to this location. It will parachute down from the aircraft. All crates looting, NPCs, zombies, Bradley can be changed by configuration. It is possible to change the configuration of all NPCs or use the BotSpawn plugin for NPCs. There is a camera in the location for viewing the event and lighting for night events. When an event appears, a marker will display on the map (configurable in the configuration file). It is possible to set up in the configuration the PVP zone for those who use the TruePVE plugin. All players in the event zone have a timer with countdown to the end of the event It is possible to set up an automatic event appear on the map. All timers can be set up in the configuration. Dependencies Required NpcSpawn Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Kits Chat commands (only for administrators) /satdishstart - start the event /satdishstop - end the event /satdishpos - determining the position and rotation coordinates for changing the location of NPCs and crates. It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the Satellite Dish is read) Console commands (RCON only) satdishstart - start the event satdishstop - end the event Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnSatDishEventStart() – called when the event starts void OnSatDishEventEnd() – called when the event ends void OnSatDishEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here!$30.00- 33 comments
- 9 reviews
-
- 5
-
- #alarm
- #biological weapon
-
(and 32 more)
Tagged with:
- #alarm
- #biological weapon
- #bradley
- #call
- #cargoplane
- #ch47
- #chinook
- #crates
- #event
- #facepunch
- #kpu
- #kpuc
- #kpuctajl
- #mad mappers
- #npc
- #oxide
- #parachute
- #phone
- #plane
- #plugin
- #plugins
- #premium
- #pve
- #pvp
- #rust
- #satdishevent
- #satellite
- #satellite dish
- #umod
- #zombie
- #halloween
- #pvemode
- #npcspawn
- #server event
-
Version 1.2.1
1,732 downloads
An event for the Arctic Research Base monument with a plot to rescue both a scientist and a pilot that have been captured by the security group who has been ordered to capture and deal with the attempted sabotage on the Arctic Base Description Welcome to a frosty new adventure in the more recently added Arctic Research Base to so many of our islands! This monument will now have an event with a storyline requiring you and your friends to rescue the Pilot, and the Scientist from their captivity by the Arctic Base security service. You don't want to know what will happen to these two if you don't save them! Our new event begins with a notification (if enabled by default) for players to know that a sabotage is about to take place on the island. There is a plot to come collect biological samples from the burned corpse of one of the recently discovered NPCs, class: Sledge. The players will soon find out that the sabotage has failed and that two of our team have been taken captive by the Artic Research security team! Players will need to free them both from this no prisoners no hostages situation, and protect the scientist while he finishes his portion of the mission. Once the Scientist or Pilot are released, snowmobiles will arrive bringing NPCs, tasked simply with killing the Scientist so he will not be able to carry out his task of reverse engineering a way to continue to combat everything they throw at us! Once the Scientist has completed his task, and the Pilot has been released and has prepped the escape helicopter, their evacuation can take place. The will get into their minicopter and begin their departure. Before you leave and as thanks, the Pilot is going to open up a warehouse full of supplies for you! Once you reach this point in the event, there are several options with different amounts of loot within the stash. If you are able to protect the Scientist, and they are able to evacuate with the pilot, then we can better find things of value on comms with the team as they leave and the looting will be most efficient! Be ready, this minicopter is an actual piece of... well it's Rusty! Let the pilot have some extra time if needed to make sure it is running smoothly before they take off. Here and now the security team will send everything they have at you and your friends. Protect the group from the attacks! In the configuration for the plugin you can change timers, NPC settings and numbers, snowmobile and crate numbers, the Scientists health, and the loot tables! As always the configurations are extensive and the creativity is in your hands to customize this plugin to your liking. Can you and your friends help make sure this sabotage takes place, and these rebels make it off the island? Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Kits Chat commands (only for administrators) /abstart - start the event /abstop - end the event Console commands (RCON only) abstart - start the event abstop - end the event Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnArcticBaseEventStart() – called when the event starts void OnArcticBaseEventEnd() – called when the event ends void OnArcticBaseEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here!$35.00- 30 comments
- 6 reviews
-
- 5
-
- #arctic research base
- #ch47
- (and 21 more)
-
Version 2.2.2
1,423 downloads
It’s an Event in the Power Plant location Description The event begins with a chat warning: soon CH47 will get new crates with items for scientists to the Power Plant location. When the time is up, the NPCs guarding this location will appear in the Power Plant zone. Then a water barrel will appear on the top of the central building. A CH47 will fly to this location to get new crates with items. When the CH47 arrives in the Event zone, it will fail to control and crash in a cooling tower of the power plant. All the crates from the CH47 will be on the top of the cooling tower. But they will be in the fire. You need put out the fire to get access to the crates. It is necessary to activate a fire system to put out the fire. A fire system is on the top of the central building. So a Workcart will arrive to the Event area to bring a barrel of water. You need move this water from the Workcart to the empty barrel on the top of the central building. As soon as you do this, you will be able to start the fire system by pressing a button. When the fire system has activated, the fire in the cooling tower will be out. You will be able to access the crates in the cooling tower. There is a camera in the location for viewing the event. When an event appears, a marker will display on the map (it can set up in the configuration file). All players in the event area have a timer with countdown to the end of the event Dependencies Required NpcSpawn Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Kits Chat commands (only for administrators) /ppstart - start the event /ppstop - end the event /pppos - determining the position and rotation coordinates for changing the location of NPCs and crates. It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the Power Plant is read) Console commands (RCON only) ppstart - start the event ppstop - end the event Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnPowerPlantEventStart() – called when the event starts void OnPowerPlantEventEnd() – called when the event ends void OnPowerPlantEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here!$25.00 -
Version 1.0.5 FULL RELEASE
106 downloads
Every 3 hours a "mandatory" Island Patrol will take place. The patrol includes: 10 (CONFIGURABLE) Patrol Helicopters, 4 (CONFIGURABLE) CH-47 'Chinook' Helicopters, 8 (CONFIGURABLE) Road Bradleys, and a squadron of 4 (CONFIGURABLE) F-15E Fighter Jets. Each Patrol Helicopter is spawned indiviually around the island, exactly 5 seconds after one another to reduce crashing into one another. Each CH-47 Helicopter is spawned South-West of the island, 10 seconds after the patrol helicopters have finished spawning and will spawn in 6 second increments. Road Bradleys will spawn randomly around the map. Each Bradley will spawn in increments of 6 seconds. The F-15E will spawn at the same time as the Patrol Helicopter, in 2.7 second increments. The event should last for 15-30 minutes (configurable), and will end if every military patrol vehicle (excluding the F-15) is destroyed or has completed their path. FOR SUPPORT MESSAGE ME ON DISCORD: norrisgarris Showcase$9.99 -
Version 0.1.8
388 downloads
Spawn any type of vehicle prefab with custom commands, permissions, cooldown, starting fuel, fuel consumption, extra seats and extra mounts. The default config contains every vehicle that currently exists in Rust. Using the default config as an example; - The chat command to spawn a Minicopter would be the SpawnCommandPrefix followed by the key in the config corresponding to the Minicopter: /mymini - The chat command to fetch the Minicopter would be the FetchCommandPrefix followed by the corresponding key: /gmini - The chat command to despawn the Minicopter would be the DespawnCommandPrefix followed by the corresponding key: /nomini Config "SpawnCommandPrefix" Prefix for the spawn chat command. "FetchCommandPrefix" Prefix for the fetch chat command. "DespawnCommandPrefix" Prefix for the despawn chat command. "AllowMultipleIdentical" Allows players to have multiple vehicles of the same type. "FetchOldVehicleInsteadOfSpawningIdentical" Fetches the old vehicle if the player attempts to spawn an identical vehicle. "AllowFetchingWhenOccupied" Allows players to fetch their vehicles when there are players mounted on it. "DismountOccupantsWhenFetching" Dismounts every occupant when the player fetches their vehicle. "AllowDespawningWhenOccupied" Allows players to despawn their vehicles when there are players mounted on it. "RefundFuelOnDespawn" Refunds any fuel left inside the fuel tank when the player despawns their vehicles using the chat command. "NotifyWhenVehicleDestroyed" Sends a chat message to the player when their vehicles are destroyed. "DestroyVehiclesOnDisconnect" Destroys every vehicle when their owner disconnects. "PreventVehiclesDecay" Prevents player spawned vehicles from taking decay damage. "ClearCooldownsOnMapWipe" Automatically clear the cooldowns from the data file when map wipes. "BlockWhenMountedOrParented" Prevents players from spawning or fetching vehicles when they are mounted or parented. "BlockWhenBuildingBlocked" Prevents players from spawning or fetching vehicles when they are building blocked. "BlockInSafeZone" Prevents players from spawning or fetching vehicles when they are in a safe zone. "BlockWhenCombatBlocked" Prevents players from spawning or fetching vehicles when they are combat blocked. (Requires NoEscape) "BlockWhenRaidBlocked" Prevents players from spawning or fetching vehicles when they are raid blocked. (Requires NoEscape) "RemoveChinookMapMarker" Removes the map marker from Chinooks. Vehicle settings: "Name" Name of the vehicle that will be shown in chat messages. "Prefab" Path of the prefab to spawn. "SpawnCooldown" A dictionary of permissions and their associated spawn cooldown. Permissions from the bottom have priority when player has multiple permission. The player must have at least one of these permissions to be able to spawn the vehicle. A permission without name means no permission needed, or the whole dictionary can be set to null. "FetchCooldown" A dictionary of permissions and their associated fetch cooldown. Permissions from the bottom have priority when player has multiple permission. The player must have at least one of these permissions to be able to fetch the vehicle. A permission without name means no permission needed, or the whole dictionary can be set to null. "MaxSpawnDistance" A dictionary of permissions and their associated max spawn distance. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, if the the whole dictionary is 'null' a maximum of 100.0 is used. "FetchDistanceLimit" A dictionary of permissions and their associated fetch distance limit. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, if the whole dictionary is 'null' there will be no fetch distance limits. "DespawnDistanceLimit" A dictionary of permissions and their associated despawn distance limit. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, if the whole dictionary is 'null' there will be no despawn distance limits. "StartingFuel" A dictionary of permissions and their associated starting fuel. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, the whole dictionary can be 'null'. "LockFuelContainer" A dictionary of permissions and their associated lock fuel container option. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, the whole dictionary can be 'null'. "FuelPerSecond" A dictionary of permissions and their associated fuel per second option. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, the whole dictionary can be 'null'. This options applies to Minicopters, Scrap Helicopters, Row Boats, RHIBs, Tug Boats and Hot Air Balloons. "IdleFuelPerSecond" A dictionary of permissions and their associated idle fuel per second option. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, the whole dictionary can be 'null'. This options applies to Submarines, Snowmobiles, Modular Cars, Magnet Cranes and Trains. "MaxFuelPerSecond" A dictionary of permissions and their associated max fuel per second option. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, the whole dictionary can be 'null'. This options applies to Submarines, Snowmobiles, Modular Cars, Magnet Cranes and Trains. "ExtraMounts" A dictionary of permissions and their associated list of extra mounts. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, the whole dictionary can be 'null'. Position and rotation are relative to the vehicle (position X, position Y, position Z, rotation X, rotation Y, rotation Z). "ExtraSeats" A dictionary of permissions and their associated list of extra seats. Permissions from the bottom have priority when player has multiple permission. A permission without name means no permission needed, the whole dictionary can be 'null'. Position and rotation are relative to the vehicle (position X, position Y, position Z, rotation X, rotation Y, rotation Z). "YRotationSpawnOffset" Vehicle spawn rotation, relative to the looking direction of the player. (-90 is 90º left, 90 is 90º right) "CanOnlySpawnOnWater" Blocks vehicle from being spawned or fetched on land. "CanNotSpawnOnWater" Blocks vehicle from being spawned or fetched on water. { "SpawnCommandPrefix": "my", "FetchCommandPrefix": "g", "DespawnCommandPrefix": "no", "AllowMultipleIdentical": false, "FetchOldVehicleInsteadOfSpawningIdentical": true, "AllowFetchingWhenOccupied": false, "DismountOccupantsWhenFetching": true, "AllowDespawningWhenOccupied": false, "RefundFuelOnDespawn": false, "NotifyWhenVehicleDestroyed": false, "DestroyVehiclesOnDisconnect": false, "PreventVehiclesDecay": false, "ClearCooldownsOnMapWipe": true, "BlockWhenMountedOrParented": true, "BlockWhenBuildingBlocked": true, "BlockInSafeZone": true, "BlockWhenCombatBlocked": true, "BlockWhenRaidBlocked": true, "RemoveChinookMapMarker": true, "Vehicles": { "ball": { "Name": "Soccer Ball", "Prefab": "assets/content/vehicles/ball/ball.entity.prefab", "SpawnCooldown": { "": 86400.0, "vehicles.ball": 3600.0, "vehicles.ball.VIP": 300.0 }, "FetchCooldown": { "": 1800.0, "vehicles.ball": 60.0, "vehicles.ball.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.ball": 20.0, "vehicles.ball.VIP": 50.0 }, "FetchDistanceLimit": { "": 0.0 }, "DespawnDistanceLimit": { "": 0.0 }, "StartingFuel": null, "LockFuelContainer": null, "FuelPerSecond": null, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": 0.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "attack": { "Name": "Attack Helicopter", "Prefab": "assets/content/vehicles/attackhelicopter/attackhelicopter.entity.prefab", "SpawnCooldown": { "vehicles.attack": 3600.0, "vehicles.attack.VIP": 300.0 }, "FetchCooldown": { "vehicles.attack": 60.0, "vehicles.attack.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.attack": 5.0, "vehicles.attack.VIP": 15.0 }, "FetchDistanceLimit": { "vehicles.attack": 50.0, "vehicles.attack.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.attack": 50.0, "vehicles.attack.VIP": 0.0 }, "StartingFuel": { "vehicles.attack": 0, "vehicles.attack.VIP": 1 }, "LockFuelContainer": { "vehicles.attack": false, "vehicles.attack.VIP": true }, "FuelPerSecond": { "vehicles.attack": 0.5, "vehicles.attack.VIP": 0.0 }, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "mini": { "Name": "Minicopter", "Prefab": "assets/content/vehicles/minicopter/minicopter.entity.prefab", "SpawnCooldown": { "vehicles.minicopter": 3600.0, "vehicles.minicopter.VIP": 300.0 }, "FetchCooldown": { "vehicles.minicopter": 60.0, "vehicles.minicopter.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.minicopter": 5.0, "vehicles.minicopter.VIP": 15.0 }, "FetchDistanceLimit": { "vehicles.minicopter": 50.0, "vehicles.minicopter.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.minicopter": 50.0, "vehicles.minicopter.VIP": 0.0 }, "StartingFuel": { "vehicles.minicopter": 0, "vehicles.minicopter.VIP": 1 }, "LockFuelContainer": { "vehicles.minicopter": false, "vehicles.minicopter.VIP": true }, "FuelPerSecond": { "vehicles.minicopter": 0.5, "vehicles.minicopter.VIP": 0.0 }, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": { "vehicles.minicopter1": [ { "pX": 0.0, "pY": 0.35, "pZ": -1.45, "rX": 0.0, "rY": 180.0, "rZ": 0.0 } ], "vehicles.minicopter2": [ { "pX": 0.6, "pY": 0.2, "pZ": -0.2, "rX": 0.0, "rY": 0.0, "rZ": 0.0 }, { "pX": -0.6, "pY": 0.2, "pZ": -0.2, "rX": 0.0, "rY": 0.0, "rZ": 0.0 } ], "vehicles.minicopter3": [ { "pX": 0.0, "pY": 0.35, "pZ": -1.45, "rX": 0.0, "rY": 180.0, "rZ": 0.0 }, { "pX": 0.6, "pY": 0.2, "pZ": -0.2, "rX": 0.0, "rY": 0.0, "rZ": 0.0 }, { "pX": -0.6, "pY": 0.2, "pZ": -0.2, "rX": 0.0, "rY": 0.0, "rZ": 0.0 } ] }, "ExtraSeats": { "vehicles.minicopter1": [ { "pX": 0.0, "pY": 0.4, "pZ": -1.1, "rX": 0.0, "rY": 180.0, "rZ": 0.0 } ], "vehicles.minicopter2": [ { "pX": 0.6, "pY": 0.2, "pZ": -0.5, "rX": 0.0, "rY": 0.0, "rZ": 0.0 }, { "pX": -0.6, "pY": 0.2, "pZ": -0.5, "rX": 0.0, "rY": 0.0, "rZ": 0.0 } ], "vehicles.minicopter3": [ { "pX": 0.0, "pY": 0.4, "pZ": -1.1, "rX": 0.0, "rY": 180.0, "rZ": 0.0 }, { "pX": 0.6, "pY": 0.2, "pZ": -0.5, "rX": 0.0, "rY": 0.0, "rZ": 0.0 }, { "pX": -0.6, "pY": 0.2, "pZ": -0.5, "rX": 0.0, "rY": 0.0, "rZ": 0.0 } ] }, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "heli": { "Name": "Scrap Transport Helicopter", "Prefab": "assets/content/vehicles/scrap heli carrier/scraptransporthelicopter.prefab", "SpawnCooldown": { "vehicles.scraphelicopter": 3600.0, "vehicles.scraphelicopter.VIP": 300.0 }, "FetchCooldown": { "vehicles.scraphelicopter": 60.0, "vehicles.scraphelicopter.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.scraphelicopter": 5.0, "vehicles.scraphelicopter.VIP": 15.0 }, "FetchDistanceLimit": { "vehicles.scraphelicopter": 50.0, "vehicles.scraphelicopter.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.scraphelicopter": 50.0, "vehicles.scraphelicopter.VIP": 0.0 }, "StartingFuel": { "vehicles.scraphelicopter": 0, "vehicles.scraphelicopter.VIP": 1 }, "LockFuelContainer": { "vehicles.scraphelicopter": false, "vehicles.scraphelicopter.VIP": true }, "FuelPerSecond": { "vehicles.scraphelicopter": 0.5, "vehicles.scraphelicopter.VIP": 0.0 }, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": { "vehicles.scraphelicopter2": [ { "pX": -1.235, "pY": 1.0, "pZ": -2.75, "rX": 0.0, "rY": 180.0, "rZ": 0.0 }, { "pX": 1.2, "pY": 1.0, "pZ": -2.75, "rX": 0.0, "rY": 180.0, "rZ": 0.0 } ] }, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "boat": { "Name": "Row Boat", "Prefab": "assets/content/vehicles/boats/rowboat/rowboat.prefab", "SpawnCooldown": { "vehicles.rowboat": 3600.0, "vehicles.rowboat.VIP": 300.0 }, "FetchCooldown": { "vehicles.rowboat": 60.0, "vehicles.rowboat.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.rowboat": 3.0, "vehicles.rowboat.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.rowboat": 50.0, "vehicles.rowboat.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.rowboat": 50.0, "vehicles.rowboat.VIP": 0.0 }, "StartingFuel": { "vehicles.rowboat": 0, "vehicles.rowboat.VIP": 1 }, "LockFuelContainer": { "vehicles.rowboat": false, "vehicles.rowboat.VIP": true }, "FuelPerSecond": { "vehicles.rowboat": 0.1, "vehicles.rowboat.VIP": 0.0 }, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": true, "CanNotSpawnOnWater": false }, "rhib": { "Name": "RHIB", "Prefab": "assets/content/vehicles/boats/rhib/rhib.prefab", "SpawnCooldown": { "vehicles.rhib": 3600.0, "vehicles.rhib.VIP": 300.0 }, "FetchCooldown": { "vehicles.rhib": 60.0, "vehicles.rhib.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.rhib": 5.0, "vehicles.rhib.VIP": 15.0 }, "FetchDistanceLimit": { "vehicles.rhib": 50.0, "vehicles.rhib.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.rhib": 50.0, "vehicles.rhib.VIP": 0.0 }, "StartingFuel": { "vehicles.rhib": 0, "vehicles.rhib.VIP": 1 }, "LockFuelContainer": { "vehicles.rhib": false, "vehicles.rhib.VIP": true }, "FuelPerSecond": { "vehicles.rhib": 0.25, "vehicles.rhib.VIP": 0.0 }, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": true, "CanNotSpawnOnWater": false }, "kayak": { "Name": "Kayak", "Prefab": "assets/content/vehicles/boats/kayak/kayak.prefab", "SpawnCooldown": { "vehicles.kayak": 3600.0, "vehicles.kayak.VIP": 300.0 }, "FetchCooldown": { "vehicles.kayak": 60.0, "vehicles.kayak.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.kayak": 3.0, "vehicles.kayak.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.kayak": 50.0, "vehicles.kayak.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.kayak": 50.0, "vehicles.kayak.VIP": 0.0 }, "StartingFuel": null, "LockFuelContainer": null, "FuelPerSecond": null, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": true, "CanNotSpawnOnWater": false }, "sub1": { "Name": "Solo Submarine", "Prefab": "assets/content/vehicles/submarine/submarinesolo.entity.prefab", "SpawnCooldown": { "vehicles.submarinesolo": 3600.0, "vehicles.submarinesolo.VIP": 300.0 }, "FetchCooldown": { "vehicles.submarinesolo": 60.0, "vehicles.submarinesolo.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.submarinesolo": 3.0, "vehicles.submarinesolo.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.submarinesolo": 50.0, "vehicles.submarinesolo.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.submarinesolo": 50.0, "vehicles.submarinesolo.VIP": 0.0 }, "StartingFuel": { "vehicles.submarinesolo": 0, "vehicles.submarinesolo.VIP": 1 }, "LockFuelContainer": { "vehicles.submarinesolo": false, "vehicles.submarinesolo.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.submarinesolo": 0.025, "vehicles.submarinesolo.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.submarinesolo": 0.13, "vehicles.submarinesolo.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": true, "CanNotSpawnOnWater": false }, "sub2": { "Name": "Duo Submarine", "Prefab": "assets/content/vehicles/submarine/submarineduo.entity.prefab", "SpawnCooldown": { "vehicles.submarineduo": 3600.0, "vehicles.submarineduo.VIP": 300.0 }, "FetchCooldown": { "vehicles.submarineduo": 60.0, "vehicles.submarineduo.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.submarineduo": 3.0, "vehicles.submarineduo.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.submarineduo": 50.0, "vehicles.submarineduo.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.submarineduo": 50.0, "vehicles.submarineduo.VIP": 0.0 }, "StartingFuel": { "vehicles.submarineduo": 0, "vehicles.submarineduo.VIP": 1 }, "LockFuelContainer": { "vehicles.submarineduo": false, "vehicles.submarineduo.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.submarineduo": 0.03, "vehicles.submarineduo.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.submarineduo": 0.15, "vehicles.submarineduo.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": true, "CanNotSpawnOnWater": false }, "tug": { "Name": "Tugboat", "Prefab": "assets/content/vehicles/boats/tugboat/tugboat.prefab", "SpawnCooldown": { "vehicles.tugboat": 3600.0, "vehicles.tugboat.VIP": 300.0 }, "FetchCooldown": { "vehicles.tugboat": 60.0, "vehicles.tugboat.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.tugboat": 10.0, "vehicles.tugboat.VIP": 25.0 }, "FetchDistanceLimit": { "vehicles.tugboat": 50.0, "vehicles.tugboat.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.tugboat": 50.0, "vehicles.tugboat.VIP": 0.0 }, "StartingFuel": { "vehicles.tugboat": 0, "vehicles.tugboat.VIP": 1 }, "LockFuelContainer": { "vehicles.tugboat": false, "vehicles.tugboat.VIP": true }, "FuelPerSecond": { "vehicles.tugboat": 0.33, "vehicles.tugboat.VIP": 0.0 }, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": true, "CanNotSpawnOnWater": false }, "hab": { "Name": "Hot Air Balloon", "Prefab": "assets/prefabs/deployable/hot air balloon/hotairballoon.prefab", "SpawnCooldown": { "vehicles.hotairballoon": 3600.0, "vehicles.hotairballoon.VIP": 300.0 }, "FetchCooldown": { "vehicles.hotairballoon": 60.0, "vehicles.hotairballoon.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.hotairballoon": 3.0, "vehicles.hotairballoon.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.hotairballoon": 50.0, "vehicles.hotairballoon.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.hotairballoon": 50.0, "vehicles.hotairballoon.VIP": 0.0 }, "StartingFuel": { "vehicles.hotairballoon": 0, "vehicles.hotairballoon.VIP": 1 }, "LockFuelContainer": { "vehicles.hotairballoon": false, "vehicles.hotairballoon.VIP": true }, "FuelPerSecond": { "vehicles.hotairballoon": 0.25, "vehicles.hotairballoon.VIP": 0.0 }, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": 180.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "horse": { "Name": "Ridable Horse", "Prefab": "assets/rust.ai/nextai/testridablehorse.prefab", "SpawnCooldown": { "vehicles.ridablehorse": 3600.0, "vehicles.ridablehorse.VIP": 300.0 }, "FetchCooldown": { "vehicles.ridablehorse": 60.0, "vehicles.ridablehorse.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.ridablehorse": 3.0, "vehicles.ridablehorse.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.ridablehorse": 50.0, "vehicles.ridablehorse.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.ridablehorse": 50.0, "vehicles.ridablehorse.VIP": 0.0 }, "StartingFuel": null, "LockFuelContainer": null, "FuelPerSecond": null, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": true }, "sled": { "Name": "Sled", "Prefab": "assets/prefabs/misc/xmas/sled/sled.deployed.prefab", "SpawnCooldown": { "vehicles.sled": 3600.0, "vehicles.sled.VIP": 300.0 }, "FetchCooldown": { "vehicles.sled": 60.0, "vehicles.sled.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.sled": 3.0, "vehicles.sled.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.sled": 50.0, "vehicles.sled.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.sled": 50.0, "vehicles.sled.VIP": 0.0 }, "StartingFuel": null, "LockFuelContainer": null, "FuelPerSecond": null, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "snow": { "Name": "Snowmobile", "Prefab": "assets/content/vehicles/snowmobiles/snowmobile.prefab", "SpawnCooldown": { "vehicles.snowmobile": 3600.0, "vehicles.snowmobile.VIP": 300.0 }, "FetchCooldown": { "vehicles.snowmobile": 60.0, "vehicles.snowmobile.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.snowmobile": 3.0, "vehicles.snowmobile.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.snowmobile": 50.0, "vehicles.snowmobile.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.snowmobile": 50.0, "vehicles.snowmobile.VIP": 0.0 }, "StartingFuel": { "vehicles.snowmobile": 0, "vehicles.snowmobile.VIP": 1 }, "LockFuelContainer": { "vehicles.snowmobile": false, "vehicles.snowmobile.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.snowmobile": 0.03, "vehicles.snowmobile.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.snowmobile": 0.15, "vehicles.snowmobile.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "tomaha": { "Name": "Tomaha Snowmobile", "Prefab": "assets/content/vehicles/snowmobiles/tomahasnowmobile.prefab", "SpawnCooldown": { "vehicles.tomaha": 3600.0, "vehicles.tomaha.VIP": 300.0 }, "FetchCooldown": { "vehicles.tomaha": 60.0, "vehicles.tomaha.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.tomaha": 3.0, "vehicles.tomaha.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.tomaha": 50.0, "vehicles.tomaha.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.tomaha": 50.0, "vehicles.tomaha.VIP": 0.0 }, "StartingFuel": { "vehicles.tomaha": 0, "vehicles.tomaha.VIP": 1 }, "LockFuelContainer": { "vehicles.tomaha": false, "vehicles.tomaha.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.tomaha": 0.03, "vehicles.tomaha.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.tomaha": 0.15, "vehicles.tomaha.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "motorbike": { "Name": "Motorbike", "Prefab": "assets/content/vehicles/bikes/motorbike.prefab", "SpawnCooldown": { "vehicles.motorbike": 3600.0, "vehicles.motorbike.VIP": 300.0 }, "FetchCooldown": { "vehicles.motorbike": 60.0, "vehicles.motorbike.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.motorbike": 3.0, "vehicles.motorbike.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.motorbike": 50.0, "vehicles.motorbike.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.motorbike": 50.0, "vehicles.motorbike.VIP": 0.0 }, "StartingFuel": { "vehicles.motorbike": 0, "vehicles.motorbike.VIP": 1 }, "LockFuelContainer": { "vehicles.motorbike": false, "vehicles.motorbike.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.motorbike": 0.03, "vehicles.motorbike.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.motorbike": 0.15, "vehicles.motorbike.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "motorbike2": { "Name": "Motorbike Sidecar", "Prefab": "assets/content/vehicles/bikes/motorbike_sidecar.prefab", "SpawnCooldown": { "vehicles.motorbike2": 3600.0, "vehicles.motorbike2.VIP": 300.0 }, "FetchCooldown": { "vehicles.motorbike2": 60.0, "vehicles.motorbike2.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.motorbike2": 3.0, "vehicles.motorbike2.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.motorbike2": 50.0, "vehicles.motorbike2.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.motorbike2": 50.0, "vehicles.motorbike2.VIP": 0.0 }, "StartingFuel": { "vehicles.motorbike2": 0, "vehicles.motorbike2.VIP": 1 }, "LockFuelContainer": { "vehicles.motorbike2": false, "vehicles.motorbike2.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.motorbike2": 0.03, "vehicles.motorbike2.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.motorbike2": 0.15, "vehicles.motorbike2.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "bike": { "Name": "Pedal Bike", "Prefab": "assets/content/vehicles/bikes/pedalbike.prefab", "SpawnCooldown": { "vehicles.bike": 3600.0, "vehicles.bike.VIP": 300.0 }, "FetchCooldown": { "vehicles.bike": 60.0, "vehicles.bike.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.bike": 3.0, "vehicles.bike.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.bike": 50.0, "vehicles.bike.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.bike": 50.0, "vehicles.bike.VIP": 0.0 }, "StartingFuel": null, "LockFuelContainer": null, "FuelPerSecond": null, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "trike": { "Name": "Pedal Trike", "Prefab": "assets/content/vehicles/bikes/pedaltrike.prefab", "SpawnCooldown": { "vehicles.trike": 3600.0, "vehicles.trike.VIP": 300.0 }, "FetchCooldown": { "vehicles.trike": 60.0, "vehicles.trike.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.trike": 3.0, "vehicles.trike.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.trike": 50.0, "vehicles.trike.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.trike": 50.0, "vehicles.trike.VIP": 0.0 }, "StartingFuel": null, "LockFuelContainer": null, "FuelPerSecond": null, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "ch47": { "Name": "Chinook", "Prefab": "assets/prefabs/npc/ch47/ch47.entity.prefab", "SpawnCooldown": { "vehicles.chinook": 3600.0, "vehicles.chinook.VIP": 300.0 }, "FetchCooldown": { "vehicles.chinook": 60.0, "vehicles.chinook.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.chinook": 3.0, "vehicles.chinook.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.chinook": 50.0, "vehicles.chinook.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.chinook": 50.0, "vehicles.chinook.VIP": 0.0 }, "StartingFuel": null, "LockFuelContainer": null, "FuelPerSecond": null, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "sedan": { "Name": "Sedan", "Prefab": "assets/content/vehicles/sedan_a/sedantest.entity.prefab", "SpawnCooldown": { "vehicles.sedan": 3600.0, "vehicles.sedan.VIP": 300.0 }, "FetchCooldown": { "vehicles.sedan": 60.0, "vehicles.sedan.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.sedan": 3.0, "vehicles.sedan.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.sedan": 50.0, "vehicles.sedan.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.sedan": 50.0, "vehicles.sedan.VIP": 0.0 }, "StartingFuel": null, "LockFuelContainer": null, "FuelPerSecond": null, "IdleFuelPerSecond": null, "MaxFuelPerSecond": null, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "4mod": { "Name": "4 Module Car", "Prefab": "assets/content/vehicles/modularcar/4module_car_spawned.entity.prefab", "SpawnCooldown": { "vehicles.4modulecar": 3600.0, "vehicles.4modulecar.VIP": 300.0 }, "FetchCooldown": { "vehicles.4modulecar": 60.0, "vehicles.4modulecar.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.4modulecar": 3.0, "vehicles.4modulecar.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.4modulecar": 50.0, "vehicles.4modulecar.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.4modulecar": 50.0, "vehicles.4modulecar.VIP": 0.0 }, "StartingFuel": { "vehicles.4modulecar": 0, "vehicles.4modulecar.VIP": 1 }, "LockFuelContainer": { "vehicles.4modulecar": false, "vehicles.4modulecar.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.4modulecar": 0.025, "vehicles.4modulecar.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.4modulecar": 0.08, "vehicles.4modulecar.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "3mod": { "Name": "3 Module Car", "Prefab": "assets/content/vehicles/modularcar/3module_car_spawned.entity.prefab", "SpawnCooldown": { "vehicles.3modulecar": 3600.0, "vehicles.3modulecar.VIP": 300.0 }, "FetchCooldown": { "vehicles.3modulecar": 60.0, "vehicles.3modulecar.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.3modulecar": 3.0, "vehicles.3modulecar.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.3modulecar": 50.0, "vehicles.3modulecar.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.3modulecar": 50.0, "vehicles.3modulecar.VIP": 0.0 }, "StartingFuel": { "vehicles.3modulecar": 0, "vehicles.3modulecar.VIP": 1 }, "LockFuelContainer": { "vehicles.3modulecar": false, "vehicles.3modulecar.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.3modulecar": 0.025, "vehicles.3modulecar.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.3modulecar": 0.08, "vehicles.3modulecar.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "2mod": { "Name": "2 Module Car", "Prefab": "assets/content/vehicles/modularcar/2module_car_spawned.entity.prefab", "SpawnCooldown": { "vehicles.2modulecar": 3600.0, "vehicles.2modulecar.VIP": 300.0 }, "FetchCooldown": { "vehicles.2modulecar": 60.0, "vehicles.2modulecar.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.2modulecar": 3.0, "vehicles.2modulecar.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.2modulecar": 50.0, "vehicles.2modulecar.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.2modulecar": 50.0, "vehicles.2modulecar.VIP": 0.0 }, "StartingFuel": { "vehicles.2modulecar": 0, "vehicles.2modulecar.VIP": 1 }, "LockFuelContainer": { "vehicles.2modulecar": false, "vehicles.2modulecar.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.2modulecar": 0.025, "vehicles.2modulecar.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.2modulecar": 0.08, "vehicles.2modulecar.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "crane": { "Name": "Magnet Crane", "Prefab": "assets/content/vehicles/crane_magnet/magnetcrane.entity.prefab", "SpawnCooldown": { "vehicles.magnetcrane": 3600.0, "vehicles.magnetcrane.VIP": 300.0 }, "FetchCooldown": { "vehicles.magnetcrane": 60.0, "vehicles.magnetcrane.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.magnetcrane": 3.0, "vehicles.magnetcrane.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.magnetcrane": 50.0, "vehicles.magnetcrane.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.magnetcrane": 50.0, "vehicles.magnetcrane.VIP": 0.0 }, "StartingFuel": { "vehicles.magnetcrane": 0, "vehicles.magnetcrane.VIP": 1 }, "LockFuelContainer": { "vehicles.magnetcrane": false, "vehicles.magnetcrane.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.magnetcrane": 0.06668, "vehicles.magnetcrane.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.magnetcrane": 0.3334, "vehicles.magnetcrane.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": false }, "cart": { "Name": "Workcart", "Prefab": "assets/content/vehicles/trains/workcart/workcart.entity.prefab", "SpawnCooldown": { "vehicles.workcart": 3600.0, "vehicles.workcart.VIP": 300.0 }, "FetchCooldown": { "vehicles.workcart": 60.0, "vehicles.workcart.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.workcart": 3.0, "vehicles.workcart.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.workcart": 50.0, "vehicles.workcart.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.workcart": 50.0, "vehicles.workcart.VIP": 0.0 }, "StartingFuel": { "vehicles.workcart": 0, "vehicles.workcart.VIP": 1 }, "LockFuelContainer": { "vehicles.workcart": false, "vehicles.workcart.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.workcart": 0.025, "vehicles.workcart.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.workcart": 0.075, "vehicles.workcart.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": true }, "agcart": { "Name": "Above Ground Workcart", "Prefab": "assets/content/vehicles/trains/workcart/workcart_aboveground.entity.prefab", "SpawnCooldown": { "vehicles.abovegroundworkcart": 3600.0, "vehicles.abovegroundworkcart.VIP": 300.0 }, "FetchCooldown": { "vehicles.abovegroundworkcart": 60.0, "vehicles.abovegroundworkcart.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.abovegroundworkcart": 3.0, "vehicles.abovegroundworkcart.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.abovegroundworkcart": 50.0, "vehicles.abovegroundworkcart.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.abovegroundworkcart": 50.0, "vehicles.abovegroundworkcart.VIP": 0.0 }, "StartingFuel": { "vehicles.abovegroundworkcart": 0, "vehicles.abovegroundworkcart.VIP": 1 }, "LockFuelContainer": { "vehicles.abovegroundworkcart": false, "vehicles.abovegroundworkcart.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.abovegroundworkcart": 0.025, "vehicles.abovegroundworkcart.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.abovegroundworkcart": 0.075, "vehicles.abovegroundworkcart.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": true }, "agcart2": { "Name": "Above Ground Workcart 2", "Prefab": "assets/content/vehicles/trains/workcart/workcart_aboveground2.entity.prefab", "SpawnCooldown": { "vehicles.abovegroundworkcart2": 3600.0, "vehicles.abovegroundworkcart2.VIP": 300.0 }, "FetchCooldown": { "vehicles.abovegroundworkcart2": 60.0, "vehicles.abovegroundworkcart2.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.abovegroundworkcart2": 3.0, "vehicles.abovegroundworkcart2.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.abovegroundworkcart2": 50.0, "vehicles.abovegroundworkcart2.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.abovegroundworkcart2": 50.0, "vehicles.abovegroundworkcart2.VIP": 0.0 }, "StartingFuel": { "vehicles.abovegroundworkcart2": 0, "vehicles.abovegroundworkcart2.VIP": 1 }, "LockFuelContainer": { "vehicles.abovegroundworkcart2": false, "vehicles.abovegroundworkcart2.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.abovegroundworkcart2": 0.025, "vehicles.abovegroundworkcart2.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.abovegroundworkcart2": 0.075, "vehicles.abovegroundworkcart2.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": true }, "locomotive": { "Name": "Locomotive", "Prefab": "assets/content/vehicles/trains/locomotive/locomotive.entity.prefab", "SpawnCooldown": { "vehicles.locomotive": 3600.0, "vehicles.locomotive.VIP": 300.0 }, "FetchCooldown": { "vehicles.locomotive": 60.0, "vehicles.locomotive.VIP": 5.0 }, "MaxSpawnDistance": { "vehicles.locomotive": 3.0, "vehicles.locomotive.VIP": 10.0 }, "FetchDistanceLimit": { "vehicles.locomotive": 50.0, "vehicles.locomotive.VIP": 0.0 }, "DespawnDistanceLimit": { "vehicles.locomotive": 50.0, "vehicles.locomotive.VIP": 0.0 }, "StartingFuel": { "vehicles.locomotive": 0, "vehicles.locomotive.VIP": 1 }, "LockFuelContainer": { "vehicles.locomotive": false, "vehicles.locomotive.VIP": true }, "FuelPerSecond": null, "IdleFuelPerSecond": { "vehicles.locomotive": 0.035, "vehicles.locomotive.VIP": 0.0 }, "MaxFuelPerSecond": { "vehicles.locomotive": 0.1, "vehicles.locomotive.VIP": 0.0 }, "ExtraMounts": null, "ExtraSeats": null, "YRotationSpawnOffset": -90.0, "CanOnlySpawnOnWater": false, "CanNotSpawnOnWater": true } }, "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } Lang: { "NoPermissionSpawn": "You do not have permission to spawn {0}s.", "NoPermissionFetch": "You do not have permission to fetch {0}s.", "MountedOrParented": "You cannot spawn or fetch vehicles while mounted or parented.", "BuildingBlocked": "You cannot spawn or fetch vehicles while building blocked.", "InSafeZone": "You cannot spawn or fetch vehicles in a safe zone.", "CombatBlocked": "You cannot spawn or fetch vehicles while combat blocked.", "RaidBlocked": "You cannot spawn or fetch vehicles while raid blocked.", "NotOnWater": "You can only spawn or fetch {0}s on water.", "OnWater": "You can not spawn or fetch {0}s on water.", "TracksNotFound": "You can only spawn or fetch {0}s on train tracks.", "LookingTooFar": "You must be looking at a position closer to you to be able to spawn or fetch {0}s.", "Destroyed": "Your {0} has been destroyed.", "AlreadySpawned": "You already own a {0}.\nUse '/{1}' to fetch it or '/{2}' to despawn it.", "SpawnCooldown": "You must wait {0} before spawning another {1}.", "FetchCooldown": "You must wait {0} before fetching your {1}.", "Spawned": "Your {0} has spawned.", "NotFound": "You do not have a {0}.", "TooFarFetch": "Your {0} is too far away to be fetched.", "TooFarDespawn": "Your {0} is too far away to be despawned.", "BeingUsedFetch": "Cannot fetch your {0} as it is currently being used by another player", "BeingUsedDespawn": "Cannot despawn your {0} as it is currently being used by another player", "Fetched": "You have fetched your {0}.", "Despawned": "You have despawned your {0}.{1}", "Refunded": "\nRefunded {0} low grade fuel." } API List<Tuple<string, string, string>> GetConfig() Returns the suffix and its name and prefab for every vehicle in the config file. Example: List<Tuple<string, string, string>> suffixes = Vehicles.Call<List<Tuple<string, string, string>>>("GetConfig"); if (suffixes == null) return; for (int i = 0; i < suffixes.Count; i++) { string suffix = suffixes[i].Item1; string name = suffixes[i].Item2; string prefab = suffixes[i].Item3; } List<ulong> GetEntities(ulong playerID, string suffix) Returns a `List<ulong>` with the network ID of all available entities spawned by the player with this suffix, returns `null` if none found. Example: List<ulong> minis = Vehicles.Call<List<ulong>>("GetEntities", player.userID, "mini"); if (minis == null) return; BaseEntity newestMini = BaseNetworkable.serverEntities.Find(new NetworkableId(minis[minis.Count - 1])) as BaseEntity; BaseEntity oldestMini = BaseNetworkable.serverEntities.Find(new NetworkableId(minis[0])) as BaseEntity; Dictionary<string, List<ulong>> GetAllEntities(ulong playerID) Returns a `Dictionary<string, List<ulong>>` with the Key as the suffix and the Value as the network ID of all available entities spawned by the player, returns `null` if none found. Example: Dictionary<string, List<ulong>> entities = Vehicles.Call<Dictionary<string, List<ulong>>>("GetAllEntities", player.userID); if (entities == null) return; List<ulong> minis; if (entities.TryGetValue("mini", out minis)) { BaseEntity newestMini = BaseNetworkable.serverEntities.Find(new NetworkableId(minis[minis.Count - 1])) as BaseEntity; BaseEntity oldestMini = BaseNetworkable.serverEntities.Find(new NetworkableId(minis[0])) as BaseEntity; } List<ulong> boats; if (entities.TryGetValue("boat", out boats)) { BaseEntity newestBoat = BaseNetworkable.serverEntities.Find(new NetworkableId(boats[boats.Count - 1])) as BaseEntity; BaseEntity oldestBoat = BaseNetworkable.serverEntities.Find(new NetworkableId(boats[0])) as BaseEntity; } bool IsPlayerEntity(ulong entityID) Checks if the entity belongs to `Vehicles`. Example: bool isPlayerEntity = Vehicles.Call<bool>("IsPlayerEntity", entity.net.ID.Value); string GetSuffix(ulong entityID) Returns the suffix of the entity, returns `null` if the entity does not belong to `Vehicles`. Example: string suffix = Vehicles.Call<string>("GetSuffix", entity.net.ID.Value); if (string.IsNullOrWhiteSpace(suffix)) return; ulong GetOwnerUserID(ulong entityID) Returns the userID of the player who spawned the entity (**not the entity's OwnerID**), returns `0uL` if the entity does not belong to `Vehicles`. Example: ulong playerID = Vehicles.Call<ulong>("GetOwnerUserID", entity.net.ID.Value); if (playerID == 0uL) return; bool DespawnNewestEntity(ulong playerID, string suffix, bool refundFuel = false, bool notify = false) Despawns the newest available entity spawned by the player with this suffix, returns `false` if not found. Examples: bool success = Vehicles.Call<bool>("DespawnNewestEntity", player.userID, "mini"); bool success = Vehicles.Call<bool>("DespawnNewestEntity", player.userID, "mini", true, true); int DespawnAllEntities(ulong playerID, string suffix = "", bool refundFuel = false, bool notify = false) Despawns all the entities (optionally by suffix) spawned by the player, returns the amount of entities despawned. Examples: int despawnedAmount = Vehicles.Call<int>("DespawnAllEntities", player.userID); int despawnedAmount = Vehicles.Call<int>("DespawnAllEntities", player.userID, "", true, true); int despawnedAmount = Vehicles.Call<int>("DespawnAllEntities", player.userID, "mini"); int despawnedAmount = Vehicles.Call<int>("DespawnAllEntities", player.userID, "mini", true, true); bool AddEntity(ulong playerID, string suffix, ulong entityID) Adds the entity as the player's last spawned entity with this suffix, returns `false` if suffix does not exist. Example: bool success = Vehicles.Call<bool>("AddEntity", player.userID, "mini", entity.net.ID.Value); bool RemoveEntity(ulong entityID, string suffix = "", ulong playerID = 0uL) Removes the entity so that it no longer belongs to `Vehicles`, faster if the two optional arguments are provided, returns `false` if entity does not belong to `Vehicles` or to the player's list of entities for this suffix. Examples: bool success = RemoveEntity(entity.net.ID.Value); bool isPlayerEntity = Vehicles.Call<bool>("IsPlayerEntity", entity.net.ID.Value); if (!isPlayerEntity) return; string suffix = Vehicles.Call<string>("GetSuffix", entity.net.ID.Value); ulong playerID = Vehicles.Call<ulong>("GetOwnerUserID", entity.net.ID.Value); bool success = Vehicles.Call<bool>("RemoveEntity", entity.net.ID.Value, suffix, playerID); double GetCooldownLeft(ulong playerID, string suffix, bool fetch = false) Returns how many seconds are left for the player's cooldown to expire for this suffix, returns a negative number if the player's cooldown has expired, returns `0.0` if suffix does not exist, returns `0.0` if the player's permissions do not have a cooldown for this suffix, or returns `-1.0` if the player does not yet contain a cooldown for this suffix. Examples: double left = Vehicles.Call<double>("GetCooldownLeft", player.userID, "mini"); bool canSpawn = (left <= 0 && left != -1); bool onSpawnCooldown = (left > 0.0); bool notFound = (left == -1); double left = Vehicles.Call<double>("GetCooldownLeft", player.userID, "mini", true); bool canFetch = (left <= 0 && left != -1); bool onFetchCooldown = (left > 0.0); bool notFound = (left == -1); bool AddCooldown(ulong playerID, string suffix, bool fetch = false) Adds a cooldown to the player with the current timestamp for this suffix, returns `false` if the suffix does not exist. Examples: bool success = Vehicles.Call<bool>("AddCooldown", player.userID, "mini"); bool success = Vehicles.Call<bool>("AddCooldown", player.userID, "mini", true); bool ClearCooldowns(ulong playerID, string suffix = "", bool fetch = false) Clears the spawn or the fetch cooldowns for the player, clears for every suffix unless one is provided, returns `false` if the player does not have any cooldowns or if the player does not have a cooldown for the provided suffix. Examples: bool success = Vehicles.Call<bool>("ClearCooldowns", player.userID, "mini"); bool success = Vehicles.Call<bool>("ClearCooldowns", player.userID, "mini", true); bool success = Vehicles.Call<bool>("ClearCooldowns", player.userID); bool success = Vehicles.Call<bool>("ClearCooldowns", player.userID, "", true); string CooldownToString(double cooldown) Returns a formatted `string` with the span of time. Example: double left = Vehicles.Call<double>("GetCooldownLeft", player.userID, "mini"); if (left == -1.0 || left > 0.0) return; string duration = Vehicles.Call<string>("CooldownToString", left); bool HasPermission(string playerId, string suffix, bool fetch = false) Checks if the player has permission to spawn or fetch this suffix, returns `false` if suffix does not exist. Examples: bool canSpawn = Vehicles.Call<bool>("HasPermission", player.UserIDString, "mini"); bool canFetch = Vehicles.Call<bool>("HasPermission", player.UserIDString, "mini", true); bool CanSpawn(BasePlayer player) Checks if the player can spawn or fetch according to the config options. Example: bool canspawn = Vehicles.Call<bool>("CanSpawn", player); bool CheckSurface(string suffix, Vector3 position, out bool water) Checks if this suffix may be spawned or fetched on the surface at this position, returns `false` if suffix does not exist, `out` parameter returns `true` if checked surface is water. Example: //bool water; //bool allowedSurface = CheckSurface("mini", position, out water); //if (!allowedSurface) //{ // if (water) player.ChatMessage("Can't spawn on water."); // else player.ChatMessage("Can't spawn on land."); //} bool TryMoveToTrainTrack(TrainCar train, Vector3 position) Moves the `TrainCar` to the nearest train track at this position, returns `false` if no train tracks are found. Example: bool moved = Vehicles.Call<bool>("TryMoveToTrainTrack", train, position); Vector3 GetGroundPositionLookingAt(BasePlayer player, float maxDistance) Returns the position of the surface at up to this maximum distance at the point that the player is looking at, returns `Vector3.zero` if the distance between the position of the surface and the player's position is higher than the maximum distance. Example: Vector3 position = Vehicles.Call<Vector3>("GetGroundPositionLookingAt", player, 15.0f); if (position == Vector3.zero) return; void RemoveMapMarker(BaseEntity entity) Removes the map marker from chinooks. Example: Vehicles.Call("RemoveMapMarker", entity); bool SetFuelConsumption(BaseEntity entity) Sets the entity's fuel consumption and/or locks the fuel container as is configured for its suffix, returns `false` if entity does not belong to `Vehicles`. Example: bool success = Vehicles.Call<bool>("SetFuelConsumption", entity); bool SetModuleEngineFuelConsumption(VehicleModuleEngine moduleEngine) Sets the module engine's fuel consumption as is configured for the suffix that the engine is mounted on, returns `false` if the entity that the engine is mounted on does not belong to `Vehicles`. Example: bool success = Vehicles.Call<bool>("SetModuleEngineFuelConsumption", moduleEngine); int AddFuel(EntityFuelSystem fuelSystem) Adds starting fuel to the entity's fuel system as is configured for its suffix, returns the amount of fuel added or returns `0` if config is set to 0 or returns `-1` if entity does not belong to `Vehicles`. Example: int addedFuel = Vehicles.Call<int>("AddFuel", vehicle.GetFuelSystem()); bool success = (addedFuel >= 1); bool configNoFuel = (addedFuel == 0); bool failed = (addedFuel == -1); int RefundFuel(EntityFuelSystem fuelSystem, BasePlayer player) Refunds the player of any fuel left in the entity's fuel tank, returns the amount of fuel refunded or returns `0` if no fuel left. Example: int returnedFuel = Vehicles.Call<int>("RefundFuel", vehicle.GetFuelSystem(), player); bool success = (returnedFuel >= 1); bool empty = (returnedFuel == 0); List<BaseVehicle.MountPointInfo> AddMounts(string playerId, string suffix, BaseVehicle vehicle) Adds mount points to the vehicle according to the permissions the player has for this suffix, must be called before spawning the entity, returns a `List<BaseVehicle.MountPointInfo>` of the mount points that were added to the vehicle. Example: BaseEntity entity = Vehicles.Call("CreateEntity", player.userID, "mini", position) as BaseEntity; if (entity == null) return; BaseVehicle vehicle = entity as BaseVehicle; if (vehicle != null) { List<BaseVehicle.MountPointInfo> mounts = Vehicles.Call<List<BaseVehicle.MountPointInfo>>("AddMounts", player.UserIDString, "mini", vehicle); int mountsAdded = mounts.Count; } entity.Spawn(); List<BaseEntity> AddSeats(string playerId, string suffix, BaseEntity entity) Adds seats to the vehicle according to the permissions the player has for this suffix, returns a `List<BaseEntity>` of the seats that were added to the vehicle. Example: List<BaseEntity> seats = Vehicles.Call<List<BaseEntity>>("AddSeats", player.UserIDString, "mini", entity); int seatsAdded = seats.Count; List<BasePlayer> GetMountedOccupants(BaseEntity entity) Returns a `List<BasePlayer>` of mounted players. Example: List<BasePlayer> mounted = Vehicles.Call<List<BasePlayer>>("GetMountedOccupants", entity); int numMounted = mounted.Count; List<BasePlayer> GetParentedOccupants(BaseEntity entity) Returns a `List<BasePlayer>` of parented players. Example: List<BasePlayer> parented = Vehicles.Call<List<BasePlayer>>("GetParentedOccupants", entity); int numParented = parented.Count; void DismountOccupants(List<BasePlayer> mounted) Dismounts every player on this List from the vehicle. Example: List<BasePlayer> mounted = Vehicles.Call<List<BasePlayer>>("GetMountedOccupants", entity); Vehicles.Call("DismountOccupants", mounted); void UnparentOccupants(List<BasePlayer> parented) Unparents every player on this List from the entity. Example: List<BasePlayer> parented = Vehicles.Call<List<BasePlayer>>("GetParentedOccupants", entity); Vehicles.Call("UnparentOccupants", parented); string GetMapGrid(Vector3 position) Returns the map grid from this position. Examples: string mapGrid = Vehicles.Call<string>("GetMapGrid", entity.transform.position); string mapGrid = Vehicles.Call<string>("GetMapGrid", player.transform.position); BaseEntity CreateEntity(ulong playerID, string suffix, Vector3 position, float YrotationOffset = -90.0f) Spawns a suffix for this userID, returns the `BaseEntity` or returns `null` if suffix does not exist. Example: bool hasSpawnPerm = Vehicles.Call<bool>("HasPermission", player.UserIDString, "mini"); if (!hasSpawnPerm) return; double left = Vehicles.Call<double>("GetCooldownLeft", player.userID, "mini"); if (left > 0.0) return; bool canSpawn = Vehicles.Call<bool>("CanSpawn", player); if (!canSpawn) return; Vector3 position = Vehicles.Call<Vector3>("GetGroundPositionLookingAt", player, 15.0f); if (position == Vector3.zero) return; BaseEntity entity = Vehicles.Call("CreateEntity", player.userID, "mini", position) as BaseEntity; if (entity == null) return; entity.Spawn(); Vehicles.Call("AddEntity", player.userID, "mini", entity.net.ID.Value); BaseVehicle vehicle = entity as BaseVehicle; if (vehicle != null) { Vehicles.Call("SetFuelConsumption", entity); Vehicles.Call("AddFuel", vehicle.GetFuelSystem()); } Vehicles.Call("AddCooldown", player.userID, "mini"); BaseEntity FetchEntity(ulong playerID, string suffix, Vector3 position, float YrotationOffset = -90.0f) Fetches the last available entity spawned by the player with this suffix, returns the `BaseEntity` or returns `null` if not found. Example: bool hasFetchPerm = Vehicles.Call<bool>("HasPermission", player.UserIDString, "mini", true); if (!hasFetchPerm) return; List<ulong> minis = Vehicles.Call<List<ulong>>("GetEntities", player.userID, "mini"); if (minis == null) return; BaseEntity entity = BaseNetworkable.serverEntities.Find(new NetworkableId(minis[minis.Count - 1])) as BaseEntity; double left = Vehicles.Call<double>("GetCooldownLeft", player.userID, "mini", true); if (left > 0.0) return; bool canSpawn = Vehicles.Call<bool>("CanSpawn", player); if (!canSpawn) return; Vector3 position = Vehicles.Call<Vector3>("GetGroundPositionLookingAt", player, 15.0f); if (position == Vector3.zero) return; List<BasePlayer> mounted = Vehicles.Call<List<BasePlayer>>("GetMountedOccupants", entity); List<BasePlayer> parented = Vehicles.Call<List<BasePlayer>>("GetParentedOccupants", entity); if (!config.AllowFetchingWhenOccupied && (mounted.Count > 0 || parented.Count > 0)) return; if (config.DismountOccupantsWhenFetching) { Vehicles.Call("DismountOccupants", mounted); Vehicles.Call("UnparentOccupants", parented); } object obj = Vehicles.Call("FetchEntity", player.userID, "mini", position); .$12.00- 23 comments
- 4 reviews
-
- #vehicle
- #vehicles
-
(and 64 more)
Tagged with:
- #vehicle
- #vehicles
- #helicopter
- #helicopters
- #heli
- #helis
- #copter
- #copters
- #attack helicopter
- #attack heli
- #attack
- #minicopter
- #mini copter
- #mini
- #scrap transport helicopter
- #transport
- #transport helicopter
- #scrap heli
- #boat
- #boats
- #row boat
- #rowboat
- #row
- #rhib
- #tugboat
- #tug boat
- #tug
- #sled
- #snowmobile
- #snow mobile
- #snow
- #tomaha
- #hot air balloon
- #balloon
- #hab
- #ridable horse
- #horse
- #horses
- #submarine
- #submarines
- #solo submarine
- #duo submarine
- #chinook
- #ch47
- #sedan
- #car
- #cars
- #modular car
- #modular cars
- #magnet crane
- #crane
- #cranes
- #train
- #trains
- #cart
- #carts
- #workcart
- #work cart
- #above ground workcart
- #locomotive
- #mymini
- #bike
- #trike
- #motorbike
- #motor bike
- #sidecar
-
Version 1.0.8
717 downloads
A lightweight plugin for admins to spawn a chinook helicopter. The helicopter will despawn after a set amount of time. Chat command to spawn chinook: /ch47 Permission: adminchinook.use Configuration: { "Time until heli despawn after last player dismounts (seconds)": 10.0, "Time until heli despawn after spawn if no player mounts (seconds)": 20.0, "Allow anyone to mount the heli": false }Free- 2 comments
-
- #admin
- #admintool
-
(and 2 more)
Tagged with:
-
Version 1.2.5
1,694 downloads
This plugin adds a new dynamic zombie event to your server, the appearance of which you can customize in the configuration for any standard and custom monuments Description The event begins with a message in chat that the evacuation of the general from the island will begin soon. At the end of the configured timer, a military checkpoint randomly appears on the map and it is said in the chat that the general's guard was killed, and the general himself was seriously wounded The player and his friends (if you have any) need to arrive at the military checkpoint and call for help for the general with the laptop located at the checkpoint control center After the player calls for help, waves of zombies will attack the base. During the preparation phase, players can upgrade the base with turrets, purchase ammunition for them, or place it from their inventory through the checkpoint control center. In the doorways, players can install barricades of different types (5 types of barricades, which differ in the amount of Hit Points) to contain the incoming waves of zombies. The player can also use a hammer to repair the barricades. During the attack phase, waves of zombies will be directed at you. You cannot allow zombies to kill the general, otherwise, the event will end. There are several zombie types (in future updates it is planned to add to the list of zombie types). Each type of zombie has its own tasks. After the end of each wave, a room with crates opens, where there will be a reward for you At the end of the event, a helicopter arrives for the general and picks him up, and you are notified in chat that the event has been successfully completed. When the general dies, the event ends, as will the attack wave, the event, and all hope is lost! All the necessary settings of zombies, timers, items in crates for each wave, as well as settings for each wave (the number of zombies of each type, the time of the preparation phase and the attack wave, etc.), settings of the military checkpoint (the price of buying something or improving the base, used ammo in turrets, etc.), the price of repairs, barricade options, and many other settings are available in the plugin configuration Also in the event there are additional missions during the waves of attack, during which you will receive an additional reward (in future updates it is planned to add to the list of additional missions). You can set up additional missions in the settings of each attack wave The event provides the use of several military base designs. The Mad Mappers team will add to the list of constructions for the event in the future. When an event appears, the plugin randomly selects the construction of the base from those that you have in the data folder, and also randomly selects a place to appear from all those that have been set in the plugin configuration Also, the Mad Mappers team will begin to offer support in our custom maps for this event and contain files for the appearance of bases in custom monuments and locations on our maps Constructions of other bases Defendable Bases (Bundle-1) Defendable Bases (Bundle-2) Custom Map Maps that have a configuration for the appearance of bases on their custom monuments You can also download all these files for all maps here Deathland Badlands Destroyed World Detroit: Irreparable Damage Oregon 2: Last Hope Oregon: Land of Dead Pandora All files for custom maps are stored in the folder oxide/data/DefendableBases/CustomMap. You don't have to delete files from there, the plugin will understand by itself which map is currently installed on the server and will download only the necessary file if there is one in this folder. The plugin will tell you about this process in the console during the plugin loading. It will write in the console what file works on the current map, and what ones don’t work If you want to create a custom place for the base to appear on your custom map or on a map that is not in this list, you have to create the ID of this custom map. After that you need to place an item such as a RAND Switch on your map. It must be placed randomly, where it will not be visible to other players. You will get the identifier, if you add up the three coordinates of the position of this object from RustEdit (x, y and z) and write the resulting value in the parameter of your file (an example file can be taken from ready-made files) - ID As an example, let's take the coordinates (26.896, -456.158, 527.258), then our identifier is 26.896 - 456.158 + 527.258 = 97.996 Then you need to indicate a list of bases that will appear on your map. You need to copy the configuration data block for each base construction. In the database parameters you will specify the name of the base construction and a list of positions where it can appear The list of positions consists of several parameters. First you need to specify the position and rotation of the appearance of the base on your map, then you can get these values using RustEdit. You need to choose the place for the appearance of the event on the custom monument, where the player has a ban on construction You have such a parameter as the pursuit radius for such a type of zombie as Blazer. These zombies run around the base along this radius and shoot at the players. Please note! Some object sometimes may be on your map in this radius, for example a fence, and they will not be able to overcome it, because they cannot run inside this circle, and they haven’t a way out for them so you need to leave them a way or adjust it by increasing or decreasing the radius You have a list of coordinates for the points of appearance of all zombies. It is necessary to indicate these coordinates evenly around the base so that the zombies run from different sides and attack all sides of the base, not just a few ones. So it will be more interesting to play this event. Also note the fact that you can indicate the coordinate where a player can create his house, so it is advisable to specify all the coordinates that are in the construction ban zone, they are in the zone of your custom monument. You can also get the coordinates of the appearance of zombies using RustEdit Images You may want to change some parameters during the plugin installation or the base configuration In the plugin configuration these parameters are: Custom Barricades => Price for repairs (per hammer hit) => List of items, 3 maximum (if the economy method is 3) In the base configuration, these parameters are: List of turrets => Price to unlock => List of items, 3 maximum (if the economy method is 3) List of turrets => List of ammo => Price => List of items, 3 maximum (if the economy method is 3) List of barricades to buy => Price => List of items, 3 maximum (if the economy method is 3) A list of items that are in the laptop inventory when the base appears List of attack waves => Additional missions => Reward for completing the mission => List of items If you change items in the current configuration items, you need to upload the image for this item to the oxide/data/Images folder. In order for the plugin to load this image and can use it for display in the player's GUI. If it is a standard Rust item, you need to name this image file by its ShortName. If it is a custom item, you need to name the image file by the SkinID of the item Then you need to make a few changes to the plugin configuration in the List of paths to GUI images item. You need to add a new image to this list. The name is the ShortName or SkinID of the item. The path to the image will look something like this: Images/{ShortName or SkinID}.png If you use the economy of some following points on your server as prices, you can change the image with the name Economic to your own with the same name All images must be used square. Attention! The lower size of the image file will be displayed to the player faster Dependencies Required NpcSpawn Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Chat commands (only for administrators) /warstart {name} – start the event ({name} – name of the base) /warstop - end the event Console commands (RCON only) warstart {name} – start the event ({name} – name of the base) warstop - end the event givebarricade {steamid} {level} {amount} - a player with a SteamID ({steamid}) is given a certain number of barricades ({amount}) of a certain level ({level}) Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Base Config en - example of base configuration in English ru - example of base configuration in Russian Custom Map Config en - example of custom map configuration in English ru - example of custom map configuration in Russian My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! Creator of the default configuration and the bases – jtedal Help in creating a plugin description – Jbird#2022$45.00- 91 comments
- 7 reviews
-
- 9
-
- #barricade
- #ch47
- (and 26 more)
-
Version 1.0.1
40 downloads
Allows players to trigger specific chat commands by pressing buttons while operating every type of helicopters in the game, including the Minicopter, Scrap Helicopter, Attack Helicopter, and the CH47 Chinook. Each helicopter has there own keybinds that trigger any command you add to config, The plugin also offers a convenient command to toggle these keybinds on or off. The keybind commands in config supports both player chat commands and console commands. For chat commands add a / before the command and remove the / for console commands, use null to disable the keybind input. Configuration Example: { "AttackHelicopter": { "FIRE_PRIMARY": null, "FIRE_SECONDARY": null, "FIRE_THIRD": null, "USE": "hover", "DUCK": null, "SPRINT": null, "RELOAD": null }, "CH47Helicopter": { "FIRE_PRIMARY": null, "FIRE_SECONDARY": null, "FIRE_THIRD": null, "USE": null, "DUCK": null, "SPRINT": "hover", "RELOAD": null }, "Minicopter": { "FIRE_PRIMARY": "/hover", "FIRE_SECONDARY": "/sirens", "FIRE_THIRD": "/takeoff", "USE": "/eject", "DUCK": null, "SPRINT": "/nitro", "RELOAD": "/radio" }, "ScrapTransportHelicopter": { "FIRE_PRIMARY": null, "FIRE_SECONDARY": null, "FIRE_THIRD": null, "USE": "/nitro", "DUCK": null, "SPRINT": "/takeoff", "RELOAD": null } }Free-
- 1
-
- #minicopter
- #helicopter
- (and 13 more)
-
Version 1.0.2
26 downloads
Custom chinook allows you to create custom drop points for the chinook to drop crates off. This plugin is helpful for custom maps/monuments where the default chinook won't visit these destinations. Custom destinations can be added in the configuration file, along with interval between this event occurring. Additionally there is a setting for forcing the drop to the coordinates to get the coordinates of your drop location stand directly where you want it and run printpos in the console. Usage Permissions: CustomChinookCrate.call CustomChinookCrate.calloff Commands: /Call <- Triggers the calling of the chinook useful for testing drop positions. /Calloff <- Calls off the chinook sending it back into the abyss of the ocean. Config: bool ForceDrop; <- Forcefully spawns a crate at the specific position when chinook is overhead. float DropInterval; <- Interval between each chinook visit to default is 0 seconds which won't spawn any. List<Vector3> DropPositions; <- List of drop locations default is the center of the map but multiple can be specified.$5.00