Jump to content

Search the Community

Showing results for tags 'umod'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Plugins
  • Carbon
  • Harmony
  • Maps
  • Monuments
  • Prefabs
  • Bases
  • Tools
  • Discord Bots
  • Customizations
  • Extensions
  • Graphics

Forums

  • CF Hub
    • Announcements
  • Member Hub
    • General
    • Show Off
    • Requests
  • Member Resources
    • For Hire
    • Creators Directory
  • Community Hub
    • Feedback
  • Support Hub
    • Support
    • Site Support

Product Groups

  • Creator Services
  • Host Services
  • Memberships

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

  1. Version 1.1.5

    1,516 downloads

    Defend your home.. well.. defend what's left of it! Welcome to an epic new event where the players will defend their bases against waves of Frankenraiders! They will use any weapons they have available to try to raid your base. Some will come with whatever they can swing at you and your base, some will just try to defend their kin, some have found some heavy weaponry too! I think that one has a rocket launcher?! Description To launch the event first you must find a flare bright enough to attract their attention. You'll be able to find flares bright enough to attract an Easy Frankenraid in Bradley, Elite, Military, and Supply crates. When you've found a flare just toss it on or near the base within Tool Cupboard range. Once you successfully defend an Easy Frankenraiding party, you will be rewarded with a flare bright enough for a Medium party. Then upon defending successfully against a Medium raid, well if you really want to risk your wipe being wiped by a full Frankenraider party, then you will have earned a flare bright enough to attract a Hard Frankenraid! When you complete any difficulty level and are able to defend your base, a chinook will be sent to your location with rewards for your service to the island in clearing out the threat! If your base is destroyed, the event ends, chat notifications are sent, and there you stand in shame. Hopefully you're on a low pop server and not too many people noticed. It's okay champ, happens to the best of us some days! Just keep an eye on the in game UI like the timer and wave information to give yourself the best shot at keeping your base standing! There are various ways to configure this plugin to customize it for your server, for any level and number of players. The creativity is in your hands with the configuration file as well as your communities wants or needs. The loot table, the flare spawns, the different enemy types and their setups, everything is there for you to customize this if you so choose. Dependencies (optional, not required) True PVE GUI Announcements Notify AlphaLoot CustomLoot Base Repair Chat commands /defstop - in game command to end event in your current Tool Cupboard range (be near the event you are trying to end) - only for administrators! /checkfoundations - checks all the foundations of the house for the event (it is necessary to be inside the Cupboard area of the house) ⊘ - you or your friends are not the owner of the foundation ⊝ - the foundation does not match in height/depth ⊛ - the foundation does not match the topology (prohibited topologies: Cliff, Cliffside, Decor, Building, Monument, Clutter, Mountain) ◉ - the foundation is located within a radius of 40 meters from the custom monument Console commands (RCON only) giveflare {skinid} {steamid} - Console command to give a custom flare with a Steam Workshop SkinID ({skinid}) to a player using their SteamID ({steamid}) Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! Creator of the default configuration – jtedal Help in creating a plugin description – Jbird
    $40.00
  2. KpucTaJl

    Better Npc

    Version 1.3.1

    6,620 downloads

    This plugin adds variety of NPC sets with very high number of parameter sets on standard and custom monuments. Also it is added during dropping the server AirDrop, locked crate and destroying a tank or helicopter Dependencies (optional, not required) AlphaLoot CustomLoot True PVE Kits Economics Server Rewards IQEconomic PveMode Custom maps Maps that have default settings for their custom monuments. For these maps, you will not need to create places for the appearance of NPCs, they have already been created by the map developer and are located inside the archive when buying the map You can also download all these files for all maps here Detroit: Irreparable Damage Oregon 2: Last Hope Lostly Island Frontier – American Old West Oregon: Land of Dead Badlands Foreign Lands Namalsk Kong: Skull Island Destroyed World Deathland Dreamland Last Train Pandora Railway Island Wasteland Cataclysm: Fury of Nature Last Oasis Crazy Island Standard monuments This item of the plugin settings is used for appearing NPCs in all standard monuments. All these settings are located in the Monument folder (oxide/data/BetterNpc/Monument). Each file in this folder corresponds to a standard monument If there is no standard monument file in the folder, you can create it (you need to name the file the same way as the standard monuments on the map inside the game). You can copy the settings from any other standard monument Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the monument. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply The size of the monument – this parameter contains two values. It is the length and width of the monument. This parameter is necessary for random appearance of NPC on the monument and indication of limits of removal of standard NPCs on the monument (if it is necessary) Remove other NPCs? [true/false] – It deletes the standard NPCs inside the limits of this monument Presets – It is a list of all the NPC presets to appear on the monument (the description of the NPC preset settings is located below) Custom monuments This item of the plugin settings is responsible for the appearance of NPCs on custom monuments. All these settings are located in the Custom folder (oxide/data/BetterNpc/Custom). Each file in this folder corresponds to a custom monument If you have bought a map with already configured NPC appearance files for custom monuments you will copy these files into the Custom folder. If you want to create and configure the appearance of NPC in your custom location on the map, you will use the command in the administrators’ chat /SpawnPointAdd {name} (see the description of this command below in the instruction) Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the monument. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Position – It is a position of the custom monument on the map Rotation – It is a rotation of the custom monument on the map (this parameter is necessary for using custom places to appear of NPC on the monument, if the monument is used on more than one map) Radius – It is the radius of the custom monument from the position on the map Remove other NPCs? [true/false] – It removes the standard NPCs inside the limits of this monument Presets – It is a list of all the NPC presets to appear on the monument (the description of the NPC preset settings is located below) Roads This item of the plugin settings is used to appear NPCs on all types of roads. All these settings are located in the Road folder (oxide/data/BetterNpc/Road). Each file in this folder corresponds to a particular road type ExtraNarrow – It is a narrow, unpaved walkway ExtraWide It is a wide, paved, two-lane, beltway road Standard – It is a regular, paved road Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the road. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Presets – It is a list of all the NPC presets to appear on the road (the description of the NPC preset settings is located below) Biomes This item of the plugin settings is used to appear NPCs on all types of biomes. All these settings are located in the Biome folder (oxide/data/BetterNpc/Biome). Each file in this folder corresponds to a particular biome type (Arctic, Arid, Temperate, Tundra) Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the biome. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Presets – It is a list of all the NPC presets to appear on the biome (the description of the NPC preset settings is located below) In-game events This item of the plugin settings is used to appear the NPCs in standard Rust events. All of these settings are located in the Event folder (oxide/data/BetterNpc/Event). Each file in this folder corresponds to its own type of event The supported events: When the plane drops the server AirDrop, it will be guarded by specific NPC presets CH47 – When the chinook drops a locked crate during patrolling the map, it will be guarded by specific NPC presets Bradley – When someone destroys a tank, its crates will be guarded by specific NPC presets Helicopter – When someone shoots down a patrol helicopter, its crates will be guarded by specific NPC presets Configuration parameters: Enabled? [true/false] – It allows to enable/disable the appearance of NPC on the event. If you need NPCs appearing on the map and don’t need it on another map, you can use this option simply Radius – NPC appearance radius Presets – It is a list of all the NPC presets to appear on the event (the description of the NPC preset settings is located below) The NPC preset parameters Enabled? [true/false] – It is enabling/disabling the preset Minimum numbers – Day – It is the minimum number of NPCs from the day preset Maximum numbers – Day – It is the maximum number of NPCs from the day preset Minimum numbers – Night – It is the minimum number of NPCs from the night preset Maximum numbers – Night – It is the maximum number of NPCs from the night preset NPCs setting – It is all NPC settings of this preset (see the description of NPC settings for details) Type of appearance (0 – random; 1 – own list) – It is a type of NPC appearance. You can create your own list of places of NPC appearance. The NPC will appear only randomly. This parameter is not used in Road appearance types Own list of locations – It is your own list of NPC appearances. You need to use the number of locations at least the maximum possible number of NPCs in this preset. This parameter is not used in Road appearance types The path to the crate that appears at the place of death – It is the full path to the crate prefab that appears at the place of death of an NPC. If you don’t need this parameter, you should leave this blank Which loot table should the plugin use (0 – default; 1 – own; 2 – AlphaLoot; 3 – CustomLoot; 4 – loot table of the Rust objects; 5 – combine the 1 and 4 methods) – It is the type of the NPC loot table in this preset. Type 5 includes two types (1 and 4) at the same time and locates items from both types Loot table from prefabs (if the loot table type is 4 or 5) – It is a setting of the loot tables from Rust objects. You can see the loot table of Rust objects description for more details Own loot table (if the loot table type is 1 or 5) – It’s NPC’s own loot table. You can see the description of your own loot table for more details The NPC settings description Names is a list of NPC names. It is selected from the list randomly Health – It’s the HP amount of the NPC Roam Range – It’s the patrolling area distance. It’s the distance that the NPC can move from the place of appearance during patrolling Chase Range – It’s the chase range of the target. It’s the distance that the NPC can chase his target from the place of appearance Attack Range Multiplier – It’s the attack range multiplier of the NPC’s weapon Sense Range – It’s a target detection radius Target Memory Duration [sec.] – It’s the time that the NPC can remember his target Scale damage – It’s the damage multiplier from NPC to the player Aim Cone Scale – It’s the spread of NPC shooting, the default value in Rust is 2. It doesn’t take negative values Detect the target only in the NPCs viewing vision cone? [true/false] – It’s the parameter that allows detecting the target only in a certain NPC viewing. If you want to detect the target in 360 degrees, you will set the parameter “False” Vision Cone – It’s the NPC viewing. The range of values is from 20 to 180 degrees. If the previous parameter is False, this parameter is not used Speed – It’s the NPC speed. The default value in Rust is 5 Minimum time of appearance after death [sec.] – It’s the minimum time of NPC appearance after the death. This parameter is not used in the NPC Event places Maximum time of appearance after death [sec.] – It’s the maximum time of NPC appearance after the death. This parameter is not used in the NPC Event places Disable radio effects? [true/false] – You can disable/enable radio effects Is this a stationary NPC? [true/false] – If this parameter is True, the NPC will not move or run Remove a corpse after death? [true/false] – This parameter can control the deleting of NPC corpses (only backpacks are left). This parameter improves efficiency if there are a lot of NPCs Wear items – It’s a list of NPCs’ clothes and armor Belt items – It’s a list of weapons and items NPCs’ fast slots. Medical syringes are used for healing. If you give grenades to an NPC, he will use them. Smoke grenades are used for creating smoke screens (if you don’t need them, you should remove them from your inventory). If you give a Rocket Launcher to an NPC, he will raid the target’s building (if the target is inside it) Kits – It gives a pack of Kits plugin. If you don’t need this parameter, you should leave this blank. I recommend using the previous 2 points to configure NPC items A description of the Rust loot table settings Minimum numbers of prefabs –It’s the minimum numbers of prefabs that are needed to appear in the NPC loot table Maximum numbers of prefabs –It’s the maximum numbers of prefabs that are needed to appear in the NPC loot table Use minimum and maximum values? [true/false] – this parameter specifies whether to use the minimum and maximum numbers to limit the number of items List of prefabs – It’s a list of prefabs that need to add in the loot table. It is necessary to indicate the full path to the prefab and the probability of falling out this prefab A description of the own loot table settings Minimum numbers of items – It’s the minimum number of items Maximum numbers of items – It’s the maximum number of items Use minimum and maximum values? [true/false] – this parameter specifies whether to use the minimum and maximum numbers to limit the number of items List of items – It’s a total list of all items that can fall out in the NPC loot table. You can specify any standard items, their blueprints and any skinned or custom items The commands in the chat (for admins only) /SpawnPointPos {name} – To show the local admin’s position coordinates relative to the place where the NPC {name} appears /SpawnPointAdd {name} – To create the NPC appearance point {name} in the Admin’s custom coordinates. A file with this name will be created in the folder Custom and you can configure it as you need /SpawnPointAddPos {number} {name} – To write the local admin’s coordinate into the preset with the positional number {number} (starting from 1) to the place where the NPC {name} appears /SpawnPointAddWear {number} {name} – To write all the admin’s dressed clothes into the preset with the positional number {number} (starting from 1) to the place where the NPC {name} appears /SpawnPointAddBelt {number} {name} – To write all the admins’ quick slots cells into a preset with the positional number {number} ( starting from 1) to the place where the NPC {name} appears /SpawnPointShowPos {number} {name} – To show to the Admin all the custom NPC appearance points in the preset with the positional number {number} ( starting from 1) in the place where the NPC {name} appears /SpawnPointReload {name} – Reload Spawn Point with the name {name} Console commands (RCON only) ShowAllNpc – Shows the number of all NPCs of the BetterNpc plugin on your server Hooks object CanAirDropSpawnNpc(SupplyDrop supplyDrop) – It is called before an NPC appearance to guard an AirDrop. The returning of a non-zero value stops an NPC appearance object CanCh47SpawnNpc(HackableLockedCrate crate) – It is called before an NPC appearance to guard a locked chinook crate. The returning of a non-zero value stops an NPC appearance object CanBradleySpawnNpc(BradleyAPC bradley) – It is called before an NPC appearance to guard the boxes from crushed Bradley. The returning of a non-zero value stops an NPC appearance object CanHelicopterSpawnNpc(BaseHelicopter helicopter) – It is called before an NPC appearance to guard the crates from crushed patrol helicopter. The returning of a non-zero value stops an NPC appearance API void DestroyController(string name) – It destroys the place of appearance NPC with the name {name} void CreateController(string name) – It creates the place of appearance NPC with the name {name} These APIs can be used with standard monuments, custom monuments (NPC locations) and roads. The name of this monument is in standard monuments {name}. It is the name of the file in the Custom and Road folder in custom monuments and roads My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here! Creator of the default configuration – jtedal
    $30.00
  3. Version 2.4.9

    3,493 downloads

    RUST Plugin Test Server TEST MY PLUGINS THERE! connect play.thepitereq.ovh:28050 Virtual Quarries plugin is a major upgrade to quarries. You can create and place quarries that extract any type of resource and access them from anywhere on the map. Set up an infinite number of quarry types, apply custom quarry limits with a permission system, grant friends access to resource storage, upgrade your quarry to get more resources, customize survey items and fuel, and much more! You can even customize the static quarries on the map to be instanced, allowing each player to have their own quarry. Extensive customization and enhancements for quarries. Place an infinite number of quarries of various types and give access to friends and teammates, including offline players. Customize the output for each quarry type, allowing them to dig anything from stone and ores to rockets and C4, with full support for skins and display names. The permission system lets you limit the number of quarries per player, and you can upgrade your quarries for better output, capacity, and fuel efficiency. The items required to place quarries can be customized based on the quarry's resource output. M ultiple types of survey charges, each corresponding to different quarry types. Full data merge through wipes. Responsive RUST-themed UI. Customizable fuel types for each quarry. Custom digging method ensures quarries dig once every 60 seconds by default to improve performance, but this frequency is configurable. Supports static quarries, pumpjacks, and the giant excavator pit, with instanced inventories for each player and customizable outputs. virtualquarries.use - Allows you to open /qr menu. (Needs to be enabled in config) virtualquarries.share - Allows players to give other teammates access to their quarries. (Needs to be enabled in config) virtualquarries.static.quarry - Gives access to static quarries. (Needs to be enabled in config) virtualquarries.static.pumpjack - Gives access to static pump jacks. (Needs to be enabled in config) virtualquarries.static.excavator - Gives access to giant excavator. (Needs to be enabled in config) /qr - Opens Virtual Quarry Menu. (Configurable) Economy Plugin Config 0 - None 1 - Economics 2 - ServerRewards 3 - IQEconomic 4 - BankSystem 5 - ShoppyStock Quarry Limit Extra You can limit sum of quarries by adding "*" into your permission list, so players can mix quarry profiles until they reach overall limit. Example: "virtualquarries.default": { "*": 3, "pumpjack": 1 }, Based on regular configuration this setup will limit player to have 3 of any type of quarrym but only 1 pumpjack, so he can have 2 quarries and 1 pumpjack or 3 quarries and no pumpjack. OnQuarryUpgraded(BasePlayer player, int quarryLevel, string quarryProfile) - Called when quarry is successfully upgraded. OnQuarryRemoved(BasePlayer player, string quarryProfile) - Called when quarry is successfully removed. OnCustomSurveyThrow(BasePlayer player, string quarryProfile) - Called when custom survey is successfully throwed. OnQuarryPlaced(BasePlayer player, string quarryProfile) - Called when quarry is succesfully placed. Example Config With additional quarry types, more upgrade levels etc. (my private configuration) VirtualQuarries.json { "Command List": [ "qr", "quarry", "quarries", "vq", "virtualquarry", "virtualquarries" ], "UI Action Cooldown (in seconds, 0 to disable)": 0.0, "Enable Console Logs": true, "PopUpAPI - Preset Name": "Legacy", "Override Custom Skinned Items With Steam Icons (no URLs needed)": false, "Additional Steam Image Download": false, "Require Permission For Use": false, "Lock Access To Quarry Profiles If Lost Permission": false, "Mining Quarry/Pump Jack Limit Permissions": { "virtualquarries.default": { "pumpjack": 1, "quarry": 2 }, "virtualquarries.vip": { "pumpjack": 2, "quarry": 3 } }, "Sharing - Require Permission": false, "Sharing - Remove Members If Owner Offline More Than X Days (0, to disable)": 0, "Sharing - Share Only To Teammates": false, "Data - Enable Data Wipe On Server Wipe": false, "Data - Store Container Data In File And Restore On Server Wipe": false, "Data - Store Container Interval (in seconds)": 1800, "Quarry Tick (how often quarries dig resources, in seconds)": 60, "Static Quarry Tick (how often quarries dig resources, in seconds)": 60, "Excavator Quarry Tick (how often quarries dig resources, in seconds)": 60, "Storage Prefab": "assets/prefabs/deployable/large wood storage/box.wooden.large.prefab", "Sound - Start Sound": "assets/prefabs/npc/autoturret/effects/online.prefab", "Sound - Stop Sound": "assets/prefabs/npc/autoturret/effects/offline.prefab", "Survey Charge - Allow Throwing Survey Charges": false, "Survey Charget Types": { "survey": { "Effect Path": "assets/bundled/prefabs/fx/survey_explosion.prefab", "Required Permission (empty, if not required)": "", "Chance For Resources (0-100)": 75, "Displayed Survey Title Translation Key": "SurveyCharge", "Required Item": { "Shortname": "surveycharge", "Skin": 0, "Amount": 1, "Display Name": null, "Icon URL": "" } } }, "Upgrades - Used Economy Plugin (0 - None, See Website For More Info)": 0, "Upgrades - Economy Currency (If Economy Plugin Is 5 - ShoppyStock)": "rp", "Removing Quarries - Refund Items": true, "Removing Quarries - Refund Upgrades": false, "Go Back Button - Position (1-2)": 1, "Upgrade UI - Responsive Position": true, "Static Quarries - Enable": false, "Static Quarries - Disable Running Effect": false, "Excavator Quarry - Enable": false, "Excavator Quarry - Lock Air Drops": false, "Excavator Quarry - Resource Container Size": 18, "Excavator Quarry - Fuel Container Size": 6, "Static Quarries - Quarry Requires Permission": false, "Static Quarries - Pump Jack Requires Permission": false, "Static Quarries - Excavator Requires Permission": false, "Static Quarries - Resource Container Size": 18, "Static Quarries - Fuel Container Size": 6, "Static Quarries - Fuel Item": { "Shortname": "lowgradefuel", "Skin": 0, "Amount": 1.0, "Display Name": null, "Icon URL": null }, "Excavator Quarry - Fuel Item": { "Shortname": "diesel_barrel", "Skin": 0, "Amount": 1.0, "Display Name": null, "Icon URL": null }, "Static Quarries - Metal Quarry Output": [ { "Shortname": "stones", "Skin": 0, "Amount Per Tick": 150.0, "Display Name": "" }, { "Shortname": "metal.ore", "Skin": 0, "Amount Per Tick": 22.5, "Display Name": "" } ], "Static Quarries - Sulfur Quarry Output": [ { "Shortname": "sulfur.ore", "Skin": 0, "Amount Per Tick": 22.5, "Display Name": "" } ], "Static Quarries - HQM Quarry Output": [ { "Shortname": "hq.metal.ore", "Skin": 0, "Amount Per Tick": 1.5, "Display Name": "" } ], "Static Quarries - Pump Jack Output": [ { "Shortname": "crude.oil", "Skin": 0, "Amount Per Tick": 6.0, "Display Name": "" } ], "Static Quarries - Excavator Outputs": { "HQM": [ { "Shortname": "hq.metal.ore", "Skin": 0, "Amount Per Tick": 50.0, "Display Name": "" } ], "Metal": [ { "Shortname": "metal.fragments", "Skin": 0, "Amount Per Tick": 2500.0, "Display Name": "" } ], "Stone": [ { "Shortname": "stones", "Skin": 0, "Amount Per Tick": 5000.0, "Display Name": "" } ], "Sulfur": [ { "Shortname": "sulfur.ore", "Skin": 0, "Amount Per Tick": 1000.0, "Display Name": "" } ] }, "Quarry Profiles": { "pumpjack": { "Required Permission (empty, if not required)": "virtualquarries.pumpjack", "Displayed Icon": { "Shortname": "mining.pumpjack", "Skin": 0, "Amount": 1, "Display Name": null, "Icon URL": "" }, "Survey Type": "survey", "Displayed Quarry Title Translation Key": "PumpjackTitle", "Chance": 5, "Minimal Resources Per Node": 1, "Maximal Resources Per Node": 2, "Fuel Required Per Tick": { "Shortname": "lowgradefuel", "Skin": 0, "Amount": 1.0, "Display Name": null, "Icon URL": null }, "Enable Upgrades": true, "Items Required To Place": [ { "Shortname": "mining.pumpjack", "Skin": 0, "Amount": 1, "Display Name": null, "Icon URL": "" } ], "Resources": { "crude": { "Output Item - Shortname": "crude.oil", "Output Item - Skin": 0, "Output Item - Display Name": "", "Output Item - Icon URL (Required if Skin not 0)": "", "Include Always": true, "Required Permission (empty if not required)": "", "Chance": 0, "Minimal Output Per Tick": 0.8, "Maximal Output Per Tick": 3.0, "Additional Items Required To Place": [] } }, "Upgrades": [ { "Required Items": [], "Required Currency (0 to disable)": 0, "Fuel Storage Capacity": 6, "Capacity": 6, "Gather Multiplier": 1.0, "Fuel Usage Multiplier": 1.0, "Additional Resources (Resources keys)": [] }, { "Required Items": [ { "Shortname": "wood", "Skin": 0, "Amount": 14000, "Display Name": null, "Icon URL": "" }, { "Shortname": "stones", "Skin": 0, "Amount": 10000, "Display Name": null, "Icon URL": "" } ], "Required Currency (0 to disable)": 12000, "Fuel Storage Capacity": 6, "Capacity": 9, "Gather Multiplier": 1.2, "Fuel Usage Multiplier": 1.0, "Additional Resources (Resources keys)": [] } ] }, "quarry": { "Required Permission (empty, if not required)": "", "Displayed Icon": { "Shortname": "mining.quarry", "Skin": 0, "Amount": 1, "Display Name": null, "Icon URL": "" }, "Survey Type": "survey", "Displayed Quarry Title Translation Key": "QuarryTitle", "Chance": 25, "Minimal Resources Per Node": 1, "Maximal Resources Per Node": 2, "Fuel Required Per Tick": { "Shortname": "lowgradefuel", "Skin": 0, "Amount": 1.0, "Display Name": null, "Icon URL": null }, "Enable Upgrades": true, "Items Required To Place": [ { "Shortname": "mining.quarry", "Skin": 0, "Amount": 1, "Display Name": null, "Icon URL": "" } ], "Resources": { "hq": { "Output Item - Shortname": "hq.metal.ore", "Output Item - Skin": 0, "Output Item - Display Name": "", "Output Item - Icon URL (Required if Skin not 0)": "", "Include Always": false, "Required Permission (empty if not required)": "", "Chance": 10, "Minimal Output Per Tick": 0.3, "Maximal Output Per Tick": 2.0, "Additional Items Required To Place": [] }, "metal": { "Output Item - Shortname": "metal.ore", "Output Item - Skin": 0, "Output Item - Display Name": "", "Output Item - Icon URL (Required if Skin not 0)": "", "Include Always": false, "Required Permission (empty if not required)": "virtualquarries.metal", "Chance": 50, "Minimal Output Per Tick": 22.5, "Maximal Output Per Tick": 45.0, "Additional Items Required To Place": [] }, "scrap": { "Output Item - Shortname": "scrap", "Output Item - Skin": 0, "Output Item - Display Name": "", "Output Item - Icon URL (Required if Skin not 0)": "", "Include Always": false, "Required Permission (empty if not required)": "virtualquarries.scrap", "Chance": 5, "Minimal Output Per Tick": 0.1, "Maximal Output Per Tick": 1.0, "Additional Items Required To Place": [ { "Shortname": "wood", "Skin": 0, "Amount": 7000, "Display Name": null, "Icon URL": "" } ] }, "stone": { "Output Item - Shortname": "stones", "Output Item - Skin": 0, "Output Item - Display Name": "", "Output Item - Icon URL (Required if Skin not 0)": "", "Include Always": true, "Required Permission (empty if not required)": "", "Chance": 0, "Minimal Output Per Tick": 150.0, "Maximal Output Per Tick": 300.0, "Additional Items Required To Place": [] }, "sulfur": { "Output Item - Shortname": "sulfur.ore", "Output Item - Skin": 0, "Output Item - Display Name": "", "Output Item - Icon URL (Required if Skin not 0)": "", "Include Always": false, "Required Permission (empty if not required)": "", "Chance": 50, "Minimal Output Per Tick": 15.0, "Maximal Output Per Tick": 30.5, "Additional Items Required To Place": [] } }, "Upgrades": [ { "Required Items": [], "Required Currency (0 to disable)": 0, "Fuel Storage Capacity": 6, "Capacity": 6, "Gather Multiplier": 1.0, "Fuel Usage Multiplier": 1.0, "Additional Resources (Resources keys)": [] }, { "Required Items": [ { "Shortname": "wood", "Skin": 0, "Amount": 7000, "Display Name": null, "Icon URL": "" }, { "Shortname": "stones", "Skin": 0, "Amount": 5000, "Display Name": null, "Icon URL": "" } ], "Required Currency (0 to disable)": 6000, "Fuel Storage Capacity": 6, "Capacity": 9, "Gather Multiplier": 1.2, "Fuel Usage Multiplier": 1.0, "Additional Resources (Resources keys)": [ "scrap" ] } ] } } }
    $35.00
  4. Version 0.1.17

    1,685 downloads

    Useful API plugin that imitates in-game status bars, allowing the addition of custom status bars. Note: AdvancedStatus does not display any bars on its own. This is done by other plugins that work with it. An example plugin demonstrating interaction with AdvancedStatus. The ability to specify the frequency of calculating the number of bars; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to specify custom text; The ability to customize the color, size and font of the text; No need to pass all parameters; No need to manually delete your bar when unloading your plugin. advancedstatus.admin - Grants access to the chat command(by default /bar). { "Chat command": "bar", "Is it worth enabling console notifications for the successful loading of local images?": false, "Interval(in seconds) for counting in-game status bars": 0.5, "Interval(in seconds) for counting Building Privilege status bars. Note: Calculating Building Privilege is significantly more resource-intensive than other counts": 1.0, "Bar - Display Layer. If you have button bars, it's advisable to use Hud(https://umod.org/guides/rust/basic-concepts-of-gui#layers)": "Under", "Bar - Left to Right": true, "Bar - Offset between status bars": 2, "Bar - Default Height": 26, "Main - Default Color": "#505F75", "Main - Default Transparency": 0.7, "Main - Default Material(empty to disable)": "", "Image - Default Image": "AdvancedBar_Image", "Image - Default Color": "#6B7E95", "Image - Default Transparency": 1.0, "Image - Outline Default Color": "#000000", "Image - Outline Default Transparency": 1.0, "Image - Outline Default Distance": "0.75 0.75", "Text - Default Size": 12, "Text - Default Color": "#FFFFFF", "Text - Default Transparency": 1.0, "Text - Default Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text - Default Offset Horizontal": 0, "Text - Outline Default Color": "#000000", "Text - Outline Default Transparency": 1.0, "Text - Outline Default Distance": "0.75 0.75", "SubText - Default Size": 12, "SubText - Default Color": "#FFFFFF", "SubText - Default Transparency": 1.0, "SubText - Default Font": "RobotoCondensed-Bold.ttf", "SubText - Outline Default Color": "#000000", "SubText - Outline Default Transparency": 1.0, "SubText - Outline Default Distance": "0.75 0.75", "Progress - Default Color": "#89B840", "Progress - Default Transparency": 0.7, "Progress - Default OffsetMin": "25 2.5", "Progress - Default OffsetMax": "-3.5 -3.5", "Version": { "Major": 0, "Minor": 1, "Patch": 17 } } Note: Default values will be used if the external plugin does not pass the property itself. EN: { "MsgDays": "d", "MsgHours": "h", "MsgMinutes": "m", "MsgSeconds": "s" } RU: { "MsgDays": "д", "MsgHours": "ч", "MsgMinutes": "м", "MsgSeconds": "с" } images reload *ImageName* - Reloads the specified image from the image folder; all - Reloads all local images from the image folder. Example: /bar images reload all Note: To access the commands, the player must be an admin(console or owner) or have the advancedstatus.admin permission. OnAdvancedStatusLoaded: Called after the AdvancedStatus plugin is fully loaded and ready. OnPlayerGainedBuildingPrivilege: Called after the player enters their building privilege. OnPlayerLostBuildingPrivilege: Called after the player exits their building privilege. void OnAdvancedStatusLoaded() { Puts("The AdvancedStatus plugin is loaded and ready to go!"); } void OnPlayerGainedBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} entered the authorized building privilege zone."); } void OnPlayerLostBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} exited the authorized building privilege zone."); } [PluginReference] private Plugin AdvancedStatus; There are 15 methods: IsReady CreateBar UpdateContent DeleteBar DeleteCategory DeleteAllBars GetTotalClientBars GetTotalPlayerBars LoadImages LoadImage CopyImage DeleteImages DeleteImage BarExists InBuildingPrivilege There are 5 types of bar: Default - A simple bar that displays the provided information. Does not update the value of SubText by itself; Timed - Similar to the default bar, but it automatically disappears after the specified time in the TimeStamp parameter; TimeCounter - The SubText shows the remaining time until TimeStamp. Also automatically removed upon expiration of the TimeStamp; TimeProgress - Similar to the Timed bar, but additionally features an automatically filling progress bar; TimeProgressCounter - Similar to the TimeCounter bar, but additionally features an automatically filling progress bar. IsReady: Used to check if the AdvancedStatus plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)AdvancedStatus?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready. CreateBar: Used to create a bar or update bar values for a player. To call the CreateBar method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the CreateBar method, all parameters are optional, except for two: Id; Plugin. Parameters not specified when creating a new bar will use the values set in the AdvancedStatus plugin's configuration file. Parameters not specified during bar update will retain the values they had before the update. Note: The plugin does not update values automatically, you need to manually send new values. Dictionary<string, object> parameters = new Dictionary<string, object> { { "Id", "AdvancedStatusDemo_1" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "BarType", "Default" }, //<string>Type of the bar. There are 4 types: Default, Timed, TimeCounter and TimeProgress. { "Plugin", "AdvancedStatusDemo" }, //<string>Name of your plugin. ***This is a required field. { "Category", "Default" }, //<string>Internal plugin category of the bar. { "Order", 10 }, //<int>The position of your bar relative to others. Order is determined by increasing values(ASC). { "Height", 26 }, //<int>The height of your bar. A standard bar is 26 pixels. { "Main_Color", "#505F75" }, //<string>HTML Hex color of the bar background. { "Main_Transparency", 0.7f }, //<float>Transparency of the bar background. { "Main_Material", "assets/content/ui/uibackgroundblur.mat" }, //<string>Material of the bar background(empty to disable). { "Image", "scrap" }, //<string>Name of the image saved in the ImageLibrary or a direct link to the image if ImageLibrary is not used. { "Image_Local", "AdvancedStatusDemo_Scrap" }, //<string>The name of the image file(without its extension) located in *SERVER*\data\AdvancedStatus\Images. Leave empty to use Image. { "Image_Sprite", "" }, //<string>Sprite image of the bar. Leave empty to use Image_Local or Image. { "Is_RawImage", true }, //<bool>Which type of image will be used? True - CuiRawImageComponent. False - CuiImageComponent. { "Image_Color", "#6B7E95" }, //<string>HTML Hex color of the bar image. { "Image_Transparency", 1.0f }, //<float>Transparency of the image. { "Text", "Scrap" }, //<string>Main text. { "Text_Size", 12 }, //<int>Size of the main text. { "Text_Color", "#FFFFFF" }, //<string>HTML Hex color of the main text. { "Text_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the main text. { "Text_Offset_Horizontal", 0 }, //<int>Horizontal offset for the main text. { "SubText", "35" }, //<string>Sub text. { "SubText_Size", 12 }, //<int>Size of the sub text. { "SubText_Color", "#FFFFFF" }, //<string>HTML Hex color of the sub text. { "SubText_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the sub text. { "TimeStampStart", Network.TimeEx.currentTimestamp }, //<double>Responsible for specifying the start point of the time reference and 0% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStamp", Network.TimeEx.currentTimestamp + 6 }, //<double>Specifies the end time point after which the bar will be destroyed and 100% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStampDestroy", Network.TimeEx.currentTimestamp + 3 }, //<double>If TimeStampDestroy is specified and it is less than TimeStamp, the bar will be destroyed by TimeStampDestroy. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "Progress", (float)35 / 100f }, //<float>Progress. From 0.0 to 1.0. { "Progress_Reverse", false }, //<bool>Progress reverse. A value of false means that the progress will increase. Used if the bar type is TimeProgress or TimeProgressCounter. { "Progress_Color", "#89B840" }, //<string>Progress color. { "Progress_Transparency", 1f }, //<float>Progress transparency. { "Progress_OffsetMin", "25 2.5" }, //<string>Progress OffsetMin: "*left* *bottom*". { "Progress_OffsetMax", "-3.5 -3.5" }, //<string>Progress OffsetMax: "*right* *top*". { "Command", "kit" } //<string>If the field is not empty, the bar becomes clickable, and the specified command is executed upon clicking. Note: the command must be covalence. }; AdvancedStatus?.Call("CreateBar", player.userID.Get(), parameters); //Calling the CreateBar method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. UpdateContent: Used to update only the content of an existing status bar. To call the UpdateContent method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the UpdateBar method, all parameters are optional, except for two: Id; Plugin. var parameters = new Dictionary<string, object> { { "Id", "MyID" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "Plugin", Name }, //<string>Name of your plugin. ***This is a required field. { "Text", "MyText" }, //<string>Main text. { "SubText", "MyText" }, //<string>Sub text. { "Progress", (float)amount / 100f }, //<float>Progress. From 0.0 to 1.0. }; AdvancedStatus?.Call("UpdateContent", player.userID.Get(), parameters); //Calling the UpdateContent method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. DeleteBar: Used to remove the bar for a player. There are two methods for removing a bar by ID: with specifying a particular player; To call this method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar and the third one is name of your plugin. without specifying a particular player (which removes it for all players) To call this method, you need to pass 2 parameters. The first one is Id of your bar and the second one is name of your plugin. AdvancedStatus?.Call("DeleteBar", player.userID.Get(), barID, Name); //Calling the DeleteBar method with the passing of BasePlayer/playerID, ID of the bar and the name of your plugin. AdvancedStatus?.Call("DeleteBar", barID, Name); //Calling the DeleteBar method with the passing of ID of the bar and the name of your plugin. If you try to delete a bar that doesn't exist, nothing bad will happen. So feel free to delete the bar without checking its existence. P.S. When unloading your plugin, there is no need to manually delete bars for players, AdvancedStatus will handle it automatically. DeleteCategory: Used to remove all bars associated with the plugin's category. To call the DeleteCategory method, you need to pass 2 parameters. The first one is category and the second one is name of your plugin. AdvancedStatus?.Call("DeleteCategory", "Default", Name);//Calling the DeleteCategory method by passing the category and name of your plugin DeleteAllBars: Used to remove all bars associated with the plugin. To call the DeleteAllBars method, you need to pass only 1 parameter. It is name of your plugin. AdvancedStatus?.Call("DeleteAllBars", Name);//Calling the DeleteAllBars method, passing the name of your plugin GetTotalClientBars: Used to get the number of client bars for the player. To call the GetTotalClientBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalClientBars", player.userID.Get());//Calling the GetTotalClientBars method, passing the name of BasePlayer/playerID GetTotalPlayerBars: Used to get the number of active custom bars for the player. To call the GetTotalPlayerBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalPlayerBars", player.userID.Get());//Calling the GetTotalPlayerBars method, passing the name of BasePlayer/playerID LoadImages: Used to check if the local images specified in the list are loaded. If any of the images are not loaded but their files exist in the images folder, the plugin will load them. To call the LoadImages method, you need to pass only 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImages", list, false);//Calling the LoadImages method, passing a list of image names LoadImage: Used to check if the local image is loaded. If the file is not loaded and exists in the images folder, the plugin will load it. To call the LoadImage method, you need to pass 2 parameters. The first one is the <string>image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImage", imgName, false);//Calling the LoadImage method, passing an image's name CopyImage: Used to create and load a copy of an existing image. To call the CopyImage method, you need to pass 3 parameters. The first parameter is the <string>source image's name, the second parameter is the <string>new image's name and the third one(optional) is <bool>force, which, if set to true, will force copy and reload the image even if it already exists. AdvancedStatus?.Call("CopyImage", "ZoneStatus_Default", "ZoneStatus_NewZone", false);//Calling CopyImage, passing the source image name and the new image name. DeleteImages: Used to delete a list of images and their files. To call the DeleteImages method, you need to pass 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImages", list, true);//Calling DeleteImages, passing a list of image names. DeleteImage: Used for removing the image and the image file. To call the DeleteImage method, you need to pass 2 parameters. The first parameter is the <string>image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImage", "ZoneStatus_NewZone", true);//Calling DeleteImage, passing the image name. BarExists: Used to check if the specified bar exists. To call the BarExists method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar. And the third one is name of your plugin. (bool)AdvancedStatus?.Call("BarExists", player.userID.Get(), barID, Name);//Calling the BarExists method with the passing of BasePlayer/playerID, ID of the bar and name of your plugin. InBuildingPrivilege: Used to check if the player has authorized building privileges. To call the InBuildingPrivilege method, you need to pass BasePlayer or <ulong>playerID. (bool)AdvancedStatus?.Call("InBuildingPrivilege", player.userID.Get());//Checking if the player has Building Privilege.
    $1.99
  5. IIIaKa

    Real PvE

    Version 0.1.13

    781 downloads

    Plugin for Real PvE servers, featuring damage prevention, anti-griefing measures, customizable PvP zones, an automatic loot queue in radtowns and raid zones, and much more. P.S. Since the previous implementation with DynamicPVP was not correct and had some issues, I have added universal hooks(Developer API section) for general access from all PvP plugins, which are currently missing in DynamicPVP. I have requested the author to add them(3 lines), but for now, you will need to use the modified version of DynamicPVP.cs The ability to set "server.pve" to "true", which allows the server to have a "PvE" flag; Damage from NPC's are enabled when server.pve is true; The ability to inflict damage to one's own structures with "server.pve true"; The ability to destroy(including external walls) or rotate one's structures without any time constraints; The ability to force the decay of building blocks with Twigs grade, even if there is wood in the Tool Cupboard; The ability to toggle the gather resource restriction in someone else's Building Privileges; No one, except the owner or their friends, will be able to open their loot containers (chests, storages, bodies, etc.); Administrators can bypass loot restrictions; The ability to schedule the killing of players if they disconnect within someone else's Building Privilege; Disabling backpack and active item drop upon death, even if backpack is full; The ability to disable 'Give' messages; The ability to modify the items given at spawn on the beach; The ability to create an unlimited number of custom permissions; The ability to allow players to bypass the queue; The ability to set limits on sleeping bags, shelters and auto turrets for each permission; The ability to set a multiplier for the prices of monuments and events for each permission; The ability to customize the price and amount of vehicles for each of your custom permissions; The ability to assign vehicles to each player; The ability to customize the assigned price and available amount of vehicles for each of your custom permissions; An assigned vehicle can't be damaged, looted or pushed by other players, but it can be pushed if it is within someone else's Building Privilege; The ability to loot monuments through a queue system; The ability to configure monuments, setting their looting price and time, and adjusting status bars for each monument; The ability to acquire the privilege to loot events (helicopters, bradleys, and raidable bases) through a purchase; The ability to customize the price of each event types and loot attempts (lives); NPCs only aggress against players who are looting monuments, events or raidable bases; Only players who are looting monuments, events or raidable bases can inflict damage to NPCs; RaidableBases are protected from griefing(no damage, no loot and etc). Only the owner can interact with the raid; Neutral RaidableBases can be purchased; Prices for purchasing neutral raids are configurable for each difficulty level; Configurable raid limits (currently available) along with discount multipliers for purchases, for each permission. File location: *SERVER*\oxide\data\RealPVE\PermissionConfig.json Default: https://pastebin.com/5VtWZZVr All permissions are created and configured in the config file under the "List of permissions" section. You can create as many permissions as needed and customize them flexibly. It is recommended to use the prefix "realpve" in the permission's name, for example: "realpve.vip". NOTE: The first permission will serve as the default permission for those who do not have any permissions. { "List of permissions. NOTE: The first permission will be used by default for those who do not have any permissions.": [ { "Permission Name": "realpve.default", "Bypass Queue": false, "Limit of beds": 15, "Limit of shelters": 1, "Limit of auto turrets": 12, "Seconds that will be skipped when opening HackableLockedCrate. Range from 0 to 900": 0.0, "Monuments price multiplier": 1.0, "Events price multiplier": 1.0, "Limit of RaidableBases(at the time)": 1, "RaidableBases price multiplier": 1.0, "Vehicles settings": { "Horse": { "Limit": 1, "Price": 10.0 }, "Bike": { "Limit": 1, "Price": 5.0 }, "MotorBike": { "Limit": 1, "Price": 20.0 }, "Car": { "Limit": 1, "Price": 25.0 }, ... } }, { "Permission Name": "realpve.vip", "Bypass Queue": true, "Limit of beds": 20, "Limit of shelters": 2, "Limit of auto turrets": 15, "Seconds that will be skipped when opening HackableLockedCrate. Range from 0 to 900": 450.0, "Monuments price multiplier": 0.9, "Events price multiplier": 0.9, "Limit of RaidableBases(at the time)": 2, "RaidableBases price multiplier": 0.9, "Vehicles settings": { "Horse": { "Limit": 5, "Price": 9.0 }, "Bike": { "Limit": 5, "Price": 4.5 }, "MotorBike": { "Limit": 5, "Price": 18.0 }, "Car": { "Limit": 5, "Price": 22.5 }, ... } } ], "Version": { "Major": 0, "Minor": 1, "Patch": 1 } } An example of a monument/event/rb multipliers using default permissions. For example, if you set the price for the Harbor at $1000, a player with the default permission(1.0) will pay $1000 * 1 = $1000. Meanwhile, a player with a VIP permission(0.9) will pay $1000 * 0.9 = $900. However, if a player possesses a misbehaving permission with a value of 1.1, they will need to pay $1000 * 1.1 = $1100. { "Chat admin command": "adminpve", "Chat command": "realpve", "Is it worth forcibly implementing PvE for a server?": true, "Is it worth enabling GameTips for messages?": true, "Is it worth preventing the sending of 'Give' messages?": true, "Is it worth preventing resource gathering in someone else's building privilege area?": false, "Is it worth preventing the pickup of plants spawned by the server in someone else's building privilege zone?": false, "Is it worth assigning portals(Halloween and Christmas) to the first player?": true, "Is it worth preventing players from handcuffing others?": true, "Is it worth preventing a backpack from dropping upon player death?": true, "Is it worth preventing damage to the laptop of the Hackable Crate?": true, "Is it worth removing the penalties for recyclers in safe zones?": true, "Which currency symbol and format will be utilized?": "${0}", "Vehicles - Time(in seconds) to display the marker when searching for a vehicle. A value of 0 disables the marker": 15.0, "Anti-Sleeper - Time in seconds after which a player will be killed if they disconnect while inside someone else's Building Privilege. Set to 0 to disable": 1200.0, "PatrolHelicopterAI - Monument Crash. If set to true, the helicopter will attempt to crash into the monument": false, "PatrolHelicopterAI - Use Danger Zones. If set to false, the helicopter will function as it did before the April update": false, "PatrolHelicopterAI - Flee Damage Percentage. A value of 1 or above will make the helicopter behave as it did before the April update": 1.0, "Is Npc Random Raids enabled?": true, "PvP - Is friendly fire enabled by default when creating a team?": false, "PvP - Is it worth adding map markers for PvP zones?": true, "PvP - Name of the map maker": "PvP Zone!", "PvP - Settings for the status bar": { "Order": 9, "Height": 26, "Main_Color(Hex or RGBA)": "1 0.39 0.28 0.7", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/oi5vIkk.png", "Image_Local(Leave empty to use Image_Url)": "RealPVE_PvP", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "1 0.39 0.28 1", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 0.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "1 1 1 1", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "1 1 1 1", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 0.0, "SubText_Outline_Distance": "0.75 0.75" }, "PvP - Settings for the progress status bar": { "Main_Color(Hex or RGBA)": "1 1 1 0.15", "Main_Transparency": 0.15, "Progress_Reverse": true, "Progress_Color": "#FF6347", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" }, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 13 } } ENG: https://pastebin.com/ZMUL6pYL RUS: https://pastebin.com/Mx8cbMts Main commands(/realpve ) : autobuy - Toggle autobuy for monuments, vanilla events and raid bases with a final price greater than 0; pickup - Toggle access for picking up your items from the ground for everyone; share - Manage permissions for others to loot your entities: add *nameOrID* *entityID*(optional) - Add the specified player to the entity list you are looking at or the one you specified; remove *nameOrID* *entityID*(optional) - Remove the specified player from the entity list you are looking at or the one you specified; list *entityID*(optional) - Display information about the entity list you are looking at or the one you specified; toggle *entityID*(optional) - Toggle the entity list you are looking at or the one you specified; delete *entityID*(optional) - Delete the settings for the entity you are looking at or the one you specified; delete all - Delete the settings for all your entities. team - Manage team: ff - Toggle the ability to damage your teammates. vehicle - Manage vehicles: list - List of your vehicle IDs; find *vehicleID* - Help find your vehicle; unlink *vehicleID* - Unlink the vehicle registration; clear - Unlink registration from all your vehicles. Admin commands(/adminpve). Permission "realpve.admin" required: autobuy - Settings for autobuying monuments, vanilla events and raid bases with a price greater than 0: *nameOrId* - Toggle autobuy for the specified player; force monument/event/rb - Toggle forced autobuy. If enabled, player settings will be ignored; clear - Disable autobuy for everyone. loot - Setup unrestricted access: *nameOrId* - Toggle unrestricted access for the specified player; self - Toggle unrestricted access for yourself; clear - Revoke unrestricted access for all players. monument - Monuments settings: list - List of available monuments; *monumentID*/this - Instead of the monumentID, you can use the word "this", but you must be inside the monument: suffix - Toggle the suffix display in the monument's name; broadcast - Toggle notifications about monument occupancy/release; time *intValue* - Set the looting time limit for the monument in seconds; price *floatValue* - Set the cost for looting rights. A value of 0 makes the monument free; offer *floatValue* - Set the offer duration for purchasing the monument in seconds; map_mode *intValue* - Set the marker display mode on the map. 0 - disabled, 1 - enabled, 2 - enabled during PvP mode; map_circle - Toggle the display of the monument's circle marker on the map; pvp - Toggle PvP mode for the monument; pvp_delay *floatValue* - Set the PvP mode duration in seconds for players after leaving the PvP monument; bar_progress - Toggle between TimeProgressCounter and TimeCounter bars for the monument. perm - Permissions settings: add *permName* - Adds a new permission to the list by copying values from the first(default) permission in the list. If the permission name starts with 'realpve', it will also register a new permission; add *permName* *sourcePermName* - Adds a new permission to the list by copying values from an existing permission in the list; remove *permName* - Removes an existing permission from the list; edit *permName* - Edits a permission: queue - Toggle the permission to bypass the server queue; beds *intValue* - Restriction on the number of available beds; shelters *intValue* - Restriction on the number of available shelters; turrets *intValue* - Restriction on the number of available turrets; hackable *floatValue* - Number of seconds(0-900) to skip when opening a hackable crate; monuments *floatValue* - Price multiplier for monuments; events *floatValue* - Price multiplier for vanilla events; rb_limit *intValue* - Restriction on the number of raid bases available simultaneously; rb_mult *floatValue* - Price multiplier for raid bases; vehicles *vehType* - Vehicles settings: limit *intValue* - Limit on the number of available vehicles by type; price *floatValue* - Price for registering a vehicle by type. clear - Removes all permissions from the list except the first one. pickup - Settings for access to picking up player items from the ground: *nameOrId* - Toggle access to picking up a specific player's items from the ground; clear - Revoke access for all players to pick up items from the ground. vehicle - Monuments settings: types - List of available vehicle types. Example: /realpve pickup /realpve vehicle find *netID* /realpve team ff /adminpve perm add realpve.vip2 /adminpve perm add realpve.vip2 realpve.vip /adminpve perm edit realpve.vip2 queue true /adminpve perm edit realpve.vip2 vehicles horse limit 5 /adminpve monument list /adminpve monument *monumentID* pvp /adminpve monument *monumentID* price 7.5 /adminpve loot iiiaka /adminpve pickup iiiaka /adminpve vehicle types This plugin provides the ability to claim vehicles, thereby preventing theft and griefing from other players. In permissions, you can set the price and quantity restrictions for each type of vehicle, ensuring flexible customization according to your preferences. An assigned vehicle can't be damaged, looted or pushed by other players, but it can be pushed if it is within someone else's Building Privilege. File location: *SERVER*\oxide\data\RealPVE\MonumentConfig.json Default: https://pastebin.com/XY1d9YaM This plugin introduces queue system and loot purchases for monuments. You can customize the price and time for looting for each monument. Within monuments, only the "Looter" and his friends have the ability to loot, pick up items or damage entities. Additionally, NPCs and animals within monuments do not aggress against other players and do not receive damage from them. If a player dies within the monument, they will have a grace period to return. This allows players to safely loot monuments without fear of griefing. Example of monument configuration: "ferry_terminal_1": { "Type(This parameter is just a hint. Changes won’t have any effect)": "RadTown", "Time in seconds(1-15) given to respond for purchasing monument looting": 5.0, "ShowSuffix": true, "Broadcast": true, "PvP - Is PvP enabled at this monument? If so, players will be able to kill each other, and loot will be publicly accessible": false, "PvP - Sets the delay in seconds that a player remains in PvP mode after leaving a PvP monument. 0 disables the delay": 10.0, "PvP - Is it worth adding map markers for monuments if they are PvP zones?": true, "LootingTime": 900, "Price": 15.0, "Is it worth using a progress bar for bars with a counter?": true, "Settings for the status bar": { "Order": 10, "Height": 26, "Main_Color(Hex or RGBA)": "#FFBF99", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/awUrIwA.png", "Image_Local(Leave empty to use Image_Url)": "RealPVE_ferry_terminal_1", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#FFDCB6", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 0.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "1 1 1 1", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "1 1 1 1", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 0.0, "SubText_Outline_Distance": "0.75 0.75" }, "Settings for the progress status bar": { "Main_Color(Hex or RGBA)": "1 1 1 0.15", "Main_Transparency": 0.15, "Progress_Reverse": true, "Progress_Color": "#FFBF99", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" } } Type - This field serves only as an indicator for you. The changes won't have any impact; ShowSuffix - Suffix display. Some monuments (for example Warehouses) have suffixes in the name, like "Warehouse #12"; Broadcast - Enabling or disabling broadcasts when a monument is occupied or vacated; LootingTime - Time allocated for looting the monument; Price - The price for which you can start looting the monument. 0 means looting is free; BarSettings - Settings for the Advanced Status Bar. You can also choose the types of monuments by specifying them under the "List of tracked types of monuments" section. A list of all available types can be viewed on the MonumentsWatcher's page in the "Developer API" section. "List of tracked types of monuments": [ "RadTown", "RadTownWater", "RadTownSmall", "TunnelStation", "Custom" ] Events, similar to monuments, offer the opportunity to claim events. All events are configured in the config file under the "Settings for the events" section. You can customize the price of looting and looting attempts(deaths, including friends). Just like in monuments, only the "Looter" and his friends have the ability to loot and damage entities. Additionally, in events, NPCs do not aggress against other players. If a player(including friends) exceeds the death limit, the event became free, thereby providing other players with the opportunity to claim the event. Example of event configuration: { "Settings for the PatrolHelicopter events": { "IsEnabled": true, "Time in seconds (1-15) given to respond for purchasing this event. Note: This is shown to everyone who deals damage, and the first person to buy it will claim it": 5.0, "Is it worth removing fire from crates?": true, "The price to capture the event. 0 means the event is free": 50.0, "The number of deaths after which the event becomes public": 5 }, "Settings for the BradleyAPC events": { "IsEnabled": true, "Time in seconds (1-15) given to respond for purchasing this event. Note: This is shown to everyone who deals damage, and the first person to buy it will claim it": 5.0, "Is it worth removing fire from crates?": true, "The price to capture the event. 0 means the event is free": 50.0, "The number of deaths after which the event becomes public": 5 }, "Version": { "Major": 0, "Minor": 1, "Patch": 0 } } Price - The price to claim the event. 0 means looting is free; DeathLimit - Limit of deaths after which the event becomes free. File location: *SERVER*\oxide\data\RealPVE\NewbieConfig.json Default: https://pastebin.com/QHZCqpji An example of an item list given for the main inventory: "List of items for the main inventory": [ { "ShortName": "note", "Slot": 0, "Amount": 1, "SkinID": 0, "Text": "MsgNoteText" } ] P.S. In the Text field, you need to specify the language key. Or, you can just write any text, but there won't be a translation of the text. File location: *SERVER*\oxide\data\RealPVE\RaidableBasesConfig.json Default: https://pastebin.com/rpDng7Fd Integration with the RaidableBases plugin does not restrict its functionality in any way. On the contrary, it adds an anti-grief system that protects bases from malicious players. In raid bases, NPCs and other entities can only receive damage from the raid owner or their friends; Turrets and traps do not aggress against outsiders; You can customize the price of claiming to each difficulty and set individual discounts for each permission. You can still purchase raid bases using the /buyraid command. Raid bases without owners(buyable, maintained, manual and scheduled) can be bought for a price set in the configuration file or assigned to the first player who enters its radius, if the final price(price * discount) less or equals to 0. Additionally, as a bonus, upon buying this plugin, you receive 5 free bases for 3 difficulty levels, along with configured loot for them. [PluginReference] private Plugin RealPVE; There are 6 universal hooks that the plugin is subscribed to, the use of which allows interaction with PVP in various PVE plugins: OnPlayerEnterPVP OnPlayerExitPVP OnEntityEnterPVP OnEntityExitPVP CreatePVPMapMarker DeletePVPMapMarker OnPlayerEnterPVP: Used to add a player to PVP mode/zone. To call the OnPlayerEnterPVP hook, you need to pass 2 parameters: <BasePlayer>player - The player to add to PVP; <string>zoneID - A unique identifier for your PVP zone. This parameter is very important because a player can be in multiple PVP zones at the same time and passing the zoneID in this case allows for correct processing of the player's location within them. Interface.CallHook("OnPlayerEnterPVP", player, "*Your unique zone identifier*");//Calling the OnPlayerEnterPVP hook to tell PVE plugins that the player needs to be added to the specified PVP zone. OnPlayerExitPVP: Used to remove a player from PVP mode/zone. Calling this hook guarantees the player’s removal from the specified PVP zone, but does not guarantee the removal from PVP mode, as there may be other zones in addition to yours. Also, when a player dies, they are automatically removed from all PVP zones. To call the OnPlayerExitPVP hook, you need to pass 3 parameters, 1 of which is optional: <BasePlayer>player - The player to remove from PVP; <string>zoneID - A unique identifier for your PVP zone; <float>pvpDelay - Optional. When the player exits your PVP zone, you can also pass the PVP delay time. However, if the player still has other active PVP zones, your PVP delay will not take effect. Interface.CallHook("OnPlayerExitPVP", player, "*Your unique zone identifier*", 10f);//Calling the OnPlayerExitPVP hook to tell PVE plugins that the player needs to be removed from the specified PVP zone, with the pvpDelay(10 seconds) specified if the player no longer has any active PVP zones. OnEntityEnterPVP: Used to add an entity to PVP mode/zone. In the case of RealPVE, this hook is only necessary to add entities with an owner(player) to a PVP, allowing other players to interact with them, such as a player's corpse after death(PlayerCorpse) or a backpack after the corpse disappears(DroppedItemContainer). To call the OnEntityEnterPVP hook, you need to pass 2 parameters: <BaseEntity>entity - The entity to add to PVP; <string>zoneID - A unique identifier for your PVP zone. Interface.CallHook("OnEntityEnterPVP", entity, "*Your unique zone identifier*");//Calling the OnEntityEnterPVP hook to tell PVE plugins that the entity needs to be added to the specified PVP zone. OnEntityExitPVP: Used to remove an entity from PVP mode/zone. When an entity dies, it is automatically removed from all PVP zones. To call the OnEntityExitPVP hook, you need to pass 3 parameters, 1 of which is optional: <BaseEntity>entity - The entity to remove from PVP; <string>zoneID - A unique identifier for your PVP zone; <float>pvpDelay - Optional. When the entity exits your PVP zone, you can also pass the PVP delay time. However, if the entity still has other active PVP zones, your PVP delay will not take effect. Interface.CallHook("OnEntityExitPVP", entity, "*Your unique zone identifier*", 10f);//Calling the OnEntityExitPVP hook to tell PVE plugins that the entity needs to be removed from the specified PVP zone, with the pvpDelay(10 seconds) specified if the entity no longer has any active PVP zones. CreatePVPMapMarker: Used to create a map marker for the PVP zone. To call the CreatePVPMapMarker hook, you need to pass 5 parameters, 2 of which is optional: <string>zoneID - A unique identifier for your PVP zone; <Vector3>pos - The position of your PVP zone; <float>radius - The radius of the circle for your PVP zone; <string>displayName - Optional. The display name for the map marker; <BaseEntity>entity - Optional. The entity to which the map marker should be attached. Interface.CallHook("CreatePVPMapMarker", "*Your unique zone identifier*", pos, 25f, "ATTENTION! This is a PVP zone!");//Calling the CreatePVPMapMarker hook to tell PVE plugins to create a map marker for the specified zone, at the specified position with the given radius, but without specifying a parent entity. DeletePVPMapMarker: Used to delete a map marker for the PVP zone. To call the DeletePVPMapMarker hook, you need to pass only 1 parameter: <string>zoneID - A unique identifier for your PVP zone. Interface.CallHook("DeletePVPMapMarker", "*Your unique zone identifier*");//Calling the DeletePVPMapMarker hook to tell PVE plugins to delete a map marker for the specified zone. There are 5 hooks that the plugin calls: OnPlayerPVPDelay OnPlayerPVPDelayed OnPlayerPVPDelayRemoved OnZoneStatusText CanRedeemKit OnPlayerPVPDelay: Called when a player exits the last active PVP zone, allowing other plugins to overwrite the value for pvpDelay. Returning a float value allows changing the pvpDelay for the player. A value less than zero disables the pvpDelay. When calling the OnPlayerPVPDelay hook, 3 parameters are passed: <BasePlayer>player - The player to whom the pvpDelay is applied; <float>pvpDelay - The initial value of pvpDelay; <string>zoneID - A unique identifier of PVP zone. object OnPlayerPVPDelay(BasePlayer player, float pvpDelay, string zoneID) { Puts($"Attempting to set a PvP delay of {pvpDelay} seconds for player {player.displayName} in zone {zoneID}!"); if (zoneID == "*Your unique zone identifier*") { return 15f;//Overriding the values for pvpDelay } return null;//Leave unchanged } OnPlayerPVPDelayed: Called after the PVP delay has been set for the player. When calling the OnPlayerPVPDelayed hook, 3 parameters are passed: <BasePlayer>player - The player to whom the pvpDelay is applied; <float>pvpDelay - The value of pvpDelay; <string>zoneID - A unique identifier of PVP zone. void OnPlayerPVPDelayed(BasePlayer player, float pvpDelay, string zoneID) { Puts($"A PvP delay of {pvpDelay} seconds has been set for player {player.displayName} in zone {zoneID}!"); } OnPlayerPVPDelayRemoved: Called when the PVP delay is removed from the player after they enter a PVP zone with an active PVP delay. When calling the OnPlayerPVPDelayRemoved hook, only 1 parameter is passed: <BasePlayer>player - The player from whom the PVP delay has been removed. void OnPlayerPVPDelayRemoved(BasePlayer player) { Puts($"PVP delay has been removed for player {player.displayName} as they entered a PVP zone!"); } OnZoneStatusText: Called when the text with the nice name for the specified zone is needed, to be displayed in the status bar. When calling the OnZoneStatusText hook, 2 parameters are passed: <BasePlayer>player - The player for whom the nice name for the zone is being requested; <string>zoneID - A unique identifier of PVP zone. object OnZoneStatusText(BasePlayer player, string zoneID) { Puts($"Text for the status bar is required for zone {zoneID}"); if (zoneID == "*Your unique zone identifier*") { return lang.GetMessage("*langKey*", this, player.UserIDString);//<string>Overriding the value for the status bar text } return null;//Leave unchanged } CanRedeemKit: Called before giving the starter kit, in the OnDefaultItemsReceive hook. A non-zero value cancels this action. When calling the CanRedeemKit hook, only 1 parameter is passed: <BasePlayer>player - The player to whom the kit is being attempted to be given. object CanRedeemKit(BasePlayer player) { Puts($"Attempting to give the kit to player {player.displayName}!"); if (player.IsAdmin) { return false;//Cancel the action } return null;//Leave unchanged }
    $39.99
  6. Version 2.9.8

    9,049 downloads

    Ever wondered why Rust has so many desks, toilets, boxes and even washing machines but you've never been able to see the hidden secrets inside? Now you can! With Static Lootables you can turn those boring props into loot containers filled with all sorts of goodies. Loot containers that aren't normally supposed to be looted. For best experience, have the UI scale set to 1. Lootables are being refilled based on each individual configuration set. Compatible with Static Lootables: Lootables.Ext $5.26 Prefab creator that directly works with Static Lootables in order to create custom lootable definitions for your servers! This plugin provides more than there already is. See it in action here. or get it as a bundle! -> Editor This plugin now has an integrated editor that allows anyone with the permission to customize the loot that can be found in-game in defined static lootables. Scroll to the bottom of this page to see it in action. Modify lootables using all the tools in-game. Update global settings to your liking on the fly. Dependencies ImageLibrary (Required) QuickSort ZoneManager Permissions StaticLootables.admin: Use the MMB when not holding any item to privately print the name of the object in front of you to chat. StaticLootables.editor: Allows players with the permission to use the /sledit command, which gives them the power to create/update/delete lootables using the editor. Features Highly customizable and intuitive system. ZoneManager inclusion / exclusion (per lootable prefab OR global settings). Parented filtering. Locked container system. Hacking system. Interaction icons (with template), customized text and opening container effects. Individual lootable container refilling rates. Consistent support & open to suggestions. Very user-friendly editor for server owners to modify or customize lootables. Unique System: create lootables that only apply on one or more prefabs. Integrated API for manipulating lootable definitions. Get the default loot-tables They will be updated in the future. Add StaticLootables.json to your oxide/config folder. Updated on 23th of October, 2021 #13 (OLD): StaticLootables.json Updated on 9th of July, 2023 (NEW): StaticLootables.json To create your own custom icons, you can use this template: staticlootables_template.zip Please make sure you maintain the margins as weird artifacts will show up if the icons are touching the edges of the icon, in-game. Lootable Objects Supermarket Cash Register (locked, 500 HP) Toilets Cardboard Boxes Lockers (closed models are locked, 50 HP) File Cabinets (locked, 50 HP) Desks (locked, 250 HP) Kitchen Fridges Electrical Boxes Washing Machine Trash Bag Gas Pumps Toolboxes (locked, 100 HP) Plant Pots Type-writers Kitchen Cooker (Underwater Labs) Pickup Truck (Rusty), Sedan A (Junkyard), Compact Car C (all locked, 75 HP), can be accessed anywhere but Junkyard Barge Coal Metal Crate (B) (locked, 500 HP; hackable, 120s, code resets every 300m) NEW Pallet Stacks (A-through-C) NEW Bin NEW Vodka Bottle Your suggestions are welcome! If there are any ideas in regards to prefabs or possible loot to find in them, use the Discussion tab to let me know about it so I add it for everyone to use. Hacking This is how Hackable containers work and why they're an OP mini-game: Hacking one will give you the PIN which will allow you to use with the container for a couple of hours 'till it becomes obsolete and resets. If one has hacked a container, the next hack will double in the amount of time taken. X3 for the third hack, and so on. The PIN can be shared within the team so they can come back every a couple a minutes and loot the hacked box. Press R when looking at an unlocked hacked container to pull up the PIN dialog. API Be creative! Information Here's to clarify how config properties work and what they mean. General Settings Distance: The maximum distance between the player and container. ItemAmountMultiplier: The multiplier for the amount of the items found in containers. LootableHealthMultiplier: The multiplier of the (maximum) health of locked lootable containers. ShadowOpacity: The white glow behind the text which highlights the text more in the dark. ShowLockedLootableApproximateCount: Shows the amount next to the health bar of containers. (e.g ~2 ITEMS APPX.) DamageMultiplierMinimum: The minimum damage dealt to the locked containers by melee weapons. Maximum does the same but for maximum. DamageCUIRefreshRate: The refresh rate for the CUI when containers are being hit at a high rate (with a jackhammer for example). Recommended 0.5. EnforcedFilters: It disallows all definitions from being lootable if their path contain the parent names in this array. EnforcedInZone: It only allows definitions to be lootable only within the zone(s) defined in this array. EnforcedNotInZone: It only allows definitions to be lootable when they're out of the zone(s) defined in this array. Interaction Settings Icon: The icon of the interaction definition. Text: The text of the interaction definition. OpenEffect: The (usually sound) effect of the interaction definition. Definition Settings PrefabFilter: The prefab name used by the definition to set this definition as lootable. InteractionIndex: The index of the interaction defined in the Interactions array. It starts at 0. ContainerSize: The slot count of the container non-relative to the contents defined in the contents array. AllowStack: Can items in the container stacked. Mainly used if you have 2 or more slots that have the same kind of item. Liquid: Marks the container as liquid. If this is set to true, no matter the contents defined, only liquid objects (water, salt water, blood?) can get in. Lock: Health: The maximum health of a container. Set to null if you wanna disable it. (e.g "Lock": null) Hack: Wait Time: The time in seconds! players have to wait for the initial hacking attempt. Code Resetting Rate: The time in minutes! until the hack resets the PIN and goes down an increment for how many times has been hacked used for the Wait Time multiplier. Rule: Refill Rate: The rate in minutes! until the container gets wiped from the server & memory is being freed for server resource reasons. OnlyIfParentFilter: It allows all definitions to be lootable if their path contain the parent names in this array. OnlyIfNotParentFilter: It disallows all definitions from being lootable if their path contain the parent names in this array. OnlyIfInZone: It only allows definitions to be lootable only within the zone(s) defined in this array. OnlyIfNotInZone: It only allows definitions to be lootable when they're out of the zone(s) defined in this array. Contents: ShortName: The short name of the item definition. CustomName: The in-game name of the item. SkinId: The skin of the ID. UseRandomSkins: Use the RandomSkins array to create more variety on what skinned items are used. SkinId: The skin of the ID. RandomSkins: The skin ID array used in replacement of SkinID when UseRandomSkins is true. MinimumAmount: The minimum range used for the item amount randomisation. MaximumAmount: The maximum range used for the item amount randomisation. ConditionMinimumAmount: The minimum range used for the item condition / durability randomisation. ConditionMaximumAmount: The maximum range used for the item condition / durability randomisation. SpawnChanceTimes: How many times in the SpawnChanceScale will it be likely for the item to be spawned. SpawnChanceScale: The scale of the odds for the item to be spawned. Contents: It's recursive, has the exact same content structure as this property. Installation Download the config which can be found above on this page. Put it in the oxide/config folder. Put StaticLootables.cs file in oxide/plugins. You're good to go! FOR BEST ENTERTAINMENT, USE THE DEFAULT SETTINGS OF THE PLUGIN. Screenshots Videos * The annoying flicker has been fixed in the live version, this was recorded while testing.
    $12.69
  7. Version 1.6.5

    7,868 downloads

    BradleyGuards minigame will make more fun of the boring Bradley. Spawning bombs molotovs and a Tank Crew Features : Minigame with Scientist NPC spawning after Bradley gets destroyed and various events during its attack phase It will throw random Bombs and Molotov when attacked. Hardmode will throw the Bombs and Molotov towards player instead around the Bradley When destroyed the Bradley does a close range Last Ditch Effort if the Driver is still alive and gets a last air support As of version 1.1.1 napalm support will be set to target player instead of Bradley position Give the NPC the choice of using some predefined outfits or use the vanilla Scientist Outfits Predefined weapon or a different weapon through config if using outfits Crew will be Despawned upon plugin unload or reload Compatible with NPCKITS Support for BetterNpcNames (v1.0.2 and higher) Support for Kits Permission system Warnings : backup your configs before plugin updates This is not compatible with BradleyControl Plugin !!!!! (since version 1.0.5) Version 1.4.0 has new options for MLRS and Convoy Bradleys "External Plugins": { "Armored Train : Can trigger Events": false, "Convoy : Can trigger Events": false, "SatDish/Harbor Event : Can trigger Events": false, "BradleyDrops : Can trigger Events": false, "BetterNpcNames : Driver Title": "Pilot", "BetterNpcNames : Guard Title": "Commander", "BetterNpcNames : Gunner Title": "Grunt" }, "Last Ditch Effort MLRS rocket Amount": 15 Permissions : BradleyGuards.ShowMessages (to show interaction messages) BradleyGuards.ShowKillMessages (to show messages after bradley is destroyed) Commands : (new in V1.0.5) /bginfo : Shows the available commands/version/author Logfiles : Log files are found in the oxide.logs folder Will log the Player and info regarding the spawns after destroying the Bradley Configuration : Example config below : { "Global NPC dont target": true, "External Plugins": { "Armored Train : Can trigger Events": false, "Convoy : Can trigger Events": false, "SatDish/Harbor Event : Can trigger Events": false, "BradleyDrops : Can trigger Events": false, "BetterNpcNames : Driver Title": "Pilot", "BetterNpcNames : Guard Title": "Commander", "BetterNpcNames : Gunner Title": "Grunt" }, "Bradley Settings": { "Change Values": true, "Bradley Health": 2222, "Bradley Max Fire Range": 100, "Bradley Throttle Responce": 1.0 }, "Bradley Loot": { "Change Values": true, "Bradley Max crates after kill": 4 }, "Bradley Canon": { "Change Values": true, "Bradley Canon Fire delay": 0.3, "Bradley Canon Firerate": 0.25 }, "Bradley Machinegun": { "Change Values": true, "Bradley Machinegun Bullet Damage": 15, "Bradley Machinegun Firerate": 0.06667 }, "Event Settings": { "Bradley Crew Max Spawn Distance": 10, "Bradley Crew Max Roam Distance": 20, "Bradley Crew Body to Bags": true, "Max throwing range of a Grenade": 25.0, "Max Grenades per trigger": 1, "Max throwing range of a Molotov": 25.0, "Max Molotovs per trigger": 1, "Use Firerockets (instead of Molotovs)": false, "Hard Mode : Throws towards player (Grenades)": true, "Hard Mode : Max Grenades per trigger": 1, "Hard Mode : Max radius of a Grenade on player": 15.0, "Hard Mode : Throws towards player (Molotovs)": true, "Hard Mode : Max Molotovs per trigger": 1, "Hard Mode : Max radius of a Molotov on player": 15.0, "Napalm Support": true, "Napalm Support Area Radius": 25.0, "Napalm Support Rocket Amount": 3, "Napalm Support Rocket Height": 150, "Last Ditch Effort Rocket Amount": 0, "Last Ditch Effort Grenade Amount": 5, "Last Ditch Effort MLRS rocket Radius": 15, "Last Ditch Effort MLRS rocket Amount": 15, "Last Ditch Effort Hard Mode : targets player location": true }, "Tank Crew Driver": { "Tank Driver Health": 450.0, "Tank Driver Lifetime (minutes)": 1.0, "Tank Driver Damage multiplier": 1.0, "Tank Driver Spawn Chance 0-1": 1.0, "Tank Driver Spawn Amount": 5, "Tank Driver Use Outfit": true, "Tank Driver Use other gun with outfit": false, "Tank Driver gun short prefabname": "smg.mp5", "Tank Driver gun skin id": 0, "Tank Driver Use kit (clothing)": false, "Tank Driver Kit ID": "" }, "Tank Crew Guards": { "Tank Guards Health": 800.0, "Tank Guards Lifetime (minutes)": 1.0, "Tank Guards Damage multiplier": 1.0, "Tank Guards Spawn Chance 0-1": 1.0, "Tank Guards Spawn Amount": 3, "Tank Guards Use Outfit": true, "Tank Guards Use other gun with outfit": false, "Tank Guards gun short prefabname": "smg.mp5", "Tank Guards gun skin id": 0, "Tank Guards Use kit (clothing)": false, "Tank Guards Kit ID": "" }, "Tank Crew Gunners": { "Tank Gunners Health": 600.0, "Tank Gunners Lifetime (minutes)": 1.0, "Tank Gunners Damage multiplier": 1.0, "Tank Gunners Spawn Chance 0-1": 1.0, "Tank Gunners Spawn Amount": 3, "Tank Gunners Use Outfit": true, "Tank Gunners Use other gun with outfit": false, "Tank Gunners gun short prefabname": "smg.mp5", "Tank Gunners gun skin id": 0, "Tank Gunners Use kit (clothing)": false, "Tank Gunners Kit ID": "" } } Localization : English language file included to use a diffrent language just make a new file in the language folder. { "BradleyDriver": "<color=yellow>Bradley Driver : </color>Damnit i just washed it!", "BradleyGuards": "<color=yellow>Bradley Guard : </color>Stay away from our Bradley!", "BradleyGunner": "<color=yellow>Bradley Gunner : </color>Prepare to die!", "BradleyDriverBomb": "<color=yellow>Bradley Driver : </color>Catch this!", "BradleyGunnerFire": "<color=yellow>Bradley Gunner : </color>Fire in the hooole!", "BradleyNapalmSupport": "<color=yellow>Bradley Operator : </color>Support incomming!" } API : bool IsBradleyNpc(global::HumanNPC npc) OnBradleyNPCGotHit(global::HumanNPC npc, HitInfo info) OnBradleyNPCDeath(global::HumanNPC npc, HitInfo info) example call : object OnEntityDeath(global::HumanNPC npc, HitInfo info) { if (npc == null) return null; if (BradleyGuards.Call<bool>("IsBradleyNpc", npc)) { Puts($"Target : {npc} net.ID : [{npc.net.ID}] Event : BradleyGuards NPC"); } return null; } private void OnBradleyNPCGotHit(global::HumanNPC npc, HitInfo info) { Debugmsg("OnBradleyNPCGotHit works!"); BasePlayer player = info.InitiatorPlayer; if (npc.health < (npc._maxHealth * 0.8) && npc.health > (npc._maxHealth * 0.72)) { if (!Burned) Player.Message(player , npcmsg(MSG) , Chaticon); return; } } private void OnBradleyNPCDeath(global::HumanNPC npc, HitInfo info) { Debugmsg("OnBradleyNPCDeath works!"); BasePlayer player = info.InitiatorPlayer; Debugmsg($"{player.displayName} killed {npc.displayName}"); } Changes made in 1.0.5 !!! Updated/Cleaned/Organized the Documentation. Added lifetime for each individual Crew Added use of kits + checks (if incorrect kit name Crew will spawn with default scientist or heavy scientist outfit). Changed the Npc Naming so they can be shown correctly with AdminRadar Added prefix and chaticon to chat messages (language file changed so delete it before updating to avoid weird chat messages). Added max roam range for the Bradley Crew Bradley Crew will now despawn when plugin gets unloaded/reloaded Removed the death sound when a npc dies. Fixed : Bradley will now ignore scientists from junkpiles added cfg : Tank Crew Lifetime (minutes) added cfg : Damage multiplier for each driver/guards/gunners added cfg : Napalm Support Rocket Height added cfg : Use kit (clothing) (for each driver/guards/gunners) added cfg : Kit ID (for each driver/guards/gunners) added cfg : Bradley Crew max roam range
    Free
  8. Version 1.3.2

    380 downloads

    This plugin adds a taxi to the server. About There can be only 4 taxis in total. Their parking is located on the territory of Peaceful or Bandit city. You can take a taxi there and fly home or to another place you need, as well as using the command /taxi to call one of them Settings Changing the name/clothing of the driver's NPC. Change Peaceful or Bandit city or Custom spawns Change in flight speed. The number of taxis on the map (from 1 to 4) The privilege to use a taxi Privileges for discounts Detailed setup of payment for services (Item - regular items, CustomItem - custom item, plugins: Economics, IQEconomic and ServerRewards) Interface configuration Localization Commands / taxi - allows you to call a helicopter to yourself [FOR ADMIN with custom spawn points] /cpos info - show spawns /cpos add - add spawn /cpos clear - clear all spawns /cpos spawn - respawn all copters Permissions You can set permission in config "Privilege to use a taxi": "coptertaxi.use" "Privileges for discounts": { "coptertaxi.discount10": 10, "coptertaxi.discount20": 20, "coptertaxi.discount30": 30 } Video https://youtu.be/CKg-2JOFcK Config { "Taxi Settings": { "Name for the taxi driver": "Vitalya", "Taxi driver's clothes": { "hat.cap": 2275597860, "tshirt": 2442749397, "pants": 2346785436, "shoes.boots": 1427198029 }, "How much to create a taxi (from 1 to 4)": 4, "Taxi flight altitude (from 80 to 150) (change with caution!)": 80.0, "Taxi flight speed (change with caution!)": 2.0, "Taxi flight acceleration speed (change with caution!)": 0.2, "Taxi flight deceleration speed (change with caution!)": 0.5, "How long does the taxi driver wait for the player to assign a route (in seconds)": 300, "How often a player can call a taxi (in seconds)": 600, "Privilege to use a taxi": "coptertaxi.use", "Privileges for discounts": { "coptertaxi.discount10": 10, "coptertaxi.discount20": 20, "coptertaxi.discount30": 30 }, "Avatar for notification in the chat (SteamID)": 76561198976168730 }, "Taxi fare settings": { "Payment type for taxi Item, CustomItem, Economics, IQEconomic, ServerRewards": "Item", "The cost of 1km": 100, "Item ShortName (for Item, CustomItem)": "scrap", "Item SkinID (for CustomItem)": 0, "Link to the image of the item/currency (except Item)": "https://i.imgur.com/jBaVKHu.png" }, "Configuring the UI": { "Background color": "0 0 0 0.3", "Outline color": "1.00 0.64 0.28 1.00", "Link to the logo": "https://i.imgur.com/tgSooQl.png", "Color of the 'Call' button": "1.00 0.75 0.50 0.5", "Color of the 'Pay' button": "0.09 0.39 0.14 0.85", "The color of the 'Refuse' button": "0.39 0.09 0.14 0.85" }, "Config version": { "Major": 1, "Minor": 1, "Patch": 2 } } There may be problems on custom maps
    $20.00
  9. Qbis

    My Animal Farm

    Version 1.3.0

    246 downloads

    This plugin adds animal farms on the server. Create a farm A player who has the required privilege can create a farm by going into the animal feeder and clicking on the type of animal available to him. After that, you need to put a box next to it, into which all resources will come. Animal capture Catching animals is done with bait traps that can be crafted in the menu of the created farm or you can sell these traps in the in-game or donate store using the command. Plugin settings Max farms per player Changing animal pictures in the interface Localization for RU and EN languages Detailed farm settings and the ability to create new ones Trap Skin Change Changing the name of a trap Trap model changes Trap range Customization of which animals can be caught with a trap Changing the skin of an animal item after being caught Enable / disable crafting in the interface Changing the trap picture in the interface List of necessary items for crafting Detailed farm settings and the ability to create new ones Farm creation privilege for each species The name of the animal that will bring the resources (should be ShortPrefabName) The interval for obtaining resources from the farm How much to take away HP from an animal Maximum number of animals Farm range The amount of food needed per 1 tick (0 - off) What food do you need for a farm (ShortName) Detailed settings for rewards that are placed in a connected box to the farm Video Player Permissions (Standard, change in config) myanimalfarm.bear myanimalfarm.boar myanimalfarm.stag myanimalfarm.wolf Administrator Permissions myanimalfarm.give.animal - allows you to give animals by skin myanimalfarm.give.trap - allows you to give traps by skin Commands for administrator and shops ganimal "name|steamid" "SkinId" - gives an animal by skin gtrap "name|steamid" "SkinId" - gives a trap by skin Note For traps to work correctly, AI must be enabled on the server Config { "General settings": { "Maximum farms per player": 4, "Link to pictures of animals": { "bear": "https://i.imgur.com/rwNKrbQ.png", "wolf": "https://i.imgur.com/AHpf3pf.png", "stag": "https://i.imgur.com/WmIKIFG.png", "boar": "https://i.imgur.com/GehMURO.png" } }, "Trap settings": [ { "Trap's skinID": 2700797172, "Trap's name": "Boar/Deer Trap", "Bait's ShortName": "pumpkin", "Trap's radius": 30.0, "Who can be caught": [ { "SkinID of item after capture": 2683341177, "Animal name (ShortPrefabName)": "boar", "Animal prefab": "assets/rust.ai/agents/boar/boar.prefab" }, { "SkinID of item after capture": 2700820020, "Animal name (ShortPrefabName)": "stag", "Animal prefab": "assets/rust.ai/agents/stag/stag.prefab" } ], "Can be crafted": true, "Link to picture": "https://i.imgur.com/IL0QYe0.png", "List of necessary items for crafting": [ { "Item Shortname": "pumpkin", "Item Amount": 1 }, { "Item Shortname": "trap.bear", "Item Amount": 1 } ] }, { "Trap's skinID": 2700876388, "Trap's name": "Wolf/Bear Trap", "Bait's ShortName": "meat.boar", "Trap's radius": 30.0, "Who can be caught": [ { "SkinID of item after capture": 2700880093, "Animal name (ShortPrefabName)": "bear", "Animal prefab": "assets/rust.ai/agents/bear/bear.prefab" }, { "SkinID of item after capture": 2700884049, "Animal name (ShortPrefabName)": "wolf", "Animal prefab": "assets/rust.ai/agents/wolf/wolf.prefab" } ], "Can be crafted": true, "Link to picture": "https://i.imgur.com/sZyLCgP.png", "List of necessary items for crafting": [ { "Item Shortname": "meat.boar", "Item Amount": 1 }, { "Item Shortname": "trap.bear", "Item Amount": 1 } ] } ], "Farm settings": [ { "Permission to be able to create a farm": "myanimalfarm.bear", "Animal name": "bear", "Interval between receiving items": 300, "How much to take away HP from animals for 1 tick of rewards (0 - off)": 25, "Maximum farm animals": 2, "Farm radius": 10, "The amount of food eaten per 1 animal per 1 tick (0 - off)": 1, "Food ShortName": "meat.boar", "Rewards": [ { "Item ShortName": "stones", "Item amount": 100, "Item skinID": 0, "Item name (if custom)": "", "Drop chances (1 - 100)": 100 }, { "Item ShortName": "rifle.ak", "Item amount": 1, "Item skinID": 0, "Item name (if custom)": "", "Drop chances (1 - 100)": 1 }, { "Item ShortName": "glue", "Item amount": 10, "Item skinID": 2409891781, "Item name (if custom)": "$", "Drop chances (1 - 100)": 25 } ] }, { "Permission to be able to create a farm": "myanimalfarm.boar", "Animal name": "boar", "Interval between receiving items": 300, "How much to take away HP from animals for 1 tick of rewards (0 - off)": 10, "Maximum farm animals": 4, "Farm radius": 10, "The amount of food eaten per 1 animal per 1 tick (0 - off)": 1, "Food ShortName": "pumpkin", "Rewards": [ { "Item ShortName": "stones", "Item amount": 100, "Item skinID": 0, "Item name (if custom)": "", "Drop chances (1 - 100)": 100 }, { "Item ShortName": "rifle.ak", "Item amount": 1, "Item skinID": 0, "Item name (if custom)": "", "Drop chances (1 - 100)": 1 }, { "Item ShortName": "glue", "Item amount": 10, "Item skinID": 2409891781, "Item name (if custom)": "$", "Drop chances (1 - 100)": 25 } ] }, { "Permission to be able to create a farm": "myanimalfarm.stag", "Animal name": "stag", "Interval between receiving items": 300, "How much to take away HP from animals for 1 tick of rewards (0 - off)": 10, "Maximum farm animals": 6, "Farm radius": 10, "The amount of food eaten per 1 animal per 1 tick (0 - off)": 1, "Food ShortName": "pumpkin", "Rewards": [ { "Item ShortName": "stones", "Item amount": 100, "Item skinID": 0, "Item name (if custom)": "", "Drop chances (1 - 100)": 100 }, { "Item ShortName": "rifle.ak", "Item amount": 1, "Item skinID": 0, "Item name (if custom)": "", "Drop chances (1 - 100)": 1 }, { "Item ShortName": "glue", "Item amount": 10, "Item skinID": 2409891781, "Item name (if custom)": "$", "Drop chances (1 - 100)": 25 } ] }, { "Permission to be able to create a farm": "myanimalfarm.wolf", "Animal name": "wolf", "Interval between receiving items": 300, "How much to take away HP from animals for 1 tick of rewards (0 - off)": 10, "Maximum farm animals": 3, "Farm radius": 10, "The amount of food eaten per 1 animal per 1 tick (0 - off)": 1, "Food ShortName": "meat.boar", "Rewards": [ { "Item ShortName": "stones", "Item amount": 100, "Item skinID": 0, "Item name (if custom)": "", "Drop chances (1 - 100)": 100 }, { "Item ShortName": "rifle.ak", "Item amount": 1, "Item skinID": 0, "Item name (if custom)": "", "Drop chances (1 - 100)": 1 }, { "Item ShortName": "glue", "Item amount": 10, "Item skinID": 2409891781, "Item name (if custom)": "$", "Drop chances (1 - 100)": 25 } ] } ], "Config version": { "Major": 1, "Minor": 0, "Patch": 0 } }
    $20.00
  10. Khan

    NoEscape

    Version 1.1.2

    244 downloads

    NoEscape stands out as a robust solution to control rust players raiding & combat actions. As an innovative plugin for Rust, offering a range of unique features along with a visually appealing overlay. It provides 10 different colors for customization and a visible dome adjuster, enhancing user interaction. This plugin is designed to deliver optimal performance while maintaining backward compatibility with the free NoEscape from umod ensuring a smooth transition. Features Twig Building Ignorance: The plugin intelligently ignores twig buildings, preventing griefers from exploiting the raid/combat block system during simple base construction. Door Shooting Logic: Shooting a door outside the predefined radius won't trigger a raid block, even if the door is destroyed. Reliability and Compatibility Reload Behavior: Reloading NoEscape clears all existing raid/combat blocks. Team and Clan Support: Compatible with Teams & Clans, especially beneficial when used with the Auto Team plugin(umod clans). Removal Tools Support: Fully compatible with remove tools within the game or plugins. Command Blocking: Offers optional command blocking. Commands can be specified to block only for raids ("shop": 1) or combat ("shop": 2), or both ("shop": 3). Health/Regen Logic for Raids: Optional feature to manage health and regeneration of building blocks during raids / base building. Sound Effects: Option to include sound effects for enhanced user experience. UI System: Implements a user interface specifically for raid & combat scenarios that includes complete customization support. Hud Preset Positions: ( 0 Left Top | 1 Left Bottom | 2 Right Top | 3 Right Bottom | 4 Custom ) Combat-Blocking Logic: Combat-blocking is only active when not in a raid-blocked state. This not only saves on performance but also improves the gameplay experience. Raid-Block Self-Ignorance: Prevents raid-blocking on one's own buildings. MLRS Support: Yes, but only the vanilla ones launched by the vehicle on the map are supported, 3rd party plugins are not. Fire Damage Logic: If a wooden (but not twig) base takes fire damage, it triggers a raid. Damage Source Ignorance: Ignores non-player damage and buildings set to owner ID 0 by third-party plugins. Visual Enhancements: Color Support for Spheres: Adds color customization options for the visible spheres. Visualization Level Setter: Allows users to set the level of visualization for easier navigation and interaction. In conclusion, NoEscape provides a comprehensive and robust solution for Rust players, offering a blend of unique features, compatibility, and visual enhancements to elevate the gaming experience. Permissions noescape.admin Allows you to use the console / F1 command "newcolor" for changing the Raid overlay settings in game. Also allows you to use the console / F1 command "noescape" for allowing to raid your self or trigger combat block on npcs. Command newcolor <1-10> <0-8> -- first number is the color setting, second number is the sphere darkness level. noescape or noescape steamID Need to trigger raids on your self or combat block for NPCs? For testing! Use the new noescape command! Example: F1 menu Type "noescape" in game to toggle for your self. Example: F1 menu or server-console Type "noescape steamID" to toggle for someone else. Requires the noescape.admin perm to use in game. Configuration { "Specify commands to block ( 3 = Block Both | 1 = Block Raid | 2 = Block Combat )": { "shop": 3, "tp": 3 }, "User Interface": { "Switch to sprite instead of Icon?": false, "Sprite string Default: assets/icons/explosion.png": "assets/icons/explosion.png", "Sprite Color Default: 0.95 0 0.02 0.67": "0.95 0 0.02 0.67", "Enable Raid UI": true, "Raid Icon (Item ID Default: 1248356124) 0 = None": 1248356124, "Raid Skin ID (Skin ID Default: 0) 0 = None": 0, "Enable Combat UI": true, "Combat Icon (Item ID Default: 1545779598) 0 = None": 1545779598, "Combat Skin ID (Skin ID Default: 0) 0 = None": 0, "Hud Preset Positions: ( 0 Left Top | 1 Left Bottom | 2 Right Top | 3 Right Bottom | 4 Custom )": 0, "Hud Transparency Default: #, 0.1f": { "Hex": "#", "Rgb": "0 0 0 0.1" }, "Text Color Default: #09ff00": { "Hex": "#46ff36", "Rgb": "0.0352941176470588 1 0 1" }, "Text Font Size Default: 13": 13, "Hex or RGB toggle (Default is Hex)": false, "Custom UI POS: Key is anchorMin | Value is anchorMax": { "Hud": { "Key": "0.345 0.11", "Value": "0.465 0.14" }, "Icon": { "Key": "0 0", "Value": "0.13 1" }, "Text": { "Key": "0.15 0", "Value": "1 1" } } }, "Combat Block": { "Enable Combat Block?": true, "Block Time (Min)": 1, "Exclude Steam 64IDs": [] }, "Raid Block": { "Enable Raid Block?": true, "Raid Block player until death instead of distance checks or zones. + 'Optional' timer setting in seconds Default: 0.0 = disabled.": { "Die": false, "Time": 0.0 }, "Block Time (Sec)": 300.0, "Block Radius": 100.0, "Damaged Health Percentage on an entity to trigger a raid (0 = disabled)": 0, "Sphere Visibility (Recommend 3 or 5, 0 = disabled)": 3, "Sphere Color (0 = none, 1 = Blue, 2 = Cyan, 3 = Green, 4 = Pink, 5 = Purple, 6 = Red, 7 = White, 8 = Yellow, 9 = Turquoise, 10 = Brown)": 4, "Enable Random Sphere Colors? (Randomly selects a new color each time a raid block is triggered)": false, "Allow Upgrade or Block?": true, "Override facepunches default repair wait time after being attacked? Default: 30sec": 30, "Enable Base Building Block Features": true }, "Building (None = Doors, VendingMachine, ShopFront)": { "None": { "Raid Blocked Building Spawned Health Percentage": 35, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 20.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "Twigs": { "Raid Blocked Building Spawned Health Percentage": 10, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 1.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "Wood": { "Raid Blocked Building Spawned Health Percentage": 20, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 20.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "Stone": { "Raid Blocked Building Spawned Health Percentage": 30, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 25.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "Metal": { "Raid Blocked Building Spawned Health Percentage": 40, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 30.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "TopTier": { "Raid Blocked Building Spawned Health Percentage": 50, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 40.0, "After Being Attacked Regen Time (Sec)": 30.0 } }, "Upgrading only works for BuildingBlocks": { "Twigs": { "Raid Blocked Upgrading Spawned Health Percentage": 10, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 1.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "Wood": { "Raid Blocked Upgrading Spawned Health Percentage": 20, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 20.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "Stone": { "Raid Blocked Upgrading Spawned Health Percentage": 30, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 25.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "Metal": { "Raid Blocked Upgrading Spawned Health Percentage": 40, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 30.0, "After Being Attacked Regen Time (Sec)": 30.0 }, "TopTier": { "Raid Blocked Upgrading Spawned Health Percentage": 50, "Health Regen Rate (Sets how fast it gens the health every x(Sec)": 1.0, "Regen Amount (0 = Disabled Sets how much to regen every x(Sec)": 40.0, "After Being Attacked Regen Time (Sec)": 30.0 } }, "Sound Effects": { "RaidStart": "assets/bundled/prefabs/fx/takedamage_hit.prefab", "CombatSart": "assets/bundled/prefabs/fx/kill_notify.prefab", "RaidEnd": "assets/prefabs/building/door.hinged/effects/vault-metal-close-end.prefab", "CombatEnd": "assets/prefabs/building/door.hinged/effects/vault-metal-close-end.prefab", "Denied": "assets/prefabs/weapons/toolgun/effects/repairerror.prefab" }, "Message Responses": { "ChatIcon": 0, "RaidBlocked": "You are now <color=#00FF00>raid blocked</color>! For <color=#00FF00>{0}</color>!", "UnRaidBlocked": "You are <color=#00FF00>no longer</color> raid blocked.", "CombatBlocked": "You are <color=#00FF00>combat blocked</color> For <color=#00FF00>{0}</color>.", "UnCombatBlocked": "You are <color=#00FF00>no longer</color> combat blocked.", "CommandBlocked": "Access Denied: Cannot use <color=#FFA500>'{0}'</color> command during <color=#FFA500>{1}</color>: <color=#FFA500>{2}</color>", "ActionBlocked": "Denied: Cannot <color=#FFA500>{0}</color> while <color=#FFA500>raid blocked</color>", "RepairBlocked": "Unable to repair: Recently damaged. Repairable in: " } } API Hooks Useful to force quit 3rd party plugin actions when players trigger Combat/Raid Blocks. private void OnCombatBlock(BasePlayer player) private void OnRaidBlock(BasePlayer player) Useful for checking commands, etc, before allowing a player to do something private bool IsCombatBlocked(BasePlayer player) | IsCombatBlocked(string player) | IsCombatBlocked(ulong player) private bool IsRaidBlocked(BasePlayer player) | IsRaidBlocked(string player) | IsRaidBlocked(ulong player) private bool IsEscapeBlocked(BasePlayer player) | IsEscapeBlocked(string player) | IsEscapeBlocked(ulong player)
    $24.99
  11. bsdinis

    Entity Limit

    Version 0.0.6

    254 downloads

    Limits, by prefab shortname, the amount of entities that players are allowed to deploy or build. Limits building blocks and deployables. The config file contains 2 lists named limitedPrefabs and VIPlimitedPrefabs where the limits are saved. The purpose of the excludedSkinIDs list is to prevent limiting items with custom skinIDs, such as catapults, sentries, recyclers, etc. Limits can be added, removed or listed with the console command 'entitylimit', command usage examples: entitylimit add default foundation.triangle 50 - Adds the shortname 'foundation.triangle' to the 'default' list with a limit of 50. entitylimit add default chair.deployed 3 - Adds the shortname 'chair.deployed' to the 'default' list with a limit of 3. entitylimit add vip chair.deployed 30 - Adds the shortname 'chair.deployed' to the 'VIP' list with a limit of 30. entitylimit remove vip chair.deployed - Removes the shortname ´chair.deployed´ from the 'VIP' list. entitylimit limits - Lists every limited prefab from default and VIP lists and the excluded skinIDs. entitylimit playerentities <steamID> - Lists every player's amount of entities, or optionally list only one steamID. entitylimit addskin 12345 - Adds the item skinID 12345 to the excluded skinIDs list. entitylimit removeskin 12345 - Removes the item skinID 12345 from the excluded skinIDs list. Permissions: entitylimit.bypass - Allows player to bypass any entity limits set by this plugin. entitylimit.console - Allows player to use the console command, not needed for players with ownerid. entitylimit.vip - Allows player to build and deploy using the limits from the VIP list. Notes: Setting a prefab's limit to 0 blocks its placement. If a prefab's VIP limit is accidentally set lower than its default limit, the default limit will be applied for both default and VIP players. If a prefab shortname does not exist in the default list, that prefab will not be limited for VIP players even if it exists in the VIP list.
    $4.00
  12. Version 1.2.4

    1,133 downloads

    Let your players shop from the safety of their own bases. Give them the ability to place & pickup their own drone Marketplaces, plus they look cool! With all the necessary configurable options, players will love this on any type of server, PvP or PvE. To add Marketplaces to server shops, I recommend adding the item rather than the command. You can do this with the following: Shortname: box.wooden.large SkinID: 2859284352 Features. Support for Friends, Clans, Teams Works with rewards shops like Server Rewards, Economics etc. Force on foundation (optional) Pickup by hitting a terminal with a hammer or chat command Allow multiple marketplaces (optional) Allow players to craft (optional) Configurable crafting cost More control with optional permissions Drop item if building underneath destroyed (optional) Lose condition on pickup (optional) Checks for space before placing (prevents clipping through structures) Config option to add vending machines to Marketplaces Option to block damage to attached vending machines Important Note: Rotate attached vending machines by hitting with a hammer. In-Game Commands (Remove / Prefix in F1 Console). /marketplace.give (give to self) /marketplace.give <PlayerName> or <SteamID> (give to player) /marketplace.craft /marketplace.pickup (Or hit a terminal with hammer) /marketplace.clear (Clear ALL stored marketplace data) /marketplace.clear <SteamID> (Remove marketplace data for player) Console/RCON Command. marketplace.give <PlayerName> or <SteamID> (give to player) marketplace.clear (Clear ALL stored marketplace data) marketplace.clear <SteamID> (Remove marketplace data for player) (Use console command in reward shops or give custom skinned item) Permissions (Optional). personalmarketplace.admin (Required for give & clear commands) personalmarketplace.deploy personalmarketplace.pickup personalmarketplace.craft API: Plugin devs can prevent conflict with this plugin by utilizing the following: Interface.CallHook("MarketplaceCheck", skinID) (where skinID = the skinID of the entity you are checking e.g. entity.skinID) Returns true if the given entity's skinID matches an item used by this plugin (deployable wooden box item, or Marketplace entity) or null if it is not. Plugin devs can use this to prevent conflict with their plugins if dealing with large wooden boxes or other items which maybe be Marketplace related, now or in the future. How to Place. As there is no deployable marketplace item in Rust, the plugin uses the large wooden box planner to help guide and align the Marketplace where you want to place it. Keep in mind the marketplace is a very large item, so it is only a guide to help align it. Make sure to place it far away from where you stand and from buildings, if there is not enough room you will not be able to place and you will get a chat message to tell you this. If you don’t get the position right first time, no worries, just pick it up and try again until happy with the placement. Use caution if marketplace condition is enabled, picking up the marketplace too many times will cause it to break and it is NOT repairable! Marketplaces are better placed in the middle of a 3x4 or larger foundation for best placement (see below image), but can be placed on open terrain or floors if allowed as such in the config: Inventory item: Custom Icon (to use in reward shops etc): https://rustynuts.gg/pmicon.png
    $12.99
  13. Version 4.6.5

    13,592 downloads

    MyRustServer is a Rust Server Tool that allows you to create and manage your own Rust Server in just a few clicks. The tool brings many possibilities and options that simplify your life as a server admin. No unnecessary creation of batch files, easy installation of the server and extensions, easy updating of your plugins, wipe your server with one click and manage your players. Join the discord for better and faster support Big thanks to everyone who supports the project and helped me It is a standalone program, with which you can host your own server, connecting to other server host service providers is not possible. You can run MyRustServer on up to 4 different systems. You can create as many servers on one system as your hardware allows. The dashboard shows you all relevant information about your server. Here you control your server. Auto Restart Server Auto Update Server Auto Update Oxide Only Updates on Startup Force Restart Set Game Mode (Vanilla, Softcore, Survival and Hardcore) Set CPU Affinity Set Process Priority Stop Server Restart Server Kill Server With the installer you can easily install and update your server. No batch files are used. Install or Update Server (Master, BETA, AUX01 and AUX02) Verify Server Files Install Discord Extension Install RustEdit Under Settings you give your server your personal touch. Here you can set everything for your server. Name Logo URL Web URL App Logo URL Description Tags Max Players Add Users (Admins, Mods) RCON Password Add Ports to Windows Firewall Server Port Server IP RCON Port RCON IP Query Port App Port Add Custom Maps Server Map (Procedural, Custom, Barren, Hapis, Craggy, Savas) Map Size Map Seed - Advanced Settings Add Start Configs (convars) Backups (MRS Folder, Oxide Folder, Server Folder) Start Rust Server on MyRustServer Startup Repair MyRustServer In Plugins you can easily manage your plugins. No annoying manual reload after editing. - Editor Edit (Auto Reload Plugin on Save, create a backup) Reload Update View Website Enable/Disable Delete - Update Check Plugins for Update (Supported sites for checking are: umod, codefling, chaoscode, lone.design, rustplugins and myvector) Update Plguins (Only plguins from uMod can be installed automatically after checking) Paid Plugins (here you set your purchased plugins) Blacklist Plugins Update All Plugins Auto Update Plugins - Plugin Installer Install Plugins from uMod Auto Wipe Shedule Custom Map Custom Seed Custom Folder/File Full Wipe Blueprints Map Oxide Data Backpacks Logs Player Deaths Player Identities Player Stats Player Tokens New Map Seed on Wipe Install or Update Oxide and Carbon Uninstall Oxide or Carbon Show Server in Modded or Community Choose your build (Production, Staging or Development) Permissions Manager View Server Console Send Commands to your Server Add Quick Commands Open Steam profile Copy SteamID Copy Name Check IP Kick Player Ban Player Teleport to Me to Player Teleport Player to Me Set/Remove Admin/Mod Send Server Messages (Restart, Updates and Wipe) Send Custom Messages Send Custom Commands Sets for each Message a Time Connect your server to your Discord to use as remote control or status information. Start Bot on MyRustServer Startup Send Server Status (Online, Offline, Restart) Send new Updates (Server, Client and Oxide) Send Wipe Notification - Send Commands Start Server Stop Server Restart Server Kill Server Update Server Update Oxide Update Carbon !No Support for OneDrive Drives! !No Support for Cracked Servers! Windows Only
    $34.99
  14. Version 1.2.3

    699 downloads

    Features, can display the physical backpack 3D model, Capacity of the backpack can be 9999+ It allows the player to display the 3D model backpack behind 3D Model can be BackPack or Small stash,and can set the size of the model The capacity of the backpack can be 9999+ or more ! Different 3D backpack models and sizes can be specified for different players ------------------------------------------------------------------------------------------------------------------------- Purchase Notes : (It is not recommended to enable 3D backpack model display on PVP servers,because he's not perfect) If you have usage requirements for the 3D backpack model, it is not recommended to buy it ! If using a small stash as a 3D backpack model, then it will cause sinking while swimming, as well as a collision force when the admin uses the F3 key to switch views, like being pressed by something The 3D backpack model is solid, if you use the building duplication plugin then it will be duplicated too The 3D backpack model is solid, so it blocks bullets The default 3D backpack model will block the line of sight when the player looks down at his toes,also blocks bullets Fortunately player can control the 3D backpack model to show or hide by entering the default chat command /bbset ------------------------------------------------------------------------------------------------------------------------- Default Chat command : /b - Open view backpack ( permission required : backpackpro.size{number} ) /bbset - For players with 3D backpack models to quickly disable or enable 3D template model display Admin Chat command: /b nameOrSteamIDOrIp - View the target player's backpack ( permission required : backpackpro.admin ) Console command: backpackpro.open (for player binding keys to quickly open backpack) Example : bind C backpackpro.open (Type in the F1 console) This will open the backpack when the player presses the C key Clicking on the backpack UI picture can also express to open the backpack backpackpro.capacity {Target Player ID/Name} {number} - Used to increase the player's backpack capacity If you use the GUIShop or ServerRewards plugin, you can add command items in it For example if using GUIShop : backpackpro.capacity $player.id 5 This will increase the capacity of the player's backpack by 5 when buying this item Default backpack capacity permission : backpackpro.size1 backpackpro.size6 backpackpro.size12 backpackpro.size24 backpackpro.size42 backpackpro.size84 backpackpro.size168 backpackpro.size336 backpackpro.size672 backpackpro.size999 Other permissions : backpackpro.admin - (for viewing other players backpack items) backpackpro.nodrop - ( If Death dropped backpack items = true, Players with this permission will not drop items) Backpack type and model size permission : Give players different types of 3D backpack models : permission required backpack capacity permission backpackpro.smallstash.mini backpackpro.smallstash.small backpackpro.smallstash.medium backpackpro.smallstash.large backpackpro.smallstash.mgiant backpackpro.backpack.mini backpackpro.backpack.small backpackpro.backpack.medium backpackpro.backpack.large backpackpro.backpack.mgiant Config : { "Backpack Icon": { "Enable Icon": true, "Image URL": "" }, "Backpack size and permissions": [ "backpackpro.size1", "backpackpro.size6", "backpackpro.size12", "backpackpro.size24", "backpackpro.size42", "backpackpro.size84", "backpackpro.size168", "backpackpro.size336", "backpackpro.size672", "backpackpro.size999" ], "Blacklist settings": { "Blacklist (Item DisplayName)": [ "M249", "Rocket Launcher", "L96 Rifle" ], "Enable Blacklist": false }, "Custom command": { "Chat command Open BackPack": "b", "Chat command switch 3D model": "bbset", "Console command Open BackPack": "backpackpro.open" }, "Death drop backpack retention seconds": 300, "Death dropped backpack items": false, "Default 3D Model Settings": { "Default 3D model (false = Small stash , true = Backpack)": true, "Default 3D Model size (giant,large,medium,small,mini)": "medium", "Enable default model Display": true } }
    $15.00
  15. Version 0.1.2

    285 downloads

    Useful plugin for managing temporary permissions, temporary groups and temporary permissions for groups. This is done through chat commands, built-in Oxide commands, and API methods. This is an alternative to the well-known TimedPermissions plugin, which was abandoned about three years ago, and it offers more advanced features. Note: The dates is in UTC format. The ability to grant players temporary permissions by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to add players to temporary groups by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to grant groups temporary permissions by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to revoke temporary permissions from players and groups prematurely; The ability to remove players from groups prematurely; The ability to perform all the above actions using existing and familiar console commands(e.g., o.grant), simply by adding the number of seconds, the expiration date or the word "wipe" at the end; The ability to perform all the above actions using a chat command (by default /tperm); The ability to perform all the above actions using API methods; The ability to remove all temporary permissions and groups upon wipe detection. temporarypermissions.admin - Grants access to the chat command(by default /tperm). { "Chat command": "tperm", "Interval in seconds for expiration check": 1.0, "Interval in seconds for checking the presence of temporary permissions and temporary groups. There are cases where removal cannot be tracked in the usual way. A value of 0 disables the check": 600.0, "Is it worth restoring removed temporary permissions and temporary groups if the timer hasn't expired?": true, "Is it worth removing temporary permissions and temporary groups when unloading the plugin?": true, "Is it worth using console logging?": true, "Is it worth clearing all temporary permissions upon detecting a wipe?": false, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 2 } } EN: { "MsgPermissionNotFound": "Permission not found!", "MsgPlayerNotFound": "Player not found!", "MsgGroupNotFound": "Group not found!", "MsgGrantWrongFormat": "Invalid command format! Example: /tperm grant user/group *NameOrId* realpve.vip *secondsOrDateTime*", "MsgRevokeWrongFormat": "Invalid command format! Example: /tperm revoke user/group *NameOrId* realpve.vip", "MsgUserGroupWrongFormat": "Invalid command format! Example: /tperm group add/remove *NameOrId* *groupName*", "MsgUserGranted": "Permission {0} granted to player {1}", "MsgGroupGranted": "Permission {0} granted to group {1}", "MsgUserGroupAdded": "Player {0} has been added to group {1}", "MsgUserRevoked": "Permission {0} has been removed for player {1}", "MsgGroupRevoked": "Permission {0} has been removed for group {1}", "MsgUserGroupRemoved": "Player {0} has been removed from group {1}" } RU: { "MsgPermissionNotFound": "Пермишен не найден!", "MsgPlayerNotFound": "Игрок не найден!", "MsgGroupNotFound": "Группа не найдена!", "MsgGrantWrongFormat": "Не верный формат команды! Пример: /tperm grant user/group *NameOrId* realpve.vip *secondsOrDateTime*", "MsgRevokeWrongFormat": "Не верный формат команды! Пример: /tperm revoke user/group *NameOrId* realpve.vip", "MsgUserGroupWrongFormat": "Не верный формат команды! Пример: /tperm group add/remove *NameOrId* *groupName*", "MsgUserGranted": "Пермишен {0} выдан игроку {1}", "MsgGroupGranted": "Пермишен {0} выдан группе {1}", "MsgUserGroupAdded": "Игрок {0} был добавлен в группу {1}", "MsgUserRevoked": "Пермишен {0} был удален для игрока {1}", "MsgGroupRevoked": "Пермишен {0} был удален для группы {1}", "MsgUserGroupRemoved": "Игрок {0} был удален из группы {1}" } grant - Grants a temporary permission to a player or group. user *NameOrId* realpve.vip wipe - Grants a temporary permission to a player until the next wipe by specifying the player's name or Id, the permission name and the word "wipe"; *NameOrId* realpve.vip 3600 true/false - Grants a temporary permission to a player by specifying the player's name or Id, the permission name, the number of seconds and true/false(optional). If true, the specified seconds will count from the current moment, otherwise(default), they will be added to the existing time; *NameOrId* realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" - Grants a temporary permission to a player by specifying the player's name or Id, the permission name, the expiration date and the assigned date(optional). If not specified, the assigned date will default to the current date, otherwise, it will be set to the provided date. group *GroupName* realpve.vip wipe - Grants a temporary permission to a group until the next wipe by specifying the group's name, the permission name and the word "wipe"; *GroupName* realpve.vip 3600 true/false - Grants a temporary permission to a group by specifying the group's name, the permission name, the number of seconds, and true/false(optional). If true, the specified seconds will count from the current moment, otherwise(default), they will be added to the existing time; *GroupName* realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" - Grants a temporary permission to a group by specifying the group's name, the permission name, the expiration date and the assigned date(optional). If not specified, the assigned date will default to the current date, otherwise, it will be set to the provided date. revoke - Revokes a temporary permission from a player or group. user *NameOrId* realpve.vip - Revokes a temporary permission from a player by specifying the player's name or Id and the permission name; group *GroupName* realpve.vip - Revokes a temporary permission from a group by specifying the group's name and the permission name. add - Temporary addition of a player to a group. *NameOrId* *GroupName* wipe - Temporary addition of a player to a group until the next wipe by specifying the player's name or Id, the group name and the word "wipe"; *NameOrId* *GroupName* 3600 true/false - Temporary addition of a player to a group by specifying the player's name or Id, the group name, the number of seconds, and true/false(optional). If true, the specified seconds will count from the current moment, otherwise(default), they will be added to the existing time; *NameOrId* *GroupName* "2024-08-19 17:57" "2024-08-19 16:57" - Temporary addition of a player to a group by specifying the player's name or Id, the group name, the expiration date and the assigned date(optional). If not specified, the assigned date will default to the current date, otherwise, it will be set to the provided date. remove *NameOrId* *GroupName* - Removal of a player from a temporary group by specifying the player's name or Id and the group name. Example: /tperm grant user iiiaka realpve.vip wipe /tperm grant user iiiaka realpve.vip 3600 true /tperm grant user iiiaka realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" Note: To access the commands, the player must be an admin(console or owner) or have the temporarypermissions.admin permission. P.S. Templates for the commands above can also be used with existing console commands. For example: o.grant user iiiaka realpve.vip 3600 true OnTemporaryPermissionsLoaded: Called after the TemporaryPermissions plugin is fully loaded and ready. OnTemporaryPermissionGranted: Called after the player has been granted a temporary permission. OnTemporaryPermissionUpdated: Called after the player's temporary permission has been updated. OnTemporaryPermissionRevoked: Called after the player's temporary permission has expired or been revoked. OnTemporaryGroupAdded: Called after the player has been temporarily added to the group. OnTemporaryGroupUpdated: Called after the player's temporary group has been updated. OnTemporaryGroupRemoved: Called after the player's temporary group has expired or been removed. OnGroupTemporaryPermissionGranted: Called after the group has been granted a temporary permission. OnGroupTemporaryPermissionUpdated: Called after the group's temporary permission has been updated. OnGroupTemporaryPermissionRevoked: alled after the group's temporary permission has expired or been revoked. void OnTemporaryPermissionsLoaded(VersionNumber version = default) { Puts("The TemporaryPermissions plugin is loaded and ready to go!"); } void OnTemporaryPermissionGranted(string userID, string perm, DateTime expireDate, DateTime assignedDate) { Puts($"Player {userID} has been granted the temporary permission {perm} from {assignedDate} until {expireDate}."); } void OnTemporaryPermissionUpdated(string userID, string perm, DateTime expireDate, DateTime assignedDate) { Puts($"Player {userID}'s temporary permission {perm} has been updated. New expiration date: {expireDate}. Assigned date: {assignedDate}."); } void OnTemporaryPermissionRevoked(string userID, string perm, bool isExpired) { Puts($"Player {userID} has had the temporary permission {perm} revoked. Permission expired: {isExpired}."); } void OnTemporaryGroupAdded(string userID, string groupName, DateTime expireDate, DateTime assignedDate) { Puts($"Player {userID} has been added to the temporary group {groupName} from {assignedDate} until {expireDate}."); } void OnTemporaryGroupUpdated(string userID, string groupName, DateTime expireDate, DateTime assignedDate) { Puts($"Player {userID}'s temporary group {groupName} has been updated. New expiration date: {expireDate}. Assigned date: {assignedDate}."); } void OnTemporaryGroupRemoved(string userID, string groupName, bool isExpired) { Puts($"Player {userID} has had the temporary group {groupName} revoked. Group expired: {isExpired}."); } void OnGroupTemporaryPermissionGranted(string groupName, string perm, DateTime expireDate, DateTime assignedDate) { Puts($"Group {groupName} has been granted the temporary permission {perm}, valid from {assignedDate} until {expireDate}."); } void OnGroupTemporaryPermissionUpdated(string groupName, string perm, DateTime expireDate, DateTime assignedDate) { Puts($"Group {groupName}'s temporary permission {perm} has been updated. New expiration date: {expireDate}. Assigned date: {assignedDate}."); } void OnGroupTemporaryPermissionRevoked(string groupName, string perm, bool isExpired) { Puts($"Group {groupName} has had the temporary permission {perm} revoked. Permission expired: {isExpired}."); } [PluginReference] private Plugin TemporaryPermissions; There are 28 methods: IsReady User's Permissions: GrantUserPermission RevokeUserPermission UserHasPermission GrantActiveUsersPermission GrantAllUsersPermission RevokeActiveUsersPermission RevokeAllUsersPermission UserGetAllPermissions ActiveUsersGetAllPermissions AllUsersGetAllPermissions User's Groups: AddUserGroup RemoveUserGroup UserHasGroup AddActiveUsersGroup AddAllUsersGroup RemoveActiveUsersGroup RemoveAllUsersGroup UserGetAllGroups ActiveUsersGetAllGroups AllUsersGetAllGroups Group's Permissions: GrantGroupPermission RevokeGroupPermission GroupHasPermission GrantAllGroupsPermission RevokeAllGroupsPermission GroupGetAllPermissions AllGroupsGetAllPermissions IsReady: Used to check if the TemporaryPermissions plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)TemporaryPermissions?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready. GrantUserPermission: Used to grant a temporary permission to a player. Returns true if the grant was successful. To call the GrantUserPermission method, you need to pass 5 parameters, 3 of which are optional: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the permission. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip");//Calling the GrantUserPermission method without specifying the third parameter, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", 0);//Calling the GrantUserPermission method with the specified number less than 1, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", 3600, true, true);//Calling the GrantUserPermission method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", expireDate, assignedDate, true);//Calling the GrantUserPermission method with the specified DateTime for the end and start of the temporary permission. RevokeUserPermission: Used to revoke a temporary permission from a player. Returns true if the revoke was successful. To call the RevokeUserPermission method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("RevokeUserPermission", player.UserIDString, "realpve.vip"); UserHasPermission: Used to check if a player has a temporary permission. Returns true if the player has the specified temporary permission. To call the UserHasPermission method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("UserHasPermission", player.UserIDString, "realpve.vip"); GrantActiveUsersPermission: Used to temporarily grant a permission to all online players. Returns the <int>number of successful grants of temporary permissions to players. To call the GrantActiveUsersPermission method, you need to pass 3 parameters, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip");// Calling the GrantActiveUsersPermission method without specifying the second parameter, to grant all online players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", 0);//Calling the GrantActiveUsersPermission method with the specified number less than 1, to grant all online players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", 3600, true);//Calling the GrantActiveUsersPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantActiveUsersPermission method with the specified DateTime for the end and start of the temporary permission. GrantAllUsersPermission: Used to grant a temporary permission to all players. Returns the <int>number of successful grants of temporary permissions to players. To call the GrantAllUsersPermission method, you need to pass 3 parameters, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip");//Calling the GrantAllUsersPermission method without specifying the second parameter, to grant all players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", 0);//Calling the GrantAllUsersPermission method with the specified number less than 1, to grant all players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", 3600, true);//Calling the GrantAllUsersPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantAllUsersPermission method with the specified DateTime for the end and start of the temporary permission. RevokeActiveUsersPermission: Used to revoke a temporary permission from all online players. Returns the <int>number of successful revokes of temporary permissions to players. To call the RevokeActiveUsersPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeActiveUsersPermission", "realpve.vip"); RevokeAllUsersPermission: Used to revoke a temporary permission from all players. Returns the <int>number of successful revokes of temporary permissions to players. To call the RevokeAllUsersPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeAllUsersPermission", "realpve.vip"); UserGetAllPermissions: Used to retrieve all temporary permissions of a player. Returns a Dictionary<string, DateTime[]> where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. To call the UserGetAllPermissions method, you need to pass 1 parameter: <string>playerID - The player's Id. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllPermissions", player.UserIDString); ActiveUsersGetAllPermissions: Used to retrieve all temporary permissions of all online players who have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("ActiveUsersGetAllPermissions"); AllUsersGetAllPermissions: Used to retrieve all temporary permissions of all players who have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllUsersGetAllPermissions"); AddUserGroup: Used to temporarily add a player to a group. Returns true if the addition was successful. To call the AddUserGroup method, you need to pass 5 parameters, 3 of which are optional: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the group. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip");//Calling the AddUserGroup method without specifying the third parameter to temporarily add a player, to a group until the wipe. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", 0);//Calling the AddUserGroup method with the specified number less than 1, to temporarily add a player to a group until the wipe. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", 3600, true, true);//Calling the AddUserGroup method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", expireDate, assignedDate, true);//Calling the AddUserGroup method with the specified DateTime for the end and start of the temporary permission. RemoveUserGroup: Used to remove a temporary group from a player. Returns true if the removal was successful. To call the RemoveUserGroup method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group. (bool)TemporaryPermissions?.Call("RemoveUserGroup", player.UserIDString, "vip"); UserHasGroup: Used to check if a player has a temporary group. Returns true if the player has the specified temporary group. To call the UserHasGroup method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group. (bool)TemporaryPermissions?.Call("UserHasGroup", player.UserIDString, "vip"); AddActiveUsersGroup: Used to temporarily add a group to all online players. Returns the <int>number of successful additions of the temporary group to players. To call the AddActiveUsersGroup method, you need to pass 3 parameters, 2 of which is optional: <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip");//Calling the AddActiveUsersGroup method without specifying the second parameter to temporarily add all online players to a group until the wipe. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", 0);//Calling the AddActiveUsersGroup method with the specified number less than 1, to temporarily add all online players to a group until the wipe. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", 3600, true);//Calling the AddActiveUsersGroup method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", expireDate, assignedDate);//Calling the AddActiveUsersGroup method with the specified DateTime for the end and start of the temporary permission. AddAllUsersGroup: Used to temporarily add a group to all players. Returns the <int>number of successful additions of the temporary group to players. To call the AddAllUsersGroup method, you need to pass 3 parameters, 2 of which is optional: <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip");//Calling the AddAllUsersGroup method without specifying the second parameter to temporarily add all players to a group until the wipe. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", 0);//Calling the AddAllUsersGroup method with the specified number less than 1, to temporarily add all players to a group until the wipe. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", 3600, true);//Calling the AddAllUsersGroup method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", expireDate, assignedDate);//Calling the AddAllUsersGroup method with the specified DateTime for the end and start of the temporary permission. RemoveActiveUsersGroup: Used to remove a temporary group from all online players. Returns the <int>number of successful removals of temporary groups from players. To call the RemoveActiveUsersGroup method, you need to pass 1 parameter: <string>groupName - The name of the group. (int)TemporaryPermissions?.Call("RemoveActiveUsersGroup", "vip"); RemoveAllUsersGroup: Used to remove a temporary group from all players. Returns the <int>number of successful removals of temporary groups from players. To call the RemoveAllUsersGroup method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RemoveAllUsersGroup", "vip"); UserGetAllGroups: Used to retrieve all temporary groups of a player. Returns a Dictionary<string, DateTime[]> where the key is the group name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the group. If the expiration date is set to default, it means the group is valid until the wipe. To call the UserGetAllGroups method, you need to pass 1 parameter: <string>permName - The name of the permission. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllGroups", player.UserIDString); ActiveUsersGetAllGroups: Used to retrieve all temporary groups of all online players who have temporary groups. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the group name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the group. If the expiration date is set to default, it means the group is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("ActiveUsersGetAllGroups"); AllUsersGetAllGroups: Used to retrieve all temporary groups of all players who have temporary groups. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the group name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the group. If the expiration date is set to default, it means the group is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllUsersGetAllGroups"); GrantGroupPermission: Used to grant a temporary permission to a group. Returns true if the grant was successful. To call the GrantGroupPermission method, you need to pass 5 parameters, 3 of which are optional: <string>groupName - The name of the group; <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the permission. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip");//Calling the GrantGroupPermission method without specifying the third parameter, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", 0);//Calling the GrantGroupPermission method with the specified number less than 1, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", 3600, true, true);//Calling the GrantGroupPermission method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", expireDate, assignedDate, true);//Calling the GrantGroupPermission method with the specified DateTime for the end and start of the temporary permission. RevokeGroupPermission: Used to revoke a temporary permission from a group. Returns true if the revoke was successful. To call the RevokeGroupPermission method, you need to pass 2 parameters: <string>groupName - The name of the group; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("RevokeGroupPermission", "vip", "realpve.vip"); GroupHasPermission: Used to check if a group has a temporary permission. Returns true if the group has the specified temporary permission. To call the GroupHasPermission method, you need to pass 2 parameters: <string>groupName - The name of the group; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("GroupHasPermission", "vip", "realpve.vip"); GrantAllGroupsPermission: Used to temporarily grant a permission to all groups. Returns the <int>number of successful grants of temporary permissions to groups. To call the GrantAllGroupsPermission method, you need to pass 3 parameters, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip");//Calling the GrantAllGroupsPermission method without specifying the second parameter, to grant all groups temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", 0);//Calling the GrantAllGroupsPermission method with the specified number less than 1, to grant all groups temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", 3600, true);//Calling the GrantAllGroupsPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantAllGroupsPermission method with the specified DateTime for the end and start of the temporary permission. RevokeAllGroupsPermission: Used to revoke a temporary permission from all groups. Returns the <int>number of successful revokes of temporary permissions to groups. To call the RevokeAllGroupsPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeAllGroupsPermission", "realpve.vip"); GroupGetAllPermissions: Used to retrieve all temporary permissions of a group. Returns a Dictionary<string, DateTime[]> where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. To call the GroupGetAllPermissions method, you need to pass 1 parameter: <string>groupName - The name of the group. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("GroupGetAllPermissions", "vip"); AllGroupsGetAllPermissions: Used to retrieve all temporary permissions of all groups that have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is the group name and the value is another Dictionary<string, DateTime[]>, where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllGroupsGetAllPermissions");
    Free
  16. Version 1.5.01

    724 downloads

    This plugin makes the admin’s life easier by automatically generating maps, initiating a vote that lets users choose which map they would like to play in during the next wipe and auto wiping the server. Depends on: Image Library Wipe Info API (If your server in country that have forced wipe at Friday please use WipeInfoApi file in MapVoter/WipeInfoApi/WipeInfoApi .cs) Discord extension Update 1.5.00: Unified Plugin Types Merged all different types of the plugin into a single, unified version. Server Wipe Fix Fixed an issue where the plugin did not wipe the server after a restart. General Improvements Resolved various other issues to enhance performance and stability. Added server identity to the configuration file. If you load the plugin while the server is running, it will automatically set to the current identity. Alternatively, you can find the server identity by: - Checking the startup command for +server.identity. - Inspecting the server.cfg path: You can locate the server identity in /server/{server.identity}/cfg/. Logging Enhancements Added logging files to track auto-wipe progress. To enable this feature, set Enable Debug Mode to true in the configuration file. Update 1.4.67: Added: Single Discord message now supports up to 4 maps. Wipe countdown in Embed. Fixed: Magnify icon not showing. New config options: You must set the Embed URL if you want to use the Single Discord embed message. "Embed Url": "https://codefling.com" "Single Embed?": false Note: The single message will only display 4 maps, but you can add more. Update 1.4.64: Server administrators can list data files to be deleted after the wipe "Plugins Data wipe": { "Enable plugins data wipe on forced wipe day": true, "Enable plugins data wipe on map wipe day": true, "File names to be deleted on forced wipe day": [ "wipeinfo", "WipeInfoApi" ], "File names to be deleted on map wipe day": [ "wipeinfo", "WipeInfoApi" ] } If you utilize a game hosting service, please ensure that your host permits the modification of the startup command. Update 1.3.26 : Auto wipe now works for non Dedicated (game server or host) servers but you'll have to disable sandbox and you won't be able to auto update the server. Requirements Rust Server(s) setup in a standard way on a Windows ,Pterodactyl Panel , Open Game Panel, Ubuntu dedicated server or game/host server (Doesn't work on LinuxGSM). Administrator privileges on said dedicated server. All of your server settings in \server\my_server_identity\cfg \server.cfg except rcon.port ,rcon.web rcon.password which will be added to batch script later. Auto Wipe will launch the server without start.bat. Features: Automatically restart and update the server every first Thursday of the month. Automatically generate or select random maps from rustmaps.com filter maps on wipe day or x days before wipe using https://rustmaps.com/ & wipe-info-api and start the vote. Allows players to vote on maps through an in-game UI or Discord (if you use any plugin that links a player and a Discord user, enable “only authenticated users can vote” in the config file to avoid duplicate votes). Automatically checks if it’s wipe day using wipe-info-api and the plugin’s config. Automatically update Oxide and the server and wipes it on forced wipe. Configure the plugin through a GUI (not all settings are available on the GUI). Select maps from rustmaps.com through a GUI via a RustMaps share code. Added Custom maps via GUI (to delete map you have to delete it from data file in MapVoter/Custommapdata.json). The vote will start automatically on custom maps in data folder if custom maps usage is enabled in config. Fun kit. Automatically generates custom maps every wipe, utilizing RustMaps.com. Please note that to use this feature, a subscription to RustMaps.com is required. Update 1.4.61 In this update you can generate a custom maps every time map vote starts with same config you provided. Update 1.3.40 New UI Update 1.3.35 1- Added Fun kit. Fun kit is kit that will be enabeled before every wipe, players can redeem it using /kit <kit name> or when respawning. Players wont be able to learn BPs and unloack workbench tree nodes. How to add fun kit? 1 - create kit using kits plugin with permission example : 2 - In map voter config file edit : "Fun Kit": { "Fun kit enabled": false, "Enable Fun kit x minutes before wipe": 0, "Kit name": null, "Permission": null }, 3 - save and reload MapVoter. 2 - Map Voter will print future wipes in console when loaded How to add Custom maps : Video Permissions: MapVoter.use only allows an admin to generate maps and start a vote. MapVoter.Manager allows an admin to use all the features. MapVoter.Vote allows player to vote(you can enable or disable this in configuration). Commands /mvote : Opens the plugin’s main GUI. /startvote After selecting which maps will appear on the vote, starts the vote. MapVoter.generate <Number of maps to generate> <seed> <voting duration in minutes>. voteresult : Shows which map had won the vote. Mapvoter.reload reload the plugin. MapVoter.mapwipe <delay in seconds> <Map size > will generate a map and change startup parameters in server.cfg. MapVoter.mapwipe <delay in seconds> <Custom map url > will wipe the server with a given custom map url and change startup parameters in server.cfg MapVoter.bpwipe <delay in seconds> <Map size > will generate map and delete *.db, *.db-journal and *.sav files and changes startup parameters in server.cfg MapVoter.bpwipe <delay in seconds> <Custom map url > will delete *.db, *.db-journal and *.sav files and change startup parameters MapVoter.cancelwipe : cancels ongoing wipe. MapVoter.stopvoting : stops ongoing voting. MapVoter.update <Delay in seconds> initiates restart and updates the server & oxide. Mapvoter.CancelUpdate : Cancels restart and update. Discord commands !vote !generate <Number of maps to generate> <seed> <voting duration in minutes>. !mapwipe <delay in seconds> <Map size > !bpwipe <delay in seconds> <Map size > bpwipe <delay in seconds> <Custom map url > !cancelwipe !stopvoting !update <Delay in seconds> !cancelupdate Configuration { "Commands": { "Open MapVoter UI": "mvote", "Generate Mpas": "MapVoter.generate", "vote result": "voteresult" }, "Options": { "Map size": 3500, "Select random maps from rustmaps filter id instead of generating random maps on wipe day (true/false)": false, "How many pages the plugin looks up per search request(every page has 30 maps": 10, "Enable Discord bot (true/false)": true, "Only players with permission MapVoter.Vote can vote (true/false)": false, "Log to Discord (true/false)": true, "Discord Logs Channel Id": "", "Disable UI": false, "RustMaps API key": "https://rustmaps.com/user/profile", "staging": false, "barren": false, "Stop voting after (minutes)": 60, "avatar url": "", "Discord footer": "", "filter Id": "Visit https://rustmaps.com/ and adjust your map requirements. In the red box above the settings hit the Share button,the string at the end of the URL is the filterId.Example URL: https://rustmaps.com/?share=gEU5W6BUuUG5FpPlyv2nhQ the string at the end in this case {gEU5W6BUuUG5FpPlyv2nhQ} is the filterId." }, "Discord Settings": { "Vote Channel id": "", "Discord Apikey": "BotToken", "Discord Command Prefix": "!", "Discord Channels": [ { "Discord Channel ID": "", "Commands": [ "generate", "vote", "mapwipe", "bpwipe", "cancelwipe", "stopvoting", "update", "cancelupdate" ] } ], "Discord Command Role Assignment (Empty = All roles can use command.)": { "generate": [ "DiscordRoleName", "DiscordRoleName2" ], "vote": [ "DiscordRoleName", "DiscordRoleName2" ], "mapwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "bpwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "cancelwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "stopvoting": [ "DiscordRoleName", "DiscordRoleName2" ], "update": [ "DiscordRoleName", "DiscordRoleName2" ], "cancelupdate": [ "DiscordRoleName", "DiscordRoleName2" ] } }, "Auto Vote": { "Auto start vote": true, "Only Authenticated users can vote through discord": true, "Start voting x days before wipe": 0, "Start voting at (HH:mm) 24-hour clock": "17:00", "Number of maps to generate": 4 }, "Auto Wipe": { "Custom Map": { "Custom map": false, "Map URL": "" }, "Map Wipe schedule": [ 7, 14, 21, 28 ], "BP Wipe schedule": [ 0 ], "Enable Auto wipe": true, "Wipe BPs at forced wipe day": true, "Forced Wipe time (HH:mm) 24-hour clock": "19:00", "Wipe time (HH:mm) 24-hour clock": "19:00" } } MapVoter.cs, which will handle wipe schedule and automatically generate maps, start voting and restart the server. How to Install 1 - Upload Mapvoter.cs. 2 - all your server configuration must be in /server/{server.identity}/cfg/server.cfg or you can change the path in config if your host use different path (/server/{server.identity}) 3- Upload Discord extension to /RustDedicated_Data/Managed. 4- change the startup command if possible to ./RustDedicated -batchmode +server.identity "rust" +rcon.port {{RCON_PORT}} +rcon.web true +rcon.password \"{{RCON_PASS}}\" or leave all the map seed, size and level URL empty. 5-create server.cfg file in server/{server.identity}/cfg/ example : server.port 28000 server.seed server.worldsize //server.levelurl server.maxplayers 100 server.gamemode vanilla server.hostname " Vanilla" server.tags vanilla,weekly server.level "Procedural Map" server.radiation true server.saveinterval 600 server.tickrate 30 server.headerImage "" server.url "" server.secure 1 server.salt 50 Perform a Dry-Run Whilst your server is online with no players, test some commands like Mapvote.bpwipe, server.cfg, and make sure that server.seed and server.worldsize has changed and all your selected files have been deleted. Contact kaysharp#2008
    $45.00
  17. Version 2.1.5

    4,671 downloads

    This plugin adds to the game a variety of NPC bosses with different abilities and a very adaptable configuration Description Using this plugin you can add NPC bosses to any point on the map. You can set up any ability with the plugin configuration. If it is necessary, you can add multiple abilities to one boss. Abilities are divided into two categories, ones take place in a certain radius from the NPC, and others are triggered by damaging from an NPC. The map also displays the location of the actual bosses (their name and amount of health). You can give any clothes and weapons for NPCs using the configuration. Custom Map Maps that have a configuration for the appearance of boss on their custom monuments You can also download all these files for all maps here Dark Ages Blue Tears All files for custom maps are stored in the folder oxide/data/BossMonster/CustomMap. You don't have to delete files from there, the plugin will understand by itself which map is currently installed on the server and will download only the necessary file if there is one in this folder. The plugin will tell you about this process in the console during the plugin loading. It will write in the console what file works on the current map, and what ones don’t work If you want to create a custom place for the boss to appear on your custom map or on a map that is not in this list, you have to create the ID of this custom map. After that you need to place an item such as a RAND Switch on your map. It must be placed randomly, where it will not be visible to other players. You will get the identifier, if you add up the three coordinates of the position of this object from RustEdit (x, y and z) and write the resulting value in the parameter of your file (an example file can be taken from ready-made files) - ID As an example, let's take the coordinates (26.896, -456.158, 527.258), then our identifier is 26.896 - 456.158 + 527.258 = 97.996 Then you need to indicate a list of bosses that will appear on your map. You need to copy the configuration data block for each boss. In the database parameters you will specify the name of the boss and a list of positions where it can appear Dependencies (optional, not required) GUI Announcements Notify Discord Messages AlphaLoot CustomLoot Economics Server Rewards IQEconomic PveMode Chat commands (only for administrators) /WorldPos - displays the actual player’s position on the map /SavePos <name> - saves a new position to the configuration file for the boss with the name - name, relative to the nearest monument /SpawnBoss <name> - spawn of the boss with the name - name in the coordinates of the administrator Console commands (RCON only) SpawnBoss <name> – spawn of the boss with the name – name KillBoss <name> – kill all bosses with the name – name Plugin Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Boss Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Custom Map Config en - example of plugin configuration in English ru - example of plugin configuration in Russian Hooks void OnBossSpawn(ScientistNPC boss) - сalled when a boss appears on the map void OnBossKilled(ScientistNPC boss, BasePlayer attacker) - сalled when a player kills a boss API ScientistNPC SpawnBoss(string name, Vector3 pos) - spawns a boss named name in position pos void DestroyBoss(ScientistNPC boss) - destroys the boss My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here!
    $35.00
  18. Version 0.1.8

    355 downloads

    Allows automating the entire manure collection process and adds other useful features in this area, by adding Industial Adapters and BoxStorage to the HitchTrough and Composter. Also auto spliting dungs in the Composter container. Note: During plugin unloading, modified entities are not removed, to prevent the removal of pipes every time the plugin/server is restarted. To remove modifications from entities, you should use the "idung unload" command. industrialdung.admin - Provides unrestricted access to the plugin's functionality. This includes the ability to add/remove or clear modificated entities from other players. Note: In the configuration file, within the "Max ammount of modified entites per group" section, you can specify limits for any existing permission by simply listing its name. "Max amount of modified entites for each permission. Leave null or empty to recreate the default": { "industrialdung.default": { "HitchTroughs": 5, "Composters": 2 }, ... }, ... If you want to create a new permission, you can also include it in the list, but the name must begin with "industrialdung". { "Chat command": "idung", "Is it worth enabling GameTips for messages?": true, "Use auto-splitting in the Composter?": true, "Item's short name for auto-splitting in the Composter. Leave the field empty to use the default": "horsedung", "AutoModify - Default value for new players": true, "Wood Storage Box Workshop Skin ID": 2911301119, "The list of items(short name) available for the composter. Leave empty to use vanilla": [ "horsedung", "fertilizer", "plantfiber" ], "Popup - Duration": 6.0, "Popup - Position AnchorMin": "0 0.9", "Popup - Position AnchorMax": "0.25 1", "Popup - Position OffsetMin": "20 0", "Popup - Position OffsetMax": "0 -30", "Popup - Icon Url": "https://i.imgur.com/4Adzkb8.png", "Popup - Icon Color": "#CCE699", "Popup - Icon Transparency": 0.8, "Popup - Text Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Popup - Text Font Size": 14, "Popup - Text Font Color": "#FFFFFF", "Popup - Description Font": "RobotoCondensed-Regular.ttf", "Popup - Description Font Size": 12, "Popup - Description Font Color": "#FFFFFF", "Popup - Text FadeIn": 1.0, "Popup - Sound Prefab Name": "assets/bundled/prefabs/fx/invite_notice.prefab", "Max amount of modified entites for each permission. Leave null or empty to recreate the default": { "industrialdung.default": { "HitchTroughs": 5, "Composters": 2 }, "industrialdung.vip": { "HitchTroughs": 10, "Composters": 4 }, "realpve.vip": { "HitchTroughs": 15, "Composters": 6 } }, "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } EN: { "MsgNotAllowed": "You do not have permission to use this command!", "MsgNotHitchOwner": "You are not the owner of this hitch trough!", "MsgNotComposterOwner": "You are not the owner of this composter!", "MsgNotEntity": "You need to look at the hitch trough/composter or provide correct net ID!", "MsgNotModifiedEntity": "This entity is not modified!", "MsgLimitReached": "You cannot to modify this entity as you have reached your limit of {0}!", "MsgPopupTextHitch": "Modify this hitch trough?", "MsgPopupTextComposter": "Modify this composter?", "MsgPopupSubText": "Click on the notification to confirm", "MsgHitchTroughModified": "The hitch trough has been successfully modified!", "MsgComposterModified": "The composter has been successfully modified!", "MsgMyRemovedHitch": "The modification from the hitch trough has been successfully removed!", "MsgMyRemovedComposter": "The modification from the composter has been successfully removed!", "MsgMyAllRemoved": "All your modifications from the hitch troughs and composters have been successfully removed!", "MsgPlayerMsgAllRemoved": "All {0}'s modifications from the hitch troughs and composters have been successfully removed!", "MsgAllRemoved": "All modifications from the hitch troughs and composters have been successfully removed!", "MsgAutoModifyEntityEnabled": "Automatic entity modification is enabled!", "MsgAutoModifyEntityDisabled": "Automatic entity modification is disabled!" } RU: { "MsgNotAllowed": "У вас недостаточно прав для использования этой команды!", "MsgNotHitchOwner": "Вы не являетесь владельцем данной кормушки!", "MsgNotComposterOwner": "Вы не являетесь владельцем данного компостера!", "MsgNotEntity": "Вам необходимо смотреть на кормушку/компостер или указать корректный net ID!", "MsgNotModifiedEntity": "Данная сущность не является модифицированной!", "MsgLimitReached": "Вы не можете модифицировать данную сущность, так как вы превысили свой лимит в {0}!", "MsgPopupTextHitch": "Модифицировать данную кормушку?", "MsgPopupTextComposter": "Модифицировать данный компостер?", "MsgPopupSubText": "Нажмите на уведомление для подтверждения", "MsgHitchTroughModified": "Кормушка успешно модифицирована!", "MsgComposterModified": "Компостер успешно модифицирован!", "MsgMyRemovedHitch": "Модификация с кормушки успешно удалена!", "MsgMyRemovedComposter": "Модификация с компостера успешно удалена!", "MsgMyAllRemoved": "Все ваши модификации из кормушек и компостеров успешно удалены!", "MsgPlayerMsgAllRemoved": "Все модификации из кормушек и компостеров игрока {0} успешно удалены!", "MsgAllRemoved": "Все модификации из кормушек и компостеров успешно удалены!", "MsgAutoModifyEntityEnabled": "Автоматическая модификация сущностей включена!", "MsgAutoModifyEntityDisabled": "Автоматическая модификация сущностей выключена!" } add - Adding a modification to the HitchTrough/Composter that you are looking at from a distance of no more than 10 meters. *netID* - Adding a modification to the HitchTrough/Composter with the specified netID; remove - Removing a modification from the HitchTrough/Composter that you are looking at from a distance of no more than 10 meters. *netID* - Removing a modification from the HitchTrough/Composter with the specified netID; clear - Removing all modification from your HitchTroughs and Composters. *userID* - Removing all modification from specified player's HitchTroughs and Composters. Permission "industrialdung.admin" required. all - Removing all modification from all HitchTroughs and Composters. Permission "industrialdung.admin" required. auto - Enabling/Disabling automatic modification of HitchTroughs and Composters, if possible. aclear - Removing all modifications from the HitchTroughs and Composters that were not added to the data files for some reason. Permission "industrialdung.admin" required. unload - Unloading the plugin with the removal of all modifications from HitchTroughs and Composters without deleting them from the data file. Permission "industrialdung.admin" required. Example: /idung add /idung add *netID* /idung clear all /idung auto
    $9.99
  19. Mevent

    Capture Zone

    Version 1.1.4

    46 downloads

    Adds a new event to the server - zone capture. If you gather resources on the territory of the occupied zone, a commission is removed from you and falls into the "capture cupboard". Features: Markers on the map Spawn in crates/barrels Percentage setting with permissions Setting limits with permissions Bypass setting (for teammates, friends, clanmates, cupboard) Commands give.capturezone [target] [amount] - gives out a cupboard for capturing a zone Permissions capturezone.ignore - allows you not to pay resources for tax Video Config { "Work with Notify?": true, "Zone Radius": 40.0, "Permission (ex: capturezone.use)": "", "Item Settings": { "DisplayName": "Zone Сapture", "ShortName": "cupboard.tool", "SkinID": 2767790029 }, "Marker": { "Enabled": true, "Display Name": "Zone by {owner}", "Radius": 0.3, "Refresh Rate": 3.0, "Duration": 0, "Color 1": "#EA9999", "Color 2": "#A73636FF" }, "Drop Settings": { "Enabled": true, "Drop Settings": [ { "Prefab name": "assets/bundled/prefabs/radtown/crate_normal.prefab", "Min amount": 1, "Max amount": 1, "Chance": 50.0 }, { "Prefab name": "assets/bundled/prefabs/radtown/loot_barrel_2.prefab", "Min amount": 1, "Max amount": 1, "Chance": 5.0 }, { "Prefab name": "assets/bundled/prefabs/radtown/loot_barrel_1.prefab", "Min amount": 1, "Max amount": 1, "Chance": 5.0 } ] }, "Notification during mining in the occupied territory": { "Enabled": true, "Cooldown": 5.0 }, "Percent Settings": { "Default": 20.0, "Permissions": { "capturezone.vip": 25.0, "capturezone.deluxe": 30.0 } }, "Limits Settings": { "Enabled": true, "Default": 3, "Permissions": { "capturezone.vip": 5, "capturezone.deluxe": 7 } }, "Bypass Settings": { "Teammates (Rust in-game system)": true, "Friends": true, "Clanmates": true, "Authorized in the cupboard": true } }
    $19.95
  20. Mevent

    Battlepass

    Version 1.37.20

    770 downloads

    Creates quests/missions for users to complete in order to get rewards (currency, items, etc.). Players can spend the currency they receive to open cases. This can become a major plugin for your server. Your players will not get bored! And a nice and user-friendly interface will surprise them even more Features: Beautiful user interface Logging purchases / replenishment of the balance (both to the console and to a file) Versatility (can work with various economy plugins) Performance (plugin is faster than existing competitors) Interesting idea The ability to customize absolutely any inscription Preview Commands addfirstcurrency {userid} {amount} (give the player the first currency) addsecondcurrency {userid} {amount} (give the player a second currency) battlepass.wipedata (clear player progress) pass (open interface) battlepass.migrate (migrate to PlayerDatabase) battlepass.convert.128 (convert from 1.28.0) Item Types Item Command Plugin Mission Types Gather Kill Craft Look Build Upgrade Fishing LootCrate Swipe RaidableBases RecycleItem HackCrate PurchaseFromNpc ArcticBaseEvent GasStationEvent SputnikEvent ShipwreckEvent HarborEvent JunkyardEvent SatDishEvent WaterEvent AirEvent PowerPlantEvent ArmoredTrainEvent ConvoyEvent SurvivalArena KillBoss FAQ How to use multiple NPCs in one mission Loot Hackable Crates (config example) Default Config
    $21.95
  21. Mevent

    Genie

    Version 1.0.6

    197 downloads

    Adds a Genie Lamp to the game, which you can unwrap and receive an award. This will greatly diversify the game on your server. My advice is to add them to your underwater crates and use Dynamic Config to set up rewards over the course of the wipe Commands genie.give [targetId] (give a lamp) Permissions You can set permission in config, for example: "Permission to rub the lamp": "genie.use", Config { "Genie Image": "https://i.imgur.com/aNIcQzk.png", "Enable opening progress?": true, "Work with Notify?": true, "Delay to receive": 5.0, "Update Frequency": 0.1, "Opening effect (empty - disable)": "assets/bundled/prefabs/fx/gestures/lick.prefab", "Progress effect (empty - disable)": "assets/bundled/prefabs/fx/notice/item.select.fx.prefab", "Finish effect (empty - disable)": "assets/prefabs/misc/xmas/presents/effects/wrap.prefab", "Permission to rub the lamp": "", "Genie lamp Settings": { "Display Name": "Lamp", "ShortName": "xmas.present.small", "Skin": 2540200362 }, "Awards": [ { "Type": "Item", "ID": 1, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "wood", "Skin": 0, "Amount": 3500, "Chance": 70.0 }, { "Type": "Item", "ID": 2, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "stones", "Skin": 0, "Amount": 2500, "Chance": 70.0 }, { "Type": "Item", "ID": 3, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "leather", "Skin": 0, "Amount": 1000, "Chance": 55.0 }, { "Type": "Item", "ID": 4, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "cloth", "Skin": 0, "Amount": 1000, "Chance": 55.0 }, { "Type": "Item", "ID": 5, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "lowgradefuel", "Skin": 0, "Amount": 500, "Chance": 50.0 }, { "Type": "Item", "ID": 6, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "metal.fragments", "Skin": 0, "Amount": 1500, "Chance": 65.0 }, { "Type": "Item", "ID": 7, "Image": "", "Title": "", "Command (%steamid%)": "", "Plugin": { "Hook": null, "Plugin name": null, "Amount": 0 }, "Display Name (empty - default)": "", "ShortName": "metal.refined", "Skin": 0, "Amount": 150, "Chance": 65.0 } ], "Drop Settings": [ { "Prefab": "assets/bundled/prefabs/radtown/crate_normal.prefab", "Chance": 50 }, { "Prefab": "assets/bundled/prefabs/radtown/loot_barrel_2.prefab", "Chance": 5 }, { "Prefab": "assets/bundled/prefabs/radtown/loot_barrel_1.prefab", "Chance": 5 } ] } VIDEO
    $19.95
  22. Mevent

    Player List

    Version 2.0.5

    248 downloads

    Adds a list of players to your server with convenient options for interacting with them Commands players (open interface) Permissions Permission to use: you can set permission in config, for example: "Permission (ex: playerlist.use)": "playerlist.use", playerlist.hide (hides a player from the player list) FAQ Q: Where can I see an example of a config? A: Config
    $19.95
  23. Mevent

    Skills

    Version 1.32.11

    2,090 downloads

    Plugin adds a system of 18+ different skills Features: Beautiful user interface Universality (plugin working with different economic plugins) Customization (all interface you can set up in configuration) Performance Commands skills - open interface giveallskills name/steamid - give the player every skills at the maximum stage giveskill name/steamid [SkillType] [Stage] [ID - for None] - give the player the skill with the stage skills.convert.olddata - convert from old data skills.wipe - wipe skills removeskill name/steamid [SkillType] [ID - for None] - remove a player's skill skills.permissions.wipe – use it to manually remove permissions from player data Permissions skills.bypass - bypass for skills skills.wipe - using the command "skills.wipe" Skills Types Wood Stones Metal Sulfur Attack Secure Regeneration Metabolism ComponentsRates StandUpChance CraftSpeed FastOven Kits (works only with the Kits by Mevent plugin) None Cloth Butcher Scrap RecyclerSpeed TransferWipe MixingTableSpeed Gather CraftRates FAQ Where can I see an example of a config? Config How do I set an image to the background? 1. Enter a link to the image in the "Image" field 2. Set "Save Image Color" to true 3. Reload Image Library (oxide.reload ImageLibrary) 4. Reload Skills (oxide.reload Skills) !ATTENTION: The image must not exceed 3 MB Example: https://pastebin.com/cDxiBVrh How to use BankSystem to store the economy "Economy": { "Balance add hook": "Deposit", "Balance remove hook": "Withdraw", "Balance show hook": "Balance", "Plugin name": "BankSystem" }, How to use ServerRewards to store the economy "Economy": { "Balance add hook": "AddPoints", "Balance remove hook": "TakePoints", "Balance show hook": "CheckPoints", "Plugin name": "ServerRewards" }, How to use "Required skills stages"? Config example: "Required skill stages": [ { "Type": "CraftSpeed", "ID": 0, "Stage": 1, "Require the presence of this skill? (otherwise only the stage will be checked)": true } ] Hooks CanSkillLearn(BasePlayer player, string skillType, int skillID, int stage) OnSkillLearned(BasePlayer player, string skillType, int skillID, int stage)
    $24.95
  24. Mevent

    Car Sharing

    Version 1.1.7

    70 downloads

    Adds to your server the ability to rent a car and ride it all over the map. You can also install bots in which you can rent a car. Commands share.ferrari [targetId] (give a Ferrari) share.mazda [targetId] (give a Mazda) share.skoda [targetId] (give a Skoda) share.opel [targetId] (give an Opel) Permissions You can set permission in config, for example: "Permission (example: carsharing.use)": "carsharing.use", Config { "Commands": [ "rent", "carsharing" ], "Permission (example: carsharing.use)": "", "Work with Notify?": true, "Economy": { "Type (Plugin/Item)": "Plugin", "Plugin name": "Economics", "Balance add hook": "Deposit", "Balance remove hook": "Withdraw", "Balance show hook": "Balance", "ShortName": "scrap", "Display Name (empty - default)": "", "Skin": 0 }, "Vehicle call item settings": { "Display Name": "RUSTSharing {carname}", "ShortName": "box.wooden.large", "Skin": 2591806406 }, "Cars": [ { "Permission (example: carsharing.vip)": "", "Command to give": "share.ferrari", "Image": "https://i.imgur.com/0GvWGOv.png", "Name": "Ferrari", "Cost per minute": 25.0, "Car class": "Luxe", "Average Speed": "100", "Modular Car Settings": { "CodeLock": true, "KeyLock": false, "Engine Parts Tier": 2, "Fresh Water Amount": 0, "Fuel Amount": 140, "Modules": [ "vehicle.1mod.engine", "vehicle.1mod.cockpit.armored", "vehicle.1mod.cockpit.armored" ] } }, { "Permission (example: carsharing.vip)": "", "Command to give": "share.mazda", "Image": "https://i.imgur.com/fAuuZIS.png", "Name": "Mazda", "Cost per minute": 10.0, "Car class": "Comfort", "Average Speed": "100", "Modular Car Settings": { "CodeLock": true, "KeyLock": false, "Engine Parts Tier": 2, "Fresh Water Amount": 0, "Fuel Amount": 140, "Modules": [ "vehicle.1mod.engine", "vehicle.1mod.cockpit.armored", "vehicle.1mod.cockpit.armored" ] } }, { "Permission (example: carsharing.vip)": "", "Command to give": "share.skoda", "Image": "https://i.imgur.com/u07yAdY.png", "Name": "Skoda", "Cost per minute": 10.0, "Car class": "Comfort", "Average Speed": "100", "Modular Car Settings": { "CodeLock": true, "KeyLock": false, "Engine Parts Tier": 2, "Fresh Water Amount": 0, "Fuel Amount": 140, "Modules": [ "vehicle.1mod.engine", "vehicle.1mod.cockpit.armored", "vehicle.1mod.cockpit.armored" ] } }, { "Permission (example: carsharing.vip)": "", "Command to give": "share.opel", "Image": "https://i.imgur.com/fEzJjIm.png", "Name": "Opel", "Cost per minute": 10.0, "Car class": "Comfort", "Average Speed": "100", "Modular Car Settings": { "CodeLock": true, "KeyLock": false, "Engine Parts Tier": 2, "Fresh Water Amount": 0, "Fuel Amount": 140, "Modules": [ "vehicle.1mod.engine", "vehicle.1mod.cockpit.armored", "vehicle.1mod.cockpit.armored" ] } } ], "Bots": { "8833355776": { "Car Classes (* - all)": [ "Comfort" ] }, "1317845641": { "Car Classes (* - all)": [ "Luxe", "Comfort" ] } } } VIDEO
    $19.95
  25. Mevent

    Coin Flipping

    Version 1.0.9

    111 downloads

    Adds a coin flipping mini game to your server. Players can try their luck by playing against both a bot and a real player. Commands flip - open interface Permissions coinflipping.use - open interface coinflipping.players - play against players coinflipping.npcs - play against npcs coinflipping.createroom - create a room Config { "Commands": [ "flip" ], "Work with Notify?": true, "Economy": { "Type (Plugin/Item)": "Plugin", "Plugin name": "Economics", "Balance add hook": "Deposit", "Balance remove hook": "Withdraw", "Balance show hook": "Balance", "ShortName": "scrap", "Display Name (empty - default)": "", "Skin": 0 }, "Interface": { "Show coin in header?": true, "Coin Image": "https://i.imgur.com/GBVGvQa.png" }, "Values for Bot Game": [ 100, 200, 300 ], "Min Bet for Bot Game": 100, "Min Bet for Player Game": 100, "Permissions Settings": { "Opening the interface": "coinflipping.use", "Playing against players": "coinflipping.players", "Playing against NPCs": "coinflipping.npcs", "Creating a room": "coinflipping.createroom" } }
    $19.95
1.5m

Downloads

Total number of downloads.

7.3k

Customers

Total customers served.

108.9k

Files Sold

Total number of files sold.

2.2m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.