Search the Community
Showing results for tags 'horses'.
-
Version 1.1.3
274 downloads
Horse lock is a simple plugin that locks horses to players for a certain amount of time as set in the configuration. Once a rider dismounts, they have a set time to mount again before the horse is unlocked to use by anyone. If an unauthorised player attempts to mount the horse before that time they will be denied. However, If a horse is kept within a players building privilege, that horse will remain protected from unauthorised use indefinitely (or until building privilege is gone). Other config options allow friends, team and clan members to ride players horses and the horse can be configured to rear up if an unauthorised player attempts to mount a protected horse (just for fun). This is a great plugin for PVE servers, but equally it can come in useful on PVP servers too. No permissions and very few config options to worry about, so it couldn't be easier to set up. Default Config: { "Options": { "Use Friends Plugin (Friends Can Mount)": false, "Use Clans Plugin (Clan Can Mount)": false, "Use Teams Plugin (Team Can Mount)": false, "Custom Chat Icon (Default = 0)": 0, "Time Horse Locked After Dismount (Seconds)": 900.0, "Make Horse Rear When Unauthorised Player Attempts to Mount": true, "Use Chat Prefix": true, "Chat Prefix": "[Horse Lock]: " }, "Plugin Version": { "Major": 1, "Minor": 1, "Patch": 2 } }Free- 7 comments
- 1 review
-
Version 1.01
4 downloads
Here you find a Desert Combined Outpost. All Vendings from the Compound and the Bandit Camp are Combined. Also a Horse Vendor can be found here. The Camp also offers the Compound Extras like Blackjack, Big Wheel, Recycler, WB1, and so on. If you want to Edit the Prefabs: Make Sure to Copy the Vendig Profiles (included in the .Zip) into your Rustedit VendingProfil folder!$10.00-
- #merged outpost
- #bandit camp
- (and 8 more)
-
Version 1.0.2
479 downloads
The plugin that allows players to brand horses. A branded horse can only be saddled by its owner or his ally (if the option is enabled in the config). Config: { "Allow the owner's allies to mount his horse": false, "Horse limit command": "hlimit", "Command for claim horse": "hclaim", "Command for unclaim horse": "hrelease", "SteamID for icon in chat messages": 0, "Maximum number of horses that a player can brand(The player automatically gets the first permission)": { "privatehorse.default": 2, "privatehorse.vip": 3, "privatehorse.premium": 5 } } Lang: { "CM_NOOWNER": "This horse has no owner. You can become the owner of this horse (Type /{0}).", "CM_ONLYOWNER": "Only the owner of the horse can saddle it.", "CM_ONHORSE": "You must be on a horse to use this command.", "CM_LIMITISFULL": "Your horse limit is full", "CM_BECOMEAOWNER": "You have successfully become the owner of this horse.(Type /{0} for informaton about your horse limit)", "CM_NOTANOWNER": "You do not own this horse.", "CM_UNCLAIM": "You set the horse free. She can now be branded by other players", "CM_LIMIT": "Your horse limit: <color=green>{0}/{1}</color>", "CM_ALREADYHAVEOWNER": "This horse already has an owner" }Free -
Version 3.0.6
84 downloads
Spawn Scientists that are ridding horses auto around the map.. You can Create custom spawn points for scientist to roam around. Or auto spawn them around the map randomly See Config for all current options. { "Horse And Npc Profiles": { "HorseAndNpc": { "easy": { "Total number of this type to spawn": 10, "Respawn time in minutes": 5, "Breed of the horse 0-9": 0, "Start health of the horse": 100.0, "Start health of the rider": 100.0, "How far can rider see": 30.0, "Riders aim cone": 2.0, "Rider Can target sleepers": false, "Rider should only target hostile players": false, "Kit to give the rider": [], "Names the rider can have": [ "Cowboy Bill" ], "Run speed of the horse": 5.0, "Horse & rider can roam": true, "How far the horse and raider can roam": 250.0, "Disable rider raido chatter": true, "Prefab to use for npc": "assets/rust.ai/agents/npcplayer/humannpc/scientist/scientistnpc_full_any.prefab", "Horse armor items": [ "horse.shoes.basic", "horse.armor.wood" ], "Allowed Topologies this horse and rider can spawn on": [ "Field", "Summit", "Forest", "Forestside", "Monument", "Road", "Roadside", "Swamp", "Lakeside", "Plain", "Clutter", "Mainland" ] }, "medium": { "Total number of this type to spawn": 10, "Respawn time in minutes": 5, "Breed of the horse 0-9": 5, "Start health of the horse": 100.0, "Start health of the rider": 100.0, "How far can rider see": 30.0, "Riders aim cone": 2.0, "Rider Can target sleepers": false, "Rider should only target hostile players": false, "Kit to give the rider": [], "Names the rider can have": [ "Cowboy Bill" ], "Run speed of the horse": 5.0, "Horse & rider can roam": true, "How far the horse and raider can roam": 250.0, "Disable rider raido chatter": true, "Prefab to use for npc": "assets/rust.ai/agents/npcplayer/humannpc/scientist/scientistnpc_full_any.prefab", "Horse armor items": [ "horse.shoes.basic", "horse.armor.roadsign" ], "Allowed Topologies this horse and rider can spawn on": [ "Field", "Summit", "Forest", "Forestside", "Monument", "Road", "Roadside", "Swamp", "Lakeside", "Plain", "Clutter", "Mainland", "tier1" ] }, "hard": { "Total number of this type to spawn": 10, "Respawn time in minutes": 5, "Breed of the horse 0-9": 9, "Start health of the horse": 100.0, "Start health of the rider": 100.0, "How far can rider see": 30.0, "Riders aim cone": 2.0, "Rider Can target sleepers": false, "Rider should only target hostile players": false, "Kit to give the rider": [], "Names the rider can have": [ "Cowboy Bill" ], "Run speed of the horse": 5.0, "Horse & rider can roam": true, "How far the horse and raider can roam": 250.0, "Disable rider raido chatter": true, "Prefab to use for npc": "assets/rust.ai/agents/npcplayer/humannpc/scientist/scientistnpc_full_any.prefab", "Horse armor items": [ "horse.shoes.advanced", "horse.armor.roadsign" ], "Allowed Topologies this horse and rider can spawn on": [ "Field", "Summit", "Forest", "Forestside", "Monument", "Road", "Roadside", "Swamp", "Lakeside", "Plain", "Clutter", "Mainland", "tier2" ] } } }, "Version": { "Major": 3, "Minor": 0, "Patch": 1 } }$20.00- 15 comments
- 1 review
-
- 1
-
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.1.0
547 downloads
Allows players to change the breed of the horse they are currently riding. Permissions horsebreeds.use -- Allows players to use chat command /horse <breed type> horsebreeds.bypass -- Allows players to use the commands for free Chat Commands /horse {breed type} Console Commands horse {player} {breed type} Breed Types (can use either number or name with commands) 0 - Appalosa 1 - Bay 2 - Buckskin 3 - Chestnut 4 - Dapple Grey 5 - Piebald 6 - Pinto 7 - Red Roan 8 - White Thoroughbred 9 - Black Thoroughbred For more information about Breed Statistics, visit this page at Rust Labs: https://rustlabs.com/entity/horse#tab=breeds;sort=0,0,1 Configuration { "Use ServerRewards": false, "Use Economics": false, "Use Item as Currency": false, "Item Short Name": "scrap", "Horse Breed Costs": { "Dapple Grey": 20.0, "Red Roan": 20.0, "Appalosa": 30.0, "Bay": 30.0, "Buckskin": 30.0, "Pinto": 30.0, "Chestnut": 40.0, "Piebald": 40.0, "White Thoroughbred": 50.0, "Black Thoroughbred": 50.0 } } Setting up for use with a Server store (i.e. ServerRewards /s store) It is recommended to set the command price in the store settings as 0, and change the pricing in the HorseBreeds.json config. This way it will not charge a player for purchasing a command when not mounted on a horse. If both settings for ServerRewards and Economics are set to false, then the commands will be free to use. Examples of Commands Player Chat Commands /horse 8 -- changes current horse to a White Thoroughbred /horse pinto -- changes current horse to a Pinto /horse red -- changes current horse to a Red Roan Console Commands horse ilakskil black -- changes ilakskil's horse to a Black Thoroughbred and charges the corresponding amount if ilakskil does not have horsebreeds.bypass horse ilak 4 -- changes ilakskil's horse to a Dapple Grey and charges the corresponding amount if ilakskil does not have horsebreeds.bypassFree -
Version 2.0.6
38 downloads
IMRG plugins are currently not for sale. Additionally the "IMR Tools Package" are (or soon to be) unlisted. Those who've already bought our plugins are welcome to still submit support request if necessary. Once we've more time to allocate to Codefling plugins will be relisted again as well as more added. Personal Horse is a plugin that lets players summon a rideable horse anywhere with a whole range of customizable options ranging from breed rarity, to damage taken, to anti-theft, to equipment, and more. There are also extra safeguards built in like preventing horses from being summoned inside Monuments or if they're not properly on the ground, and so on. Features • Lets players summon a rideable horse anywhere in the world • Server owners can customize the rarity of which horse breeds players or even groups of players can get when summoned, as well as cooldowns for use • VIP Ready with permissions for groups of players that have access to advanced features • Anti-exploit safeguards built-in like preventing horses from being summoned in monuments or in the air, and more • Anti-Theft System w/ option for Teammate bypass • Increase or decrease how much damage Horses can take per permission group • Specify which equipment Horses spawn with (Like Saddlebags or Horseshoe, etc) per permission group • Configurable number of Horses individual players can spawn per permission group • Customizable Depends On IMR Tools Package: https://codefling.com/tools/imr-tools-package Always make sure you have the IMR Tools Package installed first when running any plugins by IMR Games. Installation - Make sure you have the IMR Tools Package installed, as explained above. - Put this plugin in your oxide plugins folder. - It will generate a config and lang file. - Customize and enjoy! Permissions Other than the default permission for being able to summon a horse in general, all other permissions for this plugin are customizable in the config! You can have as little or as many permissions/permission groups as you like by simply adding them to the config. The only requirement is that the beginning of the permission use the plugin name which is imrgpersonalhorse. Below are two permission examples included with the default config. imrgpersonalhorse.use - Permission required to summon a horse with the default settings. Even if a player has other permissions, they still need this permission to summon a horse at all. imrgpersonalhorse.vip2 - Second default VIP permission group which allows advanced features like horse damage reduction, anti-theft, 3 max horses, almost no cooldown for summoning, and more. imrgpersonalhorse.vip1 - First default VIP permission which gives access to some advanced features as above, just a little less. Config { "Command Name": "myhorse", //Configurable command that players will use to summon their horse. "Despawn Command Name": "despawnhorse", //Configurable command that players will use to despawn their most recent summoned horse. "Use Team System For Anti-Theft Mechanic": true, //If true, teammates can mount your Horse, if false, no one but you can. "Default Settings": { "Cooldown Minutes": 60.0, //Cooldown in minutes between horse summoning. A value of -1.0 disables the cooldown entirely! "Max Horses": 2, //Max number of horses players can have by default. "Damage Taken Multiplier": 0.5, //How much less or extra damage Horses take. For example, If set to 0.5, they will take half damage. If set to 1.5, they will take +50% damage. "Anti-Theft": true, //If true, no one can mount your Horse besides you or (optionally, configured above), your Teammates. If false, anyone can mount your Horse. "Horse Equipment": [], //List of Equipment that will spawn equipped to a Horse by default when it is summoned. "Horse Breed Chance": { //Rarity table for summoning specific horse breeds. The higher the number, the more commonly it will be summoned. For example, a 1000 rarity value would be 100 times more common than a 10 rarity value. "Appalosa": 10, "Bay": 10, "Buckskin": 10, "Chestnut": 10, "Dapple Grey": 10, "Piebald": 10, "Pinto": 10, "Red Roan": 10, "White Thoroughbred": 10, "Black Thoroughbred": 10 } }, "Permission Setting Overwrites": { //Create any number of permission groups with configurable permission name, cooldown, and horse breed rarity values. Create a group for admins, vips, special events, and much more! Keep in mind that any custom permission created must start with the imrgpersonalhorse prefix so for example: imrgpersonalhorse.vip1, imrgpersonalhorse.vip2, imrgpersonalhorse.events, etc. "imrgpersonalhorse.vip2": { "Cooldown Minutes": 0.01, "Max Horses": 3, "Damage Taken Multiplier": 0.75, "Anti-Theft": true, "Horse Equipment": [ { "shortname": "horse.shoes.advanced", "amount": 1.0 }, { "shortname": "horse.armor.roadsign", "amount": 1.0 } ], "Horse Breed Chance": { "Appalosa": 0, "Bay": 0, "Buckskin": 0, "Chestnut": 0, "Dapple Grey": 0, "Piebald": 0, "Pinto": 0, "Red Roan": 0, "White Thoroughbred": 10, "Black Thoroughbred": 10 } }, "imrgpersonalhorse.vip1": { "Cooldown Minutes": 30.0, "Max Horses": 2, "Damage Taken Multiplier": 0.9, "Anti-Theft": true, "Horse Equipment": [ { "shortname": "horse.shoes.basic", "amount": 1.0 } ], "Horse Breed Chance": { "Appalosa": 10, "Bay": 10, "Buckskin": 10, "Chestnut": 10, "Dapple Grey": 10, "Piebald": 10, "Pinto": 10, "Red Roan": 10, "White Thoroughbred": 30, "Black Thoroughbred": 30 } } }, "Topology Blacklist": "Monument" //Topology where horses can't be summoned. The default config here is Monument, which applies to all Monuments in the game, so if you leave this as it is, players won't be able to summon horses at any Monuments, which is good for preventing all kinds of exploitation. You can also set this to whatever Topology you like if you prefer. } Lang { "Permission": "You don't have permission to do this", //Message players receive if they don't have the permission to summon horses at all. "TerrainHeight": "Can't spawn horse so far away from terrain", //Message players receive if they are not on valid terrain to summon a horse. "Topology": "Can't spawn horse so close to a monument", //Message players receive if they are trying to summon a horse inside a blacklisted topology. "HorseSpawned": "Horse Spawned", //Message players receive when they successfully summon a horse. "Cooldown": "This command is on cooldown, please wait {0}" //Message players receive if their horse summon command is still on cooldown. } "Despawn_NoHorses": "You have no horse you can despawn", //Message players receive when they attempt to despawn a horse but have none spawned. "Despawn_Despawned": "Despawned the last horse you spawned", //Message players receive when they despawn a horse. "MaxLimit": "You have reached your maximum amount of horses, despawn some to spawn more", //Message players receive when they try to summon a horse but have reached their maximum. "AntiTheft": "You don't have permission to use this personal horse" //Message players receive when attempting to mount a horse that doesn't belong to them when the Anti-Theft mechanic is activated. If the team bypass is set, they won't get this message.$3.99