Search the Community
Showing results for tags 'helicopters'.
-
Version 1.2.23
5,826 downloads
Heli Signals allows players with permission to call an Attack Helicopter to their location with a custom Supply Signal, where it will engage players and patrol, allowing players to fight it to win the valuable Heli crates. The plugin comes with 8 default heli profiles, Easy, Medium, Hard and Elite, with a duplicate profile of each set up for calling multiple helis at once for each tier. In addition there is also 2 Wave Heli profiles, which will call in a wave of different helis one after the other. Each default profile has it's own custom supply signal skin (below). Server owners can add as many profiles as they like in the config by copying and pasting an existing profile within the config and editing to suit. This may require the server owner to create their own custom skin for the inventory item. If you are setting up Multi heli signals, set the global and player limit in the config accordingly to accommodate higher numbers of helicopters per player. There is also an option to have a BotReSpawn profile spawn at the crash site, just set the BotReSpawn profile name in the config. IMPORTANT: Each heli profile or wave profile in the config MUST have its own unique name and skin ID, otherwise you will have issues. NOTE ABOUT SHOPS: The profile name in the config should match the Custom Supply Signal name which the shop gives the player. The Helicopter Name is separate and can be set independently from the Signal item. Also, when giving players items from shop plugins, if available, I always recommend adding the item to the shop using custom name, skinID etc, rather than the console command, but either will work. Plugin default Supply Signal Skin ID's to add items to various shops, loot plugins, kits etc are: Heli Signal (Easy) : 2920175997 Heli Signal (Medium) : 2920176079 Heli Signal (Hard) : 2920176050 Heli Signal (Elite) : 2920176024 Heli Signal (Expert) : 3099117081 Heli Signal (Nightmare) : 3099117372 Multi Heli (Easy) : 3083234542 Multi Heli (Medium) : 3083234833 Multi Heli (Hard) : 3083234755 Multi Heli (Elite) : 3083234647 Multi Heli (Expert) : 3099124338 Multi Heli (Nightmare) : 3099124426 Heli Wave Signal : 3099117224 Heli Wave Signal (Normal): 3104667036 Heli Wave Signal (Hard): 3104666951 Default Permissions: helisignals.admin (to use give|hsclearcd command) helisignals.buy (to use /hsbuy command) helisignals.bypasscooldown helisignals.easy helisignals.medium helisignals.hard helisignals.elite helisignals.easy_multi helisignals.medium_multi helisignals.hard_multi helisignals.elite_multi helisignals.wave_normal helisignals.wave_hard Please note: Permissions above are with default config, permission for each Heli profile can be customised in the config. Commands (Prefix with / to use in game): hsgive <Profile ShortName> <Steam64ID> <Amount> hsbuy list hsbuy <Profile Shortname> hsreport (Get details of all active helis) hsretire (Retire all a player or their teams called Helis, no refunds) hsclearcd (clear all cooldowns) hsclearcd <SteamID|Name> (clear cooldown for player) (Buy and Retire command customisable in config) Please note correct usage for Supply Signal name and Helicopter display name. These values CAN be different if you wish: Loot Options: Use the loot item example entries in the default config to create custom loot tables for crates. How to Add Loot Table Items (Example): Default Config: For Other Developers: The following hook is available to use in your plugins to check custom Supply Signals or Patrol Helicopters to avoid conflict with your plugins: object IsHeliSignalObject(ulong skinID) This will return true if the item is a Bradley Drop item/entity, or null if not. Call it directly without referencing the plugin: if (Interface.CallHook("IsHeliSignalObject", skinID) != null) return true; // IsHeliSignalObject Or reference my plugin and call like this: [PluginReference] Plugin HeliSignals; if (HeliSignals.CallHook("IsHeliSignalObject", skinID) != null) return true; // IsHeliSignalObject$19.99- 363 comments
- 17 reviews
-
- 4
-
- #helicopter
- #helicopters
- (and 14 more)
-
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.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)