Search the Community
Showing results for tags 'chinook'.
-
Version 1.3.1
6,481 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.0.3
43 downloads
Adds hacker kit to the server. Just pick up a geiger counter and use it to hack. Just get close to the crate and hold the left mouse button. This plugin uses a geiger counter. Since this is not an item that players can usually get through loot, it is perfect for this purpose. Just use a plugin like BetterLoot to insert a geiger counter into your loot tables and then any geiger counter picked up by the player can be used as a hacker kit. Permissions: hackerkit.use - required to use hacker kit To assign a permission, use: oxide.grant <user or group> <name or steam id> hackerkit.use To remove a permission, use: oxide.revoke <user or group> <name or steam id> hackerkit.use (or just use the permission manager plugin) Config file: { "Hack speed": 10, "Prohibition message": "You don't have permission to use hackerkit", "SFX prefab": "assets/prefabs/gamemodes/objects/capturepoint/effects/capturepoint_progress_beep.prefab" }$9.99- 2 comments
- 2 reviews
-
- #codelock
- #hackablecrate
- (and 17 more)
-
Version 3.2.9
200 downloads
ChinookEvent is a fresh take on the Chinook Event. Auto-action "Special cargo" The essence of the event - The event is triggered once at a certain time (specified in the config), a label with a description appears on the map. Then the Chinook salmon arrives at the landing site (a random mark on the map) and remains in place for a certain time, after which it drops a special cargo and flies away. In a special download, you can completely customize your loot! Also add a custom element. - Unable to build in the event area - All messages are displayed in the chat. - Full plugin configuration in config - Ability to create NPCs that will protect the cargo /chinook salmon spawn position - Adds a custom chinook salmon spawn position (admin) /chinook call - Calling chinook prematurely (for administrator) { "Event Settings": { "Time before the start of the event (Minimum in seconds)": 3000, "Time before the start of the event (Maximum in seconds)": 7200, "Time until the event is deleted if no one opens the box (Seconds)": 900, "The time until the event is deleted after the box is unlocked": 300, "Chinook flight altitude": 240.0, "Block radius of buildings during the event": 65, "Minimum number of players to start an event": 20, "Use custom positions?": false, "Custom positions (/ chinook addspawnpoint)": [] }, "Setting up a PVP zone (TruePve) and a dome": { "Create a PVP zone within the radius of the event? (Requires TruePVE)": false, "Radius of the PVP zone": 20, "Do you use a dome ?": false, "Transparency of the dome (the smaller the number, the more transparent it is. The values should be no more than 5)": 3 }, "Configuring display on maps": { "Mark the event on the G card (Requires FREE https://umod.org/plugins/marker-manager)": false, "Text for map G": "Chinook EVENT", "Marker color (without #)": "f3ecad", "Outline color (without #)": "ff3535" }, "Settings a locked crate": { "Time to unlock the Crates [sec.]": 900.0, "Reset timeout": 60, "Adjusting the smoothness / speed of the drawer descent": 0.7, "Which loot table should the plugin use? (0 - default; 1 - own; 2 - AlphaLoot; 3 - EcoLootUI;": 0, "Own loot table (if the loot table type is 1)": { "Minimum numbers of items": 0, "Maximum numbers of items": 0, "Use minimum and maximum values? [true/false]": false, "List of items": [ { "ShortName": "pistol.python", "Minimum": 1, "Maximum": 1, "Chance [0.0-100.0]": 60.0, "Is this a blueprint? [true/false]": false, "SkinID (0 - default)": 0, "Name (empty - default)": "", "Multiply the amount of the item by the number of days since the beginning of the wipe (on the 3rd day, the loot will be 3 times more)": false }, { "ShortName": "multiplegrenadelauncher", "Minimum": 1, "Maximum": 1, "Chance [0.0-100.0]": 15.0, "Is this a blueprint? [true/false]": false, "SkinID (0 - default)": 0, "Name (empty - default)": "", "Multiply the amount of the item by the number of days since the beginning of the wipe (on the 3rd day, the loot will be 3 times more)": false }, { "ShortName": "sulfur", "Minimum": 500, "Maximum": 800, "Chance [0.0-100.0]": 40.0, "Is this a blueprint? [true/false]": false, "SkinID (0 - default)": 0, "Name (empty - default)": "", "Multiply the amount of the item by the number of days since the beginning of the wipe (on the 3rd day, the loot will be 3 times more)": false }, { "ShortName": "wall.external.high.ice", "Minimum": 1, "Maximum": 5, "Chance [0.0-100.0]": 75.0, "Is this a blueprint? [true/false]": false, "SkinID (0 - default)": 0, "Name (empty - default)": "", "Multiply the amount of the item by the number of days since the beginning of the wipe (on the 3rd day, the loot will be 3 times more)": false } ] }, "Turn on the alarm when breaking into a locked box ?": true }, "NPCs setting": [ { "Minimum": 3, "Maximum": 7, "NPCs setting": { "Name": "Cobalt Defense", "Health": 230.0, "Roam Range": 35.0, "Chase Range": 10.0, "Attack Range Multiplier": 3.0, "Sense Range": 50.0, "Target Memory Duration [sec.]": 40.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": 135.0, "Speed": 8.0, "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]": false, "Wear items": [ { "ShortName": "hazmatsuit_scientist_peacekeeper", "SkinID (0 - default)": 1121447954 } ], "Belt items": [ { "ShortName": "pistol.semiauto", "Amount": 1, "SkinID (0 - default)": 1557105240, "Mods": [] }, { "ShortName": "syringe.medical", "Amount": 10, "SkinID (0 - default)": 0, "Mods": [] } ], "Kit": "" }, "Which loot table should the plugin use? (0 - default; 1 - own; 2 - AlphaLoot;": 1, "Own loot table (if the loot table type is 1)": { "Minimum numbers of items": 1, "Maximum numbers of items": 1, "Use minimum and maximum values? [true/false]": true, "List of items": [ { "ShortName": "scrap", "Minimum": 5, "Maximum": 10, "Chance [0.0-100.0]": 50.0, "Is this a blueprint? [true/false]": false, "SkinID (0 - default)": 0, "Name (empty - default)": "", "Multiply the amount of the item by the number of days since the beginning of the wipe (on the 3rd day, the loot will be 3 times more)": false }, { "ShortName": "supply.signal", "Minimum": 1, "Maximum": 1, "Chance [0.0-100.0]": 20.0, "Is this a blueprint? [true/false]": false, "SkinID (0 - default)": 0, "Name (empty - default)": "", "Multiply the amount of the item by the number of days since the beginning of the wipe (on the 3rd day, the loot will be 3 times more)": false }, { "ShortName": "syringe.medical", "Minimum": 1, "Maximum": 2, "Chance [0.0-100.0]": 70.0, "Is this a blueprint? [true/false]": false, "SkinID (0 - default)": 0, "Name (empty - default)": "", "Multiply the amount of the item by the number of days since the beginning of the wipe (on the 3rd day, the loot will be 3 times more)": false } ] } } ], "Reward in the form of a team to the player who 1 opened the cargo": { "List of commands that are executed in the console (%STEAMID% - the player who looted the box)": [], "Messages that the player will receive (Here you can write about what the player received)": "" }, "Setting up the selection of positions for spawn (For experienced users)": { "Allow spawn on the roads ?": true, "Allow spawn on rivers ?": true, "Radius of monument detection": 40.0, "Detection radius of the tool cupboard (Building Block)": 90.0 } } Sorry for the video in Russian$16.00- 25 comments
-
- 3
-
- #chinook
- #autoivent
-
(and 6 more)
Tagged with:
-
Version 2.2.7
2,054 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 2.0.1
76 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.5 FULL RELEASE
109 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
391 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.0
2 downloads
The plugin adds messages in the main chat when a Chinook, CargoShip, CargoPlane, Attack Helicopter, Tank event occurs. The plugin additionally allows you to enable or disable messages on AirDrop. Markers can also be enabled, when CargoPlane dumps AirDrop will appear from on the player's map. Configuration file { "Notify AirDrop in chat": true, "Create MapMarker on map": true, "Marker type (shopmarker | cratemarker)": "shopmarker", "Notify Cargo Plane in chat": true, "Notify Tank in chat": true, "Notify Cargo Ship in chat": true, "Notify Chinook in chat": true, "Notify Attack Helicopter in chat": true, "Show direction from where events are coming": true } Allows you to enable or disable the notification of an event and also allows you to enable or disable the notification of directions. Lang { "CargoPlaneNotification": "<color=#00DDFF>Cargo Plane has spawned{0}!</color>", "TankNotification": "<color=#A60000>Tank has spawned!</color>", "CargoShipNotification": "<color=#0008FF>Cargo Ship has spawned{0}!</color>", "ChinookNotification": "<color=#FFA200>Chinook has spawned{0}!</color>", "AttackHelicopterNotification": "<color=#FF0000>Attack Helicopter has spawned{0}!</color>", "AirDropSpawned": "<color=#D0FF00>AirDrop has been dropped in square {0}!</color>" } Ability to change the color of the message$2.99 -
Version 2.5.21
691 downloads
Damage Control allows tuning the damage entities take. It has an in-game command line to allow you set and list the damage settings. You can control damage to Animal (set per Bear, Boar, Chicken, Horse, Stag, Wolf, Ridable Horse) Building blocks NPC aka Scientist aka NPCPlayerApex Player Zombie aka Murderer (I merged these two) APC aka Bradley Helicopter aka Heli Chinook aka CH47 Building (read FAQ for details) and Build Grades Balloons Sam-Sites Mini-Copter Scrap Transport Helicopter (Scrapcopter) Trains Modular Vehicles Note Balloons, Scrap Transport Helicopter and Mini-Copter have some oddities in how they take damage so expect some oddities there. It can make them significantly more durable, and the helicopters less of a death trap. Now supports adding entities with per entity modifier in the data folder, sample below. You can control damage by time per entity type either in game time or real time. Chat Commands /damagecontrol or /damcon or /dc Permissions damagecontrol.admin -- Allows player to use the chat commands Configuration Sample new /data/DamageControl.json:{"door.hinged.toptier": 0.666,"door.double.hinged.toptier": 0.666,"door.hinged.metal": 0.75,"door.double.hinged.metal": 0.75,"floor.ladder.hatch": 0.85} There are settings for global time modifiers, and per entity time modifiers. So you can have things like High Noon. The Heli_Bypass allows you to have the Heli bypass other settings to do damage when normally the entity is immuned. I personally would not run this as it allows heli-raiding, but it was requested. Allow Decay was added to protect buildings from all damages, except decay. Credits Many thanks to ColonBlow for sharing his plugin code and assistance to make this happen!Free- 8 comments
- 1 review
-
- 2
-
Version 1.0.1
12 downloads
This is a from scratch build Supermarket, plenty of loot and very dangerous. Keep in mind this is my first official project. Fits perfect on post apocalyptical maps. Includes : Scientists Spawns (alot ~ 20) junkpile as well regular ones. military grade crates light areas Landing zone "hackable crate" (mini event CH47) and much more... Feedback is always appreciated, also a have a discord server. I will make a video soon an upload it to YouTube. At last but not least thanks for all support in any ways! I appreciated every little thing. Current Bugs - 1. No Npc Spawns (not sure why) might need to look into that. I guess there is nothing more to say, except for its challenging.$12.00- 2 comments
- 1 review
-
- #prefab
- #scientists
-
(and 6 more)
Tagged with:
-
Version 1.0.8
726 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.0.1
41 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.0
2 downloads
Scientists who were constantly being smashed on oil rigs fled to an abandoned factory, taking a Chinook with them. This monument will be interesting for players to explore, perfect for small maps as a replacement for an oil rig. Showcase - install instruction: 1. Unzip the file to the CustomPrefabs folder in RustEdit. 2. Place it on the map in a convenient location by applying a height mask + splat mask. 3. For the prefab to work correctly, it must be installed on your server RustEdit.dll (Download and read instructions for apply - https://github.com/k1lly0u/Oxide.Ext.RustEdit/blob/master/Oxide.Ext.RustEdit.dll )$10.00-
- #scientists
- #chinook
-
(and 1 more)
Tagged with:
-
Version 1.1.1
542 downloads
HUD based alert system, no configuration required. The main objective is to broadcast an alert when important server wide events are starting, such as: Bradley event starts Cargo ship event starts Cargo plane (airdrop) event starts Patrol event starts Chinook event starts Oilrig defense Standard hackable crate drop This plugin also exposes an API which allows other plugins to use the same alert system to broadcast messages. [PluginReference] private Plugin OxidationEventAnnouncer; // (...) private void OnMyImportantEvent() { OxidationEventAnnouncer.Call("Broadcast", "My important event has started"); } You can easily change the background color and text color of the announcement. The following snippet will change the background color to #00FF00 and the text color to #F0F0F0. [PluginReference] private Plugin OxidationEventAnnouncer; // (...) private void OnMyImportantEvent() { OxidationEventAnnouncer.Call("Broadcast", "My important event has started", "#00FF00", "#F0F0F0"); }Free -
Version 1.2.7
22 downloads
Adds up to 12 storage containers to the Chinook, configurable in the config\ChinookStorage.json file. (Default is 4, can be changed to anything from 1 to 12) All containers are small wooden boxes with 5 rows each, stacked up to 2 high in up to 6 stacks. The containers drop their loot upon destruction/crash of the Chinook, configurable to be disabled by setting false instead of true (Default is true). Option to set plugin to remove storage containers from the Chinooks on Unload of the plugin by changing to true (Default is false). Tested and Verified that it will not remove the Storage containers from the Scrap Transport Helicopters (from the ScrapHeliStorage plugin on umod) or from Minicopters (from my Minicopter Storage plugin). ChinookStorage.json$8.00 -
Version 1.0.2
27 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