Jump to content

Search the Community

Showing results for tags 'fun'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


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


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

Product Groups

  • Creator Services
  • Host Services

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



About Me

  1. Version 1.7.0


    During the Unlimited Sulfur Event, a large sulfur node appears at a set location(s) and is marked on the map, drawing attention to all players. This node provides unlimited sulfur, giving players a chance to collect a significant amount of sulfur within a limited time. This event can add an extra layer of competition and cooperation among your players as they rush to take advantage of these lucrative opportunities. Features Spawns an unlimited sulfur node/ore for a limited time. Ability to start the SulfurEvent manually or automatically at minimum and maximum intervals. Configuration options for SulfurEvent duration, minimum player count, UI location, and more. Customizable event start and end messages. Option to play a sound and visual effect when the event starts. Map markers and UI elements to indicate the active event and provide information to players. Game tips and chat messages to inform players about the event. Ability to set and manage sulfur node spawn positions. Commands to manage the SulfurEvent, including starting and stopping the event, setting spawn positions, listing positions, deleting positions, and viewing available commands. Event Overlap Prevention: Prevents the SulfurEvent from overlapping with the Stone/Metal Event. If overlap occurs, the plugin will retry starting the event after a configurable interval. User Interface: UI customization options include setting the UI location with X and Y coordinates. Enable proximity UI visibility mode and/or a "Players Here: X" Proximity UI. Gather Amounts: Set minimum and maximum gather amounts for sulfur ore and charcoal to control player rewards. Lightning Effects: Enable lightning effects during the event with customizable minimum and maximum intervals. Monument Spawn Locations: Added monument spawn locations that can be individually enabled or disabled. Customize spawns at specific monuments while excluding others (e.g., enable spawns at "xlarge/launch_site_1.prefab" and "medium/nuclear_missile_silo.prefab," but disable spawns at "OilrigAI" and "OilrigAI2"). Monument Spawn Limits: Set a limit for the number of spawns at each monument. For example, limit "roadside/gas_station_1.prefab" to 2 spawns, choosing from 3 Gas Stations if available. Monument Spawn Location Offsets: Customize the offsets for monument spawn locations to fine-tune the exact spawn positions at each monument. Commands /sulfurevent start - Start SulfurEvent /sulfurevent stop - Stop SulfurEvent /sulfurevent add <name> - Set new SulfurEvent spawn position /sulfurevent list - List all spawn positions /sulfurevent clear - Clear all spawn positions /sulfurevent delete <name> - Delete a spawn position /sulfurevent - View all commands Console Commands - SulfurStart, SulfurStop, SulfurList, SulfurListClear Permissions sulfurevent.admin - Allows the use of SulfurEvent commands. Possibly Incompatible plugins: "AlwaysHotSpot" , "InstantGather" Default Config { "Only Command Start Event": false, "Minimum Players to Start Event": 1, "Prevent Overlap with Metal/Stone Event": true, "Prevent Overlap Retry Timer (seconds)": 180.0, "Event Minimum Interval (seconds)": 3600, "Event Maximum Interval (seconds)": 7200, "Event Duration Seconds": 1230, "Event Start Notification Sound": true, "Event Start Explosion Effects": true, "Event Chat Messages": true, "Event GameTip Messages": true, "Event GameTip Duration (seconds)": 7.0, "Event Start Message": "<color=yellow>Sulfur Event</color> <color=white>Has Started! Check The Map!</color>", "Event End Message": "<color=yellow>Sulfur Event</color> <color=white>Has Ended!</color>", "UI Enabled": true, "UI Location X": 0.38, "UI Location Y": 0.8, "UI Handwriting Font": true, "UI Style (1 = With UI Msg, 2 = No UI Msg)": 1, "UI Message": "Unlimited sulfur node marked on map!", "Proximity UI Visibility Mode": false, "Proximity UI Visibility Range": 350, "Proximity UI 'Players Here: X'": true, "Proximity UI 'Players Here' Visibility Range": 70, "MapMarker Enabled": true, "MapMarker Colour": "#050505", "MapMarker Colour2": "#e5ff00", "MapMarker Radius": 0.25, "MapMarker Alpha": 0.7, "MapMarker Name/Message": "UNLIMITED SULFUR NODE", "Sulfur Ore Minimum Gather Amount": 1, "Sulfur Ore Maximum Gather Amount": 5, "Charcoal Minimum Gather Amount": 1, "Charcoal Maximum Gather Amount": 2, "Delete SulfurNode at Event End": true, "SulfurNode is Gatherable": true, "SulfurNode Size 1-100": 30, "SulfurNode Size Radius": 0.1, "Lightning during Event": true, "Lightning Min Interval (seconds)": 1.0, "Lightning Max Interval (seconds)": 60.0, "SulfurNode Spawnmodes ('All' or 'Random')": "Random", "SulfurNode Spawnmode 'Random' Amount": 2, "Monument Spawn Locations": { "xlarge/launch_site_1.prefab": true, "medium/nuclear_missile_silo.prefab": true, "large/military_tunnel_1.prefab": true, "large/airfield_1.prefab": true, "small/sphere_tank.prefab": true, "large/water_treatment_plant_1.prefab": true, "railside/trainyard_1.prefab": true, "medium/radtown_small_3.prefab": true, "roadside/gas_station_1.prefab": true, "roadside/supermarket_1.prefab": true, "large/powerplant_1.prefab": true, "lighthouse/lighthouse.prefab": true, "roadside/warehouse.prefab": true, "medium/junkyard_1.prefab": true, "small/satellite_dish.prefab": true, "harbor/harbor_1.prefab": true, "harbor/harbor_2.prefab": true, "arctic_bases/arctic_research_base_a.prefab": true, "military_bases/desert_military_base_a.prefab": false, "military_bases/desert_military_base_b.prefab": false, "military_bases/desert_military_base_c.prefab": false, "military_bases/desert_military_base_d.prefab": false, "OilrigAI": false, "OilrigAI2": false, "ferry_terminal_1": false }, "Monument Spawn Limits": { "xlarge/launch_site_1.prefab": 1, "medium/nuclear_missile_silo.prefab": 1, "large/military_tunnel_1.prefab": 1, "large/airfield_1.prefab": 1, "small/sphere_tank.prefab": 1, "large/water_treatment_plant_1.prefab": 1, "railside/trainyard_1.prefab": 1, "medium/radtown_small_3.prefab": 1, "roadside/gas_station_1.prefab": 3, "roadside/supermarket_1.prefab": 3, "large/powerplant_1.prefab": 1, "lighthouse/lighthouse.prefab": 2, "roadside/warehouse.prefab": 3, "medium/junkyard_1.prefab": 1, "small/satellite_dish.prefab": 1, "harbor/harbor_1.prefab": 1, "harbor/harbor_2.prefab": 1, "arctic_bases/arctic_research_base_a.prefab": 1, "military_bases/desert_military_base_a.prefab": 1, "military_bases/desert_military_base_b.prefab": 1, "military_bases/desert_military_base_c.prefab": 1, "military_bases/desert_military_base_d.prefab": 1, "OilrigAI": 1, "OilrigAI2": 1, "ferry_terminal_1": 1 }, "Monument Spawn Location Offsets": { "xlarge/launch_site_1.prefab": { "x": 105.0, "y": 3.5, "z": 7.5 }, "medium/nuclear_missile_silo.prefab": { "x": 36.3, "y": -33.2, "z": -1.8 }, "large/military_tunnel_1.prefab": { "x": -13.5, "y": 13.75, "z": 35.0 }, "large/airfield_1.prefab": { "x": 0.0, "y": 0.5, "z": -27.5 }, "small/sphere_tank.prefab": { "x": 1.6, "y": 57.0, "z": 8.0 }, "large/water_treatment_plant_1.prefab": { "x": -51.7, "y": 1.5, "z": -64.8 }, "railside/trainyard_1.prefab": { "x": -41.8, "y": 39.4, "z": -40.8 }, "medium/radtown_small_3.prefab": { "x": -3.5, "y": -2.6, "z": -4.5 }, "roadside/gas_station_1.prefab": { "x": 0.8, "y": 9.5, "z": -6.0 }, "roadside/supermarket_1.prefab": { "x": -4.0, "y": 6.0, "z": -3.5 }, "large/powerplant_1.prefab": { "x": 2.3, "y": 9.65, "z": 32.85 }, "lighthouse/lighthouse.prefab": { "x": 0.0, "y": 60.7, "z": 0.36 }, "roadside/warehouse.prefab": { "x": 0.0, "y": 6.6, "z": -7.7 }, "medium/junkyard_1.prefab": { "x": -3.0, "y": 0.3, "z": -13.0 }, "small/satellite_dish.prefab": { "x": -5.0, "y": 9.5, "z": -10.7 }, "harbor/harbor_1.prefab": { "x": 44.0, "y": 22.0, "z": -0.5 }, "harbor/harbor_2.prefab": { "x": 41.5, "y": 5.3, "z": -5.0 }, "arctic_bases/arctic_research_base_a.prefab": { "x": -24.5, "y": 0.5, "z": 13.0 }, "military_bases/desert_military_base_a.prefab": { "x": 0.0, "y": 0.0, "z": 0.0 }, "military_bases/desert_military_base_b.prefab": { "x": 0.0, "y": 0.0, "z": 0.0 }, "military_bases/desert_military_base_c.prefab": { "x": 0.0, "y": 0.0, "z": 0.0 }, "military_bases/desert_military_base_d.prefab": { "x": 0.0, "y": 0.0, "z": 0.0 }, "OilrigAI": { "x": -13.5, "y": 23.35, "z": -13.7 }, "OilrigAI2": { "x": -33.0, "y": 32.55, "z": 13.0 }, "ferry_terminal_1": { "x": 0.0, "y": 0.0, "z": 0.0 } } }
  2. josh-z


    Version 1.0.0


    Forget about emoji, STICKERS are the next best thing to use in chat. This plugin gives you and your players the ability to unlock stickers that can be used to express yourself in chat. Besides that, it adds a sticker market: Here stickers can be traded, which adds a great way for your players to make some good money on rare stickers. Stickers are shown by using their :tag: in chat. By default, stickers are shown to every online player (players can turn them off individually by command). They popup on their screen and disappear in a few seconds. The possibilities are endless, and a lot of fun and interaction are guaranteed. You can add your own memes, cat pictures, word art or whatever image you can think of, tip: sneaky spiders give good results. Sticker Editor The main command for stickers is /sticker, but you will need some stickers first! Add any new stickers by using this command: /sticker add :stickername: https://imgur.com/yoursticker.png After adding a sticker, you can find it in the sticker browser. Open the UI by using: /sticker For admins (or people with the right permission) there is an in game sticker editor. From the browser, click the pencil icon on any sticker to start editing the sticker. The 3x3 grid sets your sticker’s start position, then you can align your sticker with the other values. A group can be entered or chosen by clicking the … icon. The 4 main tiers are only used for colors and not for real rarity, the only important tier here is the HIDE tier. Every sticker in this tier will not be available for players. Stickers are added in the hidden tier by default, so make sure to select another tier when you finish editing your sticker. The TOTAL field is the maximum amount of copies of this sticker to be owned by players in total *. The right field shows the current number of owners. * Stickers are limited! Every sticker added to the plugin requires you to set up a maximum number of ‘owners’ for that sticker. The sticker can only be unlocked this many times. Note that players can also have duplicate stickers. A sticker that has almost reached its max owners will be way harder to get when buying stickers. This rarity is useful in the sticker market and the recycler. In the config file are settings for inactive players. After a certain amount of inactive days, X stickers will be taken from the player and become available again in the market. Sticker Browser Browse your stickers and click any sticker for details. The sticker browser has handy filters to quickly find the sticker you are looking for. Use the lock icons to toggle (un)locked stickers. Sorting is possible by age, a-z, rarity, collections (groups) and availability. On the right side of the screen all sticker groups are shown. These are basically collections of stickers that can be used like sticker packs. Collect them all! Click any of the stickers to get more details, trade or recycle them. The eye icon on top of the sticker sends a chat message to show the sticker. Only visible for admins are the edit button (pencil) and lock/unlock button. The number on the top right shows the amount of this sticker you own. This sticker will be shown if a player who owns it uses :care: in global chat. Buy Stickers Players need sticker tokens to be able to unlock new random stickers. Different packs with tokens can be set up in the config file. The (token) price of a sticker can also be configured. At the moment only random stickers are available. You can unlock specific stickers for players by command. Tokens can also be given by (server) command, for example to be used as a vote or quest reward. Sticker Market In the sticker market, players can trade stickers they own. After setting a price, the sticker will be shown in the list of available trades. Other players can then buy the sticker and ownership will be transferred. Sellers get paid in the same currency as the one setup for buying sticker tokens. In case you use items as a currency, the seller has to be online to make a trade. Failed trades are being removed after a (configurable) amount of time. Sticker Recycler Besides trading your stickers, you can also decide to recycle them for sticker tokens. The reward for recycling depends on the rarity of the sticker at that moment and the amount of the same sticker being recycled. Recycling more of the same sticker results in higher rewards. Permissions zstickers.admin - needed for all sticker management zstickers.use - enables /sticker command zstickers.trade - allows to trade stickers zstickers.teamchat - allows players to use stickers in team chat (ninja mode) Commands /sticker - almost everything can be done inside the UI /sticker add :stickername: https://imgur.com/sticker.png - add stickers /sticker give <player name or id> <amount> - gives player x number of sticker tokens /sticker unlock <player name or id> :stickername: - unlocks a sticker for a player /sticker hide - hide all stickers /sticker show - show stickers again There are some debug commands in case something looks off (please report): /sticker list - prints your unlocked stickers to chat /sticker clearallmystickers - clears all your stickers /sticker valid - validates all stickers and their owners /sticker update - refresh all sticker stats / find missing stickers /sticker cleanuptrades - manually cleans up sticker trades /sticker debug - logs what's happening to console /sticker stats - shows totals of stickers and their availability Console commands These commands can be used by admins and other plugins. sticker givetokens <player name or id> <amount> - gives a player sticker tokens sticker unlock <player name or id> :stickername: - unlocks a sticker for a player sticker import <sticker pack name> - import sticker pack, see below for more info sticker import <sticker pack name> hidden - import a sticker pack but hide all stickers instead of using the sticker pack tiers Config & Data The config file is pretty straight forward. You can add or remove token packs. The currency is set by picking one of the numbers. If you want to use items as currency, make sure to setup the shortname of the item. Optionally you can add a skin ID too, so only items with a certain skin can be used to buy sticker tokens. The plugin will create 3 files in /oxide/data/ZStickers/: market_data.json - contains all trades, this data is automatically managed/wiped player_stickers.json - contains ownership data and token balance, you CAN wipe this, but this is not required: Players can keep their stickers forever, as long as they are active. stickers.json - contains all sticker data - don't wipe this if you want to keep your stickers. If you wipe this file, make sure to wipe the others too. Sticker Packs Sticker packs are a way to easily add or share a bunch of stickers. They come with predefined settings, so it's basically plug and play. For sticker packs, a data folder called 'import' is created /oxide/data/ZStickers/import/ Sticker packs can be added here to easy import a list of stickers. If the import folder is not there, you can create it yourself. Add the sticker pack json file(s) to the folder and run the import command from your console. Results will be shown in your console. Stickers with the same :tag: can not be added this way. Make sure to remove other sticker first. If you don't want the sticker to be visible for everyone right away, add the parameter 'hidden' to the import command. This will put all stickers in the hidden tier. Console command for example: sticker import SuperCoolPack hidden Dependencies & Plugin support Required plugins: ImageLibrary Optional currency plugins: ServerRewards, ZCoins Economics plugin is added but untested, let me know if this works for you. This plugin will be fully supported. Note: You can use any item with any skin if you're not using any of these plugins on your server. Support / Contact me If you encounter any problems or if you have any suggestions, feature requests or questions, please message me on Discord (josh.z) for the fastest response. This plugin is made with love and I feel it's never really 'done'. I'd love to discuss your ideas for it on my Discord server here: https://discord.gg/KveEUQhGsZ There's also a cool dude there (Nexus) who always sees your questions quicker than I do. If my response takes too long, find Nexus!
  3. Version 1.3.1


    What kind of survival game doesn't let you break your leg? With this plugin, players can sustain injuries and become infected with diseases. Currently there are 6 status conditions, each fully customizable through the plugin's configuration file. Status Conditions /inflict <player> concussion /cure <player> concussion Periodically blurs the player's vision. Chance to occur when a player is headshot. More likely to occur with more powerful weapons. /inflict <player> foodpoisoning /cure <player> foodpoisoning Forces the player to vomit occasionally which damages their food and thirst levels. Caused by eating spoiled meat. Can be cured by drinking healing tea. /inflict <player> brokenleg /cure <player> brokenleg Prevents sprinting and causes damage when moving. Can happen when taking fall damage, chance increases the greater the height. Can also occur when being shot in the leg, this is more likely to happen the more powerful the weapon is. /inflict <player> rabies /cure <player> rabies Periodically deals damage to the victim and flashes their screen red. Can be rarely contracted from the bites of wild animals. There is no cure, it's best to put the victim out of their misery. /inflict <player> tapeworm /cure <player> tapeworm The effect of food and water consumption is greatly reduced. Can occur from consuming raw or uncooked meat. Easily treatable with anti-biotics (anti-rad pills). /inflict <player> z13virus /cure <player> z13virus Not much is known about this disease, however it is often mistaken for rabies. Something terrible occurs when the victim dies... Seems to occur when a player is bitten by a zombie (scarecrow). Customization Each status condition has properties that can be customized through the plugin config. Here is a quick description of each of the properties. Enabled - Set to false to disable this condition. Likeliness - The chance (0 - 1.0) of this condition occurring through any means. For some conditions, like concussion or broken leg, this will be the MINIMUM chance for this to occur, and it will become more likely depending on how much damage is taken. This is only relevant for some conditions, other conditions may use items/entities to inflict players. Icon - The url of the icon for this condition. From Legshots - (Broken Leg Only) Set to false to disable this from occurring when a player is shot in the leg. From Falling - (Broken Leg Only) Set to false to disable this from occurring when a player takes fall damage. Damage Scale - The damage effect multiplier for the status condition. This will modify the damage taken for all types (hunger, thirst, ect.) not just health. For example, a value of 0.5 will do half damage while a value of 2.0 will do double damage. Show Duration - Set to false if you do not want player's to see how many seconds are remaining for this condition. There is a slight performance cost for this being set to true. Show Indicator - Set to false if you do not want a custom status framework indicator to show up for this condition. Cure Items - Item short names with corresponding chances from 0-1.0. The items listed will have a chance to cure the condition when consumed/used by the player. An item skin can optionally be specified, see Item Skins section. Interval Min Seconds - The minimum amount of time in seconds between a condition's symptom from occurring. Only relevant for some conditions. Interval Max Seconds - The maximum amount of time in seconds between a condition's symptom from occurring. Only relevant for some conditions. Duration Min Seconds - The minimum number of seconds a condition will last for. Duration Max Seconds - The maximum number of seconds a condition will last for. Move Items to Zombie - (Z13 Virus Only) Set to false to disable moving items from a corpse to the newly spawned zombie. The items will instead be left in a backpack. Reanimation Seconds - (Z13 Virus Only) The number of seconds before an infected player's corpse is reanimated into a zombie. Infliction Entities - Entity short names with corresponding chance of inflictions from 0-1.0. The entities listed will have a chance to inflict the condition when dealing damage to a player. Infliction Items - Item short names with corresponding chance from 0-1.0. The items that are listed will have a chance to inflict the condition when consumed/used by the player. An item skin can optionally be specified, see Item Skins section. Infliction Damage Action - Determined the way that an infliction entity must deal damage in order to inflict a condition. The allowed values are "melee", "ranged" or "any". Item Skins You can optionally specify that only an item with a certain skin will count for Cure and Infliction items. To do so just append #<skin id here> to the end of the item shortname. If both a skinned item and a non skinned item definition are specified, then the skinned definition will take priority if applicable. For example if your config looks like this then... If Anti-Rad Pills with the Skin 12345 are consumed, then it has a 100% cure chance. Anti-Rad Pills with any other skin (including default) only have a 50% cure chance. Only Apples with the 67890 skin have a 100% cure chance. All other Apples have 0% cure chance (because they are not listed). "Cure Items": { "antiradpills": 0.5, "antiradpills#12345": 1.0, "apple#67890": 1.0 }, Creating Your Own Custom Status Conditions Please note, this is a WIP feature, there may be some bugs, please report them if you find them! As of v1.2.0 you can use the API method "CreateCondition" to create your own plugin that can register custom status conditions through Injuries and Diseases. But what if you're not a developer? No problem! I have created a plugin for you with a ton of configurable options for you to create your own status conditions. In either case, here are some guides for what you need to do to create your own status conditions. For Non-Developers If you are not a plugin developer and you would like to create your own custom status conditions then you can download this plugin file and edit the config that it generates to customize the status conditions how you like. Currently there is a limited amount of things you can do for a status condition. If there is a specific condition, trigger, or effect you would like included, please open a support ticket and make a suggestion! Or, if you want full freedom, you can see the developer section to create your own status condition plugin exactly how you would like. For Developers If you are a plugin developer and would like to create a plugin that adds some custom status conditions, then you can make use of the "CreateCondition" API method (see API section) to register any custom conditions you would like to add. To see a code example of how this will work you can refer to the plugin file download like mentioned in the "For Non-Developers" section above. That plugin contains some hints on how the plugin must operate to work with Injuries and Diseases. When creating a custom condition, there are certain aspects that Injuries and Diseases will handle, and others that your plugin will need to take care of. Here is a breakdown of some of those things: Injuries and Diseases will handle... Showing status indicators Status duration and countdowns Showing infliction, cure and diagnosis messages (they need to be in YOUR plugin's localization file though) The effect that occurs on intervals and when the condition is first inflicted (you pass these methods into the CreateCondition method) Whether your conditions duration/indicator is shown (pass this into the CreateCondition method) Your plugin should handle... Registering conditions using the API Means of inflicting your condition (entity attack, item consumed, ect) Means of curing your condition Localization (Injuries and Diseases will reference some of these) Adding images to image library Any configuration options pertaining to your custom conditions Permissions injuriesanddiseases.admin Required for admin commands injuriesanddiseases.doctor Designates a player as a doctor Required for doctor commands Admin Commands /inflict <player> <condition> <revealed?> Inflicts the player with the specified condition (see status conditions section). Optionally, you can set if the status will be revealed or not. Default value is set in the config. /cure <player> <condition?> Cures the player from all conditions. If the condition is specified, the player will be cured of just that condition. /conditions <player> Returns a list of all the conditions a player is suffering from and includes the remaining duration. /reveal <player> <condition> Reveals the condition to the player if it has no already been revealed. Doctors (Optional) As an optional feature, you can assign a player as a doctor. Doctors can diagnose players, which will reveal to the player the condition that their are afflicted with. By default, this isn’t necessary, as players will automatically be notified of what their condition is. However, in the config, you can set it so that conditions are unknown to players until they get a doctor to diagnose them. Once they have diagnosed a player, the doctor will also be informed of how to cure the condition. Doctors can be assigned with the doctor perm, and have access to the following command: /diagnose Will diagnose any undiagnosed conditions of the player they are looking at. Will also recommend treatment if available. Supported Plugins Injuries and Diseases has built in support for the following plugins: ZombieHorde The default config values contain support for ZombieHorde zombies to inflict the Z13 Virus The keyword in the config for zombie horde entities is "zombie" WalkingDead The default config values contain support for Walking Dead zombies to inflict the Z13 Virus The Walking Dead plugin uses the "scarecrow" entity for their zombies, which is already included BotReSpawn If you want BotReSpawn entities to inflict a condition, use the keyword "botrespawn" in the infliction entities section of the condition config. Configuration Death Removes Conditions - Set to false if you want conditions to persist even when a player dies. Pause on Disconnect - Set to false if you want the condition timer to continue even when a player is sleeping. Set to true if you want it to pause when they are sleeping. Require Diagnosis - Set to false if you want conditions to be automatically revealed to player's when they are inflicted. Set to true if you want them to appear as unknown until a doctor diagnoses them. Show Doctor Indicator - Set to true if you want an indicator to appear for player's with the doctor permission. Messages Enabled - Set to false if you do not want messages to appear in the chat for player's when their conditions status is updated. Message Icon ID - The steam ID of the player portrait you want to appear for all chat messages from this plugin. Images - A list of image urls for various images used in this plugin. Status Conditions - Configuration for status conditions (see customization section). Version - Keeps track of what version your configuration was generated for, do not edit manually. Developer API With these developer API tools you can extend the functionality of existing conditions through code. You can add additional effects by making use of the various hooks for each condition. /* * Returns a list of all enabled conditions. */ List<string> GetConditions(); /* * Returns a list of conditions a player is inflicted with. */ List<string> GetPlayerConditions(ulong userId); /* * Returns true if the player has the specified condition. */ bool HasCondition(ulong userId, string conditionNameId); /* * Inflicts the player with the specified condition. */ void SetCondition(ulong userId, string conditionNameId, bool revealed); /* * Removes the condition for the player. */ void RemoveCondition(ulong userId, string conditionNameId, bool cured); /* * Removes all conditions for the player. */ void RemoveAllConditions(ulong userId, bool cured); /* * Reveals the condition to the player if it is not already revealed. */ void RevealCondition(ulong userId, string conditionNameId); /* * Create a custom condition. BETA */ void CreateCondition(Plugin plugin, string conditionNameId, string imageLibraryIconName, int minIntervalSeconds, int maxIntervalSeconds, int minDurationSeconds, int maxDurationSeconds, bool showDuration, bool showIndicator, Action<BasePlayer> beginEffect = null, Action<BasePlayer> intervalEffect = null);
  4. Version 1.0.10


    Are your players tired of waiting for Airdrops? This little plugin makes them appear almost instantly, no cargo plane, no parachutes. Airdrop will spawn wherever the supply signal lands. The delay can be modified in the config file. The default is 5 seconds to allow the supply signal to land and smoke briefly. Config File { "Delay Before Spawn": 5.0, "Use Permission": false, "Prevent Deploying Inside (Players will only be able to deploy supply signals outside)": false } if "Use Permission" is set true then permission to be set is instantairdrop.use If "Prevent Deploying Inside" the Airdrop will be cancelled, the supply signal will be refunded to the player and a message will inform the player that supply signals can only be deployed outside. This is to prevent instant airdrops spawning inside of bases and is optional. Tested to work nicely along side other plugins such as: Heli Signals Bradley Drops Fancy Drop Loot Defender Signal Cooldown Helpful Supply Supply Lock
  5. _senyaa

    Jet Ski

    Version 1.4.4


    This plugin adds jet skis with customizable physics! Chat Commands /jetski - Spawns jet ski near player (requires jetski.spawn permission) /jetski remove - despawns player's jet ski (requires jetski.despawn permission) /buyjetski - allows player to buy jet ski item and deploy it later (requires jetski.buy permission) Console Commands givejetski <amount> <player name> - give specified amount of jet skis to specified player (can be run in the server console or by player with jetski.admin permission) Admin Chat Commands (requires jetski.admin permission) /jetski_debug - show buoyancy points Each buoyancy point has force and size parameters Permissions jetski.admin - admin permission jetski.spawn - allows players to spawn a jetski via /jetski jetski.buy - allows players to buy jet ski deployable via /buyjetski jetski.free - allows players to use /jetski for free (if price is not 0) jetski.despawn - allows players to despawn a jet ski via /jetski remove Localization English Russian Configuration Example of JetSki.json { "(1.1) Jet ski price (set value to 0 to make it free, use ServerRewards or Economics as a shortname to use RP points or Economics balance respectively)": { "ShortName": "scrap", "Amount": 75, "SkinID": 0 }, "(1.2) Spawn cooldown (in seconds)": 120, "(1.3) Allow only 1 jet ski per player": false, "(1.4) Allow spawning jet skis only on beaches": false, "(1.5) Amount of jet skis /buyjetski command gives": 1, "(1.6) Starting fuel": 0, "(2.1) Allow picking up the jet ski only in building privilege": false, "(2.2) How much HP is reduced when the jet ski is picked up (0-100)": 25.0, "(2.3) Jet ski item name": "Jet Ski", "(2.4) Jet ski item skin ID": 2935987835, "(2.5) Jet ski item ID": 794443127, "(3.1)Make all snowmobiles jet ski": true, "(3.2) Allow Jet ski to drive on land": true, "(4.1) Enable 'boost' button (Left Shift)": false, "(4.2) 'Boost' button thrust": 10000.0, "(4.3) 'Boost' duration (seconds)": 5.0, "(4.4) 'Boost' cooldown (seconds)": 30.0, "(5.1) Engine thrust": 5000, "(5.2) Engine thrust on land": 49, "(5.3) Move slowly on grass or roads": true, "(5.4) Steering scale": 0.05, "(5.5) Automatically flip jet skis": false, "(5.6) Off axis drag": 0.35, "(5.7) Buoyancy force": 730.0, "(6.1) Jet ski prefab": "assets/content/vehicles/snowmobiles/tomahasnowmobile.prefab", "(6.2) Thrust point position": { "x": -0.001150894, "y": 0.055, "z": -1.125 }, "(6.3) Buoyancy points": [ { "Position": { "x": -0.62, "y": 0.09, "z": -1.284 }, "Size": 1.3 }, ... } ] } API BaseEntity SpawnJetski(Vector3 position, Quaternion rotation) Item CreateJetskiItem()
  6. Adem


    Version 1.0.4


    I introduce to you a brand new plugin to make custom and configurable use of the new addition of parachutes to the game of Rust! This plugin will add the ability for players on your server to use a Paraplane! Paragliders have the ability to gain altitude with the help of an engine on the player's back, as well as gain more speed in comparison with a parachute. You can create a great number of paraglider presets that can differ in HP, Speed, Drag, Fuel Consumption, and more! This plugin will give you the opportunity to create countless presets, your imagination is one of the only limitations! You can create parachute presets without an engine, where you can also configure and customize the default and additional parachutes that can appear in your loot tables. Paraplanes and Custom Parachutes can be given to yourself or players with the use of commands, or you can add them to any of your existing loot tables! The plugin comes with configuration options to place them in whatever loot tables you decide. Paraglider control The control of the paraglider completely coincides with the control of the parachute. To climb, hold down the [S] key and the engine key [SHIFT]. By default, to turn on the engine, the player needs to have fuel in the inventory. Chat commands (only for administrators) - /giveparaplane <paraplanePresetName> Console commands (RCON only) - giveparaplane <paraplanePresetName> <userid> <amount> Config - plugin_en – example of plugin configuration in English - plugin_ru – example of plugin configuration in Russian My Discord: Adem#9554 Join the Mad Mappers Discord here! Check out more of my work here!
  7. Yun

    NPC Bands

    Version 1.1.0


    HOW TO ADD A TRACK? If you have already created your own track file, skip the first 3 steps. To add a new track, it’s very easy, follow the steps below: 1° Have the midi file (.mid) you want to add ready. 2° Goto the https://npcbands.vercel.app 3° Upload your file and click in the DOWNLOAD button 4° Move the downloaded file to oxide/data/NPCBands/Notes/ Now, the track name to add to the configuration file will be the file name without the .json extension. AVAILABLE INSTRUMENTS Guitar Trumpet Flute Sousaphone Canbourine Jerry Can Guitar Shovel Bass Piano Drumkit Xylophone FEATURES ▪ Create multiple bands ▪ Clean music controls UI ▪ Spawn unlimited bands ▪ Create a song-notes filter for each NPC ▪ Add custom clothing for each NPC ▪ Use of deployable instruments ▪ Fully customizable UI ▪ 2 band-mode (automatic and proximity) ▪ Unlimited NPCs for the same band ▪ All NPCs will play the notes that the instrument allows (can be filtered) ▪ Interval between songs ▪ Permission to use controls ▪ High performance, no server lag ▪ Option to force immediate stop ▪ Easily convert your midi files using the npcbands website ▪ 1 file for each track to avoid a large configuration/data file ▪ Delete all bands automatically when clearing the map ▪ Destroy all NPCs automatically when unloading the plugin ▪ Delete all NPCs on the plugin load in case of possible server crash ▪ Custom chat command ▪ Custom band radius ▪ Notifies you when you enter the band area COMMANDS /npcbands spawn <band_key> to spawn a new band /npcbands remove <band_id> to remove an existing band /npcbands list [page] to list all existing bands PERMISSIONS npcbands.admin - Permission for chat commands & music control npcbands.control - Permission for the music control only CONFIGURATION FILE NPCBands.json
  8. Version 1.0.2


    Heavy Military Tunnel Event is a configurable plugin that allows for a new type of random event. Randomly a message will appear letting players know that a heavy unit is now guarding Military Tunnel The Military Tunnel will then be equipped with extra scientists both light and heavy, auto turrets, and Bradleys. Players must try to clear the military tunnel and find the scientist who drops the code to disable the auto turrets OR destroy all the turrets. If the code is found, it can be entered into the code lock hidden in a room to disable the turrets. Once the turrets and scientists are dealt with, players must defeat the Bradleys that guard the hackable crates. Finally, once the Bradleys are defeated, players can collect all the loot. That's if someone else doesn't get to it first! This is a great event to add to your server to give it a little more variety. It can be a fun PVP zone or a PVE event for non PVP servers. EASY OPTIONAL SETUP - NO SETUP REQUIRED You can simply drop the plugin in as-is and it will start the random event every 1 to 2 hours OR you can modify the config to your specific needs. Configuration Example - en Admin Only Commands /HmtStart /HmtStop /HmtPos Hooks void HeavyMilitaryTunnelEventStarted() void HeavyMilitaryTunnelEventStopped() Customization Spawn locations as well as the total number turrets, scientists, hackable crates, & APCbradleys can be modified. Simply go to the location in game you want to place the new item and use the command /HmtPos. It will message you the location. You can the add that location to the config in the appropriate section for want you want to modify. Reload the plugin and you're good to go! Support Create a support ticket here or message me on discord: cahnu
  9. Version 1.1.21


    This plugin adds 2 new deployable turrets and IR-traps. Overview Anti-Aerial turret This turret can be accessed via computer station. It has several modes Automatic - shoots multiple homing rockets, which will follow the target Manual (single) - shoots a single rocket Manual (burst) - shoots multiple If the turret is in automatic mode it waits for target. To acquire target player needs to place the crosshair on it and wait some time, which is configured here -> ([AA Turret] Target acquiring time (seconds)). After that the turret will follow the target and player can shoot by pressing Middle Mouse Button. Manual modes just shoot regular rockets. Machine gun Turret This turret can be mounted by pressing E on any of its parts (such as pipes etc.). Players can just aim and shoot. Ammo type can be configured here -> [Machine Gun Turret] Ammo type (short prefab name, must be one of 5.56 Rifle ammo). IR-Traps IR-traps (or flares) are used as a counter-measure to the anti-aerial turret. They can be loaded in the fuel storage of minicopter or scrap heli and can be deployed by pressing E. Stack sizes, amount per use and cooldown are configurable. IR-Traps can also affect SAM sites, this option can be enabled here -> [IR Trap] Affects SAM Sites (true/false) Commands Chat Commands /aaturret - buy anti-aerial turret (requires mountableturrets.aaturret.give permission) /mgturret - buy machine gun turret (requires mountableturrets.machinegun.give permission) Admin Chat Commands Following commands require mountableturrets.admin permission to work. See "Permissions" chapter for more info. /mt command must be ran a monument you want to modify. Positions are saved relative to the monument and persist even after a wipe or a map change. /mt (requires mountableturrets.admin permission) /mt add aa - spawns anti-aerial turret on a monument /mt add mg - spawns machine gun turret on a monument /mt add comp - spawns computer station on a monument, which gets automatically linked to anti-aerial turrets /mt remove - removes turret/computer station from the monument /mt reset - clears all data for a monument Admin Console Commands giveaaturret <player name> - gives anti-aerial turret to specified player givemgturret <player name> - gives machine gun turret to specified player Permissions mountableturrets.admin - allows usage of giveaaturret, givemgturret and /mg commands mountableturrets.aaturret.give - allows players to buy AA turret using /aaturret mountableturrets.aaturret.free - allows players to get AA turret for free using /aaturret (give permission is still needed) mountableturrets.machinegun.give - allows players to buy machine gun turret using /mgturret mountableturrets.machinegun.free - allows players to get machine gun turret for free using /mgturret (give permission is still needed) Localization This plugin has built-in support for the following languages - English Russian Configuration Example of MountableTurrets.json (some parts are shortened) { "PVE Mode (true/false)": false, "[AA Turret] Price (set value to 0 to make it free, use ServerRewards as a key to use RP points)": { "Key": "scrap", "Value": 500 }, "[AA Turret] Item Skin ID (Workshop ID)": 2849176835, "[AA Turret] Item Name": "Anti-Aerial Turret", "[AA Turret] Cooldown between shots (seconds)": 10.0, "[AA Turret] Rocket fuse length (seconds)": 10.0, "[AA Turret] Rocket fuse length (meters)": 450.0, "[AA Turret] Entities that turret is able to lock on to (short prefab name)": [ "minicopter.entity", "scraptransporthelicopter", "hotairballoon" ], "[AA Turret] Target acquiring time (seconds)": 0.6, "[AA Turret] Rocket initial velocity (meters per second)": 30.0, "[AA Turret] Interval between shots in Burst mode (seconds)": 0.4, "[AA Turret] Rocket explosion radius (meters)": 5.0, "[AA Turret] Movement Speed Fast": 3.7, "[AA Turret] Movement Speed Normal": 2.0, "[AA Turret] Movement Speed Slow": 1.0, "[Machine Gun Turret] Price (set value to 0 to make it free, use ServerRewards as a key to use RP points)": { "Key": "ServerRewards", "Value": 250 }, "[Machine Gun Turret] Item Skin ID (Workshop ID)": 2849176974, "[Machine Gun Turret] Item Name": "Machine Gun Turret", "[Machine Gun Turret] Ammo type (short prefab name, must be one of 5.56 Rifle ammo)": "ammo.rifle", "[IR Trap] Stack size": 12, "[IR Trap] Amount per use": 2, "[IR Trap] Cooldown (seconds)": 3.0, "[IR Trap] Initial velocity (meters per seconds)": 20.0, "[IR Trap] Fuse length (seconds)": 10.0, "[IR Trap] Affects SAM Sites (true/false)": true, "[IR Trap] SAM Site blind time (seconds)": 5.0, "[IR Trap] Show IR-Trap hint UI (true/false)": true, "[IR Trap] Deploy positions": { "minicopter.entity": [ { <..> } <..> ] }, "[Misc] Spawn positions on other entities (full prefab name)": { "assets/content/vehicles/modularcar/module_entities/2module_flatbed.prefab": [ { "Type": "MachinegunTurret", "Position": { <..> }, "Rotation": { <..> } } ], "assets/content/vehicles/train/trainwagonb.entity.prefab": [ <..> }, "[Misc] UI Images (leave names intact)": { <...> } } API BaseEntity SpawnAATurret(Vector3 position, Quaternion rotation) // spawns anti-aerial turret BaseEntity SpawnMachinegunTurret(Vector3 position, Quaternion rotation) // spawns machinegun turret void DestroyTurret(BaseEntity turret) // destroys the turret Credits Thanks to Vitek & Nikitos for helping me with this plugin!
  10. Adem


    Version 1.0.3


    I bring to you a new plugin that will add Pogo Sticks to your server! These Pogo Sticks will allow players to jump, somersault, and parkour in ways never seen before in the game. With default configuration, Pogo Sticks don't do as well on sand and snow, for obvious reasons right? But don't worry you can configure any of the pogo presets, such as the speed and height of jump for example. The Pogo Stick is an ordinary worn item with a skinID that can be given to the player by console command, or any of the other unique ways you might want to give them out in your servers. There are two activation modes for Pogo Sticks. With default configuration, the player has to put the item in a belt container. In this mode, the Pogo Stick is only used when it is selected as an active item. In the second mode, the Pogo Stick is activated when it is added to a clothing/armor container. In order to use the second mode, replace the shortnames of all Pogo Sticks with a clothing item. As an example "burlap.gloves.new" to replace a less noticable part of your wardrobe. In this second mode, players will be able to shoot and use items while on the Pogo Stick! The creativity is in your hands, have fun with it! Chat commands (only for administrators) /givepogo <pogoPresetName> - give the pogo stick to yourself Console commands (RCON only) givepogo <userID> <pogoPresetName> <amount> – give the pogo stick to player. Config plugin_en – example of plugin configuration in English plugin_ru – example of plugin configuration in Russian Dependencies (optional, not required) GUI Announcements Notify ZoneManager My Discord: Adem#9554 Join the Mad Mappers Discord here! Check out more of my work here!
  11. Version 0.1.4


    Short Description: Makes your guns create entities/explosions/animals wherever your bullet impacts, or freezes/removes entities/NPCs that you hit with your bullet. Configured via commands. Allow players to use certain guns to spawn animals, explosions, or entities wherever their bullet lands. Or maybe freezing entities is up your alley! If you've ever wanted to do the mannequin challenge with NPCs/Entities in Rust, now you can! You freeze almost every entity in the game using a specified, configurable gun. Not interested in freezing entities? How about deleting them from existence because they are bothering you, well, lucky for you this plugin has that too! Anywhere you shoot will have any of the above abilities if you activate them! The plugin automatically unfreezes all entities that were frozen upon unloading the plugin. This is a configurable setting you can disable, however, Cargo will always unfreeze itself the way I have it set up to not cause any issues. Cargo is also currently the only one that freezes itself upon loading the plugin if it was already frozen when unloading it. You can freeze entities with this plugin in your own plugins via calling the methods: GunTypes.Call("MethodName", parameter1, parameter2, parameterX); // EX: GunTypes.Call("CargoFreeze", CargoShip, IPlayer, string, bool); FEATURES: Explosive Gun: MLRS Rocket Incendiary Rocket Satchel Charge F1 Grenade Flash Bang Napalm Fire (the fire that Bradley/Attack Heli drops) Supply Signal Animal Gun: Wolf Bear Polar Bear Boar Chicken Stag Shark NPC Gun: Scarecrow NPC Bandit Camp Scientist/Guard Cargo LR-300 Scientist Cargo MP5 Scientist Underwater Dweller Tunnel Dweller CH47 Chinook Scientist (M249) (cannot move) Outpost Scientist Entity Gun: Scarecrow (entity, the T-Posed object with a hat meant to scare crows) Snowman Christmas Tree Candy Canes Present Zombie Test (Customizable via Config, just put the prefab) Freeze Gun (What it's able to Freeze) Cargo Attack Heli Bradley Chinook/CH47 All Vehicles (Mini Copter, Car (Modular Cars), Sedan, Rhib, Tugboat, Rowboat, Paddle Boat, Subs, Scarp Heli, Trains/Workcarts, Snowmobiles, Ridable Horse) Animals ALL AI (Scientists, Underwater Dwellers, NPCMissionProviders, Etc.) Traps (Landmines, Bear Traps, Gun Traps) Auto Turrets/Flame Turrets (Safezone turrets and regular ones) Sam Sites (Safezone Sam Sites and regular ones) Conveyors Doors Hackable Crate StorageContainers Remove Gun (What its able to Remove) Everything that is Interactable. Abandoned Military Base (Basically all of the monument can be removed for whatever reason, only things that will remain are the entrances and outlined portion of the monument where the ground is raised) PLANNED FEATURES: Car Gun (What its able to shoot) Rhib Attack Helicopter (new one, not patrol heli) Chinook Sedan Minicopter Tugboat Tomaha Solo Sub Modular 4 Car Modular 2 Car Video Examples: Note: The SPAS12 video used 4x the explosive amount per pellet. More Videos to come! EXAMPLE OF CAR GUN (NOT IN PLUGIN YET This is also a slightly older implementation, and has now been slowed down to prevent as much clipping into the ground/through objects. Permissions: guntypes.gun - Allows user to use the /gun command. guntypes.setgun - Allows user to use the /gun set command. guntypes.animal - Allows user to use the /gun animal command. guntypes.explosive - Allows user to use the /gun explosive command. guntypes.entity - Allows user to use the /gun entity command. guntypes.remove - Allows user to use the /gun remove command. guntypes.freeze - Allows user to use the /gun freeze command. guntypes.npc - Allows uers to use the /gun npc command. Any other permission you see DO NOT USE OR ACTIVE YOURSELF they are for internal plugin use. You SHOULD NOT attempt to give a user ALL permissions when giving permissions to a user. Give them manually. Chat Commands: Note: Turning on any of the gun modes via their direct name (i.e: animal, entity, etc.) will also effectively do `/gun on` for you. /gun off - Disables gun mode in general to prevent use of any of the types below. /gun on - Activates gun mode in general to allow use of any of the types below. /gun animal - Activates animal gun mode. /gun explosive - Activates explosive gun mode. /gun entity - Activates animal gun mode. /gun freeze - Activates animal gun mode. /gun remove - Activates animal gun mode. Use Shortnames to change the gun type, or their defining part of their name. EX: for "pistol_revolver", do "revolver". /gun set animal wolf - Sets your current held gun to the wolf gun. /gun set explosive mlrs m249 - Sets the M249 to the MLRS gun. /gun set freeze - Sets your current held gun to the freeze gun. (only 1 freeze type so no type specification required) /gun set remove pistol_revolver - Sets revolver to the remove gun. (only 1 remove type so no type specification required) /gun spawnfrozen on - Sets NPCs and Animals to spawn frozen. /gun spawn frozen on - Sets NPCs and Animals to spawn frozen. Lots of QoL allowances for freeze AoE commands. /gun set freeze aoe on - Sets freeze AoE (radius) on. /gun freeze aoe on - Sets freeze AoE (radius) on. /gun set freeze aoe 12 - Sets freeze AoE (radius) to 12m. /gun freeze aoe 12 - Sets freeze AoE (radius) to 12m. Note/Be Aware: A gun that is used multiple times in the same gun type will only allow for 1 of the specified events to occur. EX: using explosive gun and having M249 set to both C4 and MLRS will only allow either C4 or MLRS to happen, not both. You will need to manually set the other M249 value to something other than the M249 value for the type you're not attempting to use. Meaning if you are trying to use C4 and NOT MLRS, then set MLRS to something other than the C4 value. You can now change your guns without affecting other users guns! Note 2: You setting the gun for yourself also sets it for ALL other players who are using the plugin. My goal is to eventually change this to individual gun settings for each user, but current implementation does not allow for it yet. Config: { "The command you type in to use the plugin": "gun", "Color/Hex for Syntax in Lang": "#ff3d3d", "Color/Hex for Commands in Syntax in Lang": "orange", "Color/Hex for 'Animal Gun' in Lang when calling the Gun Types commands": "#30D5C8", "Color/Hex for 'Explosive Gun' in Lang when calling the Gun Types commands": "orange", "Color/Hex for 'Entity Gun' in Lang when calling the Gun Types commands": "purple", "Color/Hex for 'Remove Gun' in Lang when calling the Gun Types commands": "#ff3d3d", "Color/Hex for 'Freeze Gun' in Lang when calling the Gun Types commands": "#30D5C8", "Color/Hex for 'NPC Gun' in Lang when calling the Gun Types commands": "#cf1d40", "Color/Hex for 'Activated' in Lang when calling the Gun Types commands": "green", "Color/Hex for 'Deactivated' in Lang when calling the Gun Types commands": "red", "The Color/Hex of the attempted entity/gun in the response for successful/failed gun setting": "orange", "The Color/Hex of the attempted spawn type in the response for successful/failed gun setting": "#40E0D0", "The test entity spawned using the entity gun": "assets/content/structures/interactive_garage_door/sliding_blast_door.prefab", "Unfreeze ALL frozen entities upon unloading (Excluding Cargo, it will automatically unfreeze).": true, "Freeze AoE (radius) Effect Enabled for ALL user with freeze permission (if set to false, no one can use AoE. If enabled, allows AoE Freeze)": true, "Max AoE (radius) a user is allowed to set for AoE freezing": 350, "Spawn tamable animals": true, "Spawn animals already tamed by the user who shot the gun": true } Credits: bmgjet - Thanks to bmgjet for allowing me to use code that they had made to get the closest cargo node, and also informing me on a way to freeze cargo!
  12. Version 1.0.8


    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);
  13. Version 1.1.2


    Features This plugin enables players to trigger an entertaining event in Rust - the so-called "Chicken Event". If a player has the required authorisation, they can start the event. During the event, chickens are spawned near the player and the goal is to shoot as many chickens as possible. After a set time, the event ends and the players with the most chicken kills receive rewards. The plugin tracks the performance of the players and determines the winners based on their kills. The main functions of the plugin are: Launching of the Chicken Event by eligible players. Randomly spawning chickens near the player. Tracking the number of chickens shot down by each player. Announcement of winners and their rewards at the end of the event. This plugin adds a fun activity to the game of Rust and rewards players who are successful in this event. It's a great way to encourage player interaction on your server and have fun. Functions You can start the ChickenEvent command: /flashchickenevent To use the command, you need the authorization: Config { "EventDuration": 30, "ChickenSpawnRadius": 20.0, "WinItemShortname": "rock", "WinItemCount": 1, "WinItemSkinId": 2843316584, "VipGroup": "vip", "VipDuration": 7 } load, run, enjoy
  14. Version 0.1.1


    Energize Interactions in Rust with Custom Messages! Unlock the potential of Rust's in-game chat with PlayerEventChatMessages-a plugin that elevates player interaction to an art form. Craft a vibrant community by enabling players to express themselves uniquely following in-game events, and in doing so, discreetly open up a new channel for economic opportunity on your server Key Features: Message Customization: Give your players the ability to purchase and select their chat messages to celebrate or announce specific actions. Flexible Monetization: Use the currency of your choice (Economics, Server Rewards, or your own plugin.) to enable players to acquire these distinctive messages. VIP Exclusivity: Control the ability to make certain messages exclusive to your VIP players, increasing the appeal for premium status. Configurable User Interface: A fully adaptable window, allowing you to change colors, size, and more, for a unique and personalized display. Integrated Localization: Tailor messages to the players' language, with a default configuration including forty messages already translated into English and French. Events Handled: Player Death Player Kill Player Connect Player Disconnect Dedicated Support: Rapid Assistance: Your seamless gaming experience is my priority. I'm readily available for support inquiries. Feel free to contact me on Codefling or join my Discord for swift and personalized assistance: https://discord.gg/CqNA32bzd3 Easy Configuration: Configuration File: 'Config/PlayerEventChatMessages.json' - Modify or add fields as needed. Message Management: The key defines the unique identifier of your message for translations. Accessibility: Enable or disable specific messages, making some inaccessible without completely deleting them. Triggering: Configure the sending time of messages according to the related event: "PlayerDead, PlayerKill, PlayerConnect, PlayerDisconnect". Message Customization: Language File: Lang/<language>/PlayerEventChatMessages.json - Associate the configuration ID with the desired message value. Dynamic Insertion: Use keywords such as `<owner_name>` and `<victim_name>` to integrate the players names into the messages. Adding Color: Beautify your messages with color tags for added visibility. Intuitive User Interface: With a multitude of customization options, create a user interface that perfectly matches the aesthetic of your server. Easy to configure and manage, our interface ensures a seamless integration with the game. Command & Control: - Commands: Set the stage for interaction with a customizable command for opening the chat window, defaulting to '/pevent'. - Permissions: Manage how players interact with the economy and the plugin with granular permissions: PlayerEventChatMessages.VIP for VIP content PlayerEventChatMessages.Default for standard plugin access PlayerEventChatMessages.UnlimitedCooldown for cooldown-free message usage Json Example : { "(By player) Message Cooldown for any types (seconds)": 1800.0, "(By player) Message Cooldown for each types (seconds)": 5.0, "Commands for show UI": [ "pevent_show", "pevent" ], "Money": { "Money Plugin Type ('Economics' | 'ServerRewards' | 'Custom')": "Economics", "(Custom) Plugin Name": "", "(Custom) Plugin Hook => int/double/float Hook(string id)": "", "(Custom) Plugin Hook => bool Hook(string id, int val)": "" }, "UI": { "Rects": { "Window Rect": { "X Size Min": -250.0, "Y Size Min": -210.0, "X Size Max": 250.0, "Y Size Max": 210.0, "Position X": 0.5, "Position Y": 0.5, "Width": 500.0, "Height": 420.0 }, "Top Rect": { "X Size Min": 0.0, "Y Size Min": -25.0, "X Size Max": 500.0, "Y Size Max": 0.0, "Position X": 0.0, "Position Y": 1.0, "Width": 500.0, "Height": 25.0 }, "Close Rect": { "X Size Min": -25.0, "Y Size Min": -25.0, "X Size Max": 0.0, "Y Size Max": 0.0, "Position X": 1.0, "Position Y": 1.0, "Width": 25.0, "Height": 25.0 }, "Categories Rect": { "X Size Min": 0.0, "Y Size Min": 0.0, "X Size Max": 75.0, "Y Size Max": 395.0, "Position X": 0.0, "Position Y": 0.0, "Width": 75.0, "Height": 395.0 }, "Content Rect": { "X Size Min": 80.0, "Y Size Min": 0.0, "X Size Max": 485.0, "Y Size Max": 385.0, "Position X": 0.0, "Position Y": 0.0, "Width": 405.0, "Height": 385.0 } }, "Title": { "Title Font Size": 12, "Title Font Color": "1 1 1 1", "Title Font": "robotocondensed-bold.ttf" }, "Money Top": { "Money Icon Ratio": 0.8, "Money Text Size": 10 }, "Categories": { "Category Height": 25.0, "Category Width": 75.0, "Category Font Size": 12, "Is Vertical": true }, "Icons": { "Money Icon Url": "https://i.postimg.cc/wy9FkWx3/icons8-cher-2-48.png", "New Icon Url": "https://i.postimg.cc/Yqgy13FV/icons8-nouveau-48.png", "Vip Icon Url": "https://i.postimg.cc/ft5CqxkC/icons8-vip-48.png" }, "Messages": { "Message Item Height": 30.0, "Max Message Per Line": 5.0, "Message Margin Height": 5.0, "Message Margin Width": 5.0, "Message Font Size": 12, "Icon Ratio (VIP, New, Money)": 0.8 }, "Theme": { "Colors": { "Surface": "0.133 0.133 0.133 1", "Background": "0.094 0.094 0.094 1", "TextPrimary": "1 1 1 1", "TextOnSelected": "1 1 1 1", "Primary": "1 1 1 1", "Selected": "0.77 0.26 0.171 1", "CloseButton": "0.8 0 0 1" } } }, "Messages (go to lang directory for values)": { "1": { "Enabled": true, "Trigger Type ('PlayerDead' | 'PlayerKill' | 'PlayerConnect' | 'PlayerDisconnect')":"PlayerDead", "Obtention": { "Price (0 => free)":150 } }, "2": { "Enabled": true, "Trigger Type ('PlayerDead' | 'PlayerKill' | 'PlayerConnect' | 'PlayerDisconnect')":"PlayerConnect", "Obtention": { "Price (0 => free)":150 } }, "3": { "Enabled": true, "Trigger Type ('PlayerDead' | 'PlayerKill' | 'PlayerConnect' | 'PlayerDisconnect')":"PlayerKill", "Obtention": { "Price (0 => free)":150 } } } }
  15. Rainey


    Version 1.1.0


    CorpseBoomer is a simple plugin that will spawn a boomer/firework at player positions when they are killed. Join my Discord for support and updates: https://discord.gg/teSffnDQ7N Permissions corpseboomer.firework Default Config { "Enable Console Messages": true, "Prevent Firework from Suicide": true, "Prevent Firework from Team Kill": true, "Prevent Firework from NPC Death": true, "Version": { "Major": 1, "Minor": 1, "Patch": 0 } }
  16. Yun

    TC Levels

    Version 1.2.0


    TCLevels is a plugin that will make your server more fun and have more things to do! FEATURES ★ • Reduce the decay damage by tick; • Upgrade the authorizations limit; • Upgrade the building grade limit; • Upgrade the storage capacity of the cupboard; • Upgrade the stack size limit of the cupboard; • Unlock some deployable items; • Set a default building grade for the server; • Modify the default decay; • Keep the cupboard attributes when remove; Make your server fun ^u^ PERMISSIONS The plugin has a unique permission, which allows the player to use the cupboard upgrade: tclevels.use F.A.Q 1. How many items can be blocked? and which? You can block unlimited items and all items must be deployable or they will not be blocked. 2. Which area will be checked when i place my cupboard? The entire privilege area will be checked. But you can also disable checks in the configuration file. 3. Could it cause conflict with any plugin? Yes, but i am providing an API for the plugin so that other developers can integrate with it, so if there is a conflict, just go to the developer's plugin support and ask them to integrate it. Also if it is possible for me to integrate it from my plugin, i will do so without any problem. API </> // Gets the current cupboard allowed building grade limit // If the cupboard isn't provided, it will return the default building grade limit of the config; private BuildingGrade.Enum GetBuildingGradeLimit(BuildingPrivlidge? cupboard); // Gets the current cupboard decay multiplier // If the cupboard isn't provided, it will return the default decay multiplier of the config; private float GetDecayMultiplier(BuildingPrivlidge? cupboard); // Gets the current cupboard authorization limit // If the cupboard isn't provided, it will return the default auth limit of the config; private int GetAuthLimit(BuildingPrivlidge? cupboard); // Gets the current cupboard storage capacity // If the cupboard isn't provided it will throw an exception; private int GetCapacity(BuildingPrivlidge cupboard); // Gets a list of the cupboard blocked items // If the cupboard isn't provided it will return all locked items listed in the config; private List<string> GetLockedItems(BuildingPrivlidge? cupboard); CONFIGURATION TCLevels.json
  17. Version 1.1.0


    This is my Racetrack 2 - Drift Edition monument. Great as a standalone monument, but even better as a (real ice effect) drift racing event area. Build your favourite vehicle and line up against your rivals in a guaranteed action packed 'Drift & Destruction' racing experience with your friends or server community. Prefab count: 8316 Racetrack 2 contains the following: Custom Pitlane Garage with 10 vehicle lifts Green card entry (..the official entry anyways) 2x Blue card puzzles (Vehicle themed loot table) 1 x Green Card puzzle (Recycler Access) Chinook Drop Zone Day/Night sensor lighting 'Chrome Robob Series 3' vending bot (Vehicle Parts 2) Oil Refinery, Tier 1 work bench, Repair bench Poker Table (Not usable) Heated Seats (because ice is cold) Prefab Modifiers: Alpha Biome Height Splat Topology Any issues? Give me a shout on my Discord Channel Note! You will need the latest versions of Oxide and Oxide.Ext.RustEdit.dll to use these on a map/server.
  18. Version 1.4.0a


    This is a Racetrack monument. Great as a standalone monument, but even better as a racing event area. Build your favourite vehicle and line up against your rivals in a guaranteed action packed racing experience with your friends or server community Prefab count: 5321 Racetrack 1 contains the following: Pitlane Garage with 10 vehicle lifts Blue card puzzle (Vehicle themed loot table) Chinook Drop Zone Several Sewer access/escape points Day/Night sensor lighting CCTV Camera Coverage to view events from any 'Computer Station' 2 Vehicle Part Vending Machines 'Aged Robob Series 3' vending bot (Vehicle Parts 2) Oil Refinery, Tier 1 work bench, Repair bench Prefab Modifiers: Alpha Height Splat Topology Paths CCTV codes: RACETRACK0 RACETRACK1 RACETRACK2 RACETRACK3 RACETRACK4 RACETRACK5 RACETRACK6 Any issues? Give me a shout on my Discord Channel Note! You will need the latest versions of Oxide and Oxide.Ext.RustEdit.dll to use these on a map/server. Optional Plugins: RaceTrack
  19. Version 0.0.2


    Puzzle Jump Plugin for Rust: Elevate Your Server Experience to a New Level Transform your Rust server into a unique playground filled with challenges and entertainment with the Puzzle Jump Plugin. Puzzle Jump Plugin enhances your Rust server by offering the ability to create customized, timed obstacle courses for an interactive and stimulating game experience. Important The plugin is currently stable but still in a testing phase for a short while, which is why it is being offered at a promotional price for its launch. The promotion will end once the roadmap goals are achieved. I am readily available for all your questions, here or on Discord (d.0ne_), so please do not hesitate to contact me if needed. Key Features Customizable Puzzle Creation: Build unique courses with start/end buttons and checkpoints for a tailored gaming experience. Reward System Distribute dynamic rewards based on player performance, with an attractive ranking system. Puzzle Flexibility Easily adapt and relocate non-static puzzles for constant renewal. Coming Soon Static Puzzles Get ready for the integration of puzzles into fixed structures for even more variety. Example Puzzle Pack Quickly get started with five ready-to-use puzzles, fully customizable. Leaderboard with UI An intuitive leaderboard to track player performance in real time. Total Customization Fully configure the plugin, including time-based rewards. Requirements: Requires CopyPaste plugin to function. Plugin Installation: Place the 'PuzzleJumpPlugin/config/PuzzleJumpPlugin' folder into '/oxide/configuration', ensuring that you end up with an '/oxide/configuration/PuzzleJumpPlugin' folder. Move the contents of the 'PuzzleJumpPlugin/data/CopyPaste' folder into '/oxide/data/CopyPaste'. Place the 'PuzzleJumpPlugin.cs' file into 'oxide/plugins' and then start the plugin. For further steps, follow the tutorials Use the Example Puzzles Placing a Puzzle: Use `/puzzle_setposition <puzzle_name> [autoheight]`. The `[autoheight]` option is optional and adjusts the puzzle to ground level. Each puzzle can only be instantiated once. Video Tutorial : Creating / Editing a Puzzle Here is a video showing the creation of a Puzzle Jump. The process is the same when you want to edit a puzzle, but you will need to use the command '/puzzle_edit <puzzle_name>' : Video Plugin Commands For Creation and Editing /puzzle_create <puzzle_name> <true | false>` : Starts the creation of a puzzle. /puzzle_save : Saves modifications to a puzzle. /puzzle_setbutton <start | default | end>` : Assigns a type to a targeted button. /puzzle_exit Exits creation/editing mode without saving. /puzzle_removebutton <type <index>>` : Removes a specified button. /puzzle_setradius <radius>` : Adjusts the radius of the puzzle. For Management puzzle_setposition <puzzle_name> [autoheight] : Changes the puzzle's position. The `[autoheight]` option is optional and sets the puzzle to ground level. Player Commands puzzle_ladder : Displays the player leaderboard Roadmap Static Puzzles: Ability to create puzzles on monuments, or with prefabs in RustEdit. Checkpoint Respawn: Ability for players to respawn at a checkpoint if they fall. Puzzle Packs (with electricity): Introduction of electrically integrated puzzle packs. Configuring a Puzzle: enabled: Defines if a puzzle is instantiated at the start of the plugin. displayName: The name displayed to players in-game. useDefaultCheckPoints: Determines if the default checkpoints are effective. timer: maxTime: The maximum time for the puzzle, after which the player fails. zoneConfiguration: radius: Radius of the zone (default is 15). enablePvp: Enable PvP in the zone (default is false). enableFallDamages: Enable fall damages (default is false). enableSleeping: Allow players to sleep in the puzzle (default is false). enableVehicle: Allow vehicles in the puzzle. rankScoreTable: Score table sorted by rank (score being the time achieved by the player). rewardsTable: Table of rewards, sorted by rank (see "Configuring Reward Tiers"). Configuring Reward Tiers (According to Rank): In 'rewardsTable' (for each puzzle), you can configure: Items (list): rewardItemShortName: The shortName of the item. quantity: The quantity. Hooks (list): pluginName: The name of the plugin the hook belongs to. hook: The hook (must have a BasePlayer as a parameter). Commands (list): command: The command to execute, use %player_id to get the player's ID. Support and Assistance: I am fully committed to providing an exceptional user experience. For any questions, issues, or suggestions, please do not hesitate to contact me. Your feedback is crucial for the continuous improvement of the plugin.
  20. Version 1.0.21


    Adds 53 new deployable items to your server!. Custom item collection system. Players can obtain these items while cutting trees, mining rocks and collecting plants. Includes a built in market that can be accessed via a chat command or a HumanNPC. Each base item can be configured to allow for a wide variety of placement options/restrictions. A large amount of configuration options are available for each item. Adjustable placement options while holding shift. Items can be picked up by holding a hammer, looking at the deployed entity and pressing your mouse3 button (scroll wheel button). deployablenature.admin - Required to use the giveprefab command. deployablenature.market.chat - Required to use the market chat command. deployablenature.ignore.restrictions - Allows a player to deploy items without restriction (TC etc). deployablenature.gather - Required for players to obtain drops while gathering. deployablenature.use - Required to deploy nature items. deployablenature.free - allows access to the nature market for free. There is also the option to create groups via the config, which will receive discounts in the market based on the value assigned to them. Example: "Permissions that will receive a discount on the store cost when purchasing [1.0 is full price]. Prefix with deployablenature.": { "deployablenature.vip": 0.5 }, This would give players with the deployablenature.vip permission a discount of 50% off of the market price. Command: giveprefab Parameters: <skin id> <quantity> Example: /giveprefab 2609145017 100 - spawns the user 100x medium clutter rocks" Permission: deployablenature.admin Command: naturemarket Permission: deployablenature.market.chat Command: dnpickup Permission: None Command: giveprefab (console) Parameters: <player id/name> <skin id> <quantity> Example: /giveprefab "new guy" 2609145017 100 - spawns the user 100x medium clutter rocks for new guy" Permission: deployablenature.admin Console Command: dnkillentities - wipes all nature entities from the map. Parameters: <optional parameter: true> - this wipes the data after the command executes. If not used, the nature items will respawn on plugin reload. Example: dnkillentities or dnkillentities true. Permission: deployablenature.admin if running from player console. Console Command: dnkillentitiesforplayer - wipes all nature entities from the map for the specified player Parameters: <player name/id> Example: dnkillentitiesforplayer "new guy" - would delete all entities for the player whose name contained "new guy". Permission: deployablenature.admin if running from player console. Console Command: dnpurge - enables purge mode, wiping all entities from the map (does not delete data), and preventing them from spawning on server start/being deployed by players while active. Automatically resets to false on server wipe. Parameters: <true/false> Example: dnpurge true - would enable purge mode. Permission: deployablenature.admin if running from player console. You most likely won't need the below information, but it is here for more advanced users. Prefab Types 0: Rock 1: Tree 2: Bush 3: Animal Tree Types 0: None 1: Palm 2: Oak 3: Swamp 4: Birch 5: Beech 6: Pine 7: Cacti 8: Snow Bush Types 0: None 1: Willow 2: Willow_snow 3: Spice 4: Spice_snow 5: Creosote 6: Berries 7: Mushrooms Example config https://pastebin.com/E5duDqtf API public bool IsDeployableNature(BaseEntity entity) Returns if an entity is a DeployableNature entity that has the prevent_gather attribute.
  21. Version 1.6.1


    Glass Bridge is an event inspired by the famous netflix series: Squid Game • The event consists of creating a glass bridge where players must jump over them and reach the finish line to be the winner of the game; • However, players will have some challenges for this. The event can have PVP combat during gameplay, as well as giving random weapons to players (set by config file) so they can kill each other; • In addition, it is possible to disable the PVP or even make it more hardcore, activating the system of dying after the fall; Features: ★ It is possible to add a different announcement for each weapon given to the user during the course of the event! ★ UI for event entry and exit fully customizable by configuration file. ★ Give customized prizes to users, in addition to executing commands on the server when a user is the winner of the event! ★ Manage the size of the arena and define the amount of glass that will be broken for each row! Commands: /gb start - To start a new event /gb stop - To stop the current event /gb join - To join the event /gb leave - To leave the event Demonstration video: ♯ API: // Returns whether the event is currently active private bool IsActive(); // Returns whether a player is currently participating in the event. private bool IsPlaying(string playerId); private bool IsPlaying(ulong playerId); // Remove a player from the event private void RemovePlayer(string playerId); private void RemovePlayer(ulong playerId); // Get a list of event players private List<BasePlayer> PlayingList(); // Hook when the event is started private void OnGlassBridgeEventStarted(); // Hook when the event is finished private void OnGlassBridgeEventEnded(BasePlayer? winner); Formatting: {winner_id} - Event winner steam ID {winner_name} - Event winner display name Default configuration file: { "Commands": [ "glassbridge", "gb" ], "Permission name": "glassbridge.admin", "Allowed console commands ('*' to allow all commands)": [], "Blocked chat commands ('*' to block all commands)": [], "Event settings": { "Auto start cooldown in seconds (0 = disabled)": 3600, "Waiting duration (seconds)": 120, "Auto stop after seconds (0 = disabled)": 300, "Minimum players": 1, "Lose when fall": false, "PVP Enabled": true, "Rollback players to start point when die": true, "Spawn position": { "x": 300.0, "y": 800.0, "z": 300.0 }, "Give times": [ { "Tiem after the event started": 30.0, "Item shortname": "arrow.wooden", "Item amount": 3, "Item skin ID": 0, "Loaded ammo (0 = disabled)": 0, "Container to give (wear/belt/main)": "main", "Show warn for this item?": false, "Warn background color": "0 0.52 1 1", "Lang message key": "" }, { "Tiem after the event started": 30.0, "Item shortname": "bow.hunting", "Item amount": 1, "Item skin ID": 0, "Loaded ammo (0 = disabled)": 1, "Container to give (wear/belt/main)": "belt", "Show warn for this item?": true, "Warn background color": "0.12 0.46 0.21 1", "Lang message key": "ReceivedNewItem" }, { "Tiem after the event started": 120.0, "Item shortname": "pistol.revolver", "Item amount": 1, "Item skin ID": 0, "Loaded ammo (0 = disabled)": 4, "Container to give (wear/belt/main)": "belt", "Show warn for this item?": true, "Warn background color": "0 0.52 1 1", "Lang message key": "ReceivedNewItem" }, { "Tiem after the event started": 180.0, "Item shortname": "rifle.ak", "Item amount": 1, "Item skin ID": 0, "Loaded ammo (0 = disabled)": 12, "Container to give (wear/belt/main)": "belt", "Show warn for this item?": true, "Warn background color": "0.58 0.25 0.25 1", "Lang message key": "ReceivedNewItem" } ] }, "Glasses settings": { "columns": 18, "rows": 24, "Broken glasses by row (need to be less than columns)": 9 }, "Prize settings": { "Commands to execute on server": [ "oxide.usergroup add {winner_id} glassbridge_event_winner" ], "Items to give": [ { "Item shortname": "rifle.ak", "Item amount": 1, "Item skin ID": 1826520371, "Custom name (empty = disabled)": "Apocalyptic Knight AK" }, { "Item shortname": "ammo.rifle", "Item amount": 128, "Item skin ID": 0, "Custom name (empty = disabled)": "Ammo for your AK" } ] }, "UI settings": { "Join Leave UI": { "Anchor": "1 0.5 1 0.5", "Offset": "-146 -12 -12 138", "Background color": "0.18 0.17 0.18 1", "Join leave button": { "Join background color": "0.18 0.41 0.12 1", "Leave background color": "0.41 0.12 0.12 1" } }, "Event status UI": { "Anchor": "0.5 1 0.5 1", "Offset": "-48 -100 48 -36", "Remaining players": { "Background color": "1 1 1 0.5", "Anchor": "0 0 1 0", "Offset": "0 0 0 24", "Icon URL": "https://i.postimg.cc/HsfZffQb/HY9DNLr.png", "Icon anchor": "0 0 0 1", "Icon offset": "4 4 20 -4" }, "Remaining time": { "Background color": "1 1 1 0.5", "Anchor": "0 0 1 1", "Offset": "0 28 0 0" } } }, "Version": { "Major": 1, "Minor": 6, "Patch": 0 } } GALLERY
  22. Yun

    Danger Zones

    Version 1.0.2


    DangerZones is a plugin that creates a bombing zone event, just like in Battle Royale games! Demonstration video: Auto spawn Danger Zones; Custom map marker; Custom zone radius; Can modify rockets damage; Can modify rockets ground distance; Can modify rockets speed; Chat command to spawn danger zones; Multiple danger zones at the same time; Can modify the interval between rockets; You can modify the number of rockets that will be launched at the same time; Custom status label with the SimpleStatus plugin; Fully customizable UI toast notifications; Enable/disable damage to structures; Enable/disable damage to NPC's & Animals; The default configuration file:
  23. Version 1.0.1


    Skill Tree: XP Event is a plugin that creates an event that will randomly select a task, providing players with bonus XP for performing the task while the event is running. Events are started automatically on interval (default every 30 minutes), and will select 1 of 38 tasks for the event. This could be chopping down trees, skinning animals, killing scientists or looting crates. The plugin will also roll a random duration for the event to run for, and a random bonus to the XP (all of which is configurable). Additional XP gained with this plugin will stack with xp bonuses from Skill Tree. The stacking works in the following order: Default xp value is calculated. Skill Tree will check if Skill Tree: XP Event is loaded, and will ask for any bonuses if applicable Skill Tree continues on with its additional modifiers (other plugins, permission overrides, rested xp etc) This event will provide an incentive for players to engage with content on your server that they might otherwise avoid. SkillTreeXPEvent.use - required for players to participate in the events. SkillTreeXPEvent.admin - required to use the below commands if running them from player console. Console command: startxpevent <optional: task> Description: This command will manually start an XP event. If the task is not specified, it will roll the event randomly. Running this command resets the interval timer. Console command: stopxpevent Description: This command ends the current xp event. Chat command: stemoveui Description: Brings up an interface to reposition the UI. NodeHitFinal TreeHitFinal SkinHitFinal CollectWildEntities CollectWildBerries CollectWildHemp CollectWildPumpkin CollectWildPotato CollectWildCorn CollectMushrooms CollectOreNodes CollectGrownEntities CollectGrownBerries CollectGrownHemp CollectGrownCorn CollectGrownPotato CollectGrownPumpkin SkinWolfFinal SkinBearFinal SkinChickenFinal SkinBoarFinal SkinStagFinal SkinPolarBearFinal CatchAnyFish KillScientist KillTunnelDweller KillUnderwaterDweller KillAnyAnimal KillBear KillStag KillBoar KillChicken KillWolf KillPolarBear LootCrate BreakBarrel BreakRoadSign SwipeCard
  24. turner

    Limit FPS

    Version 1.0.3


    About Limit FPS LimitFPS is a plugin with almost no performance impact meant for administration (and maybe trolling). It has 2 very powerful features You can limit the FPS of other players You can see the FPS and RAM usage of other players Demo Requirement LimitFPS uses Harmony so you need to disable the Oxide sandbox [see how to do it] Permissions There are 2 oxide permissions that LimitFPS uses limitfps.limit.use - Allows the use of /limitfps command limitfps.fps.use - Allows the use of /playerfps command Add the permissions with the console command: oxide.grant <group|user> <name|id> <permission> Commands There are 2 commands that LimitFPS has /limitfps <playername or steamid> <target fps> - Limit the FPS of a player, set target fps to 0 to remove the limit /playerfps <playername or steamid> - See the player's FPS and RAM usage All of these 2 commands can be used from the server console (or RCON) and they work exactly the same just without the forward slash. If you are an admin in the server you can use them from the Rust console too. Config FPS Query interval - How often will the plugin check the player's FPS in order to adjust it PD Controller P value - How fast to jump to the target FPS, if this is too high it can overshoot PD Controller D value - How much to respect the error difference from the FPS measurement, if higher it can overshoot the target FPS Non linear control - If set to true it will be more responsive (reaching target FPS faster) at low FPS values (30 and below) FPS Limit dampening - If set to true it will stop adjusting the player's FPS once it reaches the target, if this is false, when the player presses ESCAPE or ALT+TAB's and then come back their FPS will be way lower/higher than the target FPS Limit dampening range - When the FPS is within this value to the target FPS it will stop adjusting the FPS I recommend leaving everything to default except maybe FPS Query interval, if you want to get the user's FPS faster/slower. For developers LimitFPS exposes everything you need to control other player's performance with hooks & API calls I strongly recommend if you want to use the API or the Hooks see the demo plugin that uses all of them, its extremely detailed and everything is within 1 file, you can find it here: Hooks: object OnFPSQueryStart(BasePlayer command_initiatior, BasePlayer target, int request_id) { return null; // allow the query } void OnFPSQueryTimeout(BasePlayer command_initiatior, BasePlayer target, int request_id) { } void OnFPSQueryFinished(BasePlayer command_initiatior, BasePlayer target, ClientPerformanceReport report) { } object OnLimitFPSStart(BasePlayer command_initiatior, BasePlayer target, float targetFps) { return null; // allow the limitting } object OnLimitFPSTick(BasePlayer command_initiatior, BasePlayer target, float targetFps, ClientPerformanceReport report) { return null; // allow the tick } API: Interface.Oxide.CallHook("API_PlayerFPSCommand", ulong_steamid); Interface.Oxide.CallHook("API_LimitFPSCommand", ulong_steamid, float_targetFps); Contact If you have any suggestions, want to report a bug or need help, you can contact me on Discord: turner#7777
  25. Version 2.2.5


    Reward Gifts is a playtime gift reward system that utilizes a UI for delivery and administration for daily gifts. Easy to use, easy to create, add or delete rewards. ** Requires Image Library installed on server. ** Features No AFK Mode, so players can't try and trick the system to claim gifts for playtime, if they are AFK, the clock stops for them till they resume playing. Support for Server Rewards and Economics as gifts that can be added. Reward Gift Icon on the bottom left side of the screen (pre-programmed location) Enabled by default can be disabled in the config file. Data Files for both the Reward Gifts and Player Data Auto Reset timers in Days for players. Default is set to 1 day to reset the player play time. 90% Complete Customization of the UI Interface Theme thru the config file. Complete UI Reward Gift Claim Menu System. Once a player has played during a set amount of time, that defined reward gift can be claimed. Complete UI Admin Creation Tool for adding or removing reward gifts thru the UI System. Ability for Admins/Owners to add their own Logo to the Top of the UI System for more complete Customization feel. Option to have Sound Effect on redeeming rewards Option to have popup notification on redeeming rewards Commands /gifts - Chat command to call the Reward Gifts System Claim Menu (If enabled Gift Icon Button will do the same) /giftswipe - For admins only, this will wipe and reset all player data Permissions rewardgifts.admin - For admins to be able to administrate the Rewards rewardgifts.vip - If you want to allow VIP reward gifts as well, players will need a VIP permission in order to claim special VIP Gifts Configuration Thru the config file admin can almost completely customize the look and feel for coloring the theme of the system itself. Localization


Total number of downloads.



Total customers served.


Files Sold

Total number of files sold.


Payments Processed

Total payments processed.

  • Create New...

Important Information

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