venda_vole's Wishlist
-
Water Bases
Water Bases rust plugin enables players with permissions to construct and expand structures on and underwater without the need for pillars, incorporating vanilla-like mechanics, special features like underwater nettings, and customizable settings for different player tiers.
Questions? Support? Join the discord: https://discord.nikhub.dev
In short
This Rust plugin enables players with the right permissions to construct structures on the water's surface and even extend them below water in a way that feels natural and in keeping with the game's original style. There's no need for tall, unstable pillars reaching down to the seabed; simply place your foundation on the water and use a building plan or hammer to expand it.
These aquatic constructions adhere to the same principles of stability, upkeep, and decay as traditional bases on your server but also introduce unique elements like underwater nettings for gathering random items (with fully customizable loot tables) and innovative building techniques.
The plugin accommodates various configuration profiles based on permissions, offering an excellent method to reward VIP players across different levels. It grants you control over who is allowed to build on the water, the size of their constructions, their proximity to the shore, and the highest tier of building blocks they can use, among other aspects.
Additionally, the plugin is designed to alert players if their construction interferes with the Cargo Ship's route. With the Submarine update on the horizon, it's time to prepare your server for aquatic adventures with Water Bases!
Watch the video below to see what water bases are all about.
"What about Cargo Ship, will it destroy structures in the way?"
By default, players will get a warning if they try to to build a water foundation in the path of the cargo ship, but their water foundation will stay. You can change this setting from "Warn" to "Prevent", and the player won't be able to build it in first place. Changing it to "None" will skip this check. Every ocean path node creates a "bubble" with a configurable radius. See Admin chat commands section below to visualise those bubbles and guide your players to areas where they will be able to build without issues.
Quick start (for players and admins)
Upload the WaterBases.cs file to your oxide/plugins folder and you should be good to go, it's all plug-and-play. No need to restart your server! Before you can build on water, you need some Water Foundations. Water foundations are re-skinned Inner Tube items (Shortname: innertube / Item ID: -697981032 ; mind the minus sign, it matters!) with a skin ID 2484982352 (https://steamcommunity.com/sharedfiles/filedetails/?id=2484982352) or 2485021365 (https://steamcommunity.com/sharedfiles/filedetails/?id=2485021365). That info is just in case you'd like to include those in your own Kits/Server Rewards shops/loot tables/custom crafting plugins. How to obtain those within the plugin?
Crafting water base foundations (with Building Planner)
By default, all players will be able to craft, deploy, expand and reinforce water foundations. More on the limits and how to change them (how far/close to the shore, min and max depth of the water, how many water foundations allowed per building etc) in the section Advanced Config. When a player equips a Building Plan, a small GUI will show in the bottom right (positions/colours etc can be changed in the config too). There, players will be able to craft deployable water foundations - both square and triangle. Those crafted items will also be consumed when players expand their already deployed foundations or reinforce them. The default permission profile requires a player to be close to a Level 2 Workbench - this requirement can be edited in the config to change the level needed, or you can turn off the need for a workbench altogether, per permission profile. If you don't want your players to be able to craft foundations - so they have to find them/buy them/earn them instead - you can disable it per-profile. In that case, they won't see the GUI.
Giving with chat commands (admins only)
Type /give_square [amount] or /give_triangle [amount] to give yourself some foundations of that type. If you don't specify an amount, you will only receive 1.
Deploying a "starter" foundation on water
Go out to the lake/ocean, select the water foundation as your active item and using the doughnut-shaped guide, deploy it on the water surface. After trying to deploy/expand upon an existing water foundation, a couple of checks will be performed according to global config and individual permission profile for that player:
Does the player have permission to deploy the first foundation/expand existing one? Is the player building blocked? How far is the player trying to build from shore (based on the map topology)? Too close/too far? How deep is the water where the player is trying to build? Is it too deep/too shallow? Is the player trying to build too close to the path of cargo/Oil Rig? Is the player allowed to have this many water foundations in the building? If all the checks have been successful, a new twig floor, with a stability 100% (like normal foundations) will be built. It will have some indestructible floatation barrels attached to it, partially covering the water foundation's soft side (the bottom). Then, a water foundation can be expanded, upgraded, protected with a Tool Cupboard (like any other buildings, really), or reinforced.
Expanding
Once you've deployed your first "starter" water foundation, all the subsequent foundations will be placed using vanilla building mechanics - just take a building plan and build some floors neighbouring your water foundation on the sides! If you have enough water foundation items of the required kind in your inventory, those newly placed floors will also turn into water foundations. And they can call be demolished/upgraded, just like normal twig structures, as soon as you place a Tool Cupboard. Expanding a single-sided water foundation requires 1 proper water foundation item, expanding a double sided water foundation (reinforced one) requires two.
Reinforcing
Reinforcing a water foundation means making it double sided - so it fully covers the soft side AND gives you the ability to build from the surface down, to the seabed/lakebed! To reinforce, make sure a built water foundation is fully repaired, and them hit it with a hammer. If you have a required water foundation item in your inventory, it will be consumed and the foundation will be reinforced: you will see another floor with floatation barrels attached upside down. If you try to expand a reinforced foundation (by attaching a floor at the bottom, reinforced side) and there's no water foundation above it (normal orientation), it will try to create one, provided you have enough items in your inventory. Reinforcements (upside down water foundations) are always associated with the water foundation they're attached to and cannot exist on their own - if you destroy the water foundation, its reinforcement will be destroyed too. However, destroying the reinforcement will not destroy is water foundation.
Upgrading Water base structures
Building blocks inside your water bases have certain tier limits associated with them - it's to help balance things out. By default, non-VIP and non-admin players will be able to upgrade water foundations to sheet metal tier, floor frames and wall frames to stone tier, and everything else (including walls, floors and reinforcement foundations) to wood tier. You can easily decide which permission profile has which max tier (per type of building block) in the config.
Water Base exclusive features
Because water foundations are treated as floors with the stability of a foundation, you can place roofs at "ground level", which is not possible with normal foundations! Similarly, you can leave a "hole" where a water foundation would be and place a floor frame with a hatch instead - now you can enter your base from the bottom, underwater! Reinforcing a water foundation means you'll be able to build down from the surface to the bottom of the water to create extra layers of protection, or... Nettings deployed in wall frames underwater will collect random junk items with editable loot tables, including fish and diving equipment! This feature is heavily configurable and can even be disabled. But also Sharks! Read just below.
NEW IN 1.0.5: Beware the Netting Sharks!
If enabled, Sharks will randomly spawn around Nettings underwater. Especially ones that have accumulated a lot of items, but only if there's at least 1 player within the distance of 100 meters from the Netting. As soon as the first item is caught in an empty Netting, a random silent timer will be set. Every additional item spawning reduces the timer left by a certain percentage (default by 8%). When it hits 0, AND local/global Netting Shark population limits haven't yet been reached (all in the config), a Shark will spawn somewhere near that Netting. The sharks have a configurable aggro distance and multipliers for speed and health. They will linger around the position of the netting that attracted them and try to pursue anyone in sight. Harvesting a Netting Shark corpse with a proper tool will yield some free items from its entrails - by default 5 times more than you'd normally get from a netting full of items from the default loot tables. Of course the default Shark loot tables in the config are, just like the Netting loot tables, completely configurable - check the config section below.
All in all, it's like any other base... just on water, without annoying seafloor supports.
The stability of the water foundation is always 100% and goes down the higher you built. The stability of a reinforcement foundation also starts at 100% and goes down the deeper towards the seafloor you build. All the decaying things (walls, floors, doors etc) will require appropriate upkeep materials in the Tool Cupboard. Structures can be repaired, demolished, upgraded and removed using plugins. Bases can be raided, taken over or left to decay.
Water Bases Permissions (Oxide.Grant user YourName [permission name starting with waterbases.])
By default, the plugin generates 3 permission profiles in the config - one for admins, one for normal players with no specific permissions (default) and one for VIP. More on permission profiles and config values they can handle can be found in the section Advanced Config. Unless you have added more permission profiles, only these two below are going to be used by your config:
waterbases.admin
Holders of the admin permission will also be able to run the /wb_cfg, /give_square and /give_triangle commands. Also, by default, they will be associated with the permission profile that has no limits on placing water foundations.
waterbases.vip1
Holders of this permission will follow settings and limits associated with with that permission profile. The permissions below are also registered, but not used by default. To use them, just create some permission profiles with those permissions as the key.
waterbases.vip2 waterbases.vip3 waterbases.vip4 waterbases.vip5
Admin chat commands (must have ownerid/moderatorid/waterbases.admin permission)
/give_square [optional arg: amount of items to receive] Will give the player a given amount of square-shaped water foundations. If no amount is provided, only 1 will be received. /give_triangle [optional arg: amount of items to receive] Will give the player a given amount of triangle-shaped water foundations. If no amount is provided, only 1 will be received. /draw_cargo This will draw a "bubble" (only for you, not every player) around every path node, and the bubble's radius will be taken from your config. If a player tries building inside one of these bubbles, they might get a warning or get prevent from doing so (because cargo ship destroys all structures in its way). Useful to visualise where your players can and cannot build, based on the cargo ship path. /shore_distance This will show you the current distance from the shore, to help you decide how close to/far from the shore to allow players to build. The unit used by Rust to measure shore distance is not in meters, it's something roughly equivalent to 1/10th of a map grid length. Mind you though, it's based off of the map's topology, so it should be fine on procgens, but if you have a custom map without topology layers reflecting the actual shoreline, you might want to disable relying on shore distance in your config. Admin console / chat command
This command will work both from the chat (in that case, prefix it with a forward slash / ) and the console, (F1 or server/RCON console). Running this command as a player will require the waterbases.admin permission for players that are not moderatorid/ownerid enabled.
wb.give [square/triangle] [partial player name or full steam ID] If a player executes it in the chat or console in-game and they don't specify a recipient, it will be given to the player executing this command. Executing from the server console requires specifying the player.
Configuration (oxide/config/WaterBases.json and /wb_cfg chat command)
Vast majority of the settings can be configured with the /wb_cfg chat command. Typing it in the chat with no parameters should dump a rundown of config fields and their values. In order to run any of the config commands, you will need to have ownerid or moderatorid (or the waterbases.admin permission).
/wb_cfg RelyOnShoreDistance [logical values (true or false)] /wb_cfg GlobalOceanLevelCheckBeforePlacing [logical values (true or false)] /wb_cfg GlobalOceanLevelBaseline [fractions (like 1.2345) between -1000.00 and 1000.00] /wb_cfg CargoShipPathHandling ["Warn", "Prevent" or "None"] /wb_cfg MinDistanceFromCargoShipNode [fractions (like 1.2345) between 0.00 and 10000.00] /wb_cfg UnderwaterNetsCollectJunk [logical values (true or false)] /wb_cfg UnderwaterNetsRandomTimerMin [fractions (like 1.2345) between 0.00 and 10000.00] /wb_cfg UnderwaterNetsRandomTimerMax [fractions (like 1.2345) between 0.00 and 10000.00] /wb_cfg UnderwaterNetsItemLimit [integers (like 12345) between 0 and 100] /wb_cfg UnderwaterNetsSpawnSharks [logical values (true or false)] /wb_cfg UnderwaterNetsSharkRandomTimerMin [fractions (like 1.2345) between 1.00 and 100000.0] /wb_cfg UnderwaterNetsSharkRandomTimerMax [fractions (like 1.2345) between 1.00 and 100000.0] /wb_cfg UnderwaterNetsSharkTimerShortenByPercent [fractions (like 1.2345) between 1.00 and 100000.0] /wb_cfg UnderwaterNetsSharkSpawningMinDistance [fractions (like 1.2345) between 2.00 and 100000.0] /wb_cfg UnderwaterNetsSharkSpawningMaxDistance [fractions (like 1.2345) between 2.00 and 100000.0] /wb_cfg UnderwaterNetsSharkPopulationLimitLocal [integers (like 12345) between 0 and 1000] /wb_cfg UnderwaterNetsSharkPopulationLimitGlobal [integers (like 12345) between 0 and 1000] /wb_cfg UnderwaterNetsSharkSleepDespawnTimer [fractions (like 1.2345) between 2.00 and 100000.0] /wb_cfg UnderwaterNetsSharkHealthMultiplier [fractions (like 1.2345) between 0.001 and 100.0] /wb_cfg UnderwaterNetsSharkSpeedMultiplier [fractions (like 1.2345) between 0.001 and 100.0] /wb_cfg UnderwaterNetsSharkAggroRange [fractions (like 1.2345) between 0.001 and 100.0] /wb_cfg SharkHarvestingLootEnabled [logical values (true or false)] /wb_cfg GuiNEW1AnchorMinX [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW2AnchorMinY [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW3AnchorMaxX [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW4AnchorMaxY [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW5OffsetMinX [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW6OffsetMinY [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW7OffsetMaxX [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiNEW8OffsetMaxY [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiTextSize [integers (like 12345) between 0 and 100] /wb_cfg GuiButtonColor [hexadecimal numbers WITHOUT preceding # (like 3db4b3)] /wb_cfg GuiTextColor [hexadecimal numbers WITHOUT preceding # (like 3db4b3)] /wb_cfg GuiButtonAlpha [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg GuiTextAlpha [fractions (like 1.2345) between 0.00 and 1.00] /wb_cfg EnableBarrelEntities [logical values (true or false)]
Advanced config (only editable through oxide/config/WaterBases.json) Water foundation crafting cost
Here you can adjust how much it costs to craft water foundations. Make it more expensive, less expensive, or add/remove required materials. The cost will stay the same for all permission profiles. A full list of short names for items can be found at https://www.corrosionhour.com/rust-item-list/
"CraftingCostSquare": [ { "Shortname": "wood", "Amount": 100 }, { "Shortname": "metal.fragments", "Amount": 200 } ], "CraftingCostTriangle": [ { "Shortname": "wood", "Amount": 50 }, { "Shortname": "metal.fragments", "Amount": 100 } ], Shortname should belong to one of the available items in-game. The amount should be a whole number larger than 0 and smaller than the limit of a signed 32-bit integer (2 147 483 647).
Permission profiles
Using profiles you can quickly create/edit different permissions for different players, for example, if you have more than 1 VIP tier on your server - just add some new profiles. Different players can have different limits and permissions associated with building water bases. To check which permission profile the player should fall under, the plugin goes through all permission profiles and checks whether the player has that permission granted. The permissions are checked in order, meaning that if the player doesn't have the first permission, it will try the next permission on the list, etc (similar to how Auto Kits checks which kit to give to a player based on their permissions in order). If the player doesn't have any permissions from the list granted, they will fall back to the "default" profile. That's the only one that you shouldn't remove! If you remove it, a new one with default values will be created. So if you don't want your default, non-VIP players to build water bases, don't remove the default profile, just take away privileges in that profile (like deploying/expanding/reinforcing). You don't have to use the built-in VIP permissions - any permission from any plugin will do just fine! By default, three permission profiles are generated in the config: default, waterbases.admin and waterbases.vip1. The default permission profile will apply to any player who doesn't have any permissions listed in the profile list - let's have a look at it:
"PermissionProfiles": { "default": { "PermissionRequired": "default", "MaxBuildingGradeGeneric": "Wood", "MaxBuildingGradeFrames": "Stone", "MaxBuildingGradeWaterFoundations": "Metal", "WaterDepthMin": 2.0, "WaterDepthMax": 100.0, "MaxWaterFoundationsPerBuilding": 25, "MinDistanceFromOilrig": 200.0, "MinDistanceFromShore": 2.0, "MaxDistanceFromShore": 20.0, "CanDeployWaterFoundations": true, "CanReinforceWaterFoundations": true, "CanExpandWaterFoundations": true, "CanExpandReinforcedFoundations": true, "CanCraftWaterFoundations": true, "RequireMaterialsForCrafting": true, "WorkbenchLevelRequired": 2.0, "CanDeployUnderwaterNets": true, }
PermissionRequired should contain an already existing permission registered by any plugin in the form of pluginname.permissionname MaxBuildingGradeGeneric, MaxBuildingGradeFrames andMaxBuildingGradeWaterFoundations define the highest allowed grade for a particular part of a water base. Generic means anything that's not a water foundation or a door/floor frame (that includes normal floors, walls, half walls, and inverse foundations). For those 3 settings, the accepted options are "Twigs", "Wood", "Stone", "Metal" or "TopTier". Set all of them to "TopTier" if you don't want any tier limits on water bases. WaterDepthMin and WaterDepthMax define the allowed range for water depth when placing water foundations - to make sure that certain players are not building in water that is too shallow/too deep. The unit meters. MaxWaterFoundationsPerBuilding is what it sounds like it will prevent a player under this permission profile from adding more water foundations to a water base, limiting their size. Set to a large value like 100000 for virtually no limits. MinDistanceFromOilrig will define the minimum distance from the closest oilrig (in meters) that has to be respected before placing a water foundation down. Decrease to let players build closer, increase to make them build farther away. MinDistanceFromShore and MaxDistanceFromShore both rely on your map topology. If you're sure that you're quite close to the shore, but the /shore_distance command shows you ridiculous values, it means your map does not have the topology map painted properly (contact the map dev and let them know!). In that case, you should set the RelyOnShoreDistance option in the config to false and instead rely on water depth (if shore distance is enabled, it will rely on both). The unit here is not a meter, but roughly 1/10th of a map grid (around 15 meters). CanDeployWaterFoundations if set to true, will allow players using this profile to deploy newly started foundations (using the doughnut guide, provided they have a properly shaped water foundation item to be consumed). CanReinforceWaterFoundations if set to true, will allow players using this profile to reinforce water foundations by hitting them with a hammer (provided they have a properly shaped water foundation item to be consumed). CanExpandWaterFoundations if set to true, will allow players using this profile to build more water foundations upon already existing ones by placing neighboring floors with their building plan (provided they have a properly shaped water foundation item to be consumed). CanExpandReinforcedFoundations if set to true, will allow players using this profile to attach a floor to the side of a reinforcement foundation - and as long as they have 2 water foundation items in their inventory, they will expand that reinforced foundation along with its water foundation. CanCraftWaterFoundations if set to true, will allow players using this profile to craft water foundations using a GUI in the bottom-right (showing while a Building Plan is equipped). Profiles with this setting set to false won't display those GUIs and players will have to find other ways of obtaining water foundations (loot, kits, server rewards etc). RequireMaterialsForCrafting if set to true, players using this profile will need to have required crafting materials in their inventory when trying to craft a Water Foundation. If set to false, the player will be able to craft an infinite amount of water foundations for free, so use them with caution. WorkbenchLevelRequired Set to 0.0 (no workbench nearby required), 1.0 (Level 1 required), 2.0 (Level 2 required) or 3.0 (Level 3 required) for crafting Water Foundations. CanDeployUnderwaterNets if set to true, players will be able to deploy nettings in underwater wall frames. Those settings will slowly accumulate underwater junk items if the feature is enabled on your server - look below for the loot table configuration.
Underwater junk & Netting Shark loot tables
If you have not disabled underwater nets collecting junk, this is where you can adjust the kind and rarity of certain items. You can even remove entries and add your own, including a custom skin and item name! A "loot table" is perhaps not the right term, as the list contains individual chances of a "caught" item being of a particular kind. There can be only 1 item caught at a time, and the table defines random weights for every possible entry. The larger the weight (compared to the sum of all weights), the bigger chance of encountering a particular item. So if you have 10 entries and each of them have a weight of 1, each item will have an equal 10% chance of being one of the random entries in the list (as the weights sum up to 10). Thus you can have some items really common, and some of them really rare. Here are 2 sample entries from the list:
{ "Shortname": "innertube", "CustomName": null, "SkinID": 2484982352, "RandomChanceWeight": 1.0, "MinRandomAmount": 1, "MaxRandomAmount": 1 }, { "Shortname": "innertube", "CustomName": null, "SkinID": 2485021365, "RandomChanceWeight": 1.0, "MinRandomAmount": 1, "MaxRandomAmount": 1 },
Shortname is the most important bit - make sure it's correct! You can find a link to a full list of those names above. CustomName lets you give items caught in the netting different names. You can leave that null to leave a default item name. In this example, the two items are water foundations - the proper name for those items will be applied automatically by the plugin anyway. Whatever you type there, make sure to encompass it in quotes, like "CustomName": "My Custom Item Name" if it's not null! SkinID is pretty self-explanatory - it's the long number in the URL of a Steam Workshop item. By default, it's 0 (no skin). RandomChanceWeight lets you decide the item's rarity when spawning - relative to the rarity of other items. Increase or decrease this number (it can be fractional) to make the item more or less rare. MinRandomAmount and MaxRandomAmount are what they sound like - they should both be larger than 0 (whole numbers) and when that particular item is caught, the stack will contain an amount between these two numbers.
Translation support (oxide/lang/en/WaterBases.json)
Almost every string the players see, including names for the water foundation items and messages displaying in the chat and the GUI, can be edited. Just load the plugin and let it generate the file - after you edit it, reload the plugin.
-
ExtraEvents
ExtraEvents can run multiple different and custom competitive events for players to win prizes; each event is highly configurable including chat/GameTip messages & items, commands, and/or kits rewards for one or more winners; regularly optimized to be as lightweight & efficient as possible; additional events and features planned.
The configuration may seem long but it's simply repetitive to allow for greater customization. ExtraEvents comes out of the box running a random event every 1-2 hours with a scrap reward of 100 for the top player! Custom events and rewards can be added.
Join my Discord for support and updates: https://discord.gg/teSffnDQ7N
Events Included
AnimalAnnihilation - Kill animals to win! BarrelBreakers - Break barrels to win! BotBash - Kill bots to win! CrateClash - Loot crates to win! FishingFrenzy - Catch fish to win! OreWar - Mine ore nodes to win! PlayerBattle – Kill players to win! ResourceRumble - Collect resources to win! RoadsignRun – Destroy roadsigns to win! TreeTrimmers - Chop trees to win! TunnelTussle – Kill tunnel dwellers to win! UnderwaterWar – Kill underwater lab scientists to win! Additional Events Included
HighQualBrawl - Collect high quality metal ore at 3x (configurable) the normal rate MetalMash - Collect metal ore at 3x (configurable) the normal rate ResourceRun - Collect resources at 2x (configurable) the normal rate! StoneSmash - Collect stones at 3x (configurable) the normal rate SulfurSpree - Collect sulfur ore at 3x (configurable) the normal rate WoodWhirl - Collect wood at 3x (configurable) the normal rate Custom Events Can Be Added!
Permissions
extraevents.admin Admin Commands (Console & Chat) (requires extraevents.admin permission)
extraevents start - Start random event manually (regardless of Minimum Players Online) [/extraevents start] extraevents start EventName - Start event manually (case sensitive (uses default EventNames, not DisplayNames)) [/extraevents start EventName] extraevents end - End current event [/extraevents end] Player Chat Commands
/extraevents ui - Toggle the UI visibility /extraevents image - Toggle event image visiblity independent from UI ADD CUSTOM EVENTS
"BoarBrawl": { "Enable Event": true, "Event Name": "BoarBrawl", "Event Description": "Kill boar to win!", "Event Type (destroy, loot, collect, dispense, fish)": "destroy", "Event Length (seconds)": 600, "Event Entities": [ "boar" ], "Enable Event Permission": false, "Event Permission": "extraevents.boarbrawl", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] } Add extra winner positions to each event by adding to the Event Reward(s) [] group and extra Rewards by adding to the Item(s) [], Command(s) [], and Kits[] groups.
Example (First winner receives 100 Scrap, 1 Pookie, and 10,000 RP. Second winner receives 5,000 RP and Farm Kit)
"Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "{player_name} scored first place in the {event_name} event with {points_scored} points and won {rewards_list}!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Pookie", "Item Shortname": "pookie.bear", "Item Skin ID": 0, "Item Amount": 1 }, { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": true, "Command Probability %": 100, "Command Display Name": "10,000 RP", "Command": "sr add {player.id} 10000" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] }, { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "{player_name} scored second place in the {event_name} event with {points_scored} points and won {rewards_list}!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": false, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": true, "Command Probability %": 100, "Command Display Name": "5,000 RP", "Command": "sr add {player.id} 5000" } ], "Kit(s) (plugin required)": [ { "Enable Kit": true, "Kit Probability %": 100, "Kit Display Name": "Farm Kit", "Kit": "farmkit" } ] } ] FAQ
Q: Is there a limit to the number of custom events I can create?
Add as many custom events as you want! All custom "Event Types" and "Additional Event Types" must have a unique identifier (EX: "OreWar_Metal", "ResourceRumble_Stones", "ScarecrowSniper", etc.), must use the correct "Event Type" (EX: "dispense", "collect", "destroy", etc.), and must target the appropriate "Event Entities" (EX: "metal.ore", "stones", "scarecrow", etc.)
Q: Can I add custom Additional Event Types?
Yes! Same as the "Event Types" you can have as many "Additional Event Types" as you'd like, so long as they have a unique identifier (EX: "ResourceRun_Stones", etc.), use the correct "Event Type" (EX: "multiply"), and target the appropriate "Event Entities" (EX: "metal.ore", "stones", etc.)
Q: Is there a limit to the number of reward positions?
Nope, the sky is the limit! The plugin will automatically read any reward position you add to the Event Reward(s)[] group. Give rewards to the top 100 players if you want.
Q: Is there a limit to the number of items, commands, kits, etc. each player can win?
Again the sky is the limit! The plugin will read each item[], command[], kit[], etc. you add to the reward position as long as it is valid and enabled. Invalid items, commands, kits, etc. will be attempted and skipped on failure.
Q: Can I remove an entire event from the config file if I'm not using it?
No, if you remove an entire event from the configuration file it will re-add that event in its default state on reload. Use "Enable Event": false, to completely disable specific events.
Q: What is the ExtraEvents.data file? What does it do? Why can't I read it? Can I delete it?
The ExtraEvents.data file simply stores PlayerIDs for players who have disabled their event UIs & images and that is all. ExtraEvents uses an efficient ProtoBuf method of saving data to optimize performance (originally created by Google) which saves this file in binary and is why your average reader cannot compile it. If you delete the ExtraEvents.data file it will enable the UI and images for all of your players and they would have to disable it again manually.
Q: What is (r g b a)?
(r g b a) stands for (red green blue alpha[opacity]) and is a way of formatting colors, specifically for UI elements in our case. You can convert HEX (#FF0000) to RGBA (255 0 0 1.0) using online guides. Support for HEX and English colors coming soon. https://www.w3schools.com/colors/colors_hexadecimal.asp
Q: Can I add multiple images per event?
Sure, it will display any image you have in the Event Image(s)[] group.
Default Config
{ "General Options": { "Chat Prefix": "<color=purple>ExtraEvents:</color>", "Chat Icon (Steam64 ID)": 76561199519603325, "Minimum Players Online to Automatically Start Random Event": 3, "Auto Random Event Start Time Min (seconds)": 3600, "Auto Random Event Start Time Max (seconds)": 7200, "Enable Console Messages": true, "Enable Log File": true, "Chat Command": "extraevents", "Admin Permission": "extraevents.admin", "All Events Permission (optional, overrides individual event permissions if enabled)": "extraevents.all" }, "Event Types": { "AnimalAnnihilation": { "Enable Event": true, "Event Name": "AnimalAnnihilation", "Event Description": "Kill animals to win!", "Event Type (destroy, loot, collect, dispense, fish)": "destroy", "Event Length (seconds)": 600, "Event Entities": [ "chicken", "stag", "boar", "wolf", "bear", "polarbear" ], "Enable Event Permission": false, "Event Permission": "extraevents.animalannihilation", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "BarrelBreakers": { "Enable Event": true, "Event Name": "BarrelBreakers", "Event Description": "Break barrels to win!", "Event Type (destroy, loot, collect, dispense, fish)": "destroy", "Event Length (seconds)": 600, "Event Entities": [ "loot-barrel-1", "loot-barrel-2", "loot_barrel_1", "loot_barrel_2", "oil_barrel" ], "Enable Event Permission": false, "Event Permission": "extraevents.barrelbreakers", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "BotBash": { "Enable Event": true, "Event Name": "BotBash", "Event Description": "Kill bots to win!", "Event Type (destroy, loot, collect, dispense, fish)": "destroy", "Event Length (seconds)": 600, "Event Entities": [ "Scientist", "scientistnpc_roam", "scientistnpc_patrol", "scientistnpc_junkpile_pistol", "scientistnpc_peacekeeper", "scientistnpc_excavator", "scientistnpc_full_any", "scientistnpc_full_lr300", "scientistnpc_oilrig", "scientistnpc_cargo", "scientistnpc_cargo_turret_any", "scientistnpc_cargo_turret_lr300", "scientistnpc_heavy", "scientistnpc_full_shotgun", "scarecrow", "zombie", "npc_underwaterdweller", "npc_tunneldweller" ], "Enable Event Permission": false, "Event Permission": "extraevents.botbash", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "CrateClash": { "Enable Event": true, "Event Name": "CrateClash", "Event Description": "Loot crates to win!", "Event Type (destroy, loot, collect, dispense, fish)": "loot", "Event Length (seconds)": 600, "Event Entities": [ "crate_basic", "crate_elite", "crate_normal", "crate_normal_2", "crate_normal_2_food", "crate_normal_2_medical", "crate_underwater_basic", "crate_underwater_advanced", "crate_tools", "crate_mine", "minecart", "vehicle_parts", "hiddenhackablecrate", "codelockedhackablecrate", "codelockedhackablecrate_oilrig", "supply_drop", "bradley_crate", "heli_crate", "crate_ammunition", "crate_fuel", "crate_medical", "crate_food_1", "crate_food_2", "foodbox", "loot_trash", "trash-pile-1", "tech_parts_1", "tech_parts_2", "wagon_crate_normal", "wagon_crate_normal_2", "wagon_crate_normal_2_food", "wagon_crate_normal_2_medical", "giftbox_loot", "presentdrop", "xmastunnellootbox" ], "Enable Event Permission": false, "Event Permission": "extraevents.crateclash", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "FishingFrenzy": { "Enable Event": true, "Event Name": "FishingFrenzy", "Event Description": "Catch fish to win!", "Event Type (destroy, loot, collect, dispense, fish)": "fish", "Event Length (seconds)": 600, "Event Entities": [ "fish", "fish.herring", "fish.yellow_perch", "fish.brown_trout", "fish.anchovy", "fish.sardine", "simpleshark" ], "Enable Event Permission": false, "Event Permission": "extraevents.fishingfrenzy", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "OreWar": { "Enable Event": true, "Event Name": "OreWar", "Event Description": "Mine ore nodes to win!", "Event Type (destroy, loot, collect, dispense, fish)": "dispense", "Event Length (seconds)": 600, "Event Entities": [ "sulfur.ore", "metal.ore", "stones" ], "Enable Event Permission": false, "Event Permission": "extraevents.orewar", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "PlayerBattle": { "Enable Event": true, "Event Name": "PlayerBattle", "Event Description": "Kill other players to win!", "Event Type (destroy, loot, collect, dispense, fish)": "destroy", "Event Length (seconds)": 600, "Event Entities": [ "player" ], "Enable Event Permission": false, "Event Permission": "extraevents.playerbattle", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "ResourceRumble": { "Enable Event": true, "Event Name": "ResourceRumble", "Event Description": "Collect resources to win!", "Event Type (destroy, loot, collect, dispense, fish)": "collect", "Event Length (seconds)": 600, "Event Entities": [ "sulfur.ore", "metal.ore", "hq.metal.ore", "stones", "wood", "cloth", "leather" ], "Enable Event Permission": false, "Event Permission": "extraevents.resourcerumble", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "RoadsignRun": { "Enable Event": true, "Event Name": "RoadsignRun", "Event Description": "Destroy roadsigns to win!", "Event Type (destroy, loot, collect, dispense, fish)": "destroy", "Event Length (seconds)": 600, "Event Entities": [ "roadsign1", "roadsign2", "roadsign3", "roadsign4", "roadsign5", "roadsign6", "roadsign7", "roadsign8", "roadsign9" ], "Enable Event Permission": false, "Event Permission": "extraevents.roadsignrun", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "TreeTrimmers": { "Enable Event": true, "Event Name": "TreeTrimmers", "Event Description": "Chop trees to win!", "Event Type (destroy, loot, collect, dispense, fish)": "dispense", "Event Length (seconds)": 600, "Event Entities": [ "wood" ], "Enable Event Permission": false, "Event Permission": "extraevents.treetrimmers", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "TunnelTussle": { "Enable Event": true, "Event Name": "TunnelTussle", "Event Description": "Kill tunnel dwellers to win!", "Event Type (destroy, loot, collect, dispense, fish)": "destroy", "Event Length (seconds)": 600, "Event Entities": [ "npc_tunneldweller" ], "Enable Event Permission": false, "Event Permission": "extraevents.tunneltussle", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] }, "UnderwaterWar": { "Enable Event": true, "Event Name": "UnderwaterWar", "Event Description": "Kill underwater lab scientists to win!", "Event Type (destroy, loot, collect, dispense, fish)": "destroy", "Event Length (seconds)": 600, "Event Entities": [ "npc_underwaterdweller" ], "Enable Event Permission": false, "Event Permission": "extraevents.underwaterwar", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event Leaderboard": { "Enable Leaderboard UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center", "UI Player List Text Alignment (left, right, center)": "center", "UI Pending Participation Message": "No one has played... yet." }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended.", "No Participants": "No one participated in the <color=purple>{event_name}</color> event", "Multiple Winners Notification Delay (seconds)": 4.0 }, "Event Reward(s)": [ { "Enable Reward": true, "Reward Probability %": 100, "Reward Notification": { "Enable Reward Notification": true, "Only Send Reward Notification To Winning Player?": false, "Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!", "Separate {rewards_list} With Commas?": true }, "Item(s)": [ { "Enable Item": true, "Item Probability %": 100, "Item Display Name": "Scrap", "Item Shortname": "scrap", "Item Skin ID": 0, "Item Amount": 100 } ], "Command(s)": [ { "Enable Command": false, "Command Probability %": 100, "Command Display Name": "VIP Role", "Command": "oxide.usergroup add {player.id} vip" } ], "Kit(s) (plugin required)": [ { "Enable Kit": false, "Kit Probability %": 100, "Kit Display Name": "PVP Kit", "Kit": "pvpkit" } ] } ] } }, "Additional Event Types": { "HighQualBrawl": { "Enable Event": true, "Event Name": "HighQualBrawl", "Event Description": "Collect high quality metal ore at 3x the normal rate!", "Event Type (multiply)": "multiply", "Event Length (seconds)": 600, "Event Multiplier": 3.0, "Event Entities": [ "hq.metal.ore" ], "Enable Event Permission": false, "Event Permission": "extraevents.highqualbrawl", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event UI": { "Enable UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center" }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended." } }, "MetalMash": { "Enable Event": true, "Event Name": "MetalMash", "Event Description": "Collect metal ore at 3x the normal rate!", "Event Type (multiply)": "multiply", "Event Length (seconds)": 600, "Event Multiplier": 3.0, "Event Entities": [ "metal.ore" ], "Enable Event Permission": false, "Event Permission": "extraevents.metalmash", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event UI": { "Enable UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center" }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended." } }, "ResourceRun": { "Enable Event": true, "Event Name": "ResourceRun", "Event Description": "Collect resources at 2x the normal rate!", "Event Type (multiply)": "multiply", "Event Length (seconds)": 600, "Event Multiplier": 2.0, "Event Entities": [ "sulfur.ore", "metal.ore", "hq.metal.ore", "stones", "wood", "cloth", "leather" ], "Enable Event Permission": false, "Event Permission": "extraevents.resourcerun", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event UI": { "Enable UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center" }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended." } }, "StoneSmash": { "Enable Event": true, "Event Name": "StoneSmash", "Event Description": "Collect stones at 3x the normal rate!", "Event Type (multiply)": "multiply", "Event Length (seconds)": 600, "Event Multiplier": 3.0, "Event Entities": [ "stones" ], "Enable Event Permission": false, "Event Permission": "extraevents.stonesmash", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event UI": { "Enable UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center" }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended." } }, "SulfurSpree": { "Enable Event": true, "Event Name": "SulfurSpree", "Event Description": "Collect sulfur ore at 3x the normal rate!", "Event Type (multiply)": "multiply", "Event Length (seconds)": 600, "Event Multiplier": 3.0, "Event Entities": [ "sulfur.ore" ], "Enable Event Permission": false, "Event Permission": "extraevents.sulfurspree", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event UI": { "Enable UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center" }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended." } }, "WoodWhirl": { "Enable Event": true, "Event Name": "WoodWhirl", "Event Description": "Collect wood at 3x the normal rate!", "Event Type (multiply)": "multiply", "Event Length (seconds)": 600, "Event Multiplier": 3.0, "Event Entities": [ "wood" ], "Enable Event Permission": false, "Event Permission": "extraevents.woodwhirl", "Show UI And Notifications To Players Without Event Permission?": false, "Event Image(s)": [ { "Enable Image": true, "Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg", "Image Transparency (0.0 - 100.0)": 75.0, "Image Anchors Min (x y)": "0.8 0.2", "Image Anchors Max (x y)": "0.83 0.245" } ], "Event UI": { "Enable UI": true, "UI Anchors Min (x y)": "0.695 0.025", "UI Anchors Max (x y)": "0.83 0.1975", "UI Background Color (r g b a)": "255 255 255 0.2", "UI Text Color (r g b a)": "255 255 255 1.0", "UI Text Outline Color (r g b a)": "0 0 0 0.25", "UI Text Alignment (left, right, center)": "center" }, "Event Notifications": { "Enable Chat Notifications": true, "Event Chat Prefix": "", "Event Chat Icon (Steam64 ID)": 0, "Enable GameTip Notifications": false, "GameTip Style (info OR alert OR error)": "info", "GameTip Duration (seconds)": 3.0, "Enable Event Upcoming Notification": false, "Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30, "Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>", "Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>", "Event Ending": "The <color=purple>{event_name}</color> event has ended." } } }, "Version": { "Major": 1, "Minor": 10, "Patch": 2 } }
-
Ganja
By The_Kiiiing in Plugins
This plugin allows players to gather weed from hemp plants and craft joints using a mixing table. There are different types of weed where each type can be found in a different biome. Joints can be crafted at a mixing table and will give the player configurable buffs and healing with each tier having different effects.
Features:
Fully customizable Different types of weed Configurable effects for each type Custom crafting UI integrates in the mixing table UI Configurable recipes for mixing table Yield amount and chance configurable for each type Ideal for Roleplay Servers
New in v2.0.10: Give command
Server owners can use this command to give weed or joints to themselves or a certain player. The identifier has to be specified in the config file for every type of weed or joint.
ganja.give <weed|joint> <identifier> <amount> <player?>
Permission:
ganja.give - Required to use ganja.give command
New in v2.0.0: Fully configurable crafting:
With Version 2.0.0 the crafting system has been integrated in the mixing table. Joints can now be crafted by using the right ingredients in the right slot. The crafting recipes are fully configurable. New recipes can also be added.
New in v1.0.8: Loot Table integration:
This plugin now supports the custom item api of Loot Table and Stack Size GUI, so you can easily add weed to the loot table. When both plugins are installed on the server, the weed items will show up in the custom items tab of Loottable (right image):
Different tiers:
Depending on the biome, you will receive different tiers of weed, the biomes can also be changed in the config. By default, tier2 weed can be gathered in the snow biome, tier1 in the desert and tier0 everywhere else.
Names, droprates, and boosts can also be configured individually for each tier.
Controls:
With a joint selected in the hot bar:
Right click to ignite / extinguish a joint When joint is bruning: left click to use a joint
Permissions:
Permissions can be disabled in the config, making gathering and crafting accessible to everyone regardless of permissions.
ganja.craft - Required to craft joints ganja.gather - Required to obtain weed
Biome masks:
The biome mask is a simple 4-bit number that determines where a certain tier of weed can be found. Each biome has its own number; add these numbers together to select multiple biomes. The numbers for each biome are as follows:
1 - Arid 2 - Temperate 4 - Tundra 8 - Arctic For example: Low Quality Weed has the biome mask 6 by default (see configuration below). That means it can be found in the Temperate and the Tundra biome.
Configuration:
{ "Weed configuration": [ { "Drop chance when harvesting (1 = 100%)": 0.4, "Drop amount when harvesting": { "min": 1, "max": 3 }, "Biome mask (see description for details)": 6, "Custom item name (null = default name)": "Low Quality Weed", "Item short name": "sticks", "Item skin id": 2661029427 }, { "Drop chance when harvesting (1 = 100%)": 0.3, "Drop amount when harvesting": { "min": 1, "max": 3 }, "Biome mask (see description for details)": 1, "Custom item name (null = default name)": "Medium Quality Weed", "Item short name": "sticks", "Item skin id": 2661031542 }, { "Drop chance when harvesting (1 = 100%)": 0.1, "Drop amount when harvesting": { "min": 1, "max": 2 }, "Biome mask (see description for details)": 8, "Custom item name (null = default name)": "High Quality Weed", "Item short name": "sticks", "Item skin id": 2660588149 } ], "Crafting Recipes": [ { "Ingredient Slots": { "0": { "Amount": 1, "Item short name": "note", "Item skin id": 0 }, "1": { "Amount": 1, "Item short name": "sticks", "Item skin id": 2661029427 }, "2": { "Amount": 1, "Item short name": "sticks", "Item skin id": 2661029427 } }, "Produced Item": { "Custom item name (null = default name)": "Low Quality Joint", "Item short name": "horse.shoes.basic", "Item skin id": 2894101592 }, "Is joint": true, "Boosts (only works for joints)": { "Wood boost percentage (1 = 100%)": 0.4, "Wood boost duration (seconds)": 20.0, "Ore boost percentage (1 = 100%)": 0.0, "Ore boost duration (seconds)": 0.0, "Scrap boost percentage (1 = 100%)": 0.0, "Scrap boost duration (seconds)": 0.0, "Max Health percentage (1 = 100%)": 0.0, "Max Health duration (seconds)": 0.0, "Healing per use": 1.0 } }, { "Ingredient Slots": { "0": { "Amount": 1, "Item short name": "note", "Item skin id": 0 }, "1": { "Amount": 1, "Item short name": "sticks", "Item skin id": 2661031542 }, "2": { "Amount": 1, "Item short name": "sticks", "Item skin id": 2661031542 } }, "Produced Item": { "Custom item name (null = default name)": "Medium Quality Joint", "Item short name": "horse.shoes.basic", "Item skin id": 2894101290 }, "Is joint": true, "Boosts (only works for joints)": { "Wood boost percentage (1 = 100%)": 0.0, "Wood boost duration (seconds)": 0.0, "Ore boost percentage (1 = 100%)": 0.8, "Ore boost duration (seconds)": 20.0, "Scrap boost percentage (1 = 100%)": 0.0, "Scrap boost duration (seconds)": 0.0, "Max Health percentage (1 = 100%)": 0.0, "Max Health duration (seconds)": 0.0, "Healing per use": 4.0 } }, { "Ingredient Slots": { "0": { "Amount": 1, "Item short name": "note", "Item skin id": 0 }, "1": { "Amount": 1, "Item short name": "sticks", "Item skin id": 2660588149 }, "2": { "Amount": 1, "Item short name": "sticks", "Item skin id": 2660588149 } }, "Produced Item": { "Custom item name (null = default name)": "High Quality Joint", "Item short name": "horse.shoes.basic", "Item skin id": 2893700325 }, "Is joint": true, "Boosts (only works for joints)": { "Wood boost percentage (1 = 100%)": 0.0, "Wood boost duration (seconds)": 0.0, "Ore boost percentage (1 = 100%)": 0.0, "Ore boost duration (seconds)": 0.0, "Scrap boost percentage (1 = 100%)": 1.0, "Scrap boost duration (seconds)": 30.0, "Max Health percentage (1 = 100%)": 0.3, "Max Health duration (seconds)": 30.0, "Healing per use": 8.0 } } ], "Require permission for crafting": true, "Require permission for gathering": true, "Disable built-in stack fix (set to true if you have problems with item stacking/splitting)": false } -
Static Lootables
By Raul-Sorin Sorban in Plugins
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.
-
DTags
Rewards Dog tags to players when they kill players, NPCs, including Bradley and animals.
Customizable for color and amount of tags as well as if they drop into player death bags or into the killers inv. (PVP)
Adds players name to the tags (PVP).
Permissions:
- dtags.use - Allows players to receive tags.
- dtags.red - Forces players to drop red tags (use with teams/clans for events ect.)
- dtags.blue - Forces players to drop blue tags (use with teams/clans for events ect.)
- dtags.silver - Forces players to drop silver tags (use with teams/clans for events ect.)
Default Config:
{ "Options": { "Player dog tags drop in body bag": true, "Player names on tags": true, "Use team tags": true }, "Rewards": { "Bradley reward tags": true, "Heli reward tags": true, "Animal reward tags": true, "Scientist/Human NPC reward tags": true }, "Colors": { "Player dog tags. (Blue / Red / Silver)": "Silver", "Animal dog tags. (Blue / Red / Silver)": "Red", "Scientists dog tags. (Blue / Red / Silver)": "Red", "Heavy Scientist dog tags. (Blue / Red / Silver)": "Red", "Tunnel Dweller dog tags. (Blue / Red / Silver)": "Red", "Attack Heli dog tags. (Blue / Red / Silver)": "Red", "Bradley dog tags. (Blue / Red / Silver)": "Red" }, "Amounts": { "Dog tags from Players. (Default is 1)": 1, "Dog tags from animals. (Default is 1)": 1, "Dog tags from Scientists. (Default is 1)": 1, "Dog tags from Heavy Scientists. (Default is 1)": 1, "Dog tags from Tunnel Dwellers. (Default is 1)": 1, "Dog tags from Attack Heli. (Default is 1)": 1, "Dog tags from Bradley. (Default is 1)": 1 } }
Other information:
Comments, suggestions or for support message me here or on Discord: gt403cyl2