Search the Community
Showing results for tags 'rust'.
-
Version 1.0.5
83 downloads
Introducing WoundedNPC — where NPCs don't just die; they make a scene! Watch in amusement as your NPCs go from tough guys to crybabies, collapsing and crying out in pain. They'll lie there, whining and wailing, giving you a show worth watching! Perfect for adding a touch of humor to your Rust world. Your NPCs will now collapse similar to players, with customizable scream (or other sound of your choice!) with a configurable chance to get back up for a second chance. Get ready for the most entertaining and theatrical NPC deaths ever with WoundedNPC! Features: NPCs will enter a wounded state Configurable % chance for them to get back up Configurable wounded timer for them Configurable scream sounds Lightweight format sounds stored in data for minimal delay Automatically checks if screams listed in config exist, if not, it's downloaded. Ability to exclude specific NPCs by either prefab path, or partial name matching (useful to exclude zombies or any other NPC which you wish to die immediately) Notes: Dependency plugin - TapeLibrary by Nikedemos - Included 5 scream sound files included Audio file format .ogg Mono channel (can convert mp3 to a mono .ogg here , then upload to a file host of your choice ensuring link leads directly to downloading the file) Sound Loops - worth ensuring your wounded timer is around the same length as sound files. Example config { "Enabled: ": true, // can disable the plugin features from the config if needed "Wounded timer: ": 20, // how long will the NPC stay in wounded state "Chance to die after wounded timer: ": 50, // percentage chance NPC will NOT get back up after being wounded "NPC Prefab paths to exclude: ": [], // can exclude an entire prefab path for an npc (eg for scarecrow) "Exclude NPC where their displayname contains: ": [ "Marauder", "Zombie" ], // can exclude NPCs by their full or partial display name. "Boombox Prefab Path: ": "assets/prefabs/voiceaudio/boombox/boombox.deployed.prefab", // don't need to touch unless boombox prefab path ever changes or there's a new boombox type item introduced. "Wounded Sounds URLs: ": [ "https://www.dropbox.com/scl/fi/vyhsne1efaictwl39oqgu/Scream-Medium-C1-www.fesliyanstudios.com.ogg?rlkey=7ae1rnbtwj662puo874t823y6&st=svp1qa0x&dl=1", "https://www.dropbox.com/scl/fi/j6zo85v7uuwje4scenmm3/longpain1.ogg?rlkey=7cmumo9z40no1xkdzkcwzxl36&st=gef2dhc7&dl=1", "https://www.dropbox.com/scl/fi/gb2jkxu1gxfsqjxmtum32/longpain2.ogg?rlkey=81iwgqqw9j26t7f7vfbzg1diw&st=f5s5k1to&dl=1", "https://www.dropbox.com/scl/fi/04o1ukje93tly4rjx9dvu/longpain3.ogg?rlkey=cjkv5ks97307yadnah0pvua8b&st=ns0tqygh&dl=1", "https://www.dropbox.com/scl/fi/e6ey5eqevqwey43b16xj2/longpain4.ogg?rlkey=28vksom5xd5o82rhvy5kmiaj7&st=wgo8v7ue&dl=1" ], // Direct URL to scream sound files "Enable Debug Messages: ": true // debug messages in console. Turn off to reduce spam. Turn on for troubleshooting }$16.98 -
Version 1.0.4
22 downloads
Compliment your in game economy system by allowing players to repair items using their currency. Economy Repair offers a solution that lets players repair their damaged items using in-game currency of your choice. With this plugin, your worn-out AKs, tools, and gear can be repaired through a simple new option in the repair bench, making sure you're always prepared for the next battle! Key Features: Multiple Currency Support: Use popular Rust plugins like Economics or ServerRewards to pay for repairs using your in-game currency. You can even set up custom item-based currencies for repairs! Condition Loss: Condition loss can be disabled, or the scale of it modified. VIP Discounts: Offer VIP players reduced repair costs, providing an extra incentive for premium members of your community. Customizable Repair Costs: Tailor the repair prices for different items, ensuring fair costs for everything from weapons to tools. Repair cost can be set globally, and per item. Clean UI: Enjoy a sleek almost vanilla like repair button that appears when interacting with a repair bench. Instantly know the cost to restore your item and confirm the repair with just a click. Repair Blacklist: Administrators can blacklist certain items from being repaired, maintaining control over game balance and preventing unintended item restorations. How It Works: 1. Interact with a repair bench. 2. Insert item normally into the repair bench 3. See the cost, click the repair button! Economy Repair is your perfect choice for expanding the usefulness of economy on your server. Keep your equipment in top shape without the hassle of searching through boxes to try and find the correct components. PERMISSIONS: economyrepair.use - Required to see and use the economy repair option economyrepair.VIP - Required for VIP discount feature CONFIG EXAMPLE: { "Default Max Repair Cost": 100.0, // default repair cost for all items "Reduce Durability On Repair": true, // should the item lose durability if repaired with currency? "Durability Loss Scaling Factor": 1.0, // play with this to increase/reduce how much durability is lost "Currency System (Economics, ServerRewards, Item)": "Economics", //which currency system to use "VIP Discount Percentage": 0.0, // percentage discount for players with VIP permission "Currency Item": { // If using "Item" as currency, specify item details here "ItemID": 0, "SkinID": 0, "Display Name": "Currency" }, "Custom Repair Costs": { // customize repair cost for individual items "hatchet": 50.0, "pickaxe": 75.0 }, "Repair Blacklist": [ // list of items which cannot be repaired using currency "minigun", "fuse" ], "Blacklisted SkinIDs": [ 3380502905, 987654321 ], "Debug Messages Enabled": false } LANG EXAMPLE: { "RepairCostLabel": "Economy Repair: {0} {1}", "CurrencyLabel": "$", "RepairButtonLabel": "Repair", "NoValidItem": "No valid item to repair.", "MaxDurability": "This item is already at full durability.", "NotEnoughCurrency": "You do not have enough {0} to repair this item.", "RepairSuccess": "Item successfully repaired.", "RepairFailed": "Failed to repair the item. Please try again.", "ItemBlacklisted": "This item cannot be repaired." }$9.98 -
Version 3.2.1
10,215 downloads
Gives reward payments to players for performing various in-game actions. Uses Economics, Server Rewards, or Scrap. **Although V3 is a rewrite, the original plugin was written and maintained by MalS** Thank you to MalS for the original submission and continued support. Chat Commands. /rr – Opens RustRewards UI. UI allows players to customise their notification preferences. It also allows viewing of reward and multiplier values, if that option is enabled in config. Holders of rustrewads.admin permission can use the same UI to adjust reward and multiplier values. See images. Permissions. rustrewards.adminui Enables adjustment buttons for values in UI. Players with the following permissions can earn rewards for that category. rustrewards.harvest rustrewards.kill rustrewards.open rustrewards.pickup rustrewards.activity rustrewards.welcome All reward values are 0.0 by default. All multipliers have basic default values. Reward categories. Kill Harvest Open Pickup Activity Welcome Harvesting and looting containers must be carried out to completion in order to receive the reward. Multipliers. Group Permission Weapon used Happy hour (optional) Day of the week RaidableBases (action within RB area) Zone (action within specific zone) Distance (for kill rewards) Group and permission multipliers apply to players in X group or players holding X permission. Adding group or permission names to their lists in config will automatically create that group or permission. Permissions from other plugins can also be added here, in full, without issue – eg “kits.vip” "Group_Multipliers": { "Regulars": 1.0 }, "Permission_Multipliers": { "loyalty": 10.0 }, This, for example, will register the permission 'rustrewards.loyalty', and create the group “Regulars”. General Settings UseServerDayNightHours = true UseRealTime = false UTCHourOffset = -1 DayStartHour = 8 NightStartHour = 20 Reset_Activity_Reward_At_Wipe = false Disable_All_Notifications = false, TakeMoneyfromVictim: false, LogToFile = false, LogToConsole = false HappyHour_BeginHour: 17, HappyHour_EndHour: 21, Player_Kill_Reward_CoolDown_Seconds: 0, View_Reward_Values": true - Enables UI access to reward and multiplier values for players. Default_Notification_Type - 0/1/2/3 : The numbers correspond to Chat/Banner/Icon/Off Chaticon: 0 Only_Reward_Growables_From_Planters: false, Use_Harvesting_Cooldown = true, Add_Multipliers = false, Use_Highest_Multiplier_Only = false, Delete_Player_Prefs_After_Days = 100, RewardCurrency UseScrap: true, UseEconomics: false, UseServerRewards: false Chosen currency for rewards. Only one can be used at any one time. Allies UseFriendsPlugin: true, UseClansPlugin: true, UseRustTeams: true Prevent rewards for killing friends/clan mates/team mates. Plugins UseGUIAnnouncementsPlugin: false, - Enables 'banner' notification option UseZoneManagerPlugin: false, - Allows for zone specific multipliers UseNoEscape: false - Prevents rewards when NoEscape-blocked Data file. 'Friendly names' for items and entities can be customised in the data file. Each item or entity has a pair listed – Edit the right hand value. Example : "vehicle_parts": “vehicle parts, "loot_barrel_2": “barrel”, "loot_barrel_1": “barrel”, "crate_tools": “tool crate", Notes. Npcs. An extensive list of npcs types has been added for 'Kill' and 'Harvest' (flesh) rewards, including entries for BotSpawn and Zombiehorde. Item Actions 'Open' rewards are now given for items with “Unwrap” or “Gut” actions, including all recently added fish. AI vehicle kills. Rewards are given to the player who caused the most damage to APC / Patrol Heli / CH47. UI Amount adjust increments. As different servers will have different base units of currency, you can change how much the + and – buttons in UI adjust the amounts. Reward_Small_Increment: 1.0, Reward_Large_Increment: 10.0, Multiplier_Increment: 0.1, API OnRustReward(BasePlayer player, string category)Free -
Version 1.1.0
71 downloads
Auto Wipe - This plugin allows to schedule regular wipes, including map, blueprint, and data resets. It offers customizable settings for wipe intervals and automated backups to prevent data loss. This plugin will simplify the maintenance process and reduce administrative workload. What this plugin can do? Create specific wipe schedules for daily, weekly and monthly basis. Wipe oxide(config/data/logs/plugins)/map files. Create backups of data/map files. Send discord wipe message using tool: https://discohook.org/ Do files replacements during wipe. (In case if you want to load new config files for new map) Set own startup ConVars such as 'server.seed', 'server.levelurl'. No additional scripts or harmony mods required, everything plugin based. How it works? When the wipe preset schedule is enabled and matched, the plugin sends a restart command. During server startup, it deletes all configured files before they are loaded by other plugins or the server itself and executes all commands from the preset. It is recommended to have software or a batch file that will automatically start the server after shutdown because the "restart" command only shuts down the server without restarting it. What is cron expression and how do I use it? A cron expression is a string of characters used to schedule tasks to run at specific times or intervals. It is widely used in Unix-based systems for automating repetitive tasks such as backups, updates, and maintenance. Structure of a Cron Expression <second(optional)> <minute> <hour> <day-of-month> <month> <day-of-week> Each field can contain specific values, ranges, or special characters to define the schedule. Here is a breakdown of each field: Second: 0-59 Minute: 0-59 Hour: 0-23 Day of Month: 1-31 Month: 1-12 Day of Week: 0-6 (where 0 is Sunday, 1 is Monday and so on) Special characters which are supported by plugin now * (all): Specifies that the event should happen for every time unit. For example, * in the minute field means "every minute." - (range): Specifies a range of values. For example, 10-12 in the hour field means "10th, 11th, and 12th hours." , (values): Specifies multiple values. For example, 10,12 in the hour field means "10th and 12th hours." / (increments): Specifies incremental values. For example, 5/15 in the minute field means "5, 20, 35, and 50 minutes of an hour." Examples of Cron Expressions At 12:00 p.m. (noon) every day: "0 12 * * *" Every 15 minutes every day: "0/15 * * * *" Every five minutes starting at 1 p.m. and ending at 1:55 p.m., and then starting at 6 p.m. and ending at 6:55 p.m., every day: "0/5 13,18 * * *" At 9:30 a.m. every Monday to Friday: "30 9 * * 1-5" You can try to use this generator plugin doesn't support all expressions for now, but most of them. If you need help with setting up your own wipe schedule don't hesitate to ask for support! You can use plugin support section or DM me in Discord: metangerine. CONFIGURATION { "Wipe restart seconds": 300, "Enabled wipe presets": [ "monthly", "biweekly", "weekly" ], "Backup files before wiping them?": false, "Discord webhook url": "", "Wipe presets": { "weekly": { "Players enter delay on wipe (prevents players from joining right after wipe)": "00:05:00", "Identity/Map files that should be wiped.": [ ".sav", "player.deaths.", "player.identities.", "player.states.", "player.tokens.", "sv.files." ], "Oxide files that should be wiped.": [ "data\\WIPE\\", "config/wipe.json", "logs\\" ], "ConVar commands (executed on server start)": [ "server.level \"Procedural Map \"", "server.seed \"55555\"", "server.worldsize \"400\"", "server.saveinterval \"300\"", "server.levelurl \"\"" ], "Wipe commands (executed on server full load)": [ "test command here", "and another one" ], "Is wipe preset persistent, if true it won't be auto removed after executed.": true, "Cron Wipe schedule": { "Cron Expression (Second Minute Hour Day Month Day-Of-Week)": "* 30 15 */7 * 1", "Next wipe date": null, "Last wipe date": "2025-01-29T15:17:49", "Use UTC time? (If false, local time will be used)": false }, "Discord wipe announce message files (data/AAutoWipe/filename.json) (Use: 'https://share.discohook.app/go/j1elnjf1' to get json)": [ "weeklywipe" ], "File replacements (SUPPORTS ONLY ZIP)": [ { "Zip source file (Located in data/AAutoWipe/filename.zip)": "filename", "Destination (from root folder)": "oxide/" } ] }, "biweekly": { "Players enter delay on wipe (prevents players from joining right after wipe)": "00:05:00", "Identity/Map files that should be wiped.": [ ".sav", "player.deaths.", "player.identities.", "player.states.", "player.tokens.", "sv.files." ], "Oxide files that should be wiped.": [ "data\\WIPE\\", "config/wipe.json", "logs\\" ], "ConVar commands (executed on server start)": [ "server.level \"Procedural Map \"", "server.seed \"55555\"", "server.worldsize \"400\"", "server.saveinterval \"300\"", "server.levelurl \"\"" ], "Wipe commands (executed on server full load)": [ "test command here", "and another one" ], "Is wipe preset persistent, if true it won't be auto removed after executed.": true, "Cron Wipe schedule": { "Cron Expression (Second Minute Hour Day Month Day-Of-Week)": "* 30 15 */14 * 1", "Next wipe date": null, "Last wipe date": "2025-01-29T15:17:49", "Use UTC time? (If false, local time will be used)": false }, "Discord wipe announce message files (data/AAutoWipe/filename.json) (Use: 'https://share.discohook.app/go/j1elnjf1' to get json)": [ "weeklywipe" ], "File replacements (SUPPORTS ONLY ZIP)": [ { "Zip source file (Located in data/AAutoWipe/filename.zip)": "test", "Destination (from root folder)": "oxide/" } ] }, "monthly": { "Players enter delay on wipe (prevents players from joining right after wipe)": "00:05:00", "Identity/Map files that should be wiped.": [ ".sav", "player.blueprints", "player.deaths", "player.identities", "player.states", "player.tokens", "sv.files" ], "Oxide files that should be wiped.": [ "data/Kits/kits_data.json", "data\\wipe\\", "config/wipe.json", "logs\\" ], "ConVar commands (executed on server start)": [ "server.level \"Procedural Map\"", "server.seed \"55555\"", "server.worldsize \"400\"", "server.saveinterval \"300\"", "server.levelurl \"\"" ], "Wipe commands (executed on server full load)": [ "test command here", "and another one" ], "Is wipe preset persistent, if true it won't be auto removed after executed.": true, "Cron Wipe schedule": { "Cron Expression (Second Minute Hour Day Month Day-Of-Week)": "* 30 15 1-7 * 1", "Next wipe date": null, "Last wipe date": "2025-01-29T15:17:49", "Use UTC time? (If false, local time will be used)": true }, "Discord wipe announce message files (data/AAutoWipe/filename.json) (Use: 'https://share.discohook.app/go/j1elnjf1' to get json)": [ "monthlywipe" ], "File replacements (SUPPORTS ONLY ZIP)": [ { "Zip source file (Located in data/AAutoWipe/filename.zip)": "filename", "Destination (from root folder)": "oxide/" } ] } } } COMMANDS autowipe.run <preset name> - runs auto wipe preset CONTACTS Need help or custom plugin for your server? Contact me using Discord: metangerine ----------------------------------------------------------------------$20.00 -
Version 3.0.1
34,054 downloads
Create fully automated raidable bases with NPCs in Rust This is the premium version of Raidable Bases. The differences between this and the free version are too many to list. A few key differences are: five (5) difficulties and associated loot table functionality instead of one (1), buyable events, lockouts for players. Requires latest version of CopyPaste or bases to work. It also requires that you have copypaste files already made. Raidable bases will be spawned using the CopyPaste plugin. This plugin does NOT come with any bases. Packages are sold separately that include bases. Check out my packages for this plugin for tier1, tier2, and tier3 which contain everything you need to get the plugin working in minutes with all bases and loot already configured for you! Packages are sold separately. RBE DEBUG This command exists to aid with issues regarding your configuration, profiles and/or map by displaying information, both good and bad, related to finding spawn points and spawning of bases. It is your responsibility to use this command before asking for help. Loot Table Editor by @beee https://codefling.com/tools/raidable-bases-loot-table-editor There are just a few steps required to get bases spawn on your server within minutes. You must have the CopyPaste plugin installed. (Disclaimer: Configuring this to your servers specific needs will require a lot of time and effort) Step 1: Obtain Your Bases You can get bases by: Downloading them from Fortify Purchasing a tier package from me Buying a base package from third-party sellers (be wary that some sellers include items in their CopyPaste files!) Creating your own bases Step 2: Set Up Profiles Profiles are located in: oxide/data/RaidableBases/Profiles/ carbon/data/RaidableBases/Profiles/ There are five different profiles. You can add the filenames of your CopyPaste bases manually, or by using the command: For example (You must use straight double quotes. Curly double quotes are not supported!): Step 3: Edit the Configuration The configuration file is located in: oxide/config/RaidableBases.json carbon/configs/RaidableBases.json Make the following changes: Always Maintain Max Events: Set this to true. Max Maintained Events: Set this to the number of bases you want to spawn. Minimum Required Players Online: If you want bases to spawn even when no players are online, set this to 0. Step 4: Save and Reload After making your changes: Save your files. Reload the plugin. The bases will now start spawning automatically. They will use the Default Loot table, located in: oxide/data/RaidableBases/Default_Loot.json carbon/data/RaidableBases/Default_Loot.json Step 5: Customize Loot Tables Refer to the documentation to learn how to set up your own custom loot tables. Additional Information If you want buyable events using the /buyraid command, you can set a cost under the Buyable Event Costs section. This includes: Economics Buy Raid Costs ServerRewards Buy Raid Costs Custom Buy Raid Costs Tips for Customizing Your Setup The plugin has many settings to customize. No guide can cover everything, so you will need to go through each setting and adjust it to meet your server’s needs. Important: Make backups as you configure the settings. Don’t rush—take it one step at a time. Dynamic difficulties (added in 3.0.0): Easily add or remove your own difficulties. You should reload the plugin whenever you make changes! Add a difficulty: rb.difficulty add "Sky" This will create the profile "Sky Bases.json" and set the difficulty to "Sky" rb.config add "Sky Bases" sky1 sky2 sky3 sky4 sky5 Reload the plugin! This will create language messages in the EN and RU language files which you can copy to other language files. If your messages do not update after a reload then you must restart your Rust server to reset Oxide cache. This will create all relevant settings for "Sky" within the config file where you must set them all as desired You need your own copypaste files and loot tables using their new respective names. Base Loot folder - add a loot table with the filename "Sky Bases.json" to match the profile name. Difficulty Loot folder - add a loot table with the filename "Sky.json" to match the difficulty name. Remove a difficulty: rb.difficulty remove "Sky" This will remove all settings for this difficulty from the config file - and disable the profile - only. No files are deleted! Edit or change a difficulty name: This is not supported and will not be - some hosts restrict System.File.IO namespace Please avoid trying to do this unless you are an expert user - you must rename EVERYTHING yourself Configuration errors are shown in rcon when the plugin loads If you make a mistake, you can use the add command a second time which will re-add any missing settings. If you feel overwhelmed or frustrated, take a break and return to it later. I am always here to answer your questions and help you (even if it takes some hours for me to respond). Tutorial This is not your run-of-the-mill plugin. DO NOT INSTALL WITHOUT READING THIS DOCUMENTATION FIRST. This plugin is extremely advanced and requires utmost attention to detail to configure properly. Jumping around in the configuration file or profiles will lead to more problems than it's worth. Take your time to understand each option before enabling or disabling its functionality. Raidable Bases is an independent expansion of Dangerous Treasures. You may learn how to enable the expansion mode below. It does not require Dangerous Treasures for any other purpose. Configuration Loot Tables The plugin comes with some very basic items (Default_Loot.json) that only serve as a demo loot list for you to either delete or expand upon. In order to make any use of the plugin (beyond demonstration) you will have to create your own loot lists instead. It will take a very long time to configure your loot tables, and fine-tune each to your specific needs. To start, I recommend that you use the rb.populate all command. This creates files in the Editable_Lists folder for each difficulty that contain every item in the game. Edit each file and set the amounts for the items that you want to spawn, and remove those that you do not want to spawn. It may look intimidating editing a list of 660 items, but don't underestimate how easy it is to delete items from a list compared to adding each one manually. Items that have their amount AND amountMin set to 0 will not spawn. So you may either delete these items from the list, or come back to them later. If you set amountMin to 0 then chance will determine if the item spawns or not, and another item will not replace it unless there are extra items available (as of 1.7.3). You can set the item skin that you want to use, but I suggest using the Skins settings in the configuration file to use random skins, or none at all. The rb.populate command which populates the Editable_Lists folder also includes items already inside of your Difficulty_Loot folder. This allows you to easily repopulate lists in order to re-evaluate which items spawn at a later date. Files inside of the Editable_Lists folder must be copied into an existing loot file in order to use the loot table. As the name implies, it is for editing only. - If you want to use Editable_Lists/Easy.json for your Easy bases then copy the contents of the file into the Difficulty_Loot/Easy.json file. - If you want to use Editable_Lists/Expert.json for the Expert Bases.json profile, then you must copy the contents of the Expert.json file into the Bases_Loot/Expert Bases.json file probability - the chance that the item can spawn. value must be between 0.0 and 1.0 where 1.0 is 100% chance Loot Priority Loot is pulled from all datafiles within the oxide/data/RaidableBases/ folder with the exception of the Profiles folder which is used to configure bases. oxide/data/RaidableBases/Base Loot - If a loot table exists in this folder with the same name as a profile then all of the bases in that profile will use this loot table. If you want items in this loot table to always spawn then you must enable Always Spawn Base Loot Table in the respective profile. oxide/data/RaidableBases/Difficulty Loot - Items will be chosen from these files based on the difficulty of each profile. If Use Day Of Week Loot is enabled then it will choose the loot table for that specific day. Otherwise, it will pick from Default_Loot.json. This is the default list, and is only used when all other loot tables do not have a sufficient amount of loot to spawn based on the Amount Of Items To Spawn setting. Loot Settings Allow Duplicate Items - This is useful when you do not have enough items in your loot tables , and you want to spawn Amount Of Items To Spawn by using the same items more than once. Amount Of Items To Spawn - This is the number of items that you want to spawn. If you do not have enough items in your loot tables then it will only spawn the amount that you have available. It will not spawn items if the container does not have enough space. Drop Tool Cupboard Loot After Raid Is Completed (false) Divide Loot Into All Containers - This allows you to divide loot evenly from all of your loot lists into all containers when enabled. You MUST increase or decrease Amount Of Items To Spawn respective to how many items you want in each container. This includes large boxes, small boxes, coffins and storage barrels. Optional settings include (in order of priority) cupboard, bbq, oven, fridge and lockers. Allow Players To Pickup Deployables (false) - As name implies, overridden by Entities Not Allowed To Be Picked Up Allow Players To Deploy A Cupboard (true) - Block players from placing a TC after destroying the TC in the base. Drop Container Loot X Seconds After It Is Looted (false) - Prevent players from cherry picking items and leaving the rest, in order to despawn the raid quicker. Drop Container Loot Applies Only To Boxes And Cupboards (true) - As name implies Empty All Containers Before Spawning Loot (true) - Useful if using CopyPaste files that contain loot already - I suggest leaving this true as it can complicate how many items spawn if there are too few inventory slots remaining. Ignore Containers That Spawn With Loot Already (false) - Useful if you want specific loot to spawn from a copypaste file. Require Cupboard Access To Loot (false) - Prevent all players from looting until they reach the TC, or destroy it. Skip Treasure Loot And Use Loot In Base Only (false)" - Useful if you want all loot to spawn from a copypaste file - not recommended - will allow players to memorize which boxes to raid and ignore the rest. Always Spawn Base Loot Table (false) - Very useful if you want items in the Base_Loot file to always spawn (such as C4, rockets, ammo, etc) Settings Blacklisted Commands (none) - prevents players from using these commands inside of a raid base Automatically Teleport Admins To Their Map Marker Positions (true) - right-click map to teleport (requires raidablebases.mapteleport permission) Block Wizardry Plugin At Events (false) - Block players from using wands Chat Steam64ID (0) - The steam profile icon to show in chat messages Expansion Mode (Dangerous Treasures) (false) - Allow Dangerous Treasures to take over a random box for its event Remove Admins From Raiders List (false) - Allows admins to help players without receiving any rewards Show X Z Coordinates (false) - Show X Z coordinates alongside grid location Buy Raid Command (buyraid) - Opens the buyable UI to purchase raids for each difficulty Event Command (rbe) - Specify command name Hunter Command (rb) - Specify command name Server Console Command (rbevent) - Specify command name Raid Management Allow Teleport (false) - Allow/prevent players from teleporting Allow Cupboard Loot To Drop (true) - Allows loot to drop when TC is destroyed by a player Allow Players To Build (true) Allow Players To Use Ladders (true) Allow Players To Deploy Barricades (true) Allow Players To Upgrade Event Buildings (false) - Prevent players from upgrading buildings with no TC to prevent this otherwise Allow Player Bags To Be Lootable At PVP Bases (true) - Bypasses Prevent Looting plugin Allow Player Bags To Be Lootable At PVE Bases (true) - Bypasses Prevent Looting plugin Allow Traps To Drop Loot (false) - Allow traps such as guntraps and turrets to drop loot on death Allow Players To Loot Traps (false) - Allows players to loot traps such as guntrap and turrets with TC access Allow Raid Bases On Roads (true) Allow Raid Bases On Rivers (true) Allow Raid Bases On Building Topology (true) - Specifically added for custom map makers Allow Vending Machines To Broadcast (false) - Prevents vending machines from showing on the map Allow Bases To Float Above Water (false) - Keyword: FLOAT Allow Bases To Spawn On The Seabed (false) Prevent Bases From Floating Above Water By Also Checking Surrounding Area (false) - Keyword: FLOAT Maximum Water Depth Level Used For Float Above Water Option (1.0) - Keyword: FLOAT, but allows you to prevent on water if the value is low enough Backpacks Can Be Opened At PVE Bases (true) Backpacks Can Be Opened At PVP Bases (true) Backpacks Drop At PVE Bases (false) - Will drop a backpack on death, even if explicity disabled in Backpack configuration (requires Backpacks 3.4.0 ) Backpacks Drop At PVP Bases (false) Block Mounted Damage To Bases And Players (false) - Prevent players from dealing damage while on mini, scrap heli, etc Block RestoreUponDeath Plugin For PVP Bases (false) Block RestoreUponDeath Plugin For PVE Bases (false) Bypass Lock Treasure To First Attacker For PVE Bases (false) - Do not set an owner for PVE bases Bypass Lock Treasure To First Attacker For PVP Bases (false) - Do not set an owner for PVP bases Despawn Spawned Mounts (true) - Allows mounts such as mini or scrap heli to remain if not abandoned when raid despawns Do Not Destroy Player Built Deployables (true) - Loot is not lost if the plugin destroys a player's box with this option - it is dropped on the ground in a grey loot container just as if they destroyed the box themselves Do Not Destroy Player Built Structures (true) Divide Rewards Among All Raiders (true) Draw Corpse Time (Seconds) (300.0) - The amount of time the players corpse location is drawn on their screen Eject Sleepers Before Spawning Base (true) Extra Distance To Spawn From Monuments (0.0) Flame Turrets Ignore NPCs (false) - Can help with performance on some servers Maximum Land Level (2.5) - The allowed height of the surrounding terrain for spawning bases (this should never be changed) Move Cookables Into Ovens (true) Move Food Into BBQ Or Fridge (true) Move Resources Into Tool Cupboard (true) Move Items Into Lockers (true) Lock Treasure To First Attacker (true) - Sets the first attacker as the owner of a raid. You must set eject enemies settings in each profile if you do not want players entering private raids Lock Treasure Max Inactive Time (Minutes) (20.0) - Resets the raid as public after this time Assign Lockout When Lock Treasure Max Inactive Time Expires (false) - useful those who partially raid bases in order to avoid the lockout timer Lock Players To Raid Base After Entering Zone (false) - Forces players to be locked to a raid once they enter it, even on accident Only Award First Attacker and Allies (false) Minutes Until Despawn After Looting (min 1) (15) - The time until the base despawns after being raided Minutes Until Despawn After Inactive (0 = disabled) (45) - The time until the base despawns after being inactive Minutes Until Despawn After Inactive Resets When Damaged (true) - Resets the time until the base despawns when it is damaged by a player Mounts Can Take Damage From Players (false) Mounts Can Take Damage From SamSites (true) Player Cupboard Detection Radius (100.0) - Extra layer of protection to prevent raid bases from spawning too closely to player bases (this should never be under 100 and never too high either, 100-200 at most) Players With PVP Delay Can Damage Anything Inside Zone (false) - Applies specifically to PVP raid bases Players With PVP Delay Can Damage Other Players With PVP Delay Anywhere (false) PVP Delay Between Zone Hopping (10.0) - The amount of time players can take damage while on a PVE server after stepping outside of a PVP zone - prevents exploiting - recommended value: 120 Prevent Fire From Spreading (true) - Helps with server performance by preventing forest fires, err, fire from spreading after initial spawn Prevent Players From Hogging Raids (true) - Prevents players from tagging multiple raids at once Require Cupboard To Be Looted Before Despawning (false) Destroying The Cupboard Completes The Raid (false) Require All Bases To Spawn Before Respawning An Existing Base (false) - Rotate through all bases specific to each difficulty before reusing an existing base Turn Lights On At Night (true) Turn Lights On Indefinitely (false) Traps And Turrets Ignore Users Using NOCLIP (false) Use Random Codes On Code Locks (true) Wait To Start Despawn Timer When Base Takes Damage From Player (false) - Prevents the inactive despawn timer from starting until it is damaged by a player. Combos well when inactive resets is disabled by giving players a limited time to finish a raid once they start it Additional Containers To Include As Boxes (none) - example: vendingmachine Eject Mounts Boats (false) - Set any true to prevent them from entering a raid base Cars (Basic) (false) Cars (Modular) (false) Campers (true) Chinook (false) Flying Carpet (false) Horses (false) HotAirBalloon (true) MiniCopters (false) Pianos (true) Scrap Transport Helicopters (false) All Other Mounts (false) All Controlled Mounts (false) - Mounts controlled via another plugin Max Amount Of Players Allowed To Enter Each Difficulty (0 = infinite, -1 = none) (infinite) Easy Difficulty => Amount (0) Medium Difficulty => Amount (0) Hard Difficulty => Amount (0) Expert Difficulty => Amount (0) Nightmare Difficulty => Amount (0) Max Amount Allowed To Automatically Spawn Per Difficulty (0 = infinite) -1 = disabled) Easy (0) - Specifies how many of each difficulty can be spawned at any given time Medium (0) Hard (0) Expert (0) Nightmare (0) Player Lockouts (0 = ignore) - this is for PUBLIC raids where buyable events use the Buyable Cooldowns and these are not shared - players may still do 1 public and 1 buyable event if these are both enabled Time Between Raids In Minutes (Easy) (0.0) - Set a cooldown before the player can enter another raid base Time Between Raids In Minutes (Medium) (0.0) Time Between Raids In Minutes (Hard) (0.0) Time Between Raids In Minutes (Expert) (0.0) Time Between Raids In Minutes (Nightmare) (0.0) Block Clans From Owning More Than One Raid (false) - Prevent clans from hogging multiple raid bases Block Friends From Owning More Than One Raid (false) Block Teams From Owning More Than One Raid (false) Easy|Medium|Hard|Expert|Nightmare Raids Can Spawn On Monday (true) Tuesday (true) Wednesday (true) Thursday (true) Friday (true) Saturday (true) Sunday (true) Difficulty Colors (Border) Easy (000000) Medium (000000) Hard (000000) Expert (000000) Nightmare (000000) Difficulty Colors (Inner) Easy (00FF00) Medium (FFEB04) Hard (FF0000) Expert (0000FF) Nightmare (000000) Map Markers Marker Name (Raidable Base Event) Radius (0.25) Use Vending Map Marker (true) Show Owners Name on Map Marker (true) Use Explosion Map Marker (false) Create Markers For Buyable Events (true) Create Markers For Maintained Events (true) Create Markers For Scheduled Events (true) Create Markers For Manual Events (true) Buyable Events Do Not Reward Buyable Events (false) Refunds > Refund Despawned Bases (false) Refunds > Refund Percentage (100.0) Refunds > Refund Resets Cooldown Timer (false) Refunds > Block Refund If Base Is Damaged (true) Cooldowns (0 = No Cooldown) VIP Permission (raidablebases.vipcooldown (300.0) Admin Permission (raidablebases.allow (0.0) Server Admins (0.0) Normal Users (600.0) Allow Players To Buy PVP Raids (false) - If all of your profiles have PVP enabled then players will NOT be able to buy any raids! Convert PVE To PVP (false) Convert PVP To PVE (false) Distance To Spawn Bought Raids From Player (500.0) Lock Raid To Buyer And Friends (true) Ignore Player Entities At Custom Spawn Locations (false) Ignore Safe Checks (false) - if enabled will prevent the plugin from checking the area for a TC, buildings, or deployables Max Buyable Events (1) Reset Purchased Owner After X Minutes Offline (10.0) Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want buyable raids to spawn in specific locations using spawn files from the Spawns Database plugin Maintained Events Always Maintain Max Events (false) - Spawn another raid soon after one despawns Ignore Player Entities At Custom Spawn Locations (false) - spawn regardless of what player entities are built in the area Chance To Randomly Spawn PVP Bases (0 = Ignore Setting) (0.0) - Overrides all PVP Allow profile settings for a chance to make the raid PVE or PVP Convert PVE To PVP (false) Convert PVP To PVE (false) Include PVE Bases (true) Include PVP Bases (true) Ignore Safe Checks (false) - Bypass checks that ensure no buildings or other objects are blocking the spawn Minimum Required Players Online (1) - Max Maintained Events (1) - How many bases you want available at any given time Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want maintained raids to spawn in specific locations using spawn files from the Spawns Database plugin Time To Wait Between Spawns (15.0) - Wait a specific time frame between each paste (can be set to 0) Manual Events Convert PVE To PVP (false) Convert PVP To PVE (false) Max Manual Events (1) Spawn Bases X Distance Apart (100.0) Spawns Database File (Optional) (none) - Useful if you want manually spawned raids to spawn in specific locations using spawn files from the Spawns Database plugin Scheduled Events Enabled (false) - Spawn raids on a timer specific to random amount of time between Every Min and Every Max Seconds Ignore Player Entities At Custom Spawn Locations (false) - spawn regardless of what player entities are built in the area Chance To Randomly Spawn PVP Bases (0 = Ignore Setting) (0.0) - Overrides all PVP Allow profile settings for a chance to make the raid PVE or PVP Convert PVE To PVP (false) Convert PVP To PVE (false) Every Min Seconds (3600.0) Every Max Seconds (7200.0) Include PVE Bases (true) Include PVP Bases (true) Ignore Safe Checks (false) - Bypass checks that ensure no buildings or other objects are blocking the spawn Max Scheduled Events (1) Max To Spawn At Once (0 = Use Max Scheduled Events Amount) (0) Minimum Required Players Online (1) Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want scheduled raids to spawn in specific locations using spawn files from the Spawns Database plugin Time To Wait Between Spawns (15.0) - Wait a specific time frame between each paste (can be set to 0) Economics Buy Raid Costs (0 = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (0.0) - How much each raid costs, use the /buyraid command to see the UI Medium (0.0) Hard (0.0) Expert (0.0) Nightmare (0.0) ServerRewards Buy Raid Costs (0 = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (0) - How much each raid costs, use the /buyraid command to see the UI Medium (0) Hard (0) Expert (0) Nightmare (0) Custom Buy Raid Costs (false = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (50 scrap) - How much each raid costs, use the /buyraid command to see the UI Medium (100 scrap) Hard (150 scrap) Expert (200 scrap) Nightmare (250 scrap) All are disabled by default. All can require its own specific item. Allowed Zone Manager Zones List: pvp, 99999999 - the list of zones where raid bases may spawn at - Zone Manager is not required to use this plugin. Use Grid Locations In Allowed Zone Manager Zones Only - forces all spawns into zones by Zone Manager. Adding flags to your zones may conflict with this plugin. Use of Spawns Database plugin is advised instead Event Messages Notify Plugin (-1 = disabled) Notification Interval (1 second) Announce Raid Unlocked (false) Announce Buy Base Messages (false) Announce Thief Message (true) Announce PVE/PVP Enter/Exit Messages (true) Show Destroy Warning (true) Show Opened Message (true) Show Opened Message For Paid Bases (true) Show Prefix (true) Show Messages To Player (true) - set false if you do not want players to receive CHAT messages, other messages from notifications will still show GUIAnnouncements and Advanced Alerts plugins can be used instead of CHAT messages Advanced Alerts Enabled (true) Anchor Min and Max Time Shown (5) Panel Alpha (0.98) Background Color Title Background Color GUIAnnouncements Enabled (false) Banner Tint Color (Grey) Maximum Distance (300.0) Text Color (White) Lusty Map Enabled (false) Icon File (http://i.imgur.com/XoEMTJj.png) Icon Name (rbevent) Icon Rotation (0.0) Ranked Ladder (based on points system) Award Top X Players On Wipe (3) - Set 0 to disable permissions and groups from being created. Every wipe the top 3 players are awarded the raidablebases.th permission and raidhunter group. Used with plugins that give titles based on permissions/groups, such as BetterChat Enabled (true) Difficulty Points (for each difficulty) Assign To Owner Of Raid Only (false) Assign Rank After X Completions - Players that complete the required amount of completions will receive the relevant above permission and group automatically - Set value above 0 to enable this feature for any given difficulty as it is disabled for all difficulties by default Permissions and groups are given to players for being top 3 in each difficulty at the end of a wipe Set Award Top X Playrs On Wipe to 0 to disable these permissions and groups from being created. permissions: raidablebases.ladder.easy, raidablebases.ladder.medium, raidablebases.ladder.hard, raidablebases.ladder.expert, raidablebases.ladder.nightmare, raidablebases.th groups: raideasy, raidmedium, raidhard, raidexpert, raidnightmare, raidhunter Skins (Boxes, Loot Items, Npcs all have there own settings) (skin settings revamped in 2.7.4) Use Identical Skins Include Workshop Skins (true) Use Random Skin (true) Use Imported Workshop Skins File (true) - copy existing Imported Workshop Skins section from Skinbox to the Imported Workshop Skins json file to apply. Boxes (including above Skins options) Preset Skins - you can add any box skin here and it will randomly apply to any relevant box this skin can be used with Loot Items (including above Skins options) Use Identical Skins For Stackable Items Use Identical Skins For Non-Stackable Items Deployables (including above Skins options) List: Partial Names (door, barricade, chair, fridge, furnace, locker, reactivetarget, rug, sleepingbag, table, vendingmachine, waterpurifier, skullspikes, skulltrophy, summer_dlc, sled) Skin Everything (true) - if true then the Partial Names list will not be used Preset Door Skins - you can add any door skin here and it will randomly apply to any relevant door this skin can be used with Ignore If Skinned Already (false) Treasure Resources Not Moved To Cupboards (skull.human, battery.small, bone.fragments, can.beans.empty, can.tuna.empty, water.salt, water, skull.wolf) Use Day Of Week Loot (false) Do Not Duplicate Base Loot (false) Do Not Duplicate Difficulty Loot (false) Do Not Duplicate Default Loot (false) Use Stack Size Limit For Spawning Items (false) Status UI - Shows PVE/PVP, time left, amount of loot left and the status of owner Details UI - Shows owner and active status Delay UI - Shows UI for PVP delay Buyable Cooldowns UI - Shows UI for the Buyable Cooldowns option Buyable Events UI - Shows players a UI for buying events including the primary cost Lockouts UI - Shows UI for the Player Lockouts option Enabled Offset Min Offset Max Panel Alpha Font Size Background Color Title Background Color etc Weapons Fog Machine Allows Motion Toggle (true) Fog Machine Requires A Power Source (true) SamSite Repairs Every X Minutes (0.0 = disabled) (5.0) SamSite Range (350.0 = Rust default) (75.0) Test Generator Power (100.0) Tesla Coil settings in profiles Infinite Ammo AutoTurret (true) FlameTurret (true) FogMachine (true) GunTrap (true) SamSite (true) Ammo AutoTurret (256) FlameTurret (256) FogMachine (5) GunTrap (128) SamSite (24) Tesla Coil (profiles) Requires A Power Source (true) Max Discharge Self Damage Seconds (0 = None) 120 = Rust default) (0.0) Max Damage Output (35.0) Profiles Difficulty - very first setting. If your raids show as NORMAL then you're using the free plugin. If all bases show as EASY then this setting is not configured. Entities Not Allowed To Be Picked Up (List: generator.small, generator.static autoturret_deployed - overrides Allow Players To Pickup Deployables) Additional Bases For This Difficulty (default) - A list of bases to use within this profile Paste Options (default) - Paste options specific to the profiles filename if it is also a base Profile Enabled (true)- Useful for disabling a profile instead of deleting it Add Code Lock To Unlocked Or KeyLocked Doors (true) Add Code Lock To Boxes (false) Add Code Lock To Tool Cupboards (false) Close Open Doors With No Door Controller Installed (true) Allow Duplicate Items (false) - [Explained above] Allow Players To Pickup Deployables (false) - [Explained above] Allow Players To Deploy A Cupboard (true)- [Explained above] Allow PVP (true) Allow Friendly Fire (Teams) (true) Amount Of Items To Spawn (30) - [Explained above] Minimum Amount Of Items To Spawn (0 = Use Max Value) (0) Flame Turret Health (300.0) Block Plugins Which Prevent Item Durability Loss (false) - Force items to take condition losses Block Damage Outside Of The Dome To Players Inside (false) - Prevent damage from outside of the dome to players inside of the dome Block Damage Outside Of The Dome To Bases Inside (false) - Prevent damage from outside of the dome to the base inside Block Damage Inside From Npcs To Players Outside (false) Building Blocks Are Immune To Damage (false) Boxes Are Invulnerable (false) Spawn Silently (No Notifcation, No Dome, No Map Marker) (false) Divide Loot Into All Containers (true) - [Explained above] Drop Container Loot X Seconds After It Is Looted (0.0) - [Explained above] Drop Container Loot Applies Only To Boxes And Cupboards (true) - [Explained above] Create Dome Around Event Using Spheres (0 = disabled, recommended = 5) (5) - A visible dome for players to distinguish raid bases from player bases Empty All Containers Before Spawning Loot (true) - [Explained above] Eject Corpses From Enemy Raids (Advanced Users Only) (true) - Prevents corpses from remaining inside of a raid when it becomes private and prevents the user from looting it Eject Enemies From Purchased PVE Raids (true) - Useful when Lock Raid To Buyer And Friends is enabled Eject Enemies From Purchased PVP Raids (false) Eject Enemies From Locked PVE Raids (true) - Useful when Lock Treasure To First Attacker is enabled Eject Enemies From Locked PVP Raids (false) Explosion Damage Modifier (0-999) (100.0) - Modify the damage of all explosives Force All Boxes To Have Same Skin (true) Ignore Containers That Spawn With Loot Already (false) - [Explained above] Penalize Players On Death In PVE (ZLevels) (true) Penalize Players On Death In PVP (ZLevels) (true) Loot Amount Multiplier (1.0) - useful to scale loot amounts without having to adjust them all individually Protection Radius (50.0) - This options controls every single option and feature that relies explicity on distance or radius in one regard or another. Setting an incorrect value, either too low, or too high, will break the functionality of the plugin. It's best to leave it alone. Require Cupboard Access To Loot (false) - [Explained above] Minimum Respawn Npc X Seconds After Death (0.0) - Useful in simulating a real raid where players respawn Maximum Respawn Npc X Seconds After Death (0.0) Skip Treasure Loot And Use Loot In Base Only (false) - [Explained above] Always Spawn Base Loot Table (false) - [Explained above] - Arena Walls Enabled (true) Extra Stacks (1) - How many times you want walls to stack on top of one another Use Stone Walls (true) - set false to use wooden walls instead Use Iced Walls (false) - not advised to use this as it can cause client lag (not a plugin issue) Use Least Amount Of Walls (true) Use UFO Walls (false) - Walls spawn horizontally instead of vertically Radius (25.0) NPC Levels Level 2 - Final Death (false) - Respawns all npcs when raid is completed NPCs Enabled (true) Spawn Inside Bases (Options: Spawn On Floors, Spawn On Rugs, Spawn On Beds) Murderer Items Dropped On Death (none) Scientist Items Dropped On Death (none) Murderer (Items) (metal.facemask, metal.plate.torso, pants, tactical.gloves, boots.frog, tshirt, machete) Scientist (Items) (hazmatsuit_scientist, rifle.ak) Murderer Kits (murderer_kit_1, murderer_kit_2) - Kits have priority over these lists of items Scientist Kits (scientist_kit_1, scientist_kit_2) Random Names (none) - Spawn with a custom random name instead of a provided random name Amount To Spawn (3) Aggression Range (70.0) - Aggression range is increased by 250 meters when engaged Despawn Inventory On Death (true) Health For Murderers (100 min, 5000 max) (150.0) Health For Scientists (100 min, 5000 max) (150.0) Minimum Amount To Spawn (1) Use Dangerous Treasures NPCs (false) - Tells Dangerous Treasures to control and outfit the NPCs instead Spawn Murderers And Scientists (true) Scientist Weapon Accuracy (0 - 100) (30.0) - These bots are meant to be savages. 30% is average for highly skilled players, while the average player has 10-20% accuracy Spawn Murderers (false) Spawn Random Amount (false) Spawn Scientists Only (false) Rewards Economics Money (0.0) - How much is rewarded after a raid. Overridden by Divide Rewards Among All Raiders ServerRewards Points (0) Change Building Material Tier To Wooden (false) - Useful for upgrading or downgrading buildings automatically Stone (false) Metal (false) HQM (false) Change Door Type To Wooden (false) - Useful for upgrading or downgrading doors automatically Metal HQM Player Building Restrictions Wooden (false) Stone (false) Metal (false) HQM (false) Auto Turrets Aim Cone (5.0) - shots fired will spread into a cone pattern based on this radius. Lowering this value will group the shots closer together. Minimum Damage Modifier (1.0) Maximum Damage Modifier (1.0) Start Health (1000.0) Sight Range (30.0) Set Hostile (False = Do Not Set Any Mode) (true) Requires Power Source (false) Remove Equipped Weapon (false) Weapon To Equip When Unequipped (null = Do Not Equip) (rifle.ak) Permissions raidablebases.allow -- Allows player to use the available ADMIN commands. This is NOT recommended as players can use the commands 'buyraid' and 'rb' already. raidablebases.canbypass permission (or to be flying) to bypass dome restrictions (this previously worked for admins, but now requires the permission instead) raidablebases.blockbypass permission to bypass Owning More Than One Raid settings for Clans/Friends/Teams raidablebases.mapteleport Teleporting to map marker now simply requires this permission and to be enabled in config raidablebases.ddraw allows support for FauxAdmin users raidablebases.config allows use of the rb.config command in-game (server console does not require this permission) raidablebases.banned bans the user from entering any raids - DO NOT GIVE THIS TO THE DEFAULT GROUP LOL raidablebases.durabilitybypass to bypass `Block Plugins Which Prevent Item Durability Loss` raidablebases.notitle permission to exclude users from ranked title rewards See other permissions using Permissions Manager Players do not require any permissions by default. Grid This plugin creates it's own spawn points automatically, which cover the entirety of your server's map when the plugin is loaded. This is created one-time when the plugin loads. The grid maintains itself without requiring any input. You may view the grid by typing /rb grid in-game to view detailed drawings of all locations on the grid. X - green - possible spawn point X - Red - currently in use C - Cyan - construction detected nearby TC - yellow - TC detected nearby W - blue - water depth is too high - refreshes on ocean level change Each location on the grid is checked a second time before spawning a base to insure it does not spawn the base on players or their buildings. You can disable using the grid by providing a valid spawn file for each raid type (buyable, maintained, scheduled and manual). Commands buyraid - buys a raid, eg: buyraid easy, buyraid easy steamid, buyraid 0, buyraid 0 steamid. I suggest typing the command and using the UI to buy bases. rb - for players to see the ladder (also for admins to see the status of each raid going on, which includes showing the allies and owners of each raid) rb ui [lockouts|status] - COMMAND REMOVED rbe despawn - despawns a players purchased base if they have raidablebases.despawn.buyraid permission For admins, or players with the admin permission raidablebases.allow: rb.config stability true/false - sets stability in every profile rbe debug - toggles debug messages shown every second to server console for maintained and scheduled warning messages rb grid - see the grid and all monument names rb resettime - reset the time for the next scheduled event rb savefix - to cancel a server save that has become stuck - requires authlevel 2 rb prod - to gather information from a raid base entity for debugging purposes - requires admin or raidablebases.allow rbe - spawns a base at the position you are looking at. You cannot spawn a base on a player (including yourself) rbe draw - draw the raids radius rbe despawn - despawn a base near you (can be used by players with raidablebases.despawn.buyraid permission to despawn a base they purchased) rbe despawnall - despawn all bases rbe [basename] [difficulty] - spawn a raid at the location you are looking at rbe expire steamid|playername - removes a lockout for a specific player rbe expireall rbe active - shows status for each event rbevent [basename] [difficulty] - spawn a raid randomly on the map - and teleport to it if using the command in-game rb.reloadconfig - allows you to reload the config without needing to reload the plugin. Some changes are not applied immediately, and no changes are retroactive to bases that are already spawned. rb.config - allows you to edit the config by adding, removing, and listing bases. Requires the permission raidablebases.config when not being used from the server console. rb.toggle - toggles Maintained Events and Scheduled Events on/off, if enabled in the config, until plugin reloads rbe setowner name - Sets the player as the owner of the raid rbe clearowner - Clears the owner of the raid Additional Bases allows you to add additional files to an existing base so that all bases in that list share the same configuration as the primary base/profile. This is great for setting up a list of bases for easy, medium, hard, expert and nightmare. Command rb.populate will populate specific loot tables with every item in the game (items are disabled by default as their amounts are set to 0) Arguments: rb.populate easy medium hard expert nightmare loot all Arguments: rb.populate 0 1 2 3 4 loot all easy - Populates oxide/data/RaidableBases/Editable_Lists/Easy.json medium - Populates oxide/data/RaidableBases/Editable_Lists/Medium.json hard - Populates oxide/data/RaidableBases/Editable_Lists/Hard.json expert - Populates oxide/data/RaidableBases/Editable_Lists/Expert.json nightmare - Populates oxide/data/RaidableBases/Editable_Lists/Nightmare.json loot - Populates oxide/data/RaidableBases/Editable_Lists/Default_Loot.json all - Populates ALL above loot tables Configure the items to your liking then copy the files contents into a loot table that you would like to use (for example Difficulty Loot/Easy.json) You cannot use loot tables in the config file anymore. Use the data directory (oxide/data/RaidableBases) API No return behavior: void OnRaidableBaseStarted(Vector3 raidPos, int mode, bool allowPVP) void OnRaidableBaseEnded(Vector3 raidPos, int mode, bool allowPVP) void OnPlayerEnteredRaidableBase(BasePlayer player, Vector3 raidPos, bool allowPVP, int mode) void OnPlayerExitedRaidableBase(BasePlayer player, Vector3 raidPos, bool allowPVP, int mode) OnRaidableBaseDespawn, OnRaidableBaseDespawned, OnRaidableBasePrivilegeDestroyed, OnRaidableBaseCompleted find more hooks and arguments by searching for CallHook in the plugin file Tips Players will be considered raiders after looting, killing an npc, using explosives, eco raiding, destroying a building block/high wall/door or dealing damage from INSIDE of the dome You must change easybase1, mediumbase2, expertbase3, etc to the name of your CopyPaste files, or vis-versa. This plugin doesn't create bases for you. You can use the rb.config command (rb.config add "easy bases" easybase1 easybase2 0) in the server console to make this process easier. You can rename all profiles or additional base filenames. When copying a base with CopyPaste, make certain that you copy the base from eye level of the CENTER foundation within the base, or slightly clipped into this foundation with noclip. Whichever provides better results for you. You must verify that the base pastes down correctly (with /paste command) after you've copied it. I would not change autoheight from false to true. height is the distance the base is spawned off of the ground. elevation determines how flat the surrounding terrain must be in order for bases to spawn on it Scheduled Events is how often you want a random base to spawn on the map. This is disabled by default. This randomness comes from Every Min Seconds and Every Max Seconds Maintain Events will always spawn the Max Events amount of bases on your map. This is disabled by default. When one despawns, another will take its place shortly after. Allow Teleport will prevent players from teleporting when disabled. Compatible with NTeleportation or any plugin that uses the CanTeleport hook. Help This plugin does NOT use Zone Manager - it creates and manages everything on its own. If you are having issues with too few locations on the grid, or each attempt to spawn a base returns a manual spawn was already requested then it is likely because of how you have setup Zone Manager. You either have far too many zones, or you have zones which are far too large. Raidable Bases will not spawn in these zones unless the ZoneID is added to Allowed Zone Manager Zones in the config file. Do not put this plugin in your store/shop. It simply is not designed to work with it. There are far too many cooldowns to make this idea plausible, and the plugin cannot function properly without them. Using /buyraid will open a UI designed specifically for this issue. This plugin requires CopyPaste plugin to work. It also requires that you have copypaste files already made. Raidable bases will be spawned using the CopyPaste plugin. This plugin does NOT come with any bases. PvE server friendly with TruePVE and other plugins that support the hooks CanEntityTakeDamage, CanEntityBeTargeted, and CanEntityTrapTrigger. Bases can have 5 difficulty settings: 0 for easy, 1 for medium, 2 for hard, 3 for expert, and 4 for nightmare. This is configurable per profile. Bases can spawn on roads and other areas that do not allow building by Rust. Building ladders in these areas is allowed by the plugin. I will add support for building twig later. My bases often spawn in the same biome If you're having issues with spawn points being repeatedly used, or with a biome being favored consistently over other biomes then this is an elevation issue with the terrain on your map. You can fix this by increasing the Elevation in the configuration. For example, if your Elevation is 1.0 then set it to 1.5 and try again. This will also increase the height the base is allowed to spawn off of the ground. With certain maps you'll just have to make do with this issue. Corpses appear outside of the dome as backpacks This is intended, and it is optional. The location is drawn on the players screen to notify them that their corpse moved. This allows players to retrieve their backpack in the event that the raid becomes locked privately to another player, and prevents them from entering. Players do not drop their active item when they die. Bases Stop Spawning On Linux Machine [Error] Exception while calling NextTick callback (DllNotFoundException: libgdiplus.so.0) If you see this error after bases spawn then you need to install libgdiplus on your machine. This will mimic the below issue but it is NOT a bug like the below issue is. A quick google search shows the install command is: sudo apt-get install -y libgdiplus This happens when images in the CopyPaste file are being rendered by converting the byte array to bitmap.$40.00 -
Version 1.0.13
1,756 downloads
RUST Plugin Test Server TEST MY PLUGINS THERE! connect play.thepitereq.ovh:28050 Submersible Pump plugin helps manage river resources on your server. It allows players to place a water pump with fresh water anywhere on the map. The water output can be adjusted using the WaterWorks plugin by nivex. You can build your farm anywhere on the map. Customizable pump crafting and allows you to place pumps on foundations. Configurable height limits. Can be set to work on WaterBases. /pump - Plugin help command. /pump craft - Crafting submersible pump. givepump - Gives submersible pump to your inventory. (Console Command) submersiblepump.use – Allows you to craft and place submersible pump. (Needs to be enabled in config) submersiblepump.give – Allows you using givepump command. { "Misc - Require Permission": false, "Misc - Pump Item Name": "Submersible Pump", "Misc - Pump Ground Check": true, "Misc - Allow Placing On Water Level": false, "Misc - Allow Hammer Hit Pickup": true, "Limit - Default Pump Limit (0, to disable)": 0, "Limit - Permission Limits": { "submersiblepump.admin": 100, "submersiblepump.vip": 5 }, "Craft - Enable Pump Craft": true, "Craft - Chat Command": "pump", "Craft - Require Blueprint For Pump": true, "Craft - Required Workbench Level (0-3)": 2, "Craft - Pump Craft Cost": [ { "Item Shortname": "metal.fragments", "Item Amount": 1000, "Item Skin": 0 }, { "Item Shortname": "gears", "Item Amount": 10, "Item Skin": 0 }, { "Item Shortname": "metalpipe", "Item Amount": 20, "Item Skin": 0 } ] }$5.00 -
Version 1.0.15
529 downloads
Introducing portable 3 x 3 bases in a box - that you can carry in your inventory! Deploy them and open them to go inside - to store, craft, smelt, grow, party... live. Expand and maintain the upkeep to protect from raiders. Pick them up and deploy somewhere else. Think outside of the box... and inside too! Questions? Support? Join the discord: https://discord.nikhub.dev WATCH THE TUTORIAL BY SRTBULL! AS FEATURED BY SHADOWFRAX! (around 0:55 mark) Just like the TARDIS from Doctor Who, they're bigger on the inside! In the "real" Rust world, an entire 9x9x9 metre large (over 25000 cubic foot) Pocket Dimension fits neatly inside of a Small Wooden Box. You can skin that box any way you like to camouflage or disguise it - whatever the player's Workshop Skins / server skin plugins allow. Players can convert existing buildings into Pocket Dimensions easily with one button in the Tool Cupboard's UI. Or if that's too much of an effort, entire, fresh, ready-to-be-moved-in Copy Paste files can be sold as boxes with your own, custom defined skin - this is entirely optional and requires Copy Paste, more on that in the dedicated section below. Whether to allow either approach is entirely up to your configuration. By default, the configuration allows raiding the Pocket Dimensions in several different ways - but if you're planning on running this plugin on a PVE server and you don't want any of that, there's many configuration options that can be adjusted to enhance your server experience. Both styles of servers have their own dedicated sections on this page - just read below. Make sure you maintain the integrity of your Pocket Dimension! If any of the external structures (wall/doorway) of the Pocket Dimension building either 1) decays 2) is raided 3) is removed by an admin/plugin, or 4) the box housing the dimension itself gets destroyed, the Dimension will Collapse, teleporting all players inside of it, and dropping all contents of storage containers, turrets, the Tool Cupboard, and anything else that can store any items, to the location where the box is/was last deployed. Easy come, easy go! You can pick the Pocket Dimension boxes up and move them somewhere else at any time, and everything will still be there. You can even deploy Pocket Dimensions inside Pocket Dimensions inside Pocket Dimensions... a box-ception! By default, the configuration does not allow picking up boxes with players inside of them, but you can toggle this setting. Quick Start As an admin: make sure you grant your groups/players appropriate permissions from the list below. Make sure Copy Paste, No Escape and Server Rewards / Economics are loaded in and configured properly, if you're planning on utilising any of the extended capabilities. More on the support for those plugins below. That also goes for any potentially compatible plugins that dispense/support skinned box templates from the config, like Kits or Shop by Mevent, or Copy Paste - based plugins, like Raidable Bases. As a player: make a 3 x 3 x 3 cube that meets the validity requirements (more on that below) - if you have the proper permission and the appropriate amount of required currency, open the Tool Cupboard and press the pink "Convert to Pocket Dimension" button. If built correctly, you will now receive a box containing that entire cube inside. Alternatively, deploy a new Small Wooden Box skinned with a skin ID mentioned in the config that references a valid Copy Paste template - no construction by players necessary, but still possible. This plugin comes with several pre-built, already known to be valid Pocket Dimensions, ready to be enjoyed by your players. Permissions (Oxide.Grant user YourName [permission name starting with pocketdimensions.]) This plugin utilises the plain Oxide permission system. For a quick setup on a typical server, grant yourself the pocketdimensions.admin permission, and grant the default group in Oxide the pocketdimensions.player.all permission. pocketdimensions.admin - this permission is required to execute the admin commands mentioned in the section Admin Commands just below this section. pocketdimensions.player.all - this permission is the quick-start equivalent of giving all 4 permissions mentioned below. Don't grant this if you want a more customised permission setup. For example, if you don't want to allow respawning inside and converting by players, and you only want to allow deployment/pickup and entering/exiting, use the combination of the 4 permissions below. pocketdimensions.deploy.pickup - holders of this permission can deploy and pick up Pocket Dimension boxes, be it already existing ones and fresh ones based on skin ID/Copy Paste file combo in your config. Of course, this takes into account building block/other conditions, too. pocketdimensions.player.enter.exit - holders of this permission can enter Pocket Dimensions by opening their boxes, and exit them by interacting with their portals. If a player doesn't have that permission, they will be informed upon opening/interaction, and barred from traversing in/out. pocketdimensions.player.convert - holders of this permission can create new Pocket Dimensions by converting an existing building from its Tool Cupboard's UI - as long as they have the required amount of currency (certain required item / Server Rewards / Economics), and the building itself meets the structural requirements. Players without this permission won't even see the conversion button in the UI. pocketdimensions.player.respawn - holders of this permission can respawn on bags, beds and towels deployed inside Pocket Dimensions. If a player doesn't have that permission, and a bag is deployed by them (or someone else bags them in) inside a Pocket Dimension, the players will not see that bag on their Death Screen as a possible respawn location. Admin Commands (require the pocketdimensions.admin permission) These commands can be executed both from console and the chat - in case of chat, they must be prefixed with a forward slash ( / ), and in case of console, no forward slash. /pd.check Come close to a TC and look directly at it, then issue this command from the chat or F1 console. It will perform the validity check without actually converting anything. If any problems are found, it will tell you exactly what's wrong. Useful for making your own Copy Paste templates. /pd.convert Come close to a TC and look directly at it, then issue this command from the chat or F1 console. It will first perform the validity check. If any problems are found, it will tell you exactly what's wrong. Then, if no problems are found, it will convert the building into a Pocket Dimension and you will receive it as a deployable Small Wooden Box item. /pd.lostnfound When a Pocket Dimension Item despawns, is recycled, is placed in a container that gets destroyed, or is otherwise removed from the world, the Dimension that it represents will be marked as "lost". This special marking will NOT happen as long as the Item still exists in a container (including players' inventories) somewhere in the World. Pocket Dimensions marked as "lost" can then be reclaimed as a newly created Item tied to the building by an admin, deployed and inspected, and given back to the rightful owner... or Collapsed by the admin, if the admin has a hunch that the player "lost" their dimension on purpose so nobody would be able to access anything while the player was offline. Using this command will either give you ALL newly reclaimed box items (so make sure you have room in your inventory), or it will tell you there's nothing in the lost-and-found to be reclaimed. /pd.givebox [skin ID or Copy Paste filename] [optionally: player partial name / full steam ID] Use this command to create a Small Wooden Box item, skinned with a special skin mentioned in your config, and then given to a player. A new Pocket Dimension based on the Copy Paste template will be created inside of that box the first time it's deployed somewhere. This command requires Copy Paste to be installed to work properly, and a properly set up Skin ID - to - Copy Paste filename entries in your config. The filenames mentioned must exist in your Copy Paste data folder, too. Use the first parameter to identify the template mentioned in your Copy Paste section of the config either by its skin ID or its Copy Paste file name. Multiple skin IDs can lead to the same Copy Paste filename, so if you're identifying the template by filename, the skin ID of the first entry in your config that leads to this file name will be picked as the skin of the newly created and given box. If the optional second parameter is not provided, it will be assumed a freshly skinned box should be given to the player executing this command - typically an admin. This command can be used by plugins that support executing commands with the STEAM ID or player name parameter. /pd.emergencycleanup Use this as a last resort to completely get rid of ALL Pocket Dimensions entities on the server for whatever reason. This is a very experimental plugin after all and things COULD go wrong... This includes all the Pocket Dimension buildings, their contents, loot inside of them, and the boxes containing Pocket Dimensions deployed in the world. If a dimension was not deployed as a box, but held as an Item in a container, those items will NOT be removed, but when deployed, the player will be informed that its associated Pocket Dimension was raided or decayed away. USE WITH CAUTION, THIS COMMAND CANNOT BE UNDONE. Those are all the admin commands so far. There's no player commands, as I consider them to be the last resort option when there's just no other elegant way of player input/interaction. What makes buildings "valid" candidates to be used as a Pocket Dimension? Not every building is viable to be converted. Generally speaking, a 3 x 3 x 3 cube with exactly 1 external single doorway anywhere on the side must be constructed - and nothing else on the outside (apart from the potential exception for Solar Panels / Wind Turbines on the roof, if your config allows them). The building blocks can be of any tier or a mix of tiers - from Twig to Armoured. It doesn't matter what's inside of the cube, only the outer "shell" matters. Once converted into a Pocket Dimension, players can build/expand/demolish inside just like they would with regular bases. To be more specific, when a check for the validity of a building is made, the following criteria are tested for, and the answer to each consecutive question must be "yes" before the test proceeds to the next question - if the answer is "no", the player will be informed of the reason: Does the building have exactly 9 square foundations overall? Does the building have exactly 9 square floors overall (presumably, for the ceilings)? Does the building have at least 1 single doorway overall? Does the building have at least 35 normal walls overall? Are the 9 square foundations all at the same level? For each of the 9 square foundations, does it have a matching square floor for ceiling, exactly 9 metres above it? Is the building's middle foundation NOT marked as belonging to a Pocket Dimension already? Does the building have either a normal wall (or a single doorway, but only one) all 4 sides, and not a wall frame, window frame, or a missing building block, to make the shell "air-tight" and prevent players from falling out of the Dimension into the void? Does the building have exactly 1 single doorway - no more, no less - on the external shell? Is the only external doorway currently "empty", i.e. no doors / vending machines are deployed there at this moment? If the config doesn't allow Solar Panels / Wind Turbines placed on the ceiling, is the building free of those potentially forbidden structures? Are all the electrical/water entities inside of the 3 x 3 x 3 cube free of any wire/hose connections to entities outside of that cube? (if Solar Panels / Wind Turbines are allowed in your config, those entities get a special pass at this stage of the check) Is the building free of ANY entities "sticking out" from the 3 x 3 x 3 cube - for instance roofs, honeycombs, porches, SAM sites, stairs etc, or Solar Panels / Windmills if your config does not allow them? If the answer to all those questions is a resounding "yes" - don't worry, it's the plugin's job to ask and answer those, not you! - the building is considered valid and as such can be converted into a Pocket Dimension! You will be informed of the result, whether it was successful or not. Raiding Pocket Dimensions (only applies to the default PVP-enabled settings) This is the default behaviour on a fresh configuration. If you're planning on running this plugin on a PVE server (player vs. environment, i.e. no raiding/hurting between human players themselves), you can skip this section and go straight to the Recommended PVE Settings section below. There are two main ways of raiding a Pocket Dimension: From the inside, by damaging the building structures belonging to the external shell - either the wall or the doorway housing the exit portal From the outside, by damaging the deployed Pocket Dimension box. By default, no locks can be placed on boxes containing Pocket Dimensions, to allow players raiding from the inside, too - but this setting can be toggled if you only want players to raid the boxes in the boring way. Of course, anything INSIDE of the Pocket Dimension can - and should - be locked! When raiding from the outside, on default configuration, the dimensional box will take 2% (1/50) of the damage it would normally take if it were just a regular Small Wooden Box. In other words, on default configuration, it takes about 7-8 C4 charges to make the dimension inside of it Collapse (so more or less as much as an Armoured-tier foundation). Just like with regular vanilla building raids, the same strategies (or combinations of those) can be applied here, too: The Deep - get in, take the goods, get out, leave, say GG to the building owner, who gets to keep their Pocket Dimension. The quintessence of sportsmanship in Rust raiding. The Grief - get in, take the goods (or not), make the building unusable till it eventually decays (and the dimension Collapses), leave. Highly malicious, but sometimes the only option... The Yoink - get in, take the goods, re-seal the entrance, and claim the dimension as now yours. You might want to move its box to another location though. The End - get in, and immediately start damaging one of the external blocks of the shell (typically the doorway housing the exit portal, or a wall next to it - or even both!). As soon as one of the external shell elements is gone (or is "ent killed" by an admin, or removed with a plugin), the entire dimension Collapses. More on dimensional Collapses in the section below. Recommended PVE Settings (only applies to default PVE-enabled settings) This will require adjusting some config settings and reloading the plugin. If you're planning on running this plugin on a PVP server (player vs. player, i.e. raiding/hurting between human players allowed), go back to the Raiding Pocket Dimensions section above - most default settings should work fine in the majority of scenarios. To find out what each of these recommended settings does, check out the Configuration section below for details. "DimensionalBoxesSubtractItemConditionWhenPickingUp": 0.0, "DimensionalBoxesAllowLockingWithLocks": true, "DimensionalBoxesAllowDamage": false, "DimensionaBoxesDamageResistanceDivisor": 50.0, "DimensionalBoxesAlwaysHaveStability": true, "DimensionalBoxesCheckForPlayersInsideWhenPickingUp": false, "DimensionalBoxesCheckBuildingBlockOutsideWhenEnteringDimension": true, "DimensionalBoxesCheckTCAuthInsideWhenEnteringDimension": false, "DimensionalBoxesCheckTCAuthInsideWhenPickingUp": false, "DimensionalPocketsAllowSolarAndWindmill": true, "DimensionalPocketsTrapImmunityAfterTeleport": 5.0, "DimensionalPocketsExteriorBlocksAllowNonDecayDamage": false, "DimensionalPocketsActualAltitudeMin": 3200.0, "DimensionalPocketsActualAltitudeMax": 3900.0, "DimensionaPocketsAllowVendingMachineBroadcast": true, "EffectPlayerTeleportAppear": "assets/prefabs/missions/portal/proceduraldungeon/effects/appear.prefab", "EffectPlayerTeleportDisappear": "assets/prefabs/missions/portal/proceduraldungeon/effects/disappear.prefab", "EffectsPlayerTeleportEnable": true, Collapse of a Pocket Dimension All good things eventually come to an end. "Collapse" in this context means that a certain Pocket Dimension and all its associated entities get destroyed and in the end, it's as if the Pocket Dimension never existed at all - save for all the juicy loot dropped from it. This can happen when... The box containing a Pocket Dimension gets "ent killed" by an admin/plugin, or gets damaged to the point of destruction One of the external shell structures inside of the Pocket Dimension (wall/external doorway) gets "ent killed" by an admin plugin, or decays/gets damaged to the point of destruction The exit portal housed in the external doorway gets "ent killed" by an admin/plugin Under normal circumstances, on a typical PVP server, you only expect the Pocket Dimensions to Collapse when they decay away, are raided, or purposefully removed by an admin (by "ent killing" the box or the external shell structure). If the Dimensions suddenly disappear with no apparent reason, it probably comes from another plugin's functionality, for example Abandoned Bases - but that's a completely expected outcome in this case: the Pocket Dimensions should behave as much as normal bases on the server as possible! On the topic of Abandoned Bases, if you use that plugin, you should definitely NOT allow locks on boxes containing Pocket Dimensions - otherwise the now-unlocked abandoned Pocket Dimension won't be accessible, as the box itself will not count as a base, and it will stay locked! During the Collapse, the last known position of the box associated with the Dimension will serve as the nexus point, where... All players inside of the dimension, asleep or online, alive or as dead bodies or bodybags, will be teleported to the nexus point, unharmed All entities that have an inventory, i.e. something stored inside of them - TC, boxes, turrets, traps, lockers etc - will drop their grey loot bags at the nexus points, as if all those entities were raided at the same time All building blocks and other structures will die, crumbling with gibs at the nexus point If the collapsing Dimension also contains Pocket Dimensions inside of it, and so on (A.K.A. box-ception), the entire "tree" collapses as well, at the root. That way, the best way to raid is always at the Dimension deployed directly in the world (the first one in the "box-ception" sequence), because it involved the least materials and effort. Works great with CopyPaste (and any plugin utilising it, like Raidable Bases) This plugin is fully compatible with Copy Paste and includes it as an optional dependency: i.e. Copy Paste is not needed for Pocket Dimensions to operate, but can potentially enhance the player's experience with extra capabilities. It's strongly recommended. Both the uMod version and the custom patched version distributed to work with Raidable Bases will work. As an admin, you can /copy and /paste a building and either convert it straight away (either with a command or in the Tool Cupboard UI), or just check if it's a valid candidate to be converted - more on validity below. You can also define some Skin IDs as special in the plugin configuration: when boxes with those particular skins are spawned for the first time (either being deployed by players, spawned/pasted by other plugins - Copy Paste itself or plugins utilising it, like Raidable Bases, or entirely separate plugins ), whatever Copy Paste filename you define, this box will be instantly made into a Pocket Dimension containing everything from the building that was copied under that name. And after that, the box can be re-skinned without any issues, too. You can also use the /pd.give command to give individual fresh Pocket Dimensions to players, by name or steam ID (look in the section Admin Commands above) from the server / F1 console or the chat - it's made in a way that shop/kit plugins relying on custom commands can utilise those easily. Useful if you don't want your players to convert their own buildings. Pocket Dimensions plugin even comes with a few predefined templates for those, so you can see how to set up your own. Just issue the /pd.give command without any arguments to get the list. If you want them to work properly, make sure you install the latest version of Copy Paste, and also upload the included Copy Paste files to the proper folder on your server. Compatible with Server Rewards / Economics Converting a valid building to a pocket dimension should NOT be free - and it isn't. By default, players need to deposit 500 Scrap into the TC - or have that amount ready in their inventory, both will work. You can adjust the amount and the shortname of the currency item in your config to your liking. You can even make it so that not only the shortname of this currency item is checked, but also its skin - useful if you have plugins that come with custom items. But you can also use Server Rewards or Economics as potential currencies, too! Check out the Configuration section above for more details. For this, either Server Rewards or Economics must be installed, depending on which one you want to use. Additionally, boxes with skin IDs mentioned in your config (leading to Copy Paste templates) can be sold in the Server Rewards shop, so it works both ways. Compatibility with No Escape If you don't use the No Escape plugin on your server, you can skip this section. Pocket Dimensions are just regular bases in many regards, so damaging any entities belonging to them will impose a Raid Block, and attacking any players inside will impose a Combat Block. Both of these count as an Escape Block. If this plugin detects that a player is Escape Blocked, several optional restrictions can be enabled/disabled in the Pocket Dimension config, to change how this Escape Block affects the gameplay for affected players: Entering Pocket Dimensions Exiting Pocket Dimensions Deploying Pocket Dimension Items into Boxes Picking up Pocket Dimension Boxes into Items Compatibility with other plugins Any plugin capable of issuing /utilising skinned items / spawning skinned Small Wooden Boxes, should work with Pocket Dimensions right out of the box (pun not intended). If there are any that have issues, please don't hesitate to let me know. Configuration (oxide/config/PocketDimensions.json) Below is a rundown of all the config values (and their defaults) that, combined with player permissions, will affect the gameplay on your server. Everything apart from the advanced stuff (like positioning/styling of the TC UI Button, or the CopyPaste templates) is explained in this section: "DimensionalBoxesSubtractItemConditionWhenPickingUp": 0.0, It would be highly inconvenient to be forced to constantly fix your Pocket Dimension box pretty much every time you pick it up, so this value will determine how much condition (in the range of 0.0 to 1.0, representing 0% to 100%) will be lost - and by default, it's 0.0, so the box will only lose condition when damaged. Set it to higher values (but never more than 1.0) to discourage players from moving their boxes too much, too effortlessly. "DimensionalBoxesAllowLockingWithLocks": false, Self-explanatory. By default, if a Key Lock or a Code Lock is placed on a Pocket Dimension box (be it automatically, with plugins, or manually, by players), the lock will just fall to the ground. It's to give the raiding players an opportunity to do the arguably HARDER option for raiding (statistically speaking) a dimension - from the inside. Set this to true to disable this behaviour and allow locks. "DimensionalBoxesAllowDamage": true, By default, boxes containing Pocket Dimensions will take damage - this enables the arguably easier raiding option, to raid from the outside, by destroying the box. How much damage is taken depends on the ResistanceDivisor value defined below. Set this to false if you want to make deployed Pocket Dimensions indestructible from the outside, by not letting players damage the box that contains it. "DimensionaBoxesDamageResistanceDivisor": 50.0, This value will determine how much stronger a Dimensional box is compared to its regular Small Wooden Box counterpart. For example, the default value of 50 means that it takes 50 times less damage, i.e 2% (1 divided over 50). Increase and decrease this value to make raiding from the outside harder or easier, accordingly. "DimensionalBoxesAlwaysHaveStability": true, This setting is true by default and it means that if a floor/foundation that the Dimensional box is placed on is suddenly destroyed, the box itself will remain floating in the air, instead of being destroyed along with it. It basically treats all boxes with Pocket Dimensions as if they were always placed directly on indestructible terrain. Of course, this never applies to Dimensions that are collapsing - no child Dimension in a "box-ception" sequence will ever remain floating "in Narnia". Set this to false if you want to make raiding the Dimensions from the outside easier if a box is not placed directly on actual terrain. "DimensionalBoxesCheckForPlayersInsideWhenPickingUp": true, If a player is inside of a Pocket Dimension and its box was just picked up, the player inside is now stuck, until the box gets re-deployed somewhere else. On the other hand... entire 30-man teams could be "smuggled" this way, all tucked quietly inside! Thus, by default, you cannot pick up pocket dimensions with players inside, and it's also not recommended to allow players to respawn inside, either, for the same reason. Set this to false if you really know what you're doing. "DimensionalBoxesCheckBuildingBlockOutsideWhenEnteringDimension": false, In vanilla Rust, if a box is unlocked, it can be opened, even if the player attempting it is not authorised on the TC. As such, this value is set to false, so that even if you're not authorised on the TC, you can still enter inside of a Dimensional Box. Set this value to true if you want that extra layer of security, in lieu of having a lock on the box that contains a Dimension. "DimensionalBoxesCheckTCAuthInsideWhenEnteringDimension": false, This setting, on the other hand, makes sure that an authorization on the TC is needed INSIDE of the pocket dimension itself (if there's one present at that point). For the same reason as above, it's set to false, but if you're feeling extra EXTRA paranoid, feel free to set it to false, and the only players that will be able to enter a Pocket Dimension were those originally authed on the TC before it as converted - and others bagged in later, but this requires the pocketdimensions.player.respawn permission, too. "DimensionalBoxesCheckTCAuthInsideWhenPickingUp": false, Similar to above, but related to picking up the Dimensional Box - of course, all the other checks for picking up are tested for, too (like building block outside). By default, this value is set to false, but if you want, you can toggle it to true, so that the only way to pick up a pocket dimension is to be authorised on its TC inside. "DimensionalPocketsAllowSolarAndWindmill": false, Allowing pretty much unlimited AND unchallenged electrical power inside of a Pocket Dimension can have several consequences for gameplay - and as such the default is false. Also, when the wires connection to the Solar/Wind generators on the roof are severed, the only way to restore them is with an intervention of an admin using "noclip". If you don't want your players to rely on fuel generators when inside of a Pocket Dimension, set this to true. "DimensionalPocketsAllowTestGenerators": true, Similar to the setting above, just dealing with Test Generators (either the static one, static invisible one, or deployable one). Normally those cannot be obtained by regular players (unless admins/plugins are involveds), and as such, this setting is true. If you have plugins/kits that make it possible for players to get them/spawn them, you should set it to false. "DimensionalPocketsTrapImmunityAfterTeleport": 1.5, When you enter an unknown Pocket Dimension, you never know if a shotgun trap or a turret are placed aiming right at the entry portal. Similarly, when you're inside of a Pocket Dimension, you don't know what's going on outside, so you can never be sure if somebody hasn't placed a trap aiming at the box containing the Dimension. Because of that, the default cooldown to be targeted by auto-traps right after a player enters/exits a pocket dimension is set to 1.5 seconds. Make it longer or shorter as you please, just not negative, and preferably no longer than 60 seconds. "DimensionalPocketsExteriorBlocksAllowNonDecayDamage": true, This effectively enables Collapsing an entire Pocket Dimension by attacking one of its external shell blocks (wall/doorway) from the inside - and as such, it's set to true. If you want to make the entire external shell impervious to damage (other than decay damage), set this to false. "DimensionalPocketsActualAltitudeMin": 3200.0, So here's the trick: in reality, the actual Pocket Dimension buildings exist at a randomly picked position on the map, but high up in the sky, and players are physically teleported to and from them - so it creates an illusion of being in a completely secluded place outside of "normal reality", where you can't even hear anything happening on the actual map. Similar to how Halloween Portals work. This setting defines the minimum random altitude at which Pocket Dimensions will physically reside for the duration of the wipe - by default, 3200 metres (3.2 kilometres, or roughly 2 miles). Adjust it if you have any other plugins that spawn things high up in the sky. IT'S NOT RECOMMENDED TO SET IT TO LOWER THAN 1000 - PLAYERS INSIDE MIGHT THEN HEAR THINGS HAPPENING ON THE ACTUAL MAP, LIKE C4, SUPPLY PLANES, HELI ETC. "DimensionalPocketsActualAltitudeMax": 3900.0, Similar to the setting above, this defines the maximum altitude. Both settings, together, effectively create a cuboid space high up in the sky, where Pocket Dimensions are expected to actually physically reside, at randomly picked locations. By default, this value is set to 3900.0, and there's a very good reason for that: AT EXACTLY 4000 METRES OF ALTITUDE, ALL PLAYERS WILL INSTANTLY DIE, INCLUDING ADMINS IN GOD MODE, AND THIS IS VANILLA RUST BEHAVIOUR. AS SUCH, IT IS NOT RECOMMENDED TO SET THIS VALUE TO HIGHER THAN DEFAULT. "DimensionaPocketsAllowVendingMachineBroadcast": false, While on the topic of maintaining an illusion - allowing players to effectively broadcast the location of their Pocket Dimension on the map would definitely break that illusion, so this value is false by default. Players who try to enable broadcasting in the Vending Machines deployed inside Pocket Dimensions will receive a warning instead, and the broadcast won't be enabled. Set this to true if you honestly couldn't care less about a visual detail like that. "DimensionalPocketsRespawningInsideRequiresDeployment": true, A safeguard against players trying to respawn inside bags/beds/towelrs in dimensions that are not currently deployed, to prevent the players from being effectively stuck inside (until they respawn somewhere else, at least, or until the box is re-deployed on the outside). "DimensionalPocketsTeleportingInsideRequiresDeployment": true, Similar to the setting above, but rather than dealing with respawning inside sleeping bags, this will prevent players from teleporting into a pocket dimension that is currently not deployed (works for any type of warp/teleport plugin). NOTE: Admins who are currently in noclip are allowed to teleport as they please, this is only checked for regular players. "DimensionalPocketsMaxInceptionDepth": 10, If you want to limit the amount of dimensions inside of dimensions inside of dimensions etc, this is the setting for you. If you change this value mid-wipe, only newly deployed boxes will be checked to see if they stay within the limit, and it won't affect already existing dimension trees. "DimensionalPocketsLocationMinTemperature": 15.0, When a new random location for a pocket dimension is checked, this setting will ensure that the biome-based temperature at 12PM (noon) will always be larger than this value. Decrease this value if you want a cooler climate. "DimensionalPocketsLocationMaxTemperature": 32.0, Similar to the setting above, this will put the upper limit on the biome-based temperature at 12PM (noon) when a new random location for a Pocket Dimension is considered. Increase this value if you don't mind a hotter climate. "EffectPlayerTeleportAppear": "assets/prefabs/missions/portal/proceduraldungeon/effects/appear.prefab", This is a purely cosmetic setting. When a player enters or exits a Pocket Dimension, it counts as a teleport. An audio-visual effect of your choosing will be played at the player's new location when that happens. By default, it's the same one used for the Halloween Dungeon. You can use most prefab effect on this list, just filter by "effect" in the "Search" box. "EffectPlayerTeleportDisappear": "assets/prefabs/missions/portal/proceduraldungeon/effects/disappear.prefab", The counterpart of the setting above - it just creates an effect at the old position of the player that's being teleported. And similarly, it's an effect from the Halloween Dungeon. Check out the prefab list I linked above if you want to use a different effect. You can use the Play FX plugin to test all the ones you can find in-game first, before you commit. "EffectsPlayerTeleportEnable": true, Effects can be loud and attract attention. Maybe you don't want. By default, the teleport effects are enabled, but if you set this setting's value to false, no special effects will be played while players are entering or exiting. "CheckEscapeBlockWhenEnteringDimensions": true, If you have No Escape installed, this will prevent players that are Escape Blocked from entering Pocket dimensions, like the name suggests. By default it's true. Feel free to change it to false if you believe that players raiding from the outside should still be able to enter inside. "CheckEscapeBlockWhenExitingDimensions": true, Again, if you don't have No Escape installed, ignore this setting and the next two after that. Similar to above, just when exiting the dimensions. Players will be informed that they cannot exit or enter dimensions for the reason of being Escape Blocked. Change the default value to false if you feel like the Escape Block should not matter for exiting. "CheckEscapeBlockWhenDeployingDimensions": true, No Escape specific setting number 3. You get it by now: if this setting is true (and it IS by default), Escape Blocked players won't be able to deploy any Pocket Dimension Items into their Box form that can be entered. Change the default "true" value to false if you consider this restriction to be too tight. "CheckEscapeBlockWhenPickingUpDimensions": true, And the last setting that's applicable to No Escape - it's the reverse of the one above. By default, players with an Escape Block imposed on them cannot pick up boxes with Pocket Dimensions inside. Change this to false if you beg to differ. "ForbiddenCommandsInsideDimensions": ["tp","warp","back","home","tpr","tpa","kit"], This blacklist contains the default chat and console commands that players without the admin permission will NOT be able run, while they themselves are within the Pocket Dimension layer altitude range. You can add or remove your own sets of commands (do not include the forward slash). "ForbiddenCommandsCheckingEnabled": true, If you set this to false, this will disable relying on the blacklist above, and any command will be permitted inside a Pocket Dimension to be executed by any player. "ConversionCostCurrencyUsed": "CustomItemAmount", By default, conversion from a normal base to a Pocket Dimension costs a certain physical Item that exists in Rust, and that setting is reflected by the value of "CustomItemAmount". If you instead prefer Server Rewards / Economics to be used to pay for conversion, set this value to "ServerRewards" or "Economics", respectively. You can even set this to "NoCost" - and the conversion will be free for the player (but the base will still need to be built correctly and maintained). "ConversionCostAmount": 500, 500 scrap to convert sounds like a moderate amount. 500 RP, or ¤500 however, do not - so you can adjust this amount to be higher or lower however you like,depending on your currency used. Only integers larger than 0 are accepted. "ConversionCostCustomItemShortname": "scrap", What else but "scrap" by default - the universal currency. Of course, if you picked Server Rewards or Economics instead, this setting won't matter in the slightest. Whatever valid item shortname from the approved list you pick, this is what players will be charged for conversion. Since not everything can be put in the TC, it will also check the player's inventory for that item. "ConversionCostCustomItemOverrideName": null, Again, this only applies to the "CustomItemAmount" option. If you want to use a completely custom item, for example, one registered by another plugin, that has a different icon/behaviour, those items often have a custom name. If this value is null (with no quotes) or empty (just the "" quotes), the Item's definition name translated to the client's language will be used. "ConversionCostCustomItemSkinID": 0, And finally: if you only want to accept certain skinned variants of an item - again, useful for plugins with custom items like Water Bases - set the default value of 0 to any valid item ID available on the Steam Workshop. This setting will also be ignored if your currency is not set to "CustomItemAmount". There's a few more settings, but these are all the most important ones that will shape your unique server experience. Translation support (oxide/lang/en/PocketDimensions.json) Almost every string the players see, including the text 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. Hooks/API (for plugin developers) You can call these through Interface.CallHook() as well, if you don't want to add a [PluginReference] //get an array of BasePortal entities that are assigned to Dimensional Pockets // - or null if none are present var portalArray = PocketDimensions?.CallHook("GetDimensionalPortals") as BasePortal[]; //get an array of BuildingManager.Building instances that are assigned to Dimensional Pockets // - or null if none are present var pocketArray = PocketDimensions?.CallHook("GetDimensionalPockets") as BuildingManager.Building[]; //get an array of StorageContainer entities that are assigned to Dimensional Pockets // - or null if none are present var boxArray = PocketDimensions?.CallHook("GetDimensionalBoxes") as StorageContainer[]; //pass a BasePortal entity and get a boolean true if it's assigned to a Dimensional Pocket // - or false if it's not var isDimensionalPortal = PocketDimensions?.CallHook("CheckIsDimensionalBox", basePortal).Equals(true); //pass a BuildingManager.Building instance and get a boolean true if it's assigned to a Dimensional Pocket // - or false if it's not var isDimensionalPocket = PocketDimensions?.CallHook("CheckIsDimensionalPocket", building).Equals(true); //pass a StorageContainer entity and get a boolean true if it's assigned to a Dimensional Pocket //- or false if it's not var isDimensionalBox = PocketDimensions?.CallHook("CheckIsDimensionalBox", storageContainer).Equals(true); //pass a BuildingBlock entity and get a boolean true if it's assigned to a Dimensional Pocket SPECIFICALLY as a Shell Block // - or false if it's not var isDimensionalShellBlock = PocketDimensions?.CallHook("CheckIsDimensionalShellBlock", buildingBlock).Equals(true); //pass a DecayEntity entity and get a boolean true if inside a DimensionalPocket Building // - or false if it's not var doesBelongToDimensionalPocket = PocketDimensions?.CallHook("CheckBelongsToDimensionalPocket", decayEntity).Equals(true); //pass a global::Item instance and get a boolean true if it's assigned to a Dimensional Pocket // - or false if it's not. //You must also specify whether you're looking for "fresh", unopened dimensions in that item OR an already existing dimensions. //If you want to check both cases, you must do two separate checks, passing a different boolean (true when looking for fresh, //false when not) as the second (counting from 0th) argument. var isDimensionalItem = PocketDimensions?.CallHook("CheckIsDimensionalItem", item, lookingForFresh).Equals(true);$24.99- 19 comments
- 7 reviews
-
- 6
-
-
-
- #dimensions
- (and 11 more)
-
Version 1.10.6
734 downloads
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! Event Types destroy - counts destroyed/killed NPCs, players, barrels, roadsigns, etc. loot - counts looted crates & loot containers collect - adds collected resources/entity amounts together (adds total number of entities collected [500 wood, 1000 metal.ore, 10 cloth, etc.]) dispense - counts collected resource/entity types (counts entity types distributed [wood = 1 point, metal.ore = 1 point, cloth = 1 point, etc.]) fish - counts caught fish or killed sharks 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", "wolf2", "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": 3 } }$24.99 -
Version 1.3.9
722 downloads
Grow Makes plants Grow in plant boxes within a small radius around the player (about 3-4 large plant boxes) by one growth stage when entering the command /grow. Multiple entries possible. Available currencies: Server Rewards, Economics, Scrap, or none. Installation: Simply drag grow.cs into the oxide/plugins directory. Set permission grow.use. Set settings under oxide/config/Grow.json. Set language file under: oxide/lang/en/Grow.json and oxide/lang/de/Grow.json. Permission: grow.use - Allows the use of the grow plugin. Configuration options: currency active? - Turn currency on / off. if currency true = ServerRewards - Set currency to Server Rewards. if currency true = Economics - Set currency to Economics. if currency true = Scrap - Set currency to Scrap. cost - How much should it cost. Language: This plugin allows you to customize the language of in-game messages for the "Grow" plugin. It includes both English and German language files, and you can easily switch between them as needed. To set the language file, navigate to the following paths in your server directory: For English: oxide/lang/en/Grow.json For German: oxide/lang/de/Grow.json Simply edit the appropriate file with the desired language and save your changes. The plugin will then display messages in the selected language. Support in German and English. P.S.: new version fixes the "G-Point"Free -
Version 2.0.9
71,002 downloads
Convenient GUI manager for player and group permissions. Allows assignment of player permissions. (online or sleeping) Allows assignment of group permissions. Allows one-click removal of all players from a group. (group page - "Remove All") Allows adding/removing a player from groups. Supports unlimited plugins/permissions/groups Up to 60 plugins per-page. Up to 40 permissions per-page. Up to 40 user groups per-page Allows for local and sql backup and recall of all permissions or groups. Permissions. permissionsmanager.allowed - Allows players to use GUI. Plugin can be used with this permission, or by any Admin : Auth Level 2. Chat commands. /perms data - Backup and restore permissions and/or groups - local data file and/or SQL. ** /perms OR /perms player - Opens GUI player list, allowing a player to be chosen. /perms group - Opens GUI group list, allowing a group to be chosen. /perms player <playername> - Opens permissions GUI for the specified player. /perms group <groupname> - Opens permissions GUI for the specified group. Console commands. EmptyGroup <groupname> - Removes all players from the specified group. Configuration. Global. Chat - Title colour Chat - Message colour GUI - Label colour GUI - On colour GUI - Off colour GUI - AllPerPage - Sets All/None option to per-page, or per plugin. Options - GUI Transparency 0-1 Options - Plugin BlockList - ex. "playerranks,botspawn" Block list must be lower case, comma separated, no spaces, and no final comma, as above. Useful tool for picking CUI colours - RGB Decimal - Take the RGB Normalized decimal output, and remove all commas. ** Please note that with data backups : SQL saving is accumulative - Saving adds current permissions/group data to whatever was already saved. Local data file saving is not accumulative. It overwrites any existing backup with the current server permissions/groups. FAQ. Q: I'm trying to revoke permission(Y) for a player, but it says "Inherited". A: The player is in a group(X) which is also granted permission(Y). Solution: Revoke permission (Y) from group(X) or remove the player from group(X). Q: I removed a player from group(X), but they still have permission(Y). A: This is the opposite of the above. This player must have been independently granted permission(Y) at some time. Solution: Revoke permission(Y) from the player.Free- 191 comments
- 34 reviews
-
- 38
-
-
-
- #permissions
- #admin
-
(and 7 more)
Tagged with:
-
Version 1.5.4
777 downloads
This plugin makes the admin’s life easier by automatically generating maps, initiating a vote that lets users choose which map they would like to play in during the next wipe and auto wiping the server. Depends on: Image Library Wipe Info API (If your server in country that have forced wipe at Friday please use WipeInfoApi file in MapVoter/WipeInfoApi/WipeInfoApi .cs) Discord extension Update 1.5.00: Unified Plugin Types Merged all different types of the plugin into a single, unified version. Server Wipe Fix Fixed an issue where the plugin did not wipe the server after a restart. General Improvements Resolved various other issues to enhance performance and stability. Added server identity to the configuration file. If you load the plugin while the server is running, it will automatically set to the current identity. Alternatively, you can find the server identity by: - Checking the startup command for +server.identity. - Inspecting the server.cfg path: You can locate the server identity in /server/{server.identity}/cfg/. Logging Enhancements Added logging files to track auto-wipe progress. To enable this feature, set Enable Debug Mode to true in the configuration file. Update 1.4.67: Added: Single Discord message now supports up to 4 maps. Wipe countdown in Embed. Fixed: Magnify icon not showing. New config options: You must set the Embed URL if you want to use the Single Discord embed message. "Embed Url": "https://codefling.com" "Single Embed?": false Note: The single message will only display 4 maps, but you can add more. Update 1.4.64: Server administrators can list data files to be deleted after the wipe "Plugins Data wipe": { "Enable plugins data wipe on forced wipe day": true, "Enable plugins data wipe on map wipe day": true, "File names to be deleted on forced wipe day": [ "wipeinfo", "WipeInfoApi" ], "File names to be deleted on map wipe day": [ "wipeinfo", "WipeInfoApi" ] } If you utilize a game hosting service, please ensure that your host permits the modification of the startup command. Update 1.3.26 : Auto wipe now works for non Dedicated (game server or host) servers but you'll have to disable sandbox and you won't be able to auto update the server. Requirements Rust Server(s) setup in a standard way on a Windows ,Pterodactyl Panel , Open Game Panel, Ubuntu dedicated server or game/host server (Doesn't work on LinuxGSM). Administrator privileges on said dedicated server. All of your server settings in \server\my_server_identity\cfg \server.cfg except rcon.port ,rcon.web rcon.password which will be added to batch script later. Auto Wipe will launch the server without start.bat. Features: Automatically restart and update the server every first Thursday of the month. Automatically generate or select random maps from rustmaps.com filter maps on wipe day or x days before wipe using https://rustmaps.com/ & wipe-info-api and start the vote. Allows players to vote on maps through an in-game UI or Discord (if you use any plugin that links a player and a Discord user, enable “only authenticated users can vote” in the config file to avoid duplicate votes). Automatically checks if it’s wipe day using wipe-info-api and the plugin’s config. Automatically update Oxide and the server and wipes it on forced wipe. Configure the plugin through a GUI (not all settings are available on the GUI). Select maps from rustmaps.com through a GUI via a RustMaps share code. Added Custom maps via GUI (to delete map you have to delete it from data file in MapVoter/Custommapdata.json). The vote will start automatically on custom maps in data folder if custom maps usage is enabled in config. Fun kit. Automatically generates custom maps every wipe, utilizing RustMaps.com. Please note that to use this feature, a subscription to RustMaps.com is required. Update 1.4.61 In this update you can generate a custom maps every time map vote starts with same config you provided. Update 1.3.40 New UI Update 1.3.35 1- Added Fun kit. Fun kit is kit that will be enabeled before every wipe, players can redeem it using /kit <kit name> or when respawning. Players wont be able to learn BPs and unloack workbench tree nodes. How to add fun kit? 1 - create kit using kits plugin with permission example : 2 - In map voter config file edit : "Fun Kit": { "Fun kit enabled": false, "Enable Fun kit x minutes before wipe": 0, "Kit name": null, "Permission": null }, 3 - save and reload MapVoter. 2 - Map Voter will print future wipes in console when loaded How to add Custom maps : Video Permissions: MapVoter.use only allows an admin to generate maps and start a vote. MapVoter.Manager allows an admin to use all the features. MapVoter.Vote allows player to vote(you can enable or disable this in configuration). Commands /mvote : Opens the plugin’s main GUI. /startvote After selecting which maps will appear on the vote, starts the vote. MapVoter.generate <Number of maps to generate> <seed> <voting duration in minutes>. voteresult : Shows which map had won the vote. Mapvoter.reload reload the plugin. MapVoter.mapwipe <delay in seconds> <Map size > will generate a map and change startup parameters in server.cfg. MapVoter.mapwipe <delay in seconds> <Custom map url > will wipe the server with a given custom map url and change startup parameters in server.cfg MapVoter.bpwipe <delay in seconds> <Map size > will generate map and delete *.db, *.db-journal and *.sav files and changes startup parameters in server.cfg MapVoter.bpwipe <delay in seconds> <Custom map url > will delete *.db, *.db-journal and *.sav files and change startup parameters MapVoter.cancelwipe : cancels ongoing wipe. MapVoter.stopvoting : stops ongoing voting. MapVoter.update <Delay in seconds> initiates restart and updates the server & oxide. Mapvoter.CancelUpdate : Cancels restart and update. Discord commands !vote !generate <Number of maps to generate> <seed> <voting duration in minutes>. !mapwipe <delay in seconds> <Map size > !bpwipe <delay in seconds> <Map size > bpwipe <delay in seconds> <Custom map url > !cancelwipe !stopvoting !update <Delay in seconds> !cancelupdate Configuration { "Commands": { "Open MapVoter UI": "mvote", "Generate Mpas": "MapVoter.generate", "vote result": "voteresult" }, "Options": { "Map size": 3500, "Select random maps from rustmaps filter id instead of generating random maps on wipe day (true/false)": false, "How many pages the plugin looks up per search request(every page has 30 maps": 10, "Enable Discord bot (true/false)": true, "Only players with permission MapVoter.Vote can vote (true/false)": false, "Log to Discord (true/false)": true, "Discord Logs Channel Id": "", "Disable UI": false, "RustMaps API key": "https://rustmaps.com/user/profile", "staging": false, "barren": false, "Stop voting after (minutes)": 60, "avatar url": "", "Discord footer": "", "filter Id": "Visit https://rustmaps.com/ and adjust your map requirements. In the red box above the settings hit the Share button,the string at the end of the URL is the filterId.Example URL: https://rustmaps.com/?share=gEU5W6BUuUG5FpPlyv2nhQ the string at the end in this case {gEU5W6BUuUG5FpPlyv2nhQ} is the filterId." }, "Discord Settings": { "Vote Channel id": "", "Discord Apikey": "BotToken", "Discord Command Prefix": "!", "Discord Channels": [ { "Discord Channel ID": "", "Commands": [ "generate", "vote", "mapwipe", "bpwipe", "cancelwipe", "stopvoting", "update", "cancelupdate" ] } ], "Discord Command Role Assignment (Empty = All roles can use command.)": { "generate": [ "DiscordRoleName", "DiscordRoleName2" ], "vote": [ "DiscordRoleName", "DiscordRoleName2" ], "mapwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "bpwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "cancelwipe": [ "DiscordRoleName", "DiscordRoleName2" ], "stopvoting": [ "DiscordRoleName", "DiscordRoleName2" ], "update": [ "DiscordRoleName", "DiscordRoleName2" ], "cancelupdate": [ "DiscordRoleName", "DiscordRoleName2" ] } }, "Auto Vote": { "Auto start vote": true, "Only Authenticated users can vote through discord": true, "Start voting x days before wipe": 0, "Start voting at (HH:mm) 24-hour clock": "17:00", "Number of maps to generate": 4 }, "Auto Wipe": { "Custom Map": { "Custom map": false, "Map URL": "" }, "Map Wipe schedule": [ 7, 14, 21, 28 ], "BP Wipe schedule": [ 0 ], "Enable Auto wipe": true, "Wipe BPs at forced wipe day": true, "Forced Wipe time (HH:mm) 24-hour clock": "19:00", "Wipe time (HH:mm) 24-hour clock": "19:00" } } MapVoter.cs, which will handle wipe schedule and automatically generate maps, start voting and restart the server. How to Install 1 - Upload Mapvoter.cs. 2 - all your server configuration must be in /server/{server.identity}/cfg/server.cfg or you can change the path in config if your host use different path (/server/{server.identity}) 3- Upload Discord extension to /RustDedicated_Data/Managed. 4- change the startup command if possible to ./RustDedicated -batchmode +server.identity "rust" +rcon.port {{RCON_PORT}} +rcon.web true +rcon.password \"{{RCON_PASS}}\" or leave all the map seed, size and level URL empty. 5-create server.cfg file in server/{server.identity}/cfg/ example : server.port 28000 server.seed server.worldsize //server.levelurl server.maxplayers 100 server.gamemode vanilla server.hostname " Vanilla" server.tags vanilla,weekly server.level "Procedural Map" server.radiation true server.saveinterval 600 server.tickrate 30 server.headerImage "" server.url "" server.secure 1 server.salt 50 Perform a Dry-Run Whilst your server is online with no players, test some commands like Mapvote.bpwipe, server.cfg, and make sure that server.seed and server.worldsize has changed and all your selected files have been deleted. Contact kaysharp#2008$45.00- 53 comments
- 8 reviews
-
- 4
-
-
-
- #admin tools
- #admintool
- (and 9 more)
-
Version 1.4.8
7,030 downloads
Sputnik is a server event that allows players to contest fallen sputnik satellite fragments that fall around the map. Players will need to battle their way past patrol helicopters, NPCs, turrets, and mines to gain access to loot locked behind keycards that require 'Space Cards,' which can be added to loot tables or sold in a shop! Alternatively, you can use standard keycards. Overview By default, there are five types of debris that can fall in any quantity and combination. The fragment can be guarded by a helicopter, NPCs, turrets, and mines. For each preset, you can configure the location and number of crates. A radiation zone can be created around the fragment. By default, there is a card reader in one of the locations that open a locked crate. It is activated using the “Space card.” For more information, see the “Space card” section. Space Card A card reader can be placed on any type of sputnik debris. By default, it is activated using a purple "Space Card." This card reader opens the crates specified in a special section of the config. A custom card can be added to the loot tables of standard crates and crates of this event. It can also be given with the help of a command or sold in the server store. If necessary, the card reader can be removed, and the card can be replaced with any type of standard card. Location presets The location preset is specified for each wreckage preset separately. By default, a data file with five types of prefabs is included: sputnik_1 debris_1 debris_2 debris_3 debris_4 They are shown in pictures 6 - 10. The first location includes a locked crate that opens with the help of a "Space Map." Chat commands (only for administrators) /sputnikstart– launches the event in a random configuration /sputnikstart <eventPresetName> – launches the event in the <eventPresetName> configuration /sputnikstop – stops the event /givespacecard – give yourself a "Space Card". Console commands (RCON only) sputnikstart– launches the event in a random configuration sputnikstart <eventPresetName> – launches the event in the <eventPresetName> configuration givespacecard <userID> – give a "Space Card" to player Config en – example of plugin configuration in English ru – example of plugin configuration in Russian Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify DiscordMessages AlphaLoot CustomLoot Economics Server Rewards IQEconomic Hooks OnSputnikEventStart () OnSputnikEventStop () OnSputnikEventWin (ulong userID) OnPlayerEnterSputnik{BasePlayer player} OnPlayerExitSputnik{BasePlayer player} My Discord: Adem#9554 Join the Mad Mappers Discord here! Check out more of my work here!$29.99 -
Version 1.0.1
14 downloads
RUST Plugin Test Server TEST MY PLUGINS THERE! connect play.thepitereq.ovh:28050 Waystones plugin gives you the ability to quickly move from one position to another. It creates a waystone on desired monuments that can be used by players for quick movement around the map. It also allows players for creating their own waystones in their homes. Automatically place waystones on monuments for player teleportation. Supports waystones in player bases with ground, wall and empty space checks. Custom monument support. Configurable marker on map. Easy command waystone placement. Optional command for waystone crafting. RUST-like UI design. A lot of VIP permission options. (points gather, max points, max waystones saved) Auto data clear on map wipe. NoEscape PvP support. Pre-configured default RUST monuments. waystones.admin - Gives access to /placeway, tppoints and givewaystone commands. waystones.craft - Gives ability to craft waystone. (Configurable) Any other permission added in config file. /waystone - Command to craft waystone. (Configurable) /placeway [Optional: MonumentName] - Sets new position for nearest [set] monument waystone. tppoints - Command for giving teleport points to players. (Console Command) givewaystone [Optional: userId] - Gives you [user] an waystone for placement. (Console Command) { "PopUpAPI Preset Name": "Inventory", "Waystone Craft Command": "waystone", "Waystone Placeable Shortname": "composter", "Waystone Placeable Display Name": "Waystone", "Waystone Marker - Enabled": true, "Waystone Marker - Marker Alpha": 0.7, "Waystone Marker - Marker Radius": 0.05, "Waystone Marker - Marker Color #1": "#ffd342", "Waystone Marker - Marker Color #2": "#a38729", "Waystone Marker - Enable On Monuments": true, "Waystone Marker - Show Player Waystones By Default": false, "Waystone Marker - Lock Player Waystone Visibility Change": false, "Waystone Crafting - Enable Crafting": true, "Waystone Crafting - Require Permission": true, "Waystone Crafting - Required Workbench Level": 2, "Waystone Crafting - Craft Cost": [ { "Shortname": "stones", "Amount": 5000, "Skin": 0 }, { "Shortname": "targeting.computer", "Amount": 10, "Skin": 0 }, { "Shortname": "industrial.wall.light", "Amount": 4, "Skin": 0 }, { "Shortname": "industrial.wall.light.red", "Amount": 1, "Skin": 0 } ], "NoEscape - Lock Teleporting When PvP Blocked": true, "NoEscape - Lock Teleporting When Raid Blocked": true, "Teleport Cost Per Kilometer": 25.0, "Initial Point Amount": 100, "Initial Point Amount Permissions": { "waystones.admin": 1000, "waystones.svip": 500, "waystones.vip": 250 }, "Teleport Points Default Cap": 1000, "Teleport Points Cap Permissions": { "waystones.admin": 100000, "waystones.svip": 5000, "waystones.vip": 2500 }, "Teleport Points Refill Interval (in seconds, 0 to disable)": 60.0, "Teleport Points Refill Amount": 2, "Teleport Points Refill Amount Permissions": { "waystones.admin": 20, "waystones.svip": 5, "waystones.vip": 3 }, "Max Waystones Saved Default Cap": 6, "Max Waystones Saved Permissions": { "waystones.admin": 100, "waystones.svip": 18, "waystones.vip": 12 }, "God Mode After Teleport (in seconds, 0 to disable)": 0.0, "Waystone Destroy Entity Names": [ "rocket_basic", "explosive.timed.deployed" ], "Generate New Map Market Config Sections": true, "Map Marker Waystones": { "arctic_research_base_a": { "Enabled": true, "Offset": { "x": -34.46, "y": 0.0, "z": -54.53 }, "Rotation": { "x": 0.0, "y": 24.0, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "fishing_village_a": { "Enabled": true, "Offset": { "x": 19.59, "y": 1.99, "z": -10.79 }, "Rotation": { "x": 0.0, "y": 0.33, "z": 0.0 }, "Teleport Price Multiplier": 0.3 }, "fishing_village_b": { "Enabled": true, "Offset": { "x": -6.4, "y": 2.0, "z": 15.36 }, "Rotation": { "x": 0.0, "y": 180.4, "z": 0.0 }, "Teleport Price Multiplier": 0.3 }, "fishing_village_c": { "Enabled": true, "Offset": { "x": -7.62, "y": 2.02, "z": 16.37 }, "Rotation": { "x": 0.0, "y": 178.85, "z": 0.0 }, "Teleport Price Multiplier": 0.3 }, "ferry_terminal_1": { "Enabled": true, "Offset": { "x": 11.35, "y": 5.19, "z": 7.14 }, "Rotation": { "x": 0.0, "y": 86.81, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "harbor_1": { "Enabled": true, "Offset": { "x": 100.56, "y": 4.28, "z": -59.3 }, "Rotation": { "x": 0.0, "y": 273.79, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "harbor_2": { "Enabled": true, "Offset": { "x": -54.15, "y": 4.02, "z": -0.02 }, "Rotation": { "x": 0.0, "y": 88.02, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "airfield_1": { "Enabled": true, "Offset": { "x": -163.78, "y": 0.26, "z": -104.47 }, "Rotation": { "x": 0.0, "y": 3.34, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "excavator_1": { "Enabled": true, "Offset": { "x": -94.42, "y": 0.61, "z": -57.44 }, "Rotation": { "x": 0.0, "y": 138.7, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "military_tunnel_1": { "Enabled": true, "Offset": { "x": -76.77, "y": 19.47, "z": 63.1 }, "Rotation": { "x": 0.0, "y": 91.46, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "powerplant_1": { "Enabled": true, "Offset": { "x": -40.84, "y": 0.29, "z": -89.01 }, "Rotation": { "x": 0.0, "y": 90.4, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "trainyard_1": { "Enabled": true, "Offset": { "x": -82.86, "y": 0.28, "z": 15.5 }, "Rotation": { "x": 0.0, "y": 91.62, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "water_treatment_plant_1": { "Enabled": true, "Offset": { "x": -5.19, "y": 0.28, "z": -152.01 }, "Rotation": { "x": 0.0, "y": 0.08, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "lighthouse": { "Enabled": true, "Offset": { "x": 2.3, "y": 5.96, "z": 13.91 }, "Rotation": { "x": 0.0, "y": 84.95, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "bandit_town": { "Enabled": true, "Offset": { "x": 27.92, "y": 1.76, "z": -21.08 }, "Rotation": { "x": 0.0, "y": 20.9, "z": 0.0 }, "Teleport Price Multiplier": 0.1 }, "compound": { "Enabled": true, "Offset": { "x": 14.35, "y": 0.19, "z": 32.57 }, "Rotation": { "x": 0.0, "y": 92.0, "z": 0.0 }, "Teleport Price Multiplier": 0.1 }, "junkyard_1": { "Enabled": true, "Offset": { "x": 48.98, "y": 0.07, "z": 46.16 }, "Rotation": { "x": 0.0, "y": 190.78, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "nuclear_missile_silo": { "Enabled": true, "Offset": { "x": 41.7, "y": -5.91, "z": -58.81 }, "Rotation": { "x": 0.0, "y": 322.75, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "radtown_small_3": { "Enabled": true, "Offset": { "x": -46.11, "y": 19.79, "z": -48.73 }, "Rotation": { "x": 0.0, "y": 82.24, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "desert_military_base_a": { "Enabled": true, "Offset": { "x": 26.62, "y": 0.0, "z": -41.89 }, "Rotation": { "x": 0.0, "y": 359.57, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "desert_military_base_b": { "Enabled": true, "Offset": { "x": -45.48, "y": 0.0, "z": -21.53 }, "Rotation": { "x": 0.0, "y": 80.83, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "desert_military_base_c": { "Enabled": true, "Offset": { "x": -44.95, "y": 0.0, "z": 9.5 }, "Rotation": { "x": 0.0, "y": 89.92, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "desert_military_base_d": { "Enabled": true, "Offset": { "x": -63.3, "y": 0.0, "z": 2.77 }, "Rotation": { "x": 0.0, "y": 89.52, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "gas_station_1": { "Enabled": true, "Offset": { "x": 6.77, "y": 3.03, "z": -10.93 }, "Rotation": { "x": 0.0, "y": -180.04, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "radtown_1": { "Enabled": true, "Offset": { "x": 49.19, "y": 0.24, "z": 10.03 }, "Rotation": { "x": 0.0, "y": 180.21, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "supermarket_1": { "Enabled": true, "Offset": { "x": -1.26, "y": 0.0, "z": -18.49 }, "Rotation": { "x": 0.0, "y": 0.29, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "warehouse": { "Enabled": true, "Offset": { "x": -18.34, "y": 0.03, "z": -8.99 }, "Rotation": { "x": 0.0, "y": 90.56, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "mining_quarry_a": { "Enabled": true, "Offset": { "x": 10.34, "y": 3.6, "z": 24.88 }, "Rotation": { "x": 0.0, "y": 81.5, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "mining_quarry_b": { "Enabled": true, "Offset": { "x": 0.8, "y": 0.0, "z": 12.63 }, "Rotation": { "x": 0.0, "y": 159.67, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "mining_quarry_c": { "Enabled": true, "Offset": { "x": -11.03, "y": 2.99, "z": 32.86 }, "Rotation": { "x": 0.0, "y": 171.85, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "satellite_dish": { "Enabled": true, "Offset": { "x": -0.94, "y": 6.05, "z": -1.25 }, "Rotation": { "x": 0.0, "y": 187.49, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "sphere_tank": { "Enabled": true, "Offset": { "x": -33.94, "y": 5.76, "z": -12.03 }, "Rotation": { "x": 0.0, "y": 78.7, "z": 0.0 }, "Teleport Price Multiplier": 1.0 }, "stables_a": { "Enabled": true, "Offset": { "x": 19.44, "y": 3.05, "z": -2.58 }, "Rotation": { "x": 0.0, "y": 271.67, "z": 0.0 }, "Teleport Price Multiplier": 0.5 }, "stables_b": { "Enabled": true, "Offset": { "x": 16.64, "y": 2.99, "z": 2.14 }, "Rotation": { "x": 0.0, "y": 271.24, "z": 0.0 }, "Teleport Price Multiplier": 0.5 }, "launch_site_1": { "Enabled": true, "Offset": { "x": 208.42, "y": 3.25, "z": 54.73 }, "Rotation": { "x": 0.0, "y": 181.44, "z": 0.0 }, "Teleport Price Multiplier": 1.0 } } }$15.00- 13 comments
- 2 reviews
-
- 2
-
-
- #teleport
- #teleporting
- (and 13 more)
-
Version 1.32.11
2,107 downloads
Plugin adds a system of 18+ different skills Features: Beautiful user interface Universality (plugin working with different economic plugins) Customization (all interface you can set up in configuration) Performance Commands skills - open interface giveallskills name/steamid - give the player every skills at the maximum stage giveskill name/steamid [SkillType] [Stage] [ID - for None] - give the player the skill with the stage skills.convert.olddata - convert from old data skills.wipe - wipe skills removeskill name/steamid [SkillType] [ID - for None] - remove a player's skill skills.permissions.wipe – use it to manually remove permissions from player data Permissions skills.bypass - bypass for skills skills.wipe - using the command "skills.wipe" Skills Types Wood Stones Metal Sulfur Attack Secure Regeneration Metabolism ComponentsRates StandUpChance CraftSpeed FastOven Kits (works only with the Kits by Mevent plugin) None Cloth Butcher Scrap RecyclerSpeed TransferWipe MixingTableSpeed Gather CraftRates FAQ Where can I see an example of a config? Config How do I set an image to the background? 1. Enter a link to the image in the "Image" field 2. Set "Save Image Color" to true 3. Reload Image Library (oxide.reload ImageLibrary) 4. Reload Skills (oxide.reload Skills) !ATTENTION: The image must not exceed 3 MB Example: https://pastebin.com/cDxiBVrh How to use BankSystem to store the economy "Economy": { "Balance add hook": "Deposit", "Balance remove hook": "Withdraw", "Balance show hook": "Balance", "Plugin name": "BankSystem" }, How to use ServerRewards to store the economy "Economy": { "Balance add hook": "AddPoints", "Balance remove hook": "TakePoints", "Balance show hook": "CheckPoints", "Plugin name": "ServerRewards" }, How to use "Required skills stages"? Config example: "Required skill stages": [ { "Type": "CraftSpeed", "ID": 0, "Stage": 1, "Require the presence of this skill? (otherwise only the stage will be checked)": true } ] Hooks CanSkillLearn(BasePlayer player, string skillType, int skillID, int stage) OnSkillLearned(BasePlayer player, string skillType, int skillID, int stage)$24.95 -
Version 2,0,0
19 downloads
I would like to offer you my version of the popular map from the game Counter-Strike: Global Offensive (2) - CS_ASSAULT. This monument is perfect for any server as I have meticulously worked on it and included everything just like in the original version. ABOUT THE MONUMENT: It consists of a train stop, residential buildings, and the main hangar with 4 entrances: The first entrance, which is also the main one, is the main gate. The second entrance is a black exit on the opposite side of the hangar. The third entrance is on the opposite side of the hangar on the second floor. And the fourth exit is through the ventilation shaft connecting the parapet of the second floor and the guardroom. Loot: On the outside, you can find regular crates, while military crates are located inside. The monument will be constantly updated.$16.00- 4 comments
-
- #custom
- #custom map
- (and 10 more)
-
Version v1.0.3
23 downloads
AZTEC Rust prefab AZTEC, also known as file de_aztec, is a video game map featured in the Counter-Strike 2 first-person shooter series. AZTEC Rust Prefab You will feel like an explorer of the ancient Aztec civilization, navigating through a magical map with ancient pyramids, challenging parkour, and an unparalleled waterfall!. Discord$14.50- 2 comments
- 1 review
-
- #custom
- #custom prefabs
-
(and 3 more)
Tagged with:
-
Version 1.0.0
20 downloads
WindyCleft (OneGrid) A small map in the (OneGrid) style with unique monuments featuring intriguing puzzles and a fully customized underwater monument. Specially designed for OneGrid servers and servers with up to 150 players online. Custom Monuments: Fuel processing plant – a semi-ruined factory with two floors. Two Tower – Two towers connected high in the mountains with military crates. Mysterious house – at first glance, it’s just an ordinary wooden house in the forest under the mountain, but it’s only at first glance. The house hides a secret military bunker with a puzzle and security. You’ll find many interesting things there. Angar – it used to be used to unload military trains, but after the war in 2050, the island’s new residents started using the hangar to repair their cars. However, from the past, there is one room that no one has been able to open yet; they say there is something very valuable inside. Zavod – an old factory that once supplied the island with fuel; now only one external fuel processor remains. Post – a small roadside monument. Puzzle – a monument from the Hapis map slightly modernized. ??? – During a rescue operation with a sunken ship, Captain Morrison discovered an unusual underwater signal. He reported this information to the Cobalt Corporation, and since then, no one has seen them. Old residents say there was once an island there, but it sank after a volcano eruption. FacePunch Monuments: Fishing village Oil Rig SuperMarket Gas Station HQM Quarry Sewer Branch The map will be constantly supported and updated. If you have any questions, feel free to message me on Discord.$19.00-
- #maps
- #custom maps
- (and 28 more)
-
Version 1.0.0
9 downloads
I present to you the Arena for your server! A compact arena with interesting hideouts and passages that will give your players a taste of true hardcore. Specifically for battlefield servers and training servers. Perfectly balanced, this arena is exactly what you’ve been looking for on your server! Number of prefabs: 200~$9.00 -
Version 1.4.3
3,211 downloads
The plugin allows players to visit a cold atmospheric Space void of gravity and oxygen, and visit an International Space Station! A Space Station appears high in the sky, and is surrounded by Meteorites, Spaceships, and Balloons. There is no gravity in Space, the temperature is very low and there is no oxygen. You can get to Space by a Spaceship or by a Balloon which also spawn near roads or in loot tables. The Space Station is guarded by customizable NPCs and a Space Bradley. Outer Space Meteorites, Crates, NPCs, Balloons and Spaceships will spawn in Outer Space near the Space Station, the number of each can be configured and customized. In order to survive in Outer Space, the player will need a Spacesuit. A Spacesuit can be customized to be any piece of clothing. In the config you can customize items that will perform the functions of the Spacesuit in whole or in part. To make space dark for players at any time of the day, use the NightVision plugin Space Station The Space Station consists of several compartments that are separated from each other by doors. Optionally, the doors can be locked and they will need to be raided. Inside the station there are crates with loot, NPCs, turrets, and fire turrets. At the end of the corridor there are two doors that open with blue cards and one door that opens with red. The spawn of the space station can be disabled. All objects on the space station are configured in the Data file of this station Spaceship The plugin includes spaceships that can spawn near roads, in Space, or can be added to loot tables. The ship has separate settings for flying in the normal atmosphere and in zero gravity in Space. It can shoot torpedoes, which will help the player in capturing the space station. There are two seats in each spaceship. Shuttle Control Guide: Balloon A balloon is an ordinary balloon with which you can ride into outer space. The balloon can spawn near roads, in Space, or can be added to loot tables. Also, this function can be applied to all balloons on the server. If the balloon is in zero gravity, it can be used as an escape capsule! If necessary, the player can enter, press a button, and be taken out of Space into the normal atmosphere. Dependencies Required NpcSpawn Chat commands (only for administrators) /spacestart – launches the event in a random configuration /spacestart <eventPresetName> – launches the event in the <eventPresetName> configuration /spacestop – stops the event /spawnshuttle – spawn the shuttle in your position /spawnaerostat – spawn the aerostat in your position /spacepoint – creates a custom spawn point of the event in your position (after that, you need to enable custom spawn points in the config) Console commands (RCON only) spacestart – launches the event in a random configuration spacestart <eventPresetName> – launches the event in the <eventPresetName> configuration spacestop – stops the event givepurplecard <userId> <amount> – gives a space card to a player giveshuttle <userId> <amount> – gives a shuttle to a player giveaerostat <userId> <amount> – gives a shuttle to a player givespacesuit <space_suit_preset> <userId> <amount> – gives <space_suit_preset> to a player Config plugin_en – example of plugin configuration in English station_en – example of station configuration in English plugin_ru – example of plugin configuration in Russian station_ru – example of station configuration in Russian Dependencies (optional, not required) True PVE PveMode GUI Announcements Notify DiscordMessages AlphaLoot CustomLoot Economics Server Rewards IQEconomic Hooks void OnSpaceEventStop() void OnSpaceEventStart() API bool IsPositionInSpace(Vector3 position) float GetMinSpaceAltitude() bool IsEventActive() My Discord: adem9554 Join the Mad Mappers Discord here! Check out more of my work here!$49.99 -
Version 1.4.1
3,277 downloads
Chest Stacks is a Rust plugin that allows players to stack chests on top of each other! Configuration: { "Building privilege required": true, "Blacklisted Skins": [ 2618923347 ], "Permissions & their amount of stacked chests lmits": { "cheststacks.use": { "Chest type limits": { "SmallBox": 3, "LargeBox": 5 } }, "cheststacks.vip": { "Chest type limits": { "SmallBox": 5, "LargeBox": 10 } } } } Language: { "MaxStackAmount": "You are trying to stack more than {0} boxes!", "OnlyStackSameType": "You can only stack the same type of chests!", "CeilingBlock": "A ceiling is blocking you from stacking this chest!", "BuildingBlock": "You need to be Building Privileged in order to stack chests!" } Permissions: cheststacks.use (Always grant this permission for usage, grant additional permissions for different maximum stack amounts) In order to stack the chests you have to press RIGHT CLICK while looking at the placed chest and being near it! Supports: Small Boxes, Large Boxes$10.00- 69 comments
- 11 reviews
-
- 9
-
-
-
- #rust
- #rust plugin
- (and 9 more)
-
Version 0.1.1
78 downloads
The plugin that displays temporary permissions and groups in the status bar. Depends on TemporaryPermissions and AdvancedStatus plugins. The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text; The ability to customize the bar for each permission and group; The ability to generate language keys for each permission and group; The ability to specify additional languages for generation. { "Chat command": "pstatus", "Is it worth enabling GameTips for messages?": true, "Is it worth clearing saved settings for permissions and groups upon detecting a wipe?": false, "Is it worth copying local images for new permissions or groups? Note: If set to true, it may create a lot of unnecessary images": false, "Is it worth enabling the bar display for new permissions?": true, "Is it worth enabling the bar display for new groups?": true, "Language - Addition languages (except en and ru)": [ "" ], "Type of status bar for permissions. Note: You can only choose between TimeProgressCounter and TimeCounter": "TimeProgressCounter", "Type of status bar for groups. Note: You can only choose between TimeProgressCounter and TimeCounter": "TimeProgressCounter", "Default status bar settings for new permissions and groups": { "BarType - You can choose only between TimeProgressCounter and TimeCounter": "TimeProgressCounter", "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_Url": "https://i.imgur.com/BtK7YHa.png", "Image_Local(Leave empty to use Image_Url)": "PermissionsStatus_Default", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#FFF53D", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 1.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "1 1 1 1", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "1 1 1 1", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 1.0, "SubText_Outline_Distance": "0.75 0.75", "Progress_Reverse": true, "Progress_Color(Hex or RGBA)": "#FFD700", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" }, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 1 } } EN: { "MsgDisplayEnabled": "Displaying the bar is enabled!", "MsgDisplayDisabled": "Displaying the bar is disabled!", "MsgUntilWipe": "Until wipe" } RU: { "MsgDisplayEnabled": "Отображение бара включено!", "MsgDisplayDisabled": "Отображение бара выключено!", "MsgUntilWipe": "До вайпа" } The language file is generated during the plugin initialization process. Additionally, when creating a new permission or group, a key for it will be automatically added. Note: You can also specify in the configuration file the generation of language files for other languages besides en and ru.$9.99 -
Version 2.7.5
10,183 downloads
This plugin will seamlessly handle all of the ugly side effects and glitches. Thanks to Stack-modifier's feature additions, it makes it feel just like Rusts default behavior, but better! Features Has a GUI Editor Patches Industrial Conveyor stack issues! Blocks Player movements while using GUI Editor Including Keybinds! This plugin has 2 commands and no Lang file Supports stacking of liquids Supports Stacking of Fuel Containers (hats, tools, etc.) Supports Stacking of Guns Supports Weapon Attachments Supports Stacking of Skins Works with SkinBox plugins Supports Stacking of Custom Items Supports Stacking of Custom Items with Custom Display Names Supports Stacking of Key Cards without losing the stack when swiping Supports Stacking Candy Cane Club without losing the stack while lick Support for modified presents for unwrapping The largest possible value in C# is 2,147,483,647 Which means anything over this stack-size will break the plugin Limits wearable clothing items to stack sizes of 1! ( on the player wear container only ) Limits weapon attachments to stack sizes of 1! ( On the weapon its self! so you can have bigger stacks! ) Known Conflicts RoadBradley & HeliSignals Are doing item creations wrong and setting the item.name field as vanilla item display names thus breaking stack support. ( don't set a vanilla display name only set them if its custom names as the fix ) Davids Shop UI ( recently changed how his default data files are createdfor items ) ( you need to generate a new Items.json file and re-do custom items / pricing inside it to fix stack bugs with old data files ) Magic Coin uses some of the same hooks set up config in it correctly to not conflict Custom Skin Stack Fix not needed this handles it properly Stack Size Controller cannot have 2 of the same plugins basically Extra Loot causes a stacking bug when a reboot occurs with skinned items preventing old skinned items from stacking with new skinned items IndustrialCustomSkinsFix not needed stack-modifier has the same patch in it. IQAlcoholFarm by BadMandarin/Mercury is not supported & will cause stack bugs / problems ( could be supported with an author update, but current version is not supported ) ItemPerks by imthenewguy Causes stack bugs/problems just by having this plugin on your server due to harmony patching done inside it + repair logic is bugged. Item creation is also not handled properly resulting in duplication issues with Conveyor movements nothing can be done about that. ( plugin requires a full rewrite for proper support & repairs. ) Plugins that do not handle Item Creation Correctly: ( Which break stacks ) Custom Item Drops by Machine ( Always sets the vanilla display name when its supposed to be null for vanilla items ) XP System by fastburst ( Always sets the vanilla display name when its supposed to be null for vanilla items ) Copy Paste ( Items created by copy paste its self will not stack since item creation is not handled properly ) This list will be constantly updated as devs fix their code accordingly & new ones are discovered to be flawed. Getting Started - Click Either Link to play video Video One Video Two Permissions stackmodifier.admin - Allows players access to the UI Editor. Chat Commands /stackmodifier -- Opens Editor UI, Must enable config option "Enable UI Editor": true /stackmodifier.reset ( is also console cmd ) -- Requires stackmodifier.admin perm ( resets stack-sizes ) /resetvenders -- Requires being an admin, only resets facepunches messed-up vendors, not all /stackmodifiercolor <inputpanel|inputtext|text|transparent> <color> <alpha|ex, 0.98> Example /stackmodifiercolor inputpanel #207086 0.25 UI Editor Commands set 8 -- Inside a categories Search Bar, type set and a value and it will apply it to the whole category, reset -- Inside a categories Search Bar type reset hit the enter key or click out of the field and it resets it. multiply -- Inside a categorie use the Search Bar & type multiply and a value and it will apply it to the whole category. if you reset or set, re-click the Category Tab to refresh it before making more changes! Otherwise you will have to do your first edit twice for it to start working again UI Editor Without Images? * At the top of the config you will see the following setting set to true save and reload. "Disable Images for UI Editor": false, < Disables images and allows full use Having Problems? * Warning this plugin is not compatible with custom-skins-stacks-fix plugin since this already handles everything. * If you already have a plugin that modifies the rust stack sizes you will first need to remove that plugin. * Then you simply load Stack Modifier onto your server open the config and start editing the Modified values to your new stack-size amounts! * When you are done simply save and reload the plugin! ( oxide. reload StackModifier ) * Alternatively you can utilize the built-in UI Editor and not ever need to touch the config! * Admins - Auth level 2 will always be ignored. * This plugin is not compatible with BetterVanish, I only support Vanish from umod. How to revert to vanilla? * Run the reset command while having the stackmodifier.admin perm or Unload Stack Modifier, delete the config, and restart your server. * It will reset the config back to vanilla settings allowing you to start over. API Hooks Interface.CallHook("OnStackSizeUpdated"); //called after the plugin updates the stack sizes on server reboots & when reloading the plugin. //It's also still called right after the UI editor is closed from modifying. //Inside the oxide hook I use called OnItemAddedToContainer theirs a hook of mine, if called mine will not touch it or fix the stacks. if (Interface.CallHook("OnIgnoreStackSize", player, item) != null) return; ## Configuration { "Disable Industrial Conveyor Patch (true = disabled)": false, "Industrial Conveyor Max Stack Size Per Move Default = 60": 130, "Industrial Conveyor Move Frequency Default = 5 (Lower = faster moving)": 3, "Disable Weapon Attachment stack fix (Unsubscribes from both OnWeaponModChange & CanMoveItem)": false, "Disable Wearable Clothes fix (Unsubscribes from OnItemAddedToContainer)": false, "Disable Ammo/Fuel duplication fix (Recommended false)": false, "Disable Candy Cane Club Lick fix & unwrap fix (Unsubscribes from OnItemAction)": false, "Disable OnCardSwipe fix (Unsubscribes from OnCardSwipe)": false, "Enable VendingMachine Ammo Fix (Recommended)": true, "Enable UI Editor": true, "Disable Images / Toggles off Images for UI Editor": false, "Sets editor command": "stackmodifier", "Sets reset command for both console & chat": "stackmodifier.reset", "Sets editor color command": "stackmodifiercolor", "Sets Default Category to open": "All", "Stack Modifier UI Title": "Stack Modifier Editor ◝(⁰▿⁰)◜", "UI - Stack Size Label": "Default Stacks", "UI - Set Stack Label": "Set Stacks", "UI - Search Bar Label": "Search", "UI - Back Button Text": "◀", "UI - Forward Button Text": "▶", "UI - Close Label": "✖", "Colors": { "InputPanel": { "Hex": "#0E0E10", "Rgb": "0.0549019607843137 0.0549019607843137 0.0627450980392157 0.98" }, "InputText": { "Hex": "#FFE24B", "Rgb": "1 0.886274509803922 0.294117647058824 0.15" }, "TextColor": { "Hex": "#FFFFFF", "Rgb": "1 1 1 1" }, "Transparency": { "Hex": "#", "Rgb": "0 0 0 0.95" } }, "Category Stack Multipliers": { "Attire": 1, "Misc": 1, "Items": 1, "Ammunition": 1, "Construction": 1, "Component": 1, "Traps": 1, "Electrical": 1, "Fun": 1, "Food": 1, "Resources": 1, "Tool": 1, "Weapon": 1, "Medical": 1 }, "Stack Categories": { "Attire": { "hat.wolf": { "DisplayName": "Wolf Headdress", "Modified": 10 }, "horse.shoes.basic": { "DisplayName": "Basic Horse Shoes", "Modified": 10 } }, "Misc": { "fogmachine": { "DisplayName": "Fogger-3000", "Modified": 10 }, "sickle": { "DisplayName": "Sickle", "Modified": 10 } }, "Items": { "kayak": { "DisplayName": "Kayak", "Modified": 10 }, "map": { "DisplayName": "Paper Map", "Modified": 10 } }, "Ammunition": { "ammo.grenadelauncher.buckshot": { "DisplayName": "40mm Shotgun Round", "Modified": 20 }, "ammo.rocket.sam": { "DisplayName": "SAM Ammo", "Modified": 10 } }, "Construction": { "door.double.hinged.metal": { "DisplayName": "Sheet Metal Double Door", "Modified": 10 }, "building.planner": { "DisplayName": "Building Plan", "Modified": 10 } }, "Component": { "bleach": { "DisplayName": "Bleach", "Modified": 2 }, "vehicle.module": { "DisplayName": "Generic vehicle module", "Modified": 10 } }, "Traps": { "trap.bear": { "DisplayName": "Snap Trap", "Modified": 30 }, "samsite": { "DisplayName": "SAM Site", "Modified": 10 } }, "Electrical": { "ceilinglight": { "DisplayName": "Ceiling Light", "Modified": 10 }, "wiretool": { "DisplayName": "Wire Tool", "Modified": 100 } }, "Fun": { "firework.boomer.blue": { "DisplayName": "Blue Boomer", "Modified": 200 }, "telephone": { "DisplayName": "Telephone", "Modified": 10 } }, "Food": { "apple": { "DisplayName": "Apple", "Modified": 100 }, "woodtea.pure": { "DisplayName": "Pure Wood Tea", "Modified": 100 } }, "Resources": { "skull.human": { "DisplayName": "Human Skull", "Modified": 10 }, "wood": { "DisplayName": "Wood", "Modified": 10 } }, "Tool": { "tool.instant_camera": { "DisplayName": "Instant Camera", "Modified": 10 }, "bucket.water": { "DisplayName": "Water Bucket", "Modified": 10 } }, "Weapon": { "gun.water": { "DisplayName": "Water Gun", "Modified": 10 }, "spear.wooden": { "DisplayName": "Wooden Spear", "Modified": 10 } }, "Medical": { "blood": { "DisplayName": "Blood", "Modified": 100 }, "bandage": { "DisplayName": "Bandage", "Modified": 30 } } } }$24.99- 176 comments
- 18 reviews
-
- 19
-
-
-
-
-
- #stacks
- #rust stacks
- (and 19 more)
-
Version 0.1.18
2,174 downloads
A useful API plugin that mimics in-game status bars and allows the addition of custom ones. Note: AdvancedStatus does not display any bars on its own. This is done by other plugins that work with it. An example plugin demonstrating interaction with AdvancedStatus. The ability to specify the frequency of calculating the number of bars; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to specify custom text; The ability to customize the color, size and font of the text; No need to pass all parameters; No need to manually delete your bar when unloading your plugin. advancedstatus.admin - Grants access to the chat command(by default /bar). { "Chat command": "bar", "Is it worth enabling console notifications for the successful loading of local images?": false, "Interval(in seconds) for counting in-game status bars": 0.5, "Interval(in seconds) for counting Building Privilege status bars. Note: Calculating Building Privilege is significantly more resource-intensive than other counts": 1.0, "Bar - Display Layer. If you have button bars, it's advisable to use Hud(https://umod.org/guides/rust/basic-concepts-of-gui#layers)": "Under", "Bar - Left to Right": true, "Bar - Offset between status bars": 2, "Bar - Default Height": 26, "Main - Default Color": "#505F75", "Main - Default Transparency": 0.7, "Main - Default Material(empty to disable)": "", "Image - Default Image": "AdvancedBar_Image", "Image - Default Color": "#6B7E95", "Image - Default Transparency": 1.0, "Image - Outline Default Color": "#000000", "Image - Outline Default Transparency": 1.0, "Image - Outline Default Distance": "0.75 0.75", "Text - Default Size": 12, "Text - Default Color": "#FFFFFF", "Text - Default Transparency": 1.0, "Text - Default Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text - Default Offset Horizontal": 0, "Text - Outline Default Color": "#000000", "Text - Outline Default Transparency": 1.0, "Text - Outline Default Distance": "0.75 0.75", "SubText - Default Size": 12, "SubText - Default Color": "#FFFFFF", "SubText - Default Transparency": 1.0, "SubText - Default Font": "RobotoCondensed-Bold.ttf", "SubText - Outline Default Color": "#000000", "SubText - Outline Default Transparency": 1.0, "SubText - Outline Default Distance": "0.75 0.75", "Progress - Default Color": "#89B840", "Progress - Default Transparency": 0.7, "Progress - Default OffsetMin": "25 2.5", "Progress - Default OffsetMax": "-3.5 -3.5", "Version": { "Major": 0, "Minor": 1, "Patch": 18 } } EN: { "MsgDays": "d", "MsgHours": "h", "MsgMinutes": "m", "MsgSeconds": "s" } RU: { "MsgDays": "д", "MsgHours": "ч", "MsgMinutes": "м", "MsgSeconds": "с" } images reload *ImageName* - Reloads the specified image from the image folder; all - Reloads all local images from the image folder. Example: /bar images reload all Note: To access the commands, the player must be an admin(console or owner) or have the advancedstatus.admin permission. OnAdvancedStatusLoaded: Called after the AdvancedStatus plugin is fully loaded and ready. OnPlayerGainedBuildingPrivilege: Called after the player enters their building privilege. OnPlayerLostBuildingPrivilege: Called after the player exits their building privilege. void OnAdvancedStatusLoaded() { Puts("The AdvancedStatus plugin is loaded and ready to go!"); } void OnPlayerGainedBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} entered the authorized building privilege zone."); } void OnPlayerLostBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} exited the authorized building privilege zone."); } [PluginReference] private Plugin AdvancedStatus; There are 15 methods: IsReady CreateBar UpdateContent DeleteBar DeleteCategory DeleteAllBars GetTotalClientBars GetTotalPlayerBars LoadImages LoadImage CopyImage DeleteImages DeleteImage BarExists InBuildingPrivilege There are 5 types of bar: Default - A simple bar that displays the provided information. Does not update the value of SubText by itself; Timed - Similar to the default bar, but it automatically disappears after the specified time in the TimeStamp parameter; TimeCounter - The SubText shows the remaining time until TimeStamp. Also automatically removed upon expiration of the TimeStamp; TimeProgress - Similar to the Timed bar, but additionally features an automatically filling progress bar; TimeProgressCounter - Similar to the TimeCounter bar, but additionally features an automatically filling progress bar. IsReady: Used to check if the AdvancedStatus plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)AdvancedStatus?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready. CreateBar: Used to create a bar or update bar values for a player. To call the CreateBar method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the CreateBar method, all parameters are optional, except for two: Id; Plugin. Parameters not specified when creating a new bar will use the values set in the AdvancedStatus plugin's configuration file. Parameters not specified during bar update will retain the values they had before the update. Note: The plugin does not update values automatically, you need to manually send new values. Dictionary<string, object> parameters = new Dictionary<string, object> { { "Id", "AdvancedStatusDemo_1" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "BarType", "Default" }, //<string>Type of the bar. There are 4 types: Default, Timed, TimeCounter and TimeProgress. { "Plugin", "AdvancedStatusDemo" }, //<string>Name of your plugin. ***This is a required field. { "Category", "Default" }, //<string>Internal plugin category of the bar. { "Order", 10 }, //<int>The position of your bar relative to others. Order is determined by increasing values(ASC). { "Height", 26 }, //<int>The height of your bar. A standard bar is 26 pixels. { "Main_Color", "#505F75" }, //<string>HTML Hex color of the bar background. { "Main_Transparency", 0.7f }, //<float>Transparency of the bar background. { "Main_Material", "assets/content/ui/uibackgroundblur.mat" }, //<string>Material of the bar background(empty to disable). { "Image", "scrap" }, //<string>Name of the image saved in the ImageLibrary or a direct link to the image if ImageLibrary is not used. { "Image_Local", "AdvancedStatusDemo_Scrap" }, //<string>The name of the image file(without its extension) located in *SERVER*\data\AdvancedStatus\Images. Leave empty to use Image. { "Image_Sprite", "" }, //<string>Sprite image of the bar. Leave empty to use Image_Local or Image. { "Is_RawImage", true }, //<bool>Which type of image will be used? True - CuiRawImageComponent. False - CuiImageComponent. { "Image_Color", "#6B7E95" }, //<string>HTML Hex color of the bar image. { "Image_Transparency", 1.0f }, //<float>Transparency of the image. { "Text", "Scrap" }, //<string>Main text. { "Text_Size", 12 }, //<int>Size of the main text. { "Text_Color", "#FFFFFF" }, //<string>HTML Hex color of the main text. { "Text_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the main text. { "Text_Offset_Horizontal", 0 }, //<int>Horizontal offset for the main text. { "SubText", "35" }, //<string>Sub text. { "SubText_Size", 12 }, //<int>Size of the sub text. { "SubText_Color", "#FFFFFF" }, //<string>HTML Hex color of the sub text. { "SubText_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the sub text. { "TimeStampStart", Network.TimeEx.currentTimestamp }, //<double>Responsible for specifying the start point of the time reference and 0% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStamp", Network.TimeEx.currentTimestamp + 6 }, //<double>Specifies the end time point after which the bar will be destroyed and 100% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStampDestroy", Network.TimeEx.currentTimestamp + 3 }, //<double>If TimeStampDestroy is specified and it is less than TimeStamp, the bar will be destroyed by TimeStampDestroy. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "Progress", (float)35 / 100f }, //<float>Progress. From 0.0 to 1.0. { "Progress_Reverse", false }, //<bool>Progress reverse. A value of false means that the progress will increase. Used if the bar type is TimeProgress or TimeProgressCounter. { "Progress_Color", "#89B840" }, //<string>Progress color. { "Progress_Transparency", 1f }, //<float>Progress transparency. { "Progress_OffsetMin", "25 2.5" }, //<string>Progress OffsetMin: "*left* *bottom*". { "Progress_OffsetMax", "-3.5 -3.5" }, //<string>Progress OffsetMax: "*right* *top*". { "Command", "kit" } //<string>If the field is not empty, the bar becomes clickable, and the specified command is executed upon clicking. Note: the command must be covalence. }; AdvancedStatus?.Call("CreateBar", player.userID.Get(), parameters); //Calling the CreateBar method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. UpdateContent: Used to update only the content of an existing status bar. To call the UpdateContent method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the UpdateBar method, all parameters are optional, except for two: Id; Plugin. var parameters = new Dictionary<string, object> { { "Id", "MyID" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "Plugin", Name }, //<string>Name of your plugin. ***This is a required field. { "Text", "MyText" }, //<string>Main text. { "SubText", "MyText" }, //<string>Sub text. { "Progress", (float)amount / 100f }, //<float>Progress. From 0.0 to 1.0. }; AdvancedStatus?.Call("UpdateContent", player.userID.Get(), parameters); //Calling the UpdateContent method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. DeleteBar: Used to remove the bar for a player. There are two methods for removing a bar by ID: with specifying a particular player; To call this method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar and the third one is name of your plugin. without specifying a particular player (which removes it for all players) To call this method, you need to pass 2 parameters. The first one is Id of your bar and the second one is name of your plugin. AdvancedStatus?.Call("DeleteBar", player.userID.Get(), barID, Name); //Calling the DeleteBar method with the passing of BasePlayer/playerID, ID of the bar and the name of your plugin. AdvancedStatus?.Call("DeleteBar", barID, Name); //Calling the DeleteBar method with the passing of ID of the bar and the name of your plugin. If you try to delete a bar that doesn't exist, nothing bad will happen. So feel free to delete the bar without checking its existence. P.S. When unloading your plugin, there is no need to manually delete bars for players, AdvancedStatus will handle it automatically. DeleteCategory: Used to remove all bars associated with the plugin's category. To call the DeleteCategory method, you need to pass 2 parameters. The first one is category and the second one is name of your plugin. AdvancedStatus?.Call("DeleteCategory", "Default", Name);//Calling the DeleteCategory method by passing the category and name of your plugin DeleteAllBars: Used to remove all bars associated with the plugin. To call the DeleteAllBars method, you need to pass only 1 parameter. It is name of your plugin. AdvancedStatus?.Call("DeleteAllBars", Name);//Calling the DeleteAllBars method, passing the name of your plugin GetTotalClientBars: Used to get the number of client bars for the player. To call the GetTotalClientBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalClientBars", player.userID.Get());//Calling the GetTotalClientBars method, passing the name of BasePlayer/playerID GetTotalPlayerBars: Used to get the number of active custom bars for the player. To call the GetTotalPlayerBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalPlayerBars", player.userID.Get());//Calling the GetTotalPlayerBars method, passing the name of BasePlayer/playerID LoadImages: Used to check if the local images specified in the list are loaded. If any of the images are not loaded but their files exist in the images folder, the plugin will load them. To call the LoadImages method, you need to pass only 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImages", list, false);//Calling the LoadImages method, passing a list of image names LoadImage: Used to check if the local image is loaded. If the file is not loaded and exists in the images folder, the plugin will load it. To call the LoadImage method, you need to pass 2 parameters. The first one is the <string>image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImage", imgName, false);//Calling the LoadImage method, passing an image's name CopyImage: Used to create and load a copy of an existing image. To call the CopyImage method, you need to pass 3 parameters. The first parameter is the <string>source image's name, the second parameter is the <string>new image's name and the third one(optional) is <bool>force, which, if set to true, will force copy and reload the image even if it already exists. AdvancedStatus?.Call("CopyImage", "ZoneStatus_Default", "ZoneStatus_NewZone", false);//Calling CopyImage, passing the source image name and the new image name. DeleteImages: Used to delete a list of images and their files. To call the DeleteImages method, you need to pass 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImages", list, true);//Calling DeleteImages, passing a list of image names. DeleteImage: Used for removing the image and the image file. To call the DeleteImage method, you need to pass 2 parameters. The first parameter is the <string>image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImage", "ZoneStatus_NewZone", true);//Calling DeleteImage, passing the image name. BarExists: Used to check if the specified bar exists. To call the BarExists method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar. And the third one is name of your plugin. (bool)AdvancedStatus?.Call("BarExists", player.userID.Get(), barID, Name);//Calling the BarExists method with the passing of BasePlayer/playerID, ID of the bar and name of your plugin. InBuildingPrivilege: Used to check if the player has authorized building privileges. To call the InBuildingPrivilege method, you need to pass BasePlayer or <ulong>playerID. (bool)AdvancedStatus?.Call("InBuildingPrivilege", player.userID.Get());//Checking if the player has Building Privilege.$1.99 -
Version 0.1.14
836 downloads
Plugin for Real PvE servers, featuring damage prevention, anti-griefing measures, customizable PvP zones, an automatic loot queue in radtowns and raid zones, and much more. P.S. Since the previous implementation with DynamicPVP was not correct and had some issues, I have added universal hooks(Developer API section) for general access from all PvP plugins, which are currently missing in DynamicPVP. I have requested the author to add them(3 lines), but for now, you will need to use the modified version of DynamicPVP.cs The ability to set "server.pve" to "true", which allows the server to have a "PvE" flag; Damage from NPC's are enabled when server.pve is true; The ability to inflict damage to one's own structures with "server.pve true"; The ability to destroy(including external walls) or rotate one's structures without any time constraints; The ability to force the decay of building blocks with Twigs grade, even if there is wood in the Tool Cupboard; The ability to toggle the gather resource restriction in someone else's Building Privileges; No one, except the owner or their friends, will be able to open their loot containers (chests, storages, bodies, etc.); Administrators can bypass loot restrictions; The ability to schedule the killing of players if they disconnect within someone else's Building Privilege; Disabling backpack and active item drop upon death, even if backpack is full; The ability to disable 'Give' messages; The ability to modify the items given at spawn on the beach; The ability to create an unlimited number of custom permissions; The ability to allow players to bypass the queue; The ability to set limits on sleeping bags, shelters and auto turrets for each permission; The ability to set a multiplier for the prices of monuments and events for each permission; The ability to customize the price and amount of vehicles for each of your custom permissions; The ability to assign vehicles to each player; The ability to customize the assigned price and available amount of vehicles for each of your custom permissions; An assigned vehicle can't be damaged, looted or pushed by other players, but it can be pushed if it is within someone else's Building Privilege; The ability to loot monuments through a queue system; The ability to configure monuments, setting their looting price and time, and adjusting status bars for each monument; The ability to acquire the privilege to loot events (helicopters, bradleys, and raidable bases) through a purchase; The ability to customize the price of each event types and loot attempts (lives); NPCs only aggress against players who are looting monuments, events or raidable bases; Only players who are looting monuments, events or raidable bases can inflict damage to NPCs; RaidableBases are protected from griefing(no damage, no loot and etc). Only the owner can interact with the raid; Neutral RaidableBases can be purchased; Prices for purchasing neutral raids are configurable for each difficulty level; Configurable raid limits (currently available) along with discount multipliers for purchases, for each permission. File location: *SERVER*\oxide\data\RealPVE\PermissionConfig.json Default: https://pastebin.com/5VtWZZVr All permissions are created and configured in the config file under the "List of permissions" section. You can create as many permissions as needed and customize them flexibly. It is recommended to use the prefix "realpve" in the permission's name, for example: "realpve.vip". NOTE: The first permission will serve as the default permission for those who do not have any permissions. { "List of permissions. NOTE: The first permission will be used by default for those who do not have any permissions.": [ { "Permission Name": "realpve.default", "Bypass Queue": false, "Limit of beds": 15, "Limit of shelters": 1, "Limit of auto turrets": 12, "Seconds that will be skipped when opening HackableLockedCrate": 0.0, "Monuments price multiplier": 1.0, "Events price multiplier": 1.0, "Limit of RaidableBases(at the time)": 1, "RaidableBases price multiplier": 1.0, "Vehicles settings": { "Horse": { "Limit": 1, "Price": 10.0 }, "Bike": { "Limit": 1, "Price": 5.0 }, "MotorBike": { "Limit": 1, "Price": 20.0 }, "Car": { "Limit": 1, "Price": 25.0 }, ... } }, { "Permission Name": "realpve.vip", "Bypass Queue": true, "Limit of beds": 20, "Limit of shelters": 2, "Limit of auto turrets": 15, "Seconds that will be skipped when opening HackableLockedCrate": 450.0, "Monuments price multiplier": 0.9, "Events price multiplier": 0.9, "Limit of RaidableBases(at the time)": 2, "RaidableBases price multiplier": 0.9, "Vehicles settings": { "Horse": { "Limit": 5, "Price": 9.0 }, "Bike": { "Limit": 5, "Price": 4.5 }, "MotorBike": { "Limit": 5, "Price": 18.0 }, "Car": { "Limit": 5, "Price": 22.5 }, ... } } ], "Version": { "Major": 0, "Minor": 1, "Patch": 1 } } An example of a monument/event/rb multipliers using default permissions. For example, if you set the price for the Harbor at $1000, a player with the default permission(1.0) will pay $1000 * 1 = $1000. Meanwhile, a player with a VIP permission(0.9) will pay $1000 * 0.9 = $900. However, if a player possesses a misbehaving permission with a value of 1.1, they will need to pay $1000 * 1.1 = $1100. { "Chat command": "realpve", "Chat admin command": "adminpve", "Is it worth forcibly implementing PvE for a server?": true, "Is it worth enabling GameTips for messages?": true, "Is it worth preventing the sending of 'Give' messages?": true, "Is it worth preventing resource gathering in someone else's building privilege area?": false, "Is it worth preventing the pickup of plants spawned by the server in someone else's building privilege zone?": false, "Is it worth forcibly blocking damage from the patrol helicopter to building blocks and deployables?": false, "Is it worth preventing players from handcuffing others?": true, "Is it worth assigning portals(Halloween and Christmas) to the first player?": true, "Is it worth preventing a backpack from dropping upon player death?": true, "Is it worth preventing damage to the laptop of the Hackable Crate?": true, "Is it worth removing the penalties for recyclers in safe zones?": true, "Is it worth allowing all players to pick up items dropped by others? If enabled, personal settings will be ignored": false, "The format that will be used for prices": "${0}", "Vehicles - Time in seconds to display the marker when searching for a vehicle. A value of 0 disables the marker": 15.0, "Anti-Sleeper - Time in seconds after which a player will be killed if they disconnect while inside someone else's Building Privilege. Set to 0 to disable": 1200.0, "Is it worth enabling support for the 'Npc Random Raids' plugin?": true, "Is friendly fire enabled by default when creating a new team?": false, "PvP - Is it worth adding map markers for PvP zones?": true, "PvP - Name of the map maker": "PvP Zone!", "PvP - Settings for the status bar": { "Order": 9, "Height": 26, "Main_Color(Hex or RGBA)": "1 0.39 0.28 0.7", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/oi5vIkk.png", "Image_Local(Leave empty to use Image_Url)": "RealPVE_PvP", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "1 0.39 0.28 1", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 0.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "1 1 1 1", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "1 1 1 1", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 0.0, "SubText_Outline_Distance": "0.75 0.75" }, "PvP - Settings for the progress status bar": { "Main_Color(Hex or RGBA)": "1 1 1 0.15", "Main_Transparency": 0.15, "Progress_Reverse": true, "Progress_Color": "#FF6347", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" }, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 14 } } ENG: https://pastebin.com/ZMUL6pYL RUS: https://pastebin.com/Mx8cbMts Main commands(/realpve ) : autobuy - Toggle autobuy for monuments, vanilla events and raid bases with a total price greater than 0; pickup - Toggle access to pick up your items from the ground for all players; share - Manage access to looting your entities by other players(outside of the team): status *entityID*(optional) - Display information about the settings of the entity you are looking at or the one you specified; add *nameOrID* *entityID*(optional) - Add the specified player to the entity list you are looking at or the one you specified; remove *nameOrID* *entityID*(optional) - Remove the specified player from the entity list you are looking at or the one you specified; toggle *entityID*(optional) - Toggle the entity list you are looking at or the one you specified; delete *entityID*(optional) - Delete the settings for the entity you are looking at or the one you specified; clear - Delete the settings for all your entities. team - Manage your team: ff - Toggle the ability to damage your teammates. vehicle - Manage your vehicles: list - List of IDs for all your vehicles; find *vehicleID*(optional) - Help finding the vehicle you are looking at or the one you specified; unlink *vehicleID*(optional) - Unlink the vehicle you are looking at or the one you specified; clear - Unlink all your vehicles. Admin commands(/adminpve). Permission "realpve.admin" required: autobuy - Manage autobuy for monuments, vanilla events and raid bases: *nameOrId* - Toggle autobuy for the specified player; force monument/event/rb - Toggle forced autobuy. If enabled, player settings will be ignored; clear - Disable autobuy for everyone. config - Manage settings for values in the configuration file: forcepve *boolValue*(optional) - Is it worth forcibly implementing PvE for a server? gametips *boolValue*(optional) - Is it worth enabling GameTips for messages? givemsg *boolValue*(optional) - Is it worth preventing the sending of 'Give' messages? resource_privilege *boolValue*(optional) - Is it worth preventing resource gathering in someone else's building privilege area? plant_privilege *boolValue*(optional) - Is it worth preventing the pickup of plants spawned by the server in someone else's building privilege zone? heli_damage *boolValue*(optional) - Is it worth forcibly blocking damage from the patrol helicopter to building blocks and deployables? handcuffs *boolValue*(optional) - Is it worth assigning portals(Halloween and Christmas) to the first player? portals *boolValue*(optional) - Is it worth preventing players from handcuffing others? backpack_drop *boolValue*(optional) - Is it worth preventing a backpack from dropping upon player death? laptop_damage *boolValue*(optional) - Is it worth preventing damage to the laptop of the Hackable Crate? recycler_safezone *boolValue*(optional) - Is it worth removing the penalties for recyclers in safe zones? item_pickup *boolValue*(optional) - Is it worth allowing all players to pick up items dropped by others? If enabled, personal settings will be ignored; priceformat *stringValue* - The format that will be used for prices; vehicle_marker_time *floatValue* - Vehicles - Time in seconds to display the marker when searching for a vehicle. A value of 0 disables the marker; antisleeper *floatValue* - Anti-Sleeper - Time in seconds after which a player will be killed if they disconnect while inside someone else's Building Privilege. Set to 0 to disable; randomraids *boolValue*(optional) - Is it worth enabling support for the 'Npc Random Raids' plugin? teamff *boolValue*(optional) - Is friendly fire enabled by default when creating a new team? pvpmarkers *boolValue*(optional) - PvP - Is it worth adding map markers for PvP zones? pvpmarkersname *stringValue* - PvP - Name of the map maker. loot - Manage player access to entities without restrictions: *nameOrId* - Toggle unrestricted access for the specified player; self - Toggle unrestricted access for yourself; clear - Revoke unrestricted access for all players. monument - Manage monuments: list - List of available monuments; *monumentID*/this - Instead of the monumentID, you can use the word "this", but you must be inside the monument: suffix *boolValue*(optional) - Toggle the suffix display in the monument's name; broadcast *boolValue*(optional) - Toggle notifications about monument occupancy/release; time *intValue* - Set the looting time limit for the monument in seconds; price *floatValue* - Set the cost for looting rights. A value of 0 makes the monument free; offer *floatValue* - Set the offer duration for purchasing the monument in seconds; map_mode *intValue* - Set the marker display mode on the map. 0 - disabled, 1 - enabled, 2 - enabled during PvP mode; map_circle *boolValue*(optional) - Toggle the display of the monument's circle marker on the map; pvp *boolValue*(optional) - Toggle PvP mode for the monument; pvp_delay *floatValue* - Set the PvP mode duration in seconds for players after leaving the PvP monument; bar_progress *boolValue*(optional) - Toggle between TimeProgressCounter and TimeCounter bars for the monument. perm - Manage permissions: add *permName* - Adds a new permission to the list by copying values from the first(default) permission in the list. If the permission name starts with 'realpve', it will also register a new permission; add *permName* *sourcePermName* - Adds a new permission to the list by copying values from an existing permission in the list; remove *permName* - Removes an existing permission from the list; edit *permName* - Edits a permission: queue - Toggle the permission to bypass the server queue; beds *intValue* - Restriction on the number of available beds; shelters *intValue* - Restriction on the number of available shelters; turrets *intValue* - Restriction on the number of available turrets; hackable *floatValue* - Number of seconds(0-900) to skip when opening a hackable crate; monuments *floatValue* - Price multiplier for monuments; events *floatValue* - Price multiplier for vanilla events; rb_limit *intValue* - Restriction on the number of raid bases available simultaneously; rb_mult *floatValue* - Price multiplier for raid bases; vehicles *vehType* - Vehicles settings: limit *intValue* - Limit on the number of available vehicles by type; price *floatValue* - Price for registering a vehicle by type. clear - Removes all permissions from the list except the first one. pickup - Manage access to picking up another player's items from the ground: *nameOrId* - Toggle access to picking up a specific player's items from the ground; clear - Revoke access for all players to pick up items from the ground. share - Manage access to looting entities by other players(outside of the team): status *entityID*(optional) - Display information about the settings of the entity you are looking at or the one you specified; add *nameOrID* *entityID*(optional) - Add the specified player to the entity list you are looking at or the one you specified; remove *nameOrID* *entityID*(optional) - Remove the specified player from the entity list you are looking at or the one you specified; toggle *entityID*(optional) - Toggle the entity list you are looking at or the one you specified; delete *entityID*(optional) - Delete the settings for the entity you are looking at or the one you specified; clear *nameOrID*(optional) - Delete the settings for all entities or all entities of the specified player. vehicle - List of all available vehicle types: types - List of available vehicle types. Example: /realpve pickup /realpve vehicle find *netID* /realpve team ff /adminpve perm add realpve.vip2 /adminpve perm add realpve.vip2 realpve.vip /adminpve perm edit realpve.vip2 queue true /adminpve perm edit realpve.vip2 vehicles horse limit 5 /adminpve monument list /adminpve monument *monumentID* pvp /adminpve monument *monumentID* price 7.5 /adminpve loot iiiaka /adminpve pickup iiiaka /adminpve vehicle types This plugin provides the ability to claim vehicles, thereby preventing theft and griefing from other players. In permissions, you can set the price and quantity restrictions for each type of vehicle, ensuring flexible customization according to your preferences. An assigned vehicle can't be damaged, looted or pushed by other players, but it can be pushed if it is within someone else's Building Privilege. File location: *SERVER*\oxide\data\RealPVE\MonumentConfig.json Default: https://pastebin.com/XY1d9YaM This plugin introduces queue system and loot purchases for monuments. You can customize the price and time for looting for each monument. Within monuments, only the "Looter" and his friends have the ability to loot, pick up items or damage entities. Additionally, NPCs and animals within monuments do not aggress against other players and do not receive damage from them. If a player dies within the monument, they will have a grace period to return. This allows players to safely loot monuments without fear of griefing. Example of monument configuration: "ferry_terminal_1": { "Type(This parameter is just a hint. Changes won’t have any effect)": "RadTown", "Is it worth displaying the suffix(if any) in the monument's name?": true, "Is it worth notifying all players about the occupation/release of the monument?": true, "The cost for the right to loot the monument. A value of 0 makes the monument free": 15.0, "The time in seconds(1-3600) given for looting the monument": 900, "The time in seconds(1-15) given to make a decision to purchase the monument": 5.0, "Map marker display mode: 0 - disabled, 1 - enabled, 2 - enabled during PvP mode": 1, "Is it worth creating a circle in the map marker?": true, "PvP - Is PvP enabled at this monument? If so, players will be able to kill each other and loot will be publicly accessible": false, "PvP - The time in seconds(0-60) during which the player retains PvP mode after leaving the PvP monument": 10.0, "Is it worth using a progress bar for bars with a counter?": true, "Settings for the status bar": { "Order": 10, "Height": 26, "Main_Color(Hex or RGBA)": "#FFBF99", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/awUrIwA.png", "Image_Local(Leave empty to use Image_Url)": "RealPVE_ferry_terminal_1", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#FFDCB6", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 0.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "1 1 1 1", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "1 1 1 1", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 0.0, "SubText_Outline_Distance": "0.75 0.75" }, "Settings for the progress status bar": { "Main_Color(Hex or RGBA)": "1 1 1 0.15", "Main_Transparency": 0.15, "Progress_Reverse": true, "Progress_Color": "#FFBF99", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" } } Type - This field serves only as an indicator for you. The changes won't have any impact; ShowSuffix - Suffix display. Some monuments (for example Warehouses) have suffixes in the name, like "Warehouse #12"; Broadcast - Enabling or disabling broadcasts when a monument is occupied or vacated; LootingTime - Time allocated for looting the monument; Price - The price for which you can start looting the monument. 0 means looting is free; BarSettings - Settings for the Advanced Status Bar. You can also choose the types of monuments by specifying them under the "List of tracked types of monuments" section. A list of all available types can be viewed on the MonumentsWatcher's page in the "Developer API" section. "List of tracked types of monuments": [ "RadTown", "RadTownWater", "RadTownSmall", "TunnelStation", "Custom" ] Events, similar to monuments, offer the opportunity to claim events. All events are configured in the config file under the "Settings for the events" section. You can customize the price of looting and looting attempts(deaths, including friends). Just like in monuments, only the "Looter" and his friends have the ability to loot and damage entities. Additionally, in events, NPCs do not aggress against other players. If a player(including friends) exceeds the death limit, the event became free, thereby providing other players with the opportunity to claim the event. Example of event configuration: { "Is it worth enabling forced auto-buy for vanilla events where the final price is greater than 0?": false, "Settings for the PatrolHelicopter events": { "IsEnabled": true, "Time in seconds (1-15) given to respond for purchasing this event. Note: This is shown to everyone who deals damage, and the first person to buy it will claim it": 5.0, "Is it worth removing fire from crates?": true, "The price to claim the event. A value of 0 means it's free": 50.0, "The number of deaths after which the event becomes public. A value of 0 disables the limit": 5, "The time in seconds for which the event is locked to the player. A value of 0 disables the time limit": 1800.0 }, "Settings for the BradleyAPC events": { "IsEnabled": true, "Time in seconds (1-15) given to respond for purchasing this event. Note: This is shown to everyone who deals damage, and the first person to buy it will claim it": 5.0, "Is it worth removing fire from crates?": true, "The price to claim the event. A value of 0 means it's free": 50.0, "The number of deaths after which the event becomes public. A value of 0 disables the limit": 5, "The time in seconds for which the event is locked to the player. A value of 0 disables the time limit": 1800.0 }, "Version": { "Major": 0, "Minor": 1, "Patch": 0 } } Price - The price to claim the event. 0 means looting is free; DeathLimit - Limit of deaths after which the event becomes free. File location: *SERVER*\oxide\data\RealPVE\NewbieConfig.json Default: https://pastebin.com/QHZCqpji An example of an item list given for the main inventory: "List of items for the main inventory": [ { "ShortName": "note", "Slot": 0, "Amount": 1, "SkinID": 0, "Text": "MsgNoteText" } ] P.S. In the Text field, you need to specify the language key. Or, you can just write any text, but there won't be a translation of the text. File location: *SERVER*\oxide\data\RealPVE\RaidableBasesConfig.json Default: https://pastebin.com/rpDng7Fd Integration with the RaidableBases plugin does not restrict its functionality in any way. On the contrary, it adds an anti-grief system that protects bases from malicious players. In raid bases, NPCs and other entities can only receive damage from the raid owner or their friends; Turrets and traps do not aggress against outsiders; You can customize the price of claiming to each difficulty and set individual discounts for each permission. You can still purchase raid bases using the /buyraid command. Raid bases without owners(buyable, maintained, manual and scheduled) can be bought for a price set in the configuration file or assigned to the first player who enters its radius, if the final price(price * discount) less or equals to 0. Additionally, as a bonus, upon buying this plugin, you receive 5 free bases for 3 difficulty levels, along with configured loot for them. [PluginReference] private Plugin RealPVE; There are 6 universal hooks that the plugin is subscribed to, the use of which allows interaction with PVP in various PVE plugins: OnPlayerEnterPVP OnPlayerExitPVP OnEntityEnterPVP OnEntityExitPVP CreatePVPMapMarker DeletePVPMapMarker OnPlayerEnterPVP: Used to add a player to PVP mode/zone. To call the OnPlayerEnterPVP hook, you need to pass 2 parameters: <BasePlayer>player - The player to add to PVP; <string>zoneID - A unique identifier for your PVP zone. This parameter is very important because a player can be in multiple PVP zones at the same time and passing the zoneID in this case allows for correct processing of the player's location within them. Interface.CallHook("OnPlayerEnterPVP", player, "*Your unique zone identifier*");//Calling the OnPlayerEnterPVP hook to tell PVE plugins that the player needs to be added to the specified PVP zone. OnPlayerExitPVP: Used to remove a player from PVP mode/zone. Calling this hook guarantees the player’s removal from the specified PVP zone, but does not guarantee the removal from PVP mode, as there may be other zones in addition to yours. Also, when a player dies, they are automatically removed from all PVP zones. To call the OnPlayerExitPVP hook, you need to pass 3 parameters, 1 of which is optional: <BasePlayer>player - The player to remove from PVP; <string>zoneID - A unique identifier for your PVP zone; <float>pvpDelay - Optional. When the player exits your PVP zone, you can also pass the PVP delay time. However, if the player still has other active PVP zones, your PVP delay will not take effect. Interface.CallHook("OnPlayerExitPVP", player, "*Your unique zone identifier*", 10f);//Calling the OnPlayerExitPVP hook to tell PVE plugins that the player needs to be removed from the specified PVP zone, with the pvpDelay(10 seconds) specified if the player no longer has any active PVP zones. OnEntityEnterPVP: Used to add an entity to PVP mode/zone. In the case of RealPVE, this hook is only necessary to add entities with an owner(player) to a PVP, allowing other players to interact with them, such as a player's corpse after death(PlayerCorpse) or a backpack after the corpse disappears(DroppedItemContainer). To call the OnEntityEnterPVP hook, you need to pass 2 parameters: <BaseEntity>entity - The entity to add to PVP; <string>zoneID - A unique identifier for your PVP zone. Interface.CallHook("OnEntityEnterPVP", entity, "*Your unique zone identifier*");//Calling the OnEntityEnterPVP hook to tell PVE plugins that the entity needs to be added to the specified PVP zone. OnEntityExitPVP: Used to remove an entity from PVP mode/zone. When an entity dies, it is automatically removed from all PVP zones. To call the OnEntityExitPVP hook, you need to pass 3 parameters, 1 of which is optional: <BaseEntity>entity - The entity to remove from PVP; <string>zoneID - A unique identifier for your PVP zone; <float>pvpDelay - Optional. When the entity exits your PVP zone, you can also pass the PVP delay time. However, if the entity still has other active PVP zones, your PVP delay will not take effect. Interface.CallHook("OnEntityExitPVP", entity, "*Your unique zone identifier*", 10f);//Calling the OnEntityExitPVP hook to tell PVE plugins that the entity needs to be removed from the specified PVP zone, with the pvpDelay(10 seconds) specified if the entity no longer has any active PVP zones. CreatePVPMapMarker: Used to create a map marker for the PVP zone. To call the CreatePVPMapMarker hook, you need to pass 5 parameters, 2 of which is optional: <string>zoneID - A unique identifier for your PVP zone; <Vector3>pos - The position of your PVP zone; <float>radius - The radius of the circle for your PVP zone; <string>displayName - Optional. The display name for the map marker; <BaseEntity>entity - Optional. The entity to which the map marker should be attached. Interface.CallHook("CreatePVPMapMarker", "*Your unique zone identifier*", pos, 25f, "ATTENTION! This is a PVP zone!");//Calling the CreatePVPMapMarker hook to tell PVE plugins to create a map marker for the specified zone, at the specified position with the given radius, but without specifying a parent entity. DeletePVPMapMarker: Used to delete a map marker for the PVP zone. To call the DeletePVPMapMarker hook, you need to pass only 1 parameter: <string>zoneID - A unique identifier for your PVP zone. Interface.CallHook("DeletePVPMapMarker", "*Your unique zone identifier*");//Calling the DeletePVPMapMarker hook to tell PVE plugins to delete a map marker for the specified zone. There are 5 hooks that the plugin calls: OnPlayerPVPDelay OnPlayerPVPDelayed OnPlayerPVPDelayRemoved OnZoneStatusText CanRedeemKit OnPlayerPVPDelay: Called when a player exits the last active PVP zone, allowing other plugins to overwrite the value for pvpDelay. Returning a float value allows changing the pvpDelay for the player. A value less than zero disables the pvpDelay. When calling the OnPlayerPVPDelay hook, 3 parameters are passed: <BasePlayer>player - The player to whom the pvpDelay is applied; <float>pvpDelay - The initial value of pvpDelay; <string>zoneID - A unique identifier of PVP zone. object OnPlayerPVPDelay(BasePlayer player, float pvpDelay, string zoneID) { Puts($"Attempting to set a PvP delay of {pvpDelay} seconds for player {player.displayName} in zone {zoneID}!"); if (zoneID == "*Your unique zone identifier*") { return 15f;//Overriding the values for pvpDelay } return null;//Leave unchanged } OnPlayerPVPDelayed: Called after the PVP delay has been set for the player. When calling the OnPlayerPVPDelayed hook, 3 parameters are passed: <BasePlayer>player - The player to whom the pvpDelay is applied; <float>pvpDelay - The value of pvpDelay; <string>zoneID - A unique identifier of PVP zone. void OnPlayerPVPDelayed(BasePlayer player, float pvpDelay, string zoneID) { Puts($"A PvP delay of {pvpDelay} seconds has been set for player {player.displayName} in zone {zoneID}!"); } OnPlayerPVPDelayRemoved: Called when the PVP delay is removed from the player after they enter a PVP zone with an active PVP delay. When calling the OnPlayerPVPDelayRemoved hook, only 1 parameter is passed: <BasePlayer>player - The player from whom the PVP delay has been removed. void OnPlayerPVPDelayRemoved(BasePlayer player) { Puts($"PVP delay has been removed for player {player.displayName} as they entered a PVP zone!"); } OnZoneStatusText: Called when the text with the nice name for the specified zone is needed, to be displayed in the status bar. When calling the OnZoneStatusText hook, 2 parameters are passed: <BasePlayer>player - The player for whom the nice name for the zone is being requested; <string>zoneID - A unique identifier of PVP zone. object OnZoneStatusText(BasePlayer player, string zoneID) { Puts($"Text for the status bar is required for zone {zoneID}"); if (zoneID == "*Your unique zone identifier*") { return lang.GetMessage("*langKey*", this, player.UserIDString);//<string>Overriding the value for the status bar text } return null;//Leave unchanged } CanRedeemKit: Called before giving the starter kit, in the OnDefaultItemsReceive hook. A non-zero value cancels this action. When calling the CanRedeemKit hook, only 1 parameter is passed: <BasePlayer>player - The player to whom the kit is being attempted to be given. object CanRedeemKit(BasePlayer player) { Puts($"Attempting to give the kit to player {player.displayName}!"); if (player.IsAdmin) { return false;//Cancel the action } return null;//Leave unchanged }$39.99- 45 comments
- 1 review
-
- 3
-
-
- #rust
- #real
-
(and 56 more)
Tagged with:
- #rust
- #real
- #pve
- #pvp
- #solo
- #build
- #friendly
- #raid
- #npc
- #monument
- #monuments
- #loot
- #looting
- #farm
- #newbie
- #custom
- #bar
- #ui
- #cui
- #panel
- #vehicle
- #claim
- #limit
- #limits
- #sleeping
- #bag
- #sleeping bag
- #bed
- #shelter
- #permission
- #permissions
- #vip
- #economy
- #economics
- #rad
- #town
- #radtown
- #queue
- #bypass
- #vehicles
- #raidable
- #base
- #bases
- #raidablebases
- #raider
- #raiders
- #humannpc
- #event
- #events
- #copy
- #paste
- #copypaste
- #plugin
- #plugins
- #umod
- #oxide
- #carbon
- #iiiaka
-
Version 1.2.3
8,048 downloads
Formerly NPCLoot. Populate npc corpses, containers, and barrels with custom loot. General info. Users can create as many loottables as required, and assign them to npc/container types by name. To create a new loot table, simply set the "lootTable" entry for some container type in config to a new made up name. This will create a new /data file of that name, which you can customise. The same loot table can be used for multiple corpse or container types. New categories and items are added automatically so, hopefully, data should never need to be wiped. Default loottable has all probabilities set to zero ( no loot) and will require customisation. I intend to provide some sample loottables for free download in the near future. Item choice is done by two-tier probability. For each spawned item a category is chosen first, based on your category probabilities, then an item is chosen from that category, based on your item probabilities for that category. See notes at bottom for further info on probabilities. Dec '23 1.2.2 update. Customloot now supports treating specific skinned items as if they are unique items. For example you could create skinned paper as ‘Money’, and it will be treated as unique, with totally separate settings and options from regular paper. The format for creating items is that you hold your skinned item and type /CustomLoot ExistingLootTable Category CustomName so, for example, if you want to skin paper with skin 012345 and use it as ‘Money’ in a loottable called ‘AirdropTable’, hold some paper with that money skin and type /CustomLoot AirdropTable Resources Money You can also specify “All” instead of a specific loottable /CustomLoot All Resources Money Optional dependencies - BotReSpawn Configuration. Global. corpseTypePerBotReSpawnProfile - true/false allowDuplicates - true/false Include_DM_Crates - true/false AllowSkinsFor - { "add", "items", "like", this" } NPC types. OilRig Excavator CompoundScientist BanditTown MountedScientist JunkPileScientist DungeonScarecrow ScareCrow MilitaryTunnelScientist CargoShip HeavyScientist TunnelDweller UnderwaterDweller Trainyard Airfield DesertScientist ArcticResearchBase LaunchSite Gingerbread ZombieHorde *if Global option 1 is true, this entry is replaced with one entry per existing BotReSpawn profile, by name. Eg, The Dome 0, Airfield 0, LaunchSite 0, etc. Container Types bradley_crate heli_crate supply_drop dm ammo dm c4 dm construction resources dm construction tools dm food dm medical dm res dm tier1 lootbox dm tier2 lootbox dm tier3 lootbox loot_barrel_1 loot_barrel_2 loot-barrel-1 loot-barrel-2 oil_barrel codelockedhackablecrate crate_basic crate_elite crate_mine crate_normal crate_normal_2 crate_normal_2_food crate_normal_2_medical crate_tools crate_underwater_advanced crate_underwater_basic foodbox minecart trash-pile-1 ...There may be more, as the plugin automatically adds new ones as they appear in-game. Options per type: "enabled": true/false (governs corpse loot-giving) "lootTable": "default" "minItems": 6 "maxItems": 6 "gunsWithAmmo": true/false "noGuns": true/false "MaxBps": 3 "WaterPreFillPercent": 20 "ClearContainerFirst": true/false Data: By default there is one data file : /data/CustomLoot/default.json If you specify a unique lootTable name for any corpse or container type, a new file will be created in the same folder, by name. Eg /CustomLoot/JunkPileLootTable.json Each data file contains: Blacklist : [] - These items will never spawn, and are removed from loottable. Setting to [] will repopulate with default blacklist. AlwaysSpawnList : [] - These items will always spawn, regardless of probabilities. allowChristmas = false allowHalloween = false allowKeycards = false By default all Christmas, Halloween and Keycard items are disabled. Items, grouped by category. *Each item has:* "probability": 5 "minStack": 10 "maxStack": 50 "blueprintChancePerfect": 0 - where applicable "skins": [] - where applicable "IncludeAllApprovedSkins" - false "MinConditionPercent": 90 - where applicable "MaxConditionPercent": 100 - where applicable Categories: Ammunition Attire Component Construction Electrical Food Fun Items Medical Misc Tool Traps Resources Weapon ...There may be more, as the plugin automatically adds new ones as they appear in-game. Options per category: "probability": 5 "allowBlueprints": true API. If the called config profile doesn't exist CustomLoot will create it under 'API'. Example call. [PluginReference] private Plugin CustomLoot; List<Item> lootcall = CustomLoot?.Call("MakeLoot", "Profile_Name"; if (lootcall is string) PrintWarning(string)lootcall); Object hooks are provided to prevent this plugin giving loot to your spawned npcs, or containers. Return non-null for the following. OnCustomLootNPC(uint) OnCustomLootContainer(uint) Notes. *Probability, in both cases above, is relative; There is no scale. If there were two categories with probabilities of 9 and 1, the first would have a 9 out of 10 chance of being picked. Probability of zero effectively means the item, or category is disabled. Categories with no enabled items will never be chosen. Their probability is irrelevant. Disabled categories will never be chosen. Their probability is irrelevant. Users should never have to manually add, or remove, items in the /data files. New items in Rust should be added automatically. The blacklist can be used to remove entries from the data file, if that's preferred. Reloading is not required to catch up with profile changes made in BotReSpawn.Free- 222 comments
- 4 reviews
-
- 10
-
-