Jump to content

Search the Community

Showing results for tags 'plugin'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

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

Forums

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

Product Groups

  • Creator Services
  • Host Services
  • Memberships

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Steam


Github

  1. Version 2.11.0

    11,690 downloads

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

    Techtree

    Version 2.0.4

    63 downloads

    The plugin has been revamped. Customize the Techtree however you like. It will replace the vanilla one by default, but this option can be changed in the configuration. You have two options: Replace the vanilla tech tree and customize it. Keep the vanilla tech tree and create a completely customized tech tree. Feature TechTree customizable TechTree by Workbenchlevel Multiple rewards (ChatCommand / ConsoleCommand / Economics) Item custom support Reward if tree is all unlocked (in datafiles) No command to open Automatic replace the vanilla tree or press the Use key R on the Workbench to open Multilingual support CUI Editor CUI Editor Permissions techtree.use // Grants permission to use the tech tree techtree.unlock.free // Grants permission to unlock everything for free techtree.unlock.instant // Grants permission to bypass unlock time techtree.unlock.path // Grants permission to unlock the entire branch up to the unlocked node Information Default vanilla tree are created on plugin load Automatic import of new nodes added by Facepunch Vanilla blueprints are managed directly by the plugin. To manage custom blueprints, please use the available APIs. If you want to remove a vanilla node from your TechTree, you must first backlist it, otherwise it will be automatically added back the next time the plugin is reloaded. An option is available for this. I recommend modifying the tree only when players are not using it to avoid synchronization issues. General Settings { "Settings": { "Wipe Player Data at Wipe": true, "Time For Unlock Node": 1.0, "Selected Theme": "Default", "Use Permissions ?": false, "Use Economics ?": false, "Replace tree vanilla ? Open with [R] if false": true } } Techtree Data ID: ID of the node. Vanilla ID: default ID for facepunch Parent: List of parent node required to unlock this node. Image URL or Item: Image used, via URL or in-game item (ID/Skin). Type: Type of Image (URL or Item). Value: Url (string) if URL or ItemID and SkinID if Item. Grid Position: Node position on the grid (x, y). Player Info: information displayed on the UI Name: In-game name for this node. Lang: Dictionary for multilingual support Description: Short description of the node. Lang: Dictionary for multilingual support Price: Cost to unlock this node. Curency: Resource needed to pay the price (ID/Skin). ItemID SkinID Rewards: List of rewards obtained after unlocking. Type: Type of reward (ChatCommand, ConsoleCommand or Economics). Value: Value or command associated with the reward (string). "TechTree": [ { "ID": 40046421, "Vanilla ID": 84, "Parent": [ 1865581242 ], "Image URL or Item": { "Type": "Item", "Value": { "Item ID": 2090395347, "Skin ID": 0 } }, "Grid Position": { "x": 3.5, "y": 6.5 }, "Player Info": { "Ingame Name": { "Lang": {} }, "Description": { "Lang": {} } }, "Price": 30, "Curency": { "Item ID": -932201673, "Skin ID": 0 }, "Rewards": [ { "Type": "ChatCommand", "Value": "say Congratulations!" }, { "Type": "ConsoleCommand", "Value": "c.grant user playerID perm.use" }, { "Type": "Economics", "Value": "6500" } ] }, ], "Extra": { "Reward On All Node Unlocked": [ { "Type": "ChatCommand", "Value": "say Congratulations, you all unlocked!" }, { "Type": "Economics", "Value": "20000" } ] } Image configuration exemple With URL : "Image URL or Item": { "Type": "Url", "Value": "https://imgur.com/SRGgaKX.png" }, With ITEM : "Image URL or Item": { "Type": "Item", "Value": { "Item ID": -1966748496, "Skin ID": 0 } }, Lang { "CLOSE": "Close", "EDITMODE": "Edit mode", "PLAYERMODE": "Player mode", "SAVE": "Save", "ADD": "Add", "REMOVE": "Remove", "MODIFY": "Modify", "CANCEL": "Cancel", "CONFIRM": "Confirm", "SELECT": "Select", "NONE": "None", "GRIDSETTING": "Grid Setting", "NOTAVAILABLE": "Not yet available", "TOTALREQUIRED": "Total required", "OPEN": "[R] OPEN", "Workbench_1": "LEVEL 1", "Workbench_2": "LEVEL 2", "Workbench_3": "LEVEL 3", "Engineering": "ENGINEERING", "NO PERM": "You don't have permission.", "EXCLUDE": "Exclude from vanilla sync", "EXCLUDED_NODES": "Excluded Nodes", "NO_EXCLUDED_NODES": "No excluded nodes", "EXCLUDE_RESTORED": "{0} nodes restored", "EXCLUDE_ADDED": "{0} nodes excluded", "EXCLUDE_ALL": "Exclude All", "CLEAR_ALL": "Clear All", "DELETE_ALL_NODES": "Delete All Nodes", "UPDATE_GRID": "Update Grid", "NODES_DELETED": "{0} nodes deleted", "RESET_TO_VANILLA": "Reset to Vanilla", "ARE_YOU_SURE": "Are you sure ?", "DISABLE_FUTURE_IMPORTS": "Disable future vanilla imports", "FUTURE_IMPORTS_DISABLED": "Future vanilla imports are now disabled", "FUTURE_IMPORTS_ENABLED": "Future vanilla imports are now enabled", "OPEN_BUTTON": "Open tech tree", "SAVING_APPLY_TOOLTIP": "Saving apply", "RESET_VANILLA_TOOLTIP": "Tech tree reset to vanilla defaults", "EXCLUDE_TOOLTIP": "Excludes this vanilla node from automatic imports. Useful for permanently removing a vanilla node from your tech tree.", "REWARD_TOOLTIP": "Use the “playerID” tag in your command if you need to specify a player. ex: c.grant user playerID perm.use.", "LANG_TOOLTIP": "“Default” will use the default text for the item; otherwise, the added language will be used.", "DISABLE_IMPORTS_TOOLTIP": "Prevents any new vanilla nodes from being automatically imported. Useful for freezing the configuration or preventing Facepunch updates.", } Api (Dictionary<string, object>) API_GetPlayerData(BasePlayer player) // Return key "workbench" and Dictionary value { string, List<int> } (bool) API_SetPlayerData(BasePlayer player, Dictionary<string, object> apiData) // Return bool (bool) API_ClearPlayerWorkbenchData(BasePlayer player, Workbench workbench) // Return bool (bool) API_ClearPlayerData(BasePlayer player) // Return bool Hook // Called before a tech tree node is unlocked. private object OnNodeUnlock(Workbench workbench, Dictionary<string, object> node, BasePlayer player) { Puts("OnNodeUnlock has been called!"); return null; } // Called before a tech tree node is unlocked. private object OnNodeUnlock(BasePlayer player, Dictionary<string, object> node, Dictionary<string, object> treeData) { Puts("OnNodeUnlock has been called!"); return null; } // Called when a tech tree node is unlocked. private void OnNodeUnlocked(Workbench workbench, Dictionary<string, object> node, BasePlayer player) { Puts("OnNodeUnlocked has been called!"); } // Called when a tech tree node is unlocked. // Same behavior as OnNodeUnlocked but returns the list of notes directly. private void OnPathNodeUnlocked(Workbench workbench, List<object> nodes, BasePlayer player) { Puts("OnPathNodeUnlocked has been called!"); } Api and Hook Doc Dictionary<string, object> node: "id" : int "vanillaId" : int? "price" : int "parents" : List<int> "isVanilla" : bool "currency" : Dictionary<string, object> => "itemId" : int "skinId" : ulong Dictionary<string, object> treeData: "workbench" : Workbench "nodes" : List<Dictionary<string, object>> Dictionary<string, object> playerData: "workbench" : Dictionary<string, object> "Workbench_1" : List<int> "Workbench_2" : List<int> "Workbench_3" : List<int> "Engineering" : List<int> ########### Dictionary<string, object> API_GetPlayerData(BasePlayer player) return: { "workbench" : { "Workbench_1" : [123, 456, 789], "Workbench_2" : [111, 222], "Workbench_3" : [], "Engineering" : [333] } } Usage: [PluginReference] Plugin TechTree; var playerData = TechTree?.Call("API_GetPlayerData", player) as Dictionary<string, object>; ########### bool API_SetPlayerData(BasePlayer player, Dictionary<string, object> apiData) return: bool usage: var data = TechTree?.Call("API_GetPlayerData", player) as Dictionary<string, object>; var workbench = data["workbench"] as Dictionary<string, object>; workbench["Workbench_1"] = new List<object> { 123, 456 }; workbench["Engineering"] = new List<object>(); bool success = (bool)TechTree?.Call("API_SetPlayerData", player, data); Contact Send me a private message on Codefling Send me a message on Discord: gd.kenni
    $14.99
  3. Version 1.3.9

    718 downloads

    A plugin that allows players to trade items at long distances across the map. Server owners can also set fees that scale based on the distance between the two players that are trading. FEATURES Customizable commands Intuitive UI (can modify the position offset) Trading fees based on distance Oxide group cooldowns ServerRewards, Economics or custom bank support Notification effects & success SFX UI player list which you can quickly send trade invites of your team or server players, with pagination and input filter Language support PERMISSIONS StaticTrader.use: To allow anyone to send trading requests to anyone. Players without this permission that have been sent a request to, can still accept the trade. COMMANDS (CONFIGURABLE) Following commands are chat and console commands. trade <player> atrade [<player>]: Accept pending trade. <player> input is optional, can exclude if there aren't more than one pending trades. dtrade [<player>]: Decline pending trade. <player> input is optional, can exclude if there aren't more than one pending trades. ltrade: Opens the player list UI on which you can browse or search through and click on them to request a trade with them. RULES Can('t) trade while building blocked. Can('t) trade while combat blocked. Can('t) trade while raid blocked. CONFIG
    $7.26
  4. Version 1.2.6

    1,527 downloads

    With Portable Recycler, you and your players will benefit exponentially in time saving for searching for Recyclers around monuments like never before. Access your own portable recycler anywhere you like! FEATURES Use /recycler (by default, can modify in the config) to open up your private recycler. Group-based cooldown support in the config. Friendly integration with NoEscape by Calytic with configurable rules of behavior. Chat message custom icon Steam ID. Phrase support. Group-based recycling quality. Group-based recycling rates. PERMISSIONS PortableRecycler.use: To allow anyone to open up their recycler. COMMANDS (CONFIGURABLE) Following commands are chat and console commands. recycler: Opens up your own personal portable recycler. CONFIG DISCLAIMER The yellow and green buttons while using the Recycler in the GIF, does not come with the plugin. That's another plugin called Quick Sort by MONaH.
    $4.99
  5. Version 1.2.0

    295 downloads

    Portable workbench provides you and your population a satisfying addition to the server(s) you're hosting! With high levels of customization, this plugin allows you to access any levels of workbenches from any spot on the map for an amount of time— relative to groups players are in. FEATURES Highly customizable and simple-to-use system for admins and/or regular players. Use /workbench 1-3 (by default, can modify in the config) to start accessing a workbench. Craft bench-leveled items from anywhere in the game world! Intuitive config system, allowing custom chat icon and phrases. Option of requiring players to have placed the level of workbench somewhere they're willing to access. PERMISSIONS PortableWorkbench.use1: Allows you and the players to "wirelessly" access level 1 workbenches. PortableWorkbench.use2: Allows you and the players to "wirelessly" access level 2 workbenches. PortableWorkbench.use3: Allows you and the players to "wirelessly" access level 3 workbenches. RULES (NOESCAPE INTEGRATION) Can('t) use while building blocked. Can('t) use while combat blocked. Can('t) use while raid blocked. COMMANDS (CONFIGURABLE) Following commands are chat and console commands. workbench 1-3: Allows access to specified workbench - if there's no input, it auto-selects level 1 workbench. CONFIG
    $4.99
  6. Version 1.0.7

    51 downloads

    ExtraFishing is a feature-rich fishing enhancement plugin for Rust. It introduces custom fish species, dynamic UI displays, rod quality effects, economy integration, and fishing record systems—all fully configurable and optimized for performance. Extra Fishing Features Custom Fish System Easily define new fish via JSON including size range, rarity, biome, and growth curves. You can increase the number of fish species by adding the included 60 Fish Data.json fish data to your configuration. More fish species will be added as add-ons in the future. Dynamic UI Display Uses ImageLibrary to show results, records, and fish selling screens with optional background images. Rod Quality & Bonus Fishing rods with different skins can have bonus catch chances, making equipment progression meaningful. Economy Support Fully supports Scrap or Economics or ServerRewards or CustomItem to allow players to sell fish for currency. Fishing Records & Ranking Automatically tracks each player’s biggest catch, with optional server-wide leaderboards. Multilingual Support Built-in English , Japanese , Russian localization. Permission extrafishing.records - Control use of commands "/fish" extrafishing.sell - Controls permission to sell fish Chat Commands /fish – Open your personal fishing records. If you have fish, open the fish selling UI. /rod - Get all custom fishing rods. (Admin only) ServerConsole Commands clearfishdata - Delete all fishing records fishbuff - Adds a fishing boost to players. Usage : fishbuff "SteamID" "amount" "Time(Minutes)" Example(Fish Boost 130%, 10 Minutes for 76561198100000000) fishbuff 76561198100000000 130 10 giverod- Adds a custom fishing rod to players. Usage : giverod "SteamID" "Rod skinID" Example( 3157356052 for 76561198100000000) giverod 76561198100000000 3157356052 Config You can easily add fish and change settings with the included ExtraFishing_editor (Web UI) tool. You can increase the number of fish species by adding the included 60 Fish Data.json fish data to your configuration. More fish species will be added as add-ons in the future. { "EnableUIDisplay": true, // Show fishing result UI when catching fish "EnableSoundEffects": true, // Play sound effects for fishing actions "ShowMessages": false, // Display chat messages for catches/breaks "EnableBiomeCheck": true, // Restrict fish spawning by biome "EnableUIAnimation": true, // Enable smooth UI Animation "CaloriesPerFishing": 1, // Calories consumed per fishing attempt "CaloriesPerTensionBreak": 3, // Calories consumed when line breaks "SizeInterval": 20.0, // Get items by size. "TrapFishSizeMultiplier": 0.5, // Size reduction for trap-caught fish // === UI CONFIGURATION === "UI": { "DisplayDuration": 8.0, "Result": { "AnchorMin": "0.35 0.75", "AnchorMax": "0.65 0.9", "BackgroundColor": "0.1 0.1 0.1 0.9", "TitleColor": "0.678 0.643 0.616 1.0", "FishNameColor": "0.678 0.643 0.616 1.0", "FishNameFontSize": 16, "DetailsColor": "0.447 0.427 0.404 1.0", "DetailsFontSize": 14, "BackgroundImage": "https://i.imgur.com/C30zzZ5.png", "UseBackgroundImage": true }, // Fish Records UI (opened with /fish command) "Record": { "AnchorMin": "0.25 0.15", "AnchorMax": "0.75 0.85", "BackgroundColor": "0.086 0.086 0.086 1.0", "TitleColor": "0.678 0.643 0.616 1.0", "TitleFontSize": 20, "FishButtonColor": "0.086 0.086 0.086 1.0", "FishNameColor": "0.678 0.643 0.616 1.0", "FishNameFontSize": 14, "FishDetailColor": "0.678 0.643 0.616 1.0", "FishDetailFontSize": 16, "SectionTitleColor": "0.678 0.643 0.616 1.0", "SectionTitleFontSize": 18, "DetailsColor": "0.447 0.427 0.404 1.0", "DetailsFontSize": 14, "HighlightColor": "0.447 0.427 0.404 1.0", "NavButtonColor": "0.090 0.263 0.400 1.0", "NavTextColor": "0.259 0.620 0.875 1.0", "NavFontSize": 14, "CloseButtonColor": "0.722 0.227 0.149 1.0", "CloseTextColor": "0.792 0.643 0.608 1.0", "CloseFontSize": 18, "DescriptionColor": "0.447 0.427 0.404 1.0", "DescriptionFontSize": 14, "BackgroundImage": "https://i.imgur.com/IhEjX5Q.png", "UseBackgroundImage": true }, // Fish Selling UI (opened with /fish) "Sell": { "AnchorMin": "0.25 0.15", "AnchorMax": "0.75 0.85", "BackgroundColor": "0.086 0.086 0.086 1.0", "TitleColor": "0.678 0.643 0.616 1.0", "TitleFontSize": 20, "FishButtonColor": "0.086 0.086 0.086 1.0", "FishNameColor": "0.678 0.643 0.616 1.0", "FishNameFontSize": 14, "DetailColor": "0.447 0.427 0.404 1.0", "DetailFontSize": 12, "PriceColor": "0.259 0.620 0.875 1.0", "PriceFontSize": 13, "BalanceTextColor": "0.678 0.643 0.616 1.0", "BalanceFontSize": 14, "SellButtonColor": "0.3 0.6 0.3 1", "NavButtonColor": "0.090 0.263 0.400 1.0", "NavTextColor": "0.259 0.620 0.875 1.0", "NavFontSize": 14, "CloseButtonColor": "0.722 0.227 0.149 1.0", "CloseTextColor": "0.792 0.643 0.608 1.0", "CloseFontSize": 18, "SellAllButtonColor": "0.314 0.380 0.200 1.0", "SellAllTextColor": "0.569 0.765 0.231 1.0", "SellAllFontSize": 14, "BackgroundImage": "https://i.imgur.com/IhEjX5Q.png", "UseBackgroundImage": true } }, // === TIME-BASED FISHING BONUSES === "ChanceTime": { "MorningStart": 4.0, // Morning golden hour start (4:00 AM) "MorningEnd": 8.0, // Morning golden hour end (8:00 AM) "EveningStart": 16.0, // Evening golden hour start (4:00 PM) "EveningEnd": 20.0, // Evening golden hour end (8:00 PM) "PeakTimeChanceBonus": 15 // Extra 15% chance for rare fish during golden hours }, // === FISHING ROD QUALITY SYSTEM === "FishingRods": { "0": { // Default fishing rod (no skin) "Name": "Low Quality Rod", "ChanceBonus": 0 // No bonus chance }, "3157356052": { // Workshop skin ID for mid-tier rod "Name": "Mid Quality Rod", "ChanceBonus": 5 // +5% catch chance }, "3157356205": { // Workshop skin ID for high-tier rod "Name": "High Quality Rod", "ChanceBonus": 10 // +10% catch chance } }, // === FISH RARITY CHANCES === "RarityChances": { "1": 70, // Common fish: 70% base chance "2": 15, // Uncommon fish: 15% base chance "3": 10, // Rare fish: 10% base chance "4": 5, // Epic fish: 5% base chance "5": 1 // Legendary fish: 1% base chance }, // === ECONOMY SYSTEM === "Economy": { "PreferredEconomy": "Scrap", // Currency type: "Scrap","Economics","ServerRewards","Custom" "RarityMultipliers": { // Price multipliers for each rarity level "1": 1.0, // Common: 100% base price "2": 1.2, // Uncommon: 120% base price "3": 1.3, // Rare: 130% base price "4": 1.5, // Epic: 150% base price "5": 1.8 // Legendary: 180% base price }, "BasePriceMultiplier": 1.0 // Global price adjustment (1.0 = normal, 2.0 = double) "CustomItem": { // Must be set if PreferredEconomy is Custom. "ItemShortName": "sulfur", "ItemSkinId": 0, "DisplayName": null } }, // === FISH STACKING SYSTEM === "EnableFishStackLimit": true, // If you set this to false, you can stack fish, but the size and weight of the item will not be saved. When selling, the value will be calculated as "FishBaseValuesForDisableFishStackLimit" × "RarityMultipliers". changed to this setting require a server restart. // Base scrap values when stacking is DISABLED (EnableFishStackLimit = false) "FishBaseValuesForDisableFishStackLimit": { "fish.anchovy": 2, // Anchovy worth 2 scrap each "fish.catfish": 32, // Catfish worth 32 scrap each "fish.herring": 4, // Herring worth 4 scrap each "fish.orangeroughy": 37, // Orange Roughy worth 37 scrap each "fish.salmon": 27, // Salmon worth 27 scrap each "fish.sardine": 2, // Sardine worth 2 scrap each "fish.smallshark": 45, // Small Shark worth 45 scrap each "fish.troutsmall": 6, // Small Trout worth 6 scrap each "fish.yellowperch": 10 // Yellow Perch worth 10 scrap each }, // === FISH SPECIES DEFINITIONS === "Fish": [ { "ItemShortName": "fish.anchovy", // Rust's internal item name "SkinId": 0, // Skin ID (0 = default, custom number = workshop skin) "Name": "Anchovy", // Display name in UI "MaxSize": 24.0, // Maximum size in centimeters "MinSize": 15.0, // Minimum size in centimeters "Growth_A": 0.0051, // Weight calculation parameter A "Growth_B": 3.27, // Weight calculation parameter B // Formula: Weight = Growth_A × (Size ^ Growth_B) ÷ 1000 "Biome": "All", // Where fish can be caught: "All", "Arid", "Temperate", "Tundra", "Arctic", "Jungle" "Rarity": 1, // Rarity level 1-5 (1=common, 5=legendary) "ProcessedItemShortName": "fish.raw", // Item given when fish is processed "ProcessedItemSkinId": 0, // Skin for processed item "DisplayName": null, // Custom name for processed item (null = default) "ProcessedItemAmount": 1, // How many processed items to give "Description": "Widely known for its role in the seafood industry and seasonal migrations." }, { "ItemShortName": "fish.catfish", "SkinId": 0, "Name": "Catfish", "MaxSize": 62.0, "MinSize": 30.0, "Growth_A": 0.0052, "Growth_B": 3.22, "Biome": "All", "Rarity": 1, "ProcessedItemShortName": "fish.raw", "ProcessedItemSkinId": 0, "DisplayName": null, "ProcessedItemAmount": 1, "Description": "A bottom-dwelling freshwater fish native to North America, recognizable by its long whisker-like barbels and nocturnal habits." }, { "ItemShortName": "fish.herring", "SkinId": 0, "Name": "Herring", "MaxSize": 45.0, "MinSize": 30.0, "Growth_A": 0.007, "Growth_B": 3.12, "Biome": "All", "Rarity": 1, "ProcessedItemShortName": "fish.raw", "ProcessedItemSkinId": 0, "DisplayName": null, "ProcessedItemAmount": 1, "Description": "A key commercial fish found in the North Atlantic, famous for its massive schools and historical importance in global fisheries." }, { "ItemShortName": "fish.orangeroughy", "SkinId": 0, "Name": "Orange Roughy", "MaxSize": 75.0, "MinSize": 45.0, "Growth_A": 0.00014, "Growth_B": 2.66, "Biome": "All", "Rarity": 1, "ProcessedItemShortName": "fish.raw", "ProcessedItemSkinId": 0, "DisplayName": null, "ProcessedItemAmount": 1, "Description": "A deep-sea fish known for its striking orange color, longevity, and tough scales, often caught at great ocean depths." }, { "ItemShortName": "fish.salmon", "SkinId": 0, "Name": "Salmon", "MaxSize": 70.0, "MinSize": 30.0, "Growth_A": 0.0075, "Growth_B": 3.02, "Biome": "All", "Rarity": 1, "ProcessedItemShortName": "fish.raw", "ProcessedItemSkinId": 0, "DisplayName": null, "ProcessedItemAmount": 1, "Description": "An anadromous fish that migrates between rivers and the ocean, revered for its powerful upstream spawning journeys." }, { "ItemShortName": "fish.sardine", "SkinId": 0, "Name": "Sardine", "MaxSize": 24.99, "MinSize": 20.0, "Growth_A": 0.005, "Growth_B": 3.26, "Biome": "All", "Rarity": 1, "ProcessedItemShortName": "fish.raw", "ProcessedItemSkinId": 0, "DisplayName": null, "ProcessedItemAmount": 1, "Description": "Widely known for its role in the seafood industry and seasonal migrations." }, { "ItemShortName": "fish.smallshark", "SkinId": 0, "Name": "Small Shark", "MaxSize": 60.0, "MinSize": 30.0, "Growth_A": 0.012, "Growth_B": 3.13, "Biome": "All", "Rarity": 1, "ProcessedItemShortName": "fish.raw", "ProcessedItemSkinId": 0, "DisplayName": null, "ProcessedItemAmount": 1, "Description": "A small-bodied shark species typically found in coastal or deep waters, known for their slender shape, bottom-dwelling habits, and relatively harmless nature." }, { "ItemShortName": "fish.troutsmall", "SkinId": 0, "Name": "Small Trout", "MaxSize": 40.0, "MinSize": 20.0, "Growth_A": 0.0053, "Growth_B": 3.26, "Biome": "All", "Rarity": 1, "ProcessedItemShortName": "fish.raw", "ProcessedItemSkinId": 0, "DisplayName": null, "ProcessedItemAmount": 1, "Description": "A popular freshwater fish native to North America, with some individuals developing into ocean-going steelhead trout." }, { "ItemShortName": "fish.yellowperch", "SkinId": 0, "Name": "Yellow Perch", "MaxSize": 50.0, "MinSize": 25.0, "Growth_A": 0.0135, "Growth_B": 2.97, "Biome": "All", "Rarity": 1, "ProcessedItemShortName": "fish.raw", "ProcessedItemSkinId": 0, "DisplayName": null, "ProcessedItemAmount": 1, "Description": "A widely distributed North American freshwater species, easily identified by its golden body and vertical black bars." } ] } Contact VOID / NINJA WORKS X : @QB_WHITE MADE IN JAPAN
    $20.00
  7. Mevent

    Skills

    Version 2.1.3

    2,593 downloads

    Introducing Skills, the ultimate skill progression system for Rust servers featuring 71+ pre-configured skills across 13 categories! Complete with 4 UI templates, modal windows system, automatic migration from SkillTree/Skills V1, and comprehensive API. Transform your server into a world of specialization where players can master every aspect of Rust - from elite resource gathering and crafting to combat dominance and survival expertise. With intuitive progression, stunning visuals, and seamless integration, Skills delivers endless replayability and keeps players engaged for months! Why Choose Skills? Massive Skill Library - 71+ pre-configured skills covering every gameplay aspect Ready to Deploy - All skills are balanced and ready to use immediately Deep Progression - 10 levels per skill with meaningful advancement Visual Editor - Easy customization without coding knowledge Server Integration - Native support for ServerPanel V1/V2/V4, Notify/UINotify, and all major economy plugins Performance Focused - Optimized for high-population servers Seamless Migration - Automatic data conversion from SkillTree and Skills V1 Modal Windows - Advanced modal system for custom interfaces Multi-Template Support - Fullscreen, V1, V2, V4 ServerPanel templates Real-time Notifications - Integrated Notify/UINotify support Video Overview Showcase Templates Fullscreen Template ServerPanel V1 Template ServerPanel V2 Template ServerPanel V4 Template Modal Windows & Editor Modal Windows System Complete Skill Arsenal (71+ Skills) Skills comes with a massive library of pre-configured skills covering every aspect of Rust gameplay. All skills are ready to use with balanced 10-level progression systems! Mining Skills All Ores Mining - Boosts yields from stone, sulfur, metal, and HQM ore by up to 50% Stone Mining - Specialized stone gathering with up to 50% bonus Sulfur Mining - Enhanced sulfur ore collection up to 50% Metal Mining - Increased metal ore yields up to 50% HQM Mining - High-quality metal ore bonuses up to 50% Instant Ore Destruction - Chance to instantly destroy ore nodes (up to 20%) Durability Skills Tool Durability - Reduces wear on gathering tools Weapon Durability - Preserves weapon condition in combat Clothing Durability - Maintains armor integrity Wood Skills Wood Gathering - Increased wood collection from trees Instant Tree Chopping - Chance to fell trees instantly Coal Chance - Bonus coal drops from woodcutting Resources Skills Smelted Ore Chance - Bonus metal from ore smelting Animal Butchering - More meat from animal carcasses Instant Butchering - Chance to butcher animals instantly Plant Gathering - Better yields from bushes and hemp Crop Harvest - Increased vegetable production Fishing - Improved fishing success and rare catches Instant Barrel Destruction - Instant barrel breaking chance Crafting Skills Craft Duplicate - Chance for double crafted items Craft Speed - Faster crafting times Recycler Speed - Quicker recycling Furnace Smelting Speed - Faster ore smelting Component Find Chance - Bonus components from scrapping Cooking Speed - Faster food preparation Defense Skills Fire Resistance - Reduced fire damage Fall Damage Resistance - Less fall damage Temperature Resistance - Better cold/heat protection Radiation Resistance - Reduced radiation damage Explosive Resistance - Protection from explosions Stand Up Chance - Higher chance to stand when wounded Melee Damage Resistance - Less melee damage taken Damage From Scientists Resistance - Reduced scientist damage Damage From Players Resistance - PvP damage reduction Animal & Shark Defense Animal Damage Resistance - Protection from animal attacks Shark Damage Resistance - Reduced shark damage Metabolism Skills Hunger Metabolism - Slower hunger depletion Thirst Metabolism - Reduced thirst buildup Health Regeneration - Faster natural healing Horse Skills Horse Speed - Faster horse movement Horse Damage Resistance - Horse takes less damage Horse Fall Resistance - Better horse fall survival Underwater Skills Underwater Breathing - Extended underwater time Crate Skills Crate Unlocking Speed - Faster locked crate opening Crate Extra Loot - Bonus items from containers Building Skills Building Upgrade Cost - Reduced building upgrade costs Vehicle Skills Fuel Consumption - Reduced vehicle fuel usage Vehicle Repair Cost - Cheaper vehicle repairs Air Vehicle Takeoff Speed - Faster helicopter takeoff Damage Skills Damage To Scientists - Increased damage to scientists Damage To Animals - More damage to animals Damage To Players - Bonus PvP damage output Trap Damage - Increased trap and turret damage Combat Skills Magazine Size - Larger weapon magazines Effect Duration - Longer buff/debuff effects Revive Healing - More health from revives Special Skills Teleportation VIP - VIP teleport permissions Wipe Protection - Data protection across wipes Migration & Conversion Skills supports seamless data migration from popular skill plugins: SkillTree Plugin - Automatic conversion of player XP and skill levels Skills V1 - Full data transfer including custom skills and configurations Advanced Features Modal Windows System - Create custom modal interfaces for additional functionality Multi-Template UI - Support for Fullscreen, ServerPanel V1/V2/V4 templates Real-time Notifications - Integrated Notify/UINotify system for skill progression alerts Advanced API - Comprehensive developer API for third-party integrations ImageLibrary Integration - Offline image mode with automatic fallback Custom Economy Hooks - Flexible economy integration with plugin hooks XP Transfer System - Transfer XP between players on death (configurable) Cooldown System - Configurable action cooldowns to prevent spam Commands /skills or /skill - Opens the skills interface skills.modal <modalID> - Open specific modal window Admin Console Commands: skills.manage addxp <player> <amount> - Add XP to player skills.manage takexp <player> <amount> - Take XP from player skills.manage setxp <player> <amount> - Set player's XP balance skills.manage setskill <player> <skillId> <level> - Set skill level skills.manage giveskill <player> <skillId> <levels> - Increase skill level skills.manage resetskill <player> <skillId> - Reset specific skill skills.manage resetall <player> - Reset all skills skills.manage info <player> - Show player skill information Permissions skills.use - Access to skills interface (set in config as "Permission") skills.edit - Access to visual skill editor skills.xprate.vip - 1.5x XP rate bonus skills.xprate.premium - 2x XP rate bonus skills.xptransfer.vip - 75% XP transfer on death skills.xptransfer.premium - 100% XP transfer on death skills.gathering.level6-10 - Access to advanced gathering levels Developer API Skills provides a comprehensive API for developers: Methods: API_GetPlayerSkillLevel(ulong playerId, int skillId) - Get player's skill level API_AddPlayerXP(ulong playerId, float amount) - Grant XP to player API_GetSkillInfo(int skillId) - Get skill configuration data API_OnGather(BasePlayer player, Item item) - Handle gather events API_OnSkillLevelUp(BasePlayer player, int skillId, int level) - Skill level up events Hooks: OnSkillsPlayerLoaded(BasePlayer player) - When player data loads OnSkillsXPEarned(BasePlayer player, float amount) - When XP is earned OnSkillsSkillLevelUp(BasePlayer player, int skillId, int level) - Skill progression Web Config Editor Easily manage your Skills settings with our web-based configuration editor. This tool allows you to adjust plugin configurations through a user-friendly interface, eliminating the need to manually edit files on your server. P.S. Join our Discord at https://discord.gg/mevent and request the "Skills" group for access to the web configuration editor. FAQ Q: How many skills come with Skills? A: Skills includes 71+ pre-configured skills across 13 categories, all ready to use with balanced progression systems. Q: Do I need to configure anything? A: No! All skills are pre-configured and balanced. Simply install, enable desired skills, and grant permissions. Q: How does the XP system work? A: Players earn XP through gameplay activities (mining, combat, crafting, etc.) and spend it to unlock skill levels. Q: Can I customize skills? A: Yes! Use the visual editor to modify skill costs, bonuses, requirements, and create new custom skills. Q: What happens on server wipe? A: Fully configurable - you can preserve skills/XP, reset everything, or choose selective wipe protection. Q: Does it work with economy plugins? A: Yes! Full integration with ServerRewards, Economics, BankSystem, IQEconomic, and custom economy systems. Q: Can I migrate from SkillTree or Skills V1? A: Absolutely! Skills automatically converts data from both plugins. All player progress is preserved. Q: What are modal windows? A: Modal windows are custom popup interfaces you can create for additional features like shops, information displays, or mini-games. Q: Which ServerPanel versions are supported? A: Skills supports ServerPanel V1, V2, V4, and Fullscreen templates - all with dedicated banner images and layouts. Q: Can I use custom images? A: Yes! Skills supports ImageLibrary integration with offline image mode for custom skill icons and backgrounds. Q: Is there a cooldown system? A: Yes, configurable cooldowns prevent spam actions and maintain server performance. Q: How does XP transfer work? A: When enabled, defeated players can transfer a percentage of their XP to the killer, adding competitive depth. Q: Can I limit skill access? A: Yes! Skills support permission requirements, playtime requirements, and other prerequisites. Q: What's the performance impact? A: Skills is highly optimized with caching, batch processing, and efficient data structures for minimal server load. Q: How do I add Skills to the ServerPanel menu? A: You can do this directly from the ServerPanel in-game: 1. Open the ServerPanel menu in-game. 2. If you have permission to edit, switch the panel to edit mode so you can see the blue "EDIT CATEGORY" and "EDIT PAGES" buttons. 3. Choose the category where you want Skills to appear and click the "EDIT CATEGORY" button for that category. 4. While you are in this category in the ServerPanel, click the "EDIT PAGES" button to create a new page (or edit an existing one) for Skills. 5. For that page, set these exact parameters: Type: Plugin Plugin Name: Skills Plugin Hook: API_OpenPlugin 6. Save the changes. The Skills button will now appear in the ServerPanel in the category you selected.
    $24.95
  8. Version 1.0.0

    29 downloads

    Deep Sea Options is a single config control plugin for Rust’s new Deep Sea feature. It lets server owners fully control when Deep Sea opens, what spawns inside it, what vehicles can enter, and how access rules are enforced. You can also configure if players can build inside deep sea. Building Control Enforce building allowed / blocked inside Deep Sea * Works independently of defaults Can be toggled live * Buildings persist restart, as long as the deep sea isnt being closed. Deep Sea Behavior Control Configure defaults: Whether the deep sea should always remain open, be on timers, or disabled Control all phase timers Deep Sea Content Control Configure procedural spawns: Island counts Ghost Ships counts RHIB counts Control: count spacing radius minimum distance between spawns distance from Deep Sea edges Settings are grouped and explained in the config Access & Teleport Rules Control: Allow all vehicles (including planes and helis) or only an allow-listed set players can enter without a boat flying (noclip/admin) players can bypass checks NPC passengers are allowed on vehicles Prevent or allow “vehicle stacking” (boats/helis on deck) Commands /deepsea status Shows current Deep Sea state /deepsea open Opens deep sea if not alrady open /deepsea close Closes current Deep Sea Config if you want to pre-configure it before the DeepSea update - https://www.dropbox.com/scl/fi/ldyjhf8wdlyq3yr6q43js/DeepSeaOptions.json?rlkey=i6bsi1wwva5go7swg6gz1iiem&st=nn3l5d4o&dl=1 Note if you make changes to some config values (such as the procedural spawns, you will need to close the deep sea and reopen.) Config explainer: === GENERAL CONTROLS === Control - Schedule If ON: Plugin controls when Deep Sea opens/closes and how long it stays open. Control - Content If ON: Plugin controls how many islands, ghost ships, and scientist boats spawn and how they are placed. Control - Travel Rules If ON: Plugin controls who/what is allowed to use Deep Sea portals (vehicles, NPCs, players without vehicle, etc). Control - Building If ON: Plugin controls whether players can build while inside Deep Sea. Force Apply On Reload If ON: When plugin reloads, it forces Deep Sea to close and reopen so spawn changes apply immediately. If OFF: Changes apply next time Deep Sea opens normally. Enforce Interval Seconds How often plugin re-checks Deep Sea state. 0 = Only runs once on startup. >0 = Keeps enforcing settings every X seconds. Default should be fine. === SCHEDULE SETTINGS === Mode Vanilla = Normal Rust Deep Sea cycle. AlwaysOpen = Deep Sea never closes. Disabled = Deep Sea never opens. (plugin manually resests the reopen timer. recommend using the other disable option below if just want it off always) Open Time Seconds How long Deep Sea stays open before closing (Vanilla mode). Cooldown Seconds How long Deep Sea stays closed before opening again (Vanilla mode). Final Phase Seconds End-of-cycle phase used for weather / atmosphere effects. Radiation Warning Phase Seconds When time left is below this, new entry is normally blocked. AlwaysOpen - Keep Time Left Around Seconds In AlwaysOpen mode, Deep Sea time is kept around this value. AlwaysOpen - Refill When Below Seconds If time left drops below this, it refills back up to the target above. Disabled - Push Next Opening To Seconds In Disabled mode, pushes next open time far into the future. Set DeepSea Enabled Flag If ON, plugin forces the core deepsea enabled/disabled flag (may need restart). DeepSea Enabled Only used if above is ON. Turns Deep Sea system on/off at engine level. === CONTENT SPAWNING === (These control placement spacing) Islands / Ghost Ships / RHIB Groups all use same logic: Count How many spawn each time Deep Sea opens. Spacing Size General spacing radius. Bigger = more spread out. Edge Buffer How far from the outer Deep Sea border spawns must stay. Bigger = more toward the center. Minimum Spacing Hard minimum distance between spawns. Overrides spacing size if larger. === TRAVEL RULES === Allow Any Vehicle If ON: Any vehicle can use portal. Allowed Vehicle Prefabs If NOT allowing all vehicles, only these are allowed. Require Boat Type Only If ON: Even allowed vehicles must be boats. Allow Players Without Vehicle If ON: Players can teleport without standing on a vehicle. Allow Noclip Players If ON: Flying/admin players bypass vehicle checks. Allow NPC Passengers If OFF: Vehicles with NPC passengers cannot teleport. Allow NPC Player Teleport If ON: NPC player entities themselves can teleport. Allow Entry During Radiation Warning Phase If ON: Players can enter even when Deep Sea is about to close. Ignore Extra Vehicle Onboard Check If ON: Should allow things like helicopters sitting on boats. Log Entry/Exit If ON: Logs allow/deny decisions for debugging. === BUILDING === Allow Building In Deep Sea If OFF: Players cannot build inside Deep Sea. If ON: Building is allowed.
    $7.99
  9. Fruster

    Mining Event

    Version 1.0.6

    120 downloads

    Adds an exciting event for players to your server. Once the event starts, players will be able to get more loot by mining ore and finding small stashes with loot underneath it. The event has an interface with a table. The event is easily configured and can be triggered automatically or by command. You can reward the winners with special prizes, for example, an item with a unique name and skin (only for items with stacks of size 1). Commands (admin only): /mie_start - starts an event /mie_stop - starts an event /mie_forcestart - force the event to start Config: { "Autostart event(disable if you want to trigger the event only manually)": true, "Minimum time to event start(in seconds)": 900, "Maximum time to event start(in seconds)": 10800, "Minimum event duration(in seconds)": 300, "Maximum event duration(in seconds)": 900, "Minimum number of online players to trigger an event": 1, "Pre-event message": "Mining event will start in a minute", "Pre-event message time(in seconds)": 60, "Event message": "Mining event has started, go and get all the ore!", "End event message": "Mining event ended", "Display a table with player names": true, "Resource multiplier during the event": 2.0, "Spawn a small stash under the ore": true, "Small stash items list": [ { "prefabName": "scrap", "dropChance": 100, "min": 4, "max": 8, "skinID": 0, "displayName": "" }, { "prefabName": "metal.fragments", "dropChance": 100, "min": 100, "max": 200, "skinID": 0, "displayName": "" } ], "Small stash removal time(in seconds)": 60, "First place prize(items list)": [ { "prefabName": "scrap", "dropChance": 100, "min": 200, "max": 400, "skinID": 0, "displayName": "" }, { "prefabName": "metal.fragments", "dropChance": 100, "min": 1000, "max": 2000, "skinID": 0, "displayName": "" }, { "prefabName": "rifle.ak", "dropChance": 10, "min": 1, "max": 1, "skinID": 809190373, "displayName": "AK" } ], "Second place prize(items list)": [ { "prefabName": "scrap", "dropChance": 100, "min": 100, "max": 200, "skinID": 0, "displayName": "" }, { "prefabName": "metal.fragments", "dropChance": 100, "min": 500, "max": 1000, "skinID": 0, "displayName": "" } ], "Third place prize(items list)": [ { "prefabName": "scrap", "dropChance": 100, "min": 50, "max": 100, "skinID": 0, "displayName": "" }, { "prefabName": "metal.fragments", "dropChance": 100, "min": 250, "max": 500, "skinID": 0, "displayName": "" } ] }
    $9.99
  10. Version 1.1.0

    490 downloads

    Paintball is a plugin that spawns an arena in the sky to host a paintball match using snowball launchers. Players have a set number of hits that they can take before they are eliminated. There are 2 game modes included with the plugin: Free-for-all: Everyone vs everyone. Team death-match: Players are split into 2 teams. Players can be awarded with items, economics, server rewards and custom commands if they win. The plugin comes with 2 dynamic arenas included, which will be selected randomly each game. EventHelper is used to automatically start the event and will also allow players to vote for the event manually. The only permission is paintball.admin. This is required to run all commands except for joining and leaving an event, or redeeming prizes. Command: pbstart Parameters: <optional: arenaFile, optional: heightMod, optional: startDelay> Type: Console & Chat Description: Manually starts the game. Command: pbend Parameters: none Type: Console & Chat Description: Manually stops the game. Command: pbjoin (configurable) Parameters: none Type: Console & Chat Description: Joins an active game. Command: pbleave (configurable) Parameters: none Type: Console & Chat Description: Leaves an active game. Command: pbprize (configurable) Parameters: none Type: Chat Description: Redeems a prize for winning. Command: pbsetcentrepoint Parameters: <arenaFile> Type: Chat Description: Sets the centre point of an arena at the players location. The arena will spawn from that location moving forward.
    $19.99
  11. Adem

    Convoy

    Version 2.9.3

    28,094 downloads

    Set your server apart with a roaming mobile event that has nearly endless configuration options! Configure the loot truck as well as the Convoy of protection vehicles ranging from sedans, module cars, Bradley tanks, motorbikes, vendor trucks, to a patrol helicopter! The plugin runs on custom and procedural generated maps, can use custom routes or let the plugin find a random route based on your configuration. You can make yours an aggressive or a peaceful Convoy, who shoots first? You can set all kinds of parameters regarding the many pieces of the event, how to beat it, whether destroying the loot truck destroys the loot or not for example. There are many compatible plugins like TruePVE, GUIAnnouncements, Notify, DiscordMessages, and RustCord to name a few. The plugin has a built in UI that will give you important information about the event as you are inside it's zone. Check the map to see the location of the event as a marker and even see the timer on the event! All of the ground vehicles are driven and filled with NPCs. Every vehicle, the NPCs, and the loot as well as all timers can be configured to suit your server. A PvP zone can be created within the event area for those of you who use TruePVE to control damage on your servers. The limits are nearly endless! If you have some players on your server that you want to really send everything you have at, this is the plugin for you. Watch players crap their pants when they first encounter a full Convoy with multiple tanks and a Patrol Heli all attacking at once. Sit back and delight in their fear as all of the vehicles empty their occupants and NPCs swarm them mercilessly! Required Dependency (must install this free plugin) NpcSpawn – link is included and can be found in the ReadMe file included with download Chat commands (admin only) /convoystart - launches the event using a random preset based on your configuration /convoystart PresetName - add the name of a preset from the configuration to launch a specific preset /convoystop - stops the event /convoyroadblock - the event will not be held on the road where you are standing (clear the Blocked roads section of config when you change maps) /convoypathstart - stand at starting point and enter command to start recording a custom route /convoypathsave RoutePresetName - to save a custom route (enter anything you'd like in place of RoutePresetName) multiple routes can be added to one route preset, one will be selected at random in this case /convoypathcancel - to reset the route Console commands (RCON only) convoystart - launches the event using a random preset based on your configuration convoystart PresetName - add the name of a preset from the configuration to launch a specific preset convoystop - stops the event Plugin Config en – example of plugin configuration in English ru – example of plugin configuration in Russian API bool IsConvoyVehicle(BaseEntity entity) bool IsConvoyCrate(BaseEntity crate) bool IsConvoyHeli(BaseHelicopter baseHelicopter) bool IsConvoyNpc(ScientistNPC scientistNPC) Hooks void OnConvoyStart() - яalled when a convoy appears void OnConvoyStop() - яalled when a convoy disappears void OnPlayerEnterConvoy(BasePlayer player) - яalled when a player enters the event area void OnPlayerExitConvoy(BasePlayer player) - яalled when the player leaves the event area void OnConvoyEventWin(ulong userId) - called at the end of the event and informs about its winner void OnConvoyStartMoving(Vector3 convoyPosition) void OnConvoyStopMoving(Vector3 convoyPosition) void OnConvoyAttacked(BasePlayer player, Vector3 convoyPosition) Check out the rest of my work: Adem's Codefling Library You can reach out to me in Discord: Adem's Discord Profile Thanks to Jbird for writing, translation, & support: Jbird's Discord Profile Join the Mad Mappers Discord!
    $39.99
  12. RustFlash

    DropEvent

    Version 1.2.0

    43 downloads

    DropEvent DropEvent is a plugin that I have been using on my server for several years now. It's a very popular event because it encourages PVP. It's not even about the loot anymore, but about the fun, as the whole server gathers at one point. I have completely reworked this plugin so that there is a config and all the necessary things so that you can use it easily. Pictures speak louder than words, so I've picked out an old video for you. Functions It is important that you have MonumentFinder. DropEvent is dependent on the API! Thanks to, WhiteThunder! MonumentFinder -> MonumentFinder You can start the DropEvent command: /flashdropevent You can start the DropEvent console: flashdropevent To use the command, you need the authorization: dropevent.admin Config { "Settings": { "SupplySignalCount": 3 } } load, run, enjoy Support Discord
    $10.99
  13. RustFlash

    VipShuffle

    Version 1.6.0

    46 downloads

    A little event for your players! Reward your players and give something back! With this plugin, you can make a random player happy! Functions You can start the VIP shuffle event with the following command: /flashvipshuffle From version 1.4.0 you can now create a shedule to start and automate the VIPShuffle at a specific time period: flashvipshuffle To start the event, you need the authorization: vipshuffle.check This permission is used to check if a player has the right to execute the VipShuffle command /flashvipshuffle. If a player does not have this permission, they are informed that they do not have the required permission. Config (new, You can now exclude certain user roles from the competition) If you want to pay out VIP for certain days via the console, you need the free plugin Timed Permissions. Load, run, enjoy Support Discord
    $7.99
  14. Version 3.0.0

    42 downloads

    NoRecycle NoRecycle is a plugin designed to protect players from accidentally recycling valuable items in PVE and RP environments. Environments often allow players to collect items such as money, coins, prizes, thalers, or other currencies that they don't want to accidentally recycle. This plugin allows server administrators to set a list of items that are not allowed to be recycled. This list may contain specific currencies, prizes, or other important items that are crucial to gameplay or roleplaying. By using NoRecycle, server administrators can ensure that players do not accidentally lose valuable items by recycling them. The plugin blocks the recycling of these specific items, giving players an additional level of security and helping to ensure a realistic and enjoyable gaming experience in PVE and RP environments. In addition, NoRecycle can also be used for other purposes where a similar mechanic is desired to prevent certain items from being recycled. This can be customized depending on the needs of the server and player community. *edit From version 2.0.0, you can use the plugin in even more versatile ways. You now have the option of entering the corresponding SkinID. If you want to use vanilla items, please leave the SkinID at 0. From version 2.4.0 you can also use multiple SkinIDs for the same item. Here is an example: From version 2.6.0 it also works with Wallpaper Packet From version 3.0.0 it also works with XDQuest (Quest System) I thank you for the code insights from dezlife, so some code confrontations could be eliminated please take a look at the Quest plugin it is highly recommended Config: { "NonRecyclableItems": { "sticks": [ 123456789 ], "paper": [ 987654321 ], "rock": [ 807372963, 2145518274, 0 ] } } load, run, enjoy Support Discord
    $5.99
  15. Version 0.1.9

    1,393 downloads

    A plugin that allows other plugins to interact with players and entities in monuments via API. The list of all monuments can be viewed in the: Default(Source of monument boundaries when changing the map or recreating boundaries) - *SERVER*\oxide\data\MonumentsWatcher\DefaultBounds.json Vanilla - *SERVER*\oxide\data\MonumentsWatcher\MonumentsBounds.json Custom - *SERVER*\oxide\data\MonumentsWatcher\CustomMonumentsBounds.json Note: MonumentsWatcher is utilized as an API for other plugins. You won't obtain any functionality beyond displaying monument boundaries without an additional plugin. The ability to automatically generate boundaries for vanilla and custom monuments; The ability to automatically regenerate boundaries for monuments on wipe; The ability to automatically adding languages for custom monuments; The ability to manually configure boundaries for monuments; The ability to track the entrance and exit of players, npcs and entities in a Monument and CargoShip; The ability to display boundaries. monumentswatcher.admin - Provides the capability to recreate or display monument boundaries. { "Chat command": "monument", "Is it worth enabling GameTips for messages?": true, "List of language keys for creating language files": [ "en" ], "Is it worth recreating boundaries(excluding custom monuments) upon detecting a wipe?": true, "List of tracked categories of monuments. Leave blank to track all": [], "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 9 } } Note: The list of available categories for monuments can be found in the Developer API section. ENG: https://pastebin.com/nsjBCqZe RUS: https://pastebin.com/ut2icv9T Note: After the plugin initialization, keys for custom monuments will be automatically added. show *monumentID*(optional) *floatValue*(optional) - Display the boundary of the monument you are in or specified. The display will last for the specified time or 30 seconds; list - List of available monuments; rotate *monumentID*(optional) *floatValue*(optional) - Rotate the monument you are in or specified, either in the direction you are looking or in the specified direction; recreate custom/all(optional) - Recreate the boundaries of vanilla/custom/all monuments. Note: Instead of a monumentID, you can leave it empty, but you must be inside a monument. You can also use the word 'closest' to select the nearest monument to you. Example: /monument show closest /monument show gas_station_1 /monument show gas_station_1_4 /monument rotation /monument rotation closest /monument rotation gas_station_1_0 256.5 /monument recreate void OnMonumentsWatcherLoaded() Called after the MonumentsWatcher plugin is fully loaded and ready. void OnCargoWatcherCreated(string monumentID, string type, CargoShip cargoShip) Called when a watcher is created for a CargoShip. void OnCargoWatcherDeleted(string monumentID) Called when a watcher is removed for a CargoShip. void OnSpawnableWatcherCreated(string monumentID, string type, BaseEntity entity) Called when a watcher is created for a Spawnable monument. void OnSpawnableWatcherDeleted(string monumentID) Called when a watcher is removed for a Spawnable monument. void OnMonumentsWatcherLoaded() { Puts("MonumentsWatcher plugin is ready!"); } void OnCargoWatcherCreated(string monumentID, string type, CargoShip cargoShip) { Puts($"Watcher for monument {monumentID}({type}) has been created!"); } void OnCargoWatcherDeleted(string monumentID) { Puts($"Watcher for monument {monumentID} has been deleted!"); } void OnSpawnableWatcherCreated(string monumentID, string type, BaseEntity entity) { Puts($"Watcher for monument {monumentID}({type}) has been created!"); } void OnSpawnableWatcherDeleted(string monumentID) { Puts($"Watcher for monument {monumentID} has been deleted!"); } Entered hooks: void OnPlayerEnteredMonument(string monumentID, BasePlayer player, string type, string oldMonumentID) Called when a player enters any monument. void OnNpcEnteredMonument(string monumentID, BasePlayer npcPlayer, string type, string oldMonumentID) Called when an NPC player enters any monument. void OnEntityEnteredMonument(string monumentID, BaseEntity entity, string type, string oldMonumentID) Called when any other BaseEntity enters any monument. void OnPlayerEnteredMonument(string monumentID, BasePlayer player, string type, string oldMonumentID) { Puts($"{player.displayName} entered to {monumentID}({type}). His previous monument was {oldMonumentID}"); } void OnNpcEnteredMonument(string monumentID, BasePlayer npcPlayer, string type, string oldMonumentID) { Puts($"Npc({npcPlayer.displayName}) entered to {monumentID}({type}). Previous monument was {oldMonumentID}"); } void OnEntityEnteredMonument(string monumentID, BaseEntity entity, string type, string oldMonumentID) { Puts($"Entity({entity.net.ID}) entered to {monumentID}({type}). Previous monument was {oldMonumentID}"); } Exited hooks: void OnPlayerExitedMonument(string monumentID, BasePlayer player, string type, string reason, string newMonumentID) Called when a player exits any monument. void OnNpcExitedMonument(string monumentID, BasePlayer npcPlayer, string type, string reason, string newMonumentID) Called when an NPC player exits any monument. void OnEntityExitedMonument(string monumentID, BaseEntity entity, string type, string reason, string newMonumentID) Called when any other BaseEntity exits any monument. void OnPlayerExitedMonument(string monumentID, BasePlayer player, string type, string reason, string newMonumentID) { Puts($"{player.displayName} left from {monumentID}({type}). Reason: {reason}. They are now at '{newMonumentID}'."); } void OnNpcExitedMonument(string monumentID, BasePlayer npcPlayer, string type, string reason, string newMonumentID) { Puts($"Npc({npcPlayer.displayName}) left from {monumentID}({type}). Reason: {reason}. They are now in {newMonumentID}"); } void OnEntityExitedMonument(string monumentID, BaseEntity entity, string type, string reason, string newMonumentID) { Puts($"Entity({entity.net.ID}) left from {monumentID}({type}). Reason: {reason}. They are now in {newMonumentID}"); } [PluginReference] private Plugin MonumentsWatcher; There are 15 categories of monuments: SafeZone(0): Bandit Camp, Outpost, Floating City, Fishing Village, Ranch and Large Barn. RadTown(1): Airfield, Arctic Research Base, Abandoned Military Base, Giant Excavator Pit, Ferry Terminal, Harbor, Junkyard, Launch Site; Military Tunnel, Missile Silo, Power Plant, Sewer Branch, Satellite Dish, The Dome, Toxic Village(Legacy Radtown), Train Yard, Water Treatment Plant. RadTownWater(2): Oil Rigs, Underwater Labs, Cargo Ships and Ghost Ships. RadTownSmall(3): Lighthouse, Oxum's Gas Station, Abandoned Supermarket and Mining Outpost. TunnelStation(4) MiningQuarry(5): Sulfur Quarry, Stone Quarry and HQM Quarry. BunkerEntrance(6) Cave(7) Swamp(8) IceLake(9) PowerSubstation(10) Ruins(11): Jungle Ruins and Tropical Ruins. WaterWell(12) DeepSeaIsland(13) Custom(14) There are 26 api methods: IsReady: Used to check if the MonumentsWatcher plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)MonumentsWatcher?.Call("IsReady"); GetAllMonuments: Used to retrieve an array of IDs for all available monuments. (string[])(MonumentsWatcher?.Call("GetAllMonuments") ?? Array.Empty<string>()); GetAllMonumentsCategories: Used to retrieve a dictionary of IDs and categories for all available monuments. (Dictionary<string, string>)(MonumentsWatcher?.Call("GetAllMonumentsCategories") ?? new Dictionary<string, string>()); GetMonumentsByCategory: Used to retrieve all available monuments by category. To call the GetMonumentsByCategory method, you need to pass 1 parameter: monument category as a string. (string[])(MonumentsWatcher?.Call("GetMonumentsByCategory", "SafeZone") ?? Array.Empty<string>()); GetMonumentCategory: Used to retrieve the category of the specified monument. Returns an empty string on failure. To call the GetMonumentCategory method, you need to pass 1 parameter: monumentID as a string. (string)(MonumentsWatcher?.Call("GetMonumentCategory", monumentID) ?? string.Empty); GetMonumentDisplayName: Used to retrieve the nicename of a monument in the player's language. Returns an empty string on failure. To call the GetMonumentDisplayName method, you need to pass 3 parameters: monumentID as a string; Available options: userID as a ulong or a string; player as a BasePlayer or an IPlayer. displaySuffix as a bool. Should the suffix be displayed in the name if there are multiple such monuments? This parameter is optional. (string)(MonumentsWatcher?.Call("GetMonumentDisplayName", monumentID, player.userID, true) ?? string.Empty);//(ulong)userID (string)(MonumentsWatcher?.Call("GetMonumentDisplayName", monumentID, player, true) ?? string.Empty);//(BasePlayer/IPlayer)player (string)(MonumentsWatcher?.Call("GetMonumentDisplayName", monumentID, player.UserIDString, true) ?? string.Empty);//(string)userID ***recommended option*** GetMonumentDisplayNameByLang: Used to retrieve the nicename of a monument in the specified language. Returns an empty string on failure. To call the GetMonumentDisplayNameByLang method, you need to pass 3 parameters: monumentID as a string; two-char language as a string; displaySuffix as a bool. Should the suffix be displayed in the name if there are multiple such monuments? This parameter is optional. (string)(MonumentsWatcher?.Call("GetMonumentDisplayNameByLang", monumentID, "en", true) ?? string.Empty); GetMonumentPosition: Used to retrieve the Vector3 position of the specified monument. Returns Vector3.zero on failure. To call the GetMonumentPosition method, you need to pass 1 parameter: monumentID as a string. (Vector3)(MonumentsWatcher?.Call("GetMonumentPosition", monumentID) ?? Vector3.zero); GetMonumentByPos: Used to retrieve the monument at the specified position. Returns an empty string on failure. To call the GetMonumentByPos method, you need to pass 1 parameter: position as a Vector3. (string)(MonumentsWatcher?.Call("GetMonumentByPos", pos) ?? string.Empty); Note: This method returns the first encountered monument. Occasionally, there may be multiple monuments at a single point. Therefore, it is recommended to use the GetMonumentsByPos method. GetMonumentsByPos: Used to retrieve all monuments at the specified position. Returns null on failure. To call the GetMonumentsByPos method, you need to pass 1 parameter: position as a Vector3. (string[])(MonumentsWatcher?.Call("GetMonumentsByPos", pos) ?? Array.Empty<string>()); GetClosestMonument: Used to retrieve the nearest monument to the specified position. Returns an empty string on failure. To call the GetClosestMonument method, you need to pass 1 parameter: position as a Vector3. (string)(MonumentsWatcher?.Call("GetClosestMonument", pos) ?? string.Empty); IsPosInMonument: Used to check whether the specified position is within the specified monument. Returns a false on failure. To call the IsPosInMonument method, you need to pass 2 parameters: monumentID as a string; position as a Vector3. (bool)(MonumentsWatcher?.Call("IsPosInMonument", monumentID, pos) ?? false); ShowBounds: Used to display the boundaries of the specified monument to the specified player. To call the ShowBounds method, you need to pass 3 parameters: monumentID as a string; player as a BasePlayer; displayDuration as a float. Duration of displaying the monument boundaries in seconds. This parameter is optional. MonumentsWatcher?.Call("ShowBounds", monumentID, player, 20f); Note: Since an Admin flag is required for rendering, players without it will be temporarily granted an Admin flag and promptly revoked. PLAYERS API GetMonumentPlayers: Used to retrieve an array of all players located in the specified monument. Returns null on failure. To call the GetMonumentPlayers method, you need to pass 1 parameter: monumentID as a string. (BasePlayer[])(MonumentsWatcher?.Call("GetMonumentPlayers", monumentID) ?? Array.Empty<BasePlayer>()); GetPlayerMonument: Used to retrieve the monument in which the specified player is located. Returns an empty string on failure. To call the GetPlayerMonument method, you need to pass 1 parameter: Available options: player as a BasePlayer; userID as a ulong or a string. (string)(MonumentsWatcher?.Call("GetPlayerMonument", player.UserIDString) ?? string.Empty);//(string)userID (string)(MonumentsWatcher?.Call("GetPlayerMonument", player) ?? string.Empty);//(BasePlayer)player (string)(MonumentsWatcher?.Call("GetPlayerMonument", player.userID) ?? string.Empty);//(ulong)userID ***recommended option*** GetPlayerMonuments: Used to retrieve all monuments in which the specified player is located. Returns null on failure. To call the GetPlayerMonuments method, you need to pass 1 parameter: Available options: player as a BasePlayer; userID as a ulong or a string. (string[])(MonumentsWatcher?.Call("GetPlayerMonuments", player.UserIDString) ?? Array.Empty<string>());//(string)userID (string[])(MonumentsWatcher?.Call("GetPlayerMonuments", player) ?? Array.Empty<string>());//(BasePlayer)player (string[])(MonumentsWatcher?.Call("GetPlayerMonuments", player.userID) ?? Array.Empty<string>());//(ulong)userID ***recommended option*** GetPlayerClosestMonument: Used to retrieve the nearest monument to the specified player. Returns an empty string on failure. To call the GetPlayerClosestMonument method, you need to pass 1 parameter: Available options: player as a BasePlayer; userID as a ulong or a string. (string)(MonumentsWatcher?.Call("GetPlayerClosestMonument", player.UserIDString) ?? string.Empty);//(string)userID (string)(MonumentsWatcher?.Call("GetPlayerClosestMonument", player.userID) ?? string.Empty);//(ulong)userID (string)(MonumentsWatcher?.Call("GetPlayerClosestMonument", player) ?? string.Empty);//(BasePlayer)player ***recommended option*** IsPlayerInMonument: Used to check whether the specified player is in the specified monument. Returns a false on failure. To call the IsPlayerInMonument method, you need to pass 2 parameters: monumentID as a string; Available options: player as a BasePlayer; userID as a ulong or a string. (bool)(MonumentsWatcher?.Call("IsPlayerInMonument", monumentID, player.UserIDString) ?? false);//(string)userID (bool)(MonumentsWatcher?.Call("IsPlayerInMonument", monumentID, player) ?? false);//(BasePlayer)player (bool)(MonumentsWatcher?.Call("IsPlayerInMonument", monumentID, player.userID) ?? false);//(ulong)userID ***recommended option*** NPCS API GetMonumentNpcs: Used to retrieve an array of all npcs located in the specified monument. Returns null on failure. To call the GetMonumentNpcs method, you need to pass 1 parameter: monumentID as a string. (BasePlayer[])(MonumentsWatcher?.Call("GetMonumentNpcs", monumentID) ?? Array.Empty<BasePlayer>()); GetNpcMonument: Used to retrieve the monument in which the specified npc is located. Returns an empty string on failure. To call the GetNpcMonument method, you need to pass 1 parameter: Available options: npcPlayer as a BasePlayer; netID as a ulong; netID as a NetworkableId. (string)(MonumentsWatcher?.Call("GetNpcMonument", npcPlayer) ?? string.Empty);//(BasePlayer)npcPlayer (string)(MonumentsWatcher?.Call("GetNpcMonument", npcPlayer.net.ID.Value) ?? string.Empty);//(ulong)netID (string)(MonumentsWatcher?.Call("GetNpcMonument", npcPlayer.net.ID) ?? string.Empty);//(NetworkableId)netID ***recommended option*** GetNpcMonuments: Used to retrieve all monuments in which the specified npc is located. Returns null on failure. To call the GetNpcMonuments method, you need to pass 1 parameter: Available options: npcPlayer as a BasePlayer; netID as a ulong; netID as a NetworkableId. (string[])(MonumentsWatcher?.Call("GetNpcMonuments", npcPlayer) ?? Array.Empty<string>());//(BasePlayer)npcPlayer (string[])(MonumentsWatcher?.Call("GetNpcMonuments", npcPlayer.net.ID.Value) ?? Array.Empty<string>());//(ulong)netID (string[])(MonumentsWatcher?.Call("GetNpcMonuments", npcPlayer.net.ID) ?? Array.Empty<string>());//(NetworkableId)netID ***recommended option*** IsNpcInMonument: Used to check whether the specified npc is in the specified monument. Returns a false on failure. To call the IsNpcInMonument method, you need to pass 2 parameters: monumentID as a string; Available options: npcPlayer as a BasePlayer; netID as a ulong; netID as a NetworkableId. (bool)(MonumentsWatcher?.Call("IsNpcInMonument", monumentID, npcPlayer.net.ID) ?? false);//(NetworkableId)netID (bool)(MonumentsWatcher?.Call("IsNpcInMonument", monumentID, npcPlayer.net.ID.Value) ?? false);//(ulong)netID (bool)(MonumentsWatcher?.Call("IsNpcInMonument", monumentID, npcPlayer) ?? false);//(BasePlayer)npcPlayer ***recommended option*** ENTITIES API GetMonumentEntities: Used to retrieve an array of all entities located in the specified monument. Returns null on failure. To call the GetMonumentEntities method, you need to pass 1 parameter: monumentID as a string. (BaseEntity[])(MonumentsWatcher?.Call("GetMonumentEntities", monumentID) ?? Array.Empty<BaseEntity>()); GetEntityMonument: Used to retrieve the monument in which the specified entity is located. Returns an empty string on failure. To call the GetEntityMonument method, you need to pass 1 parameter: Available options: entity as a BaseEntity; netID as a ulong; netID as a NetworkableId. (string)(MonumentsWatcher?.Call("GetEntityMonument", entity) ?? string.Empty);//(BaseEntity)entity (string)(MonumentsWatcher?.Call("GetEntityMonument", entity.net.ID.Value) ?? string.Empty);//(ulong)netID (string)(MonumentsWatcher?.Call("GetEntityMonument", entity.net.ID) ?? string.Empty);//(NetworkableId)netID ***recommended option*** GetEntityMonuments: Used to retrieve all monuments in which the specified entity is located. Returns null on failure. To call the GetEntityMonuments method, you need to pass 1 parameter: Available options: entity as a BaseEntity; netID as a ulong; netID as a NetworkableId. (string[])(MonumentsWatcher?.Call("GetEntityMonuments", entity) ?? Array.Empty<string>());//(BaseEntity)entity (string[])(MonumentsWatcher?.Call("GetEntityMonuments", entity.net.ID.Value) ?? Array.Empty<string>());//(ulong)netID (string[])(MonumentsWatcher?.Call("GetEntityMonuments", entity.net.ID) ?? Array.Empty<string>());//(NetworkableId)netID ***recommended option*** IsEntityInMonument: Used to check whether the specified entity is in the specified monument. Returns a false on failure. To call the IsEntityInMonument method, you need to pass 2 parameters: monumentID as a string; Available options: entity as a BaseEntity; netID as a ulong; netID as a NetworkableId. (bool)(MonumentsWatcher?.Call("IsEntityInMonument", monumentID, entity.net.ID) ?? false);//(NetworkableId)netID bool)(MonumentsWatcher?.Call("IsEntityInMonument", monumentID, entity.net.ID.Value) ?? false);//(ulong)netID (bool)(MonumentsWatcher?.Call("IsEntityInMonument", monumentID, entity) ?? false);//(BaseEntity)entity ***recommended option***
    Free
  16. Version 1.0.1

    16 downloads

    Special Grenade -Animated Edition- SpecialGrenade adds three unique smoke grenade variants to your Rust server, each with distinct visual effects and gameplay mechanics. Transform standard smoke grenades into powerful tactical tools with poison damage, healing, or tear gas effects. Each grenade type features stunning visual effects including animated screen overlays, colored sphere indicators, and immersive sound effects that enhance gameplay without compromising performance. Features Poison Grenade (Toxic) - Deals continuous damage to players and NPCs within the smoke radius - Purple-colored visual sphere indicator - Animated poison screen overlay effect - Hazmat suit protection option - Configurable damage per second for players and NPCs separately Healing Grenade - Heals players within the smoke radius over time - Green-colored visual sphere indicator - Animated healing screen overlay effect - Configurable heal amount per second - Hazmat suit protection option Tear Gas Grenade - Causes blindness and visual impairment - Red-colored visual sphere indicator - Animated tear/blink effect with eye-watering visuals - Dynamic smoke overlay animation - Hazmat suit protection option Configuration { "Toxic Grenade Settings": { "Skin ID": 3650606945, "Display Name": "Poison Grenade", "Damage Per Second": 10.0, "NPC Damage Per Second": 10.0, "Effect Duration (seconds)": 45.0, "Show Sphere": true, "Hazmat Protects From Effect": true, "Enable Sound": true }, "Healing Grenade Settings": { "Skin ID": 3650606786, "Display Name": "Healing Grenade", "Heal Amount Per Second": 1.5, "Effect Duration (seconds)": 20.0, "Show Sphere": true, "Hazmat Protects From Effect": false }, "Tear Gas Grenade Settings": { "Skin ID": 3650607092, "Display Name": "Tear Gas Grenade", "Blindness Duration (seconds)": 60.0, "Smoke Duration (seconds)": 45.0, "Show Sphere": true, "Hazmat Protects From Effect": true, "Enable Sound": true }, "Enable Image Preload On Connect": true } Command Console Command : givegrenade <SteamID> <SkinID> <amount> Give grenades to a specific player Example (Gives 10 Poison Grenades to the specified player.) givegrenade 76561198012345678 3650606945 10 Chat Command : /grenade Give all grenade types to yourself (Admin Only) Important Notes - Requires ImageLibrary plugin for visual effects - If the NpcSpawn plugin is installed, NPC smoke grenades will randomly choose between tear gas or poison. - Hazmat suit protection can be toggled per grenade type - Image preloading recommended for best performance - The smoke duration cannot be set to more than 45 seconds. - It seems that certain server services do not allow you to download imgur images. In that case, please download all imgur images manually, upload them to another image upload site, and specify the URL. (Data folder) Contact VOID / NINJA WORKS X : @QB_WHITE MADE IN JAPAN
    $8.00
  17. Version 2.2.5

    2,696 downloads

    Automated chat messages based on chat keywords, timer or various other triggers. Plugin comes with an easy to use Admin UI for complete setup, and supports special localization for your messages. You can define messages to be sent only to specific Groups or Permissions, and you can allow players to toggle on/off messages if they do not find them useful. SUPPORTED TRIGGERS If what you need is not here and still falls under the scope of the plugin description, reach out to me Timed | ChatCommand | AutoReply | NewPlayerJoined | PlayerConnected | PlayerDisconnected | PermissionGranted | PermissionRevoked | AddedToGroup | RemovedFromGroup | PlayerDead | CrateHacked | EnteredZone | LeftZone | EnteredMonument | LeftMonument COMMANDS /am.edit - (Admin UI for complete setup) - requires automatedmessages.admin permission /tips - (Player command for toggling on/off messages) command can be changed in the config file MESSAGES LOCALIZATION You can switch between languages in Admin UI to setup localized replies for every language the game supports. Check config section below for how to add languages. Game Tips You can utilize Rust's native game tip UI to show specific messages instead or along with sending it to chat. VARIABLES Variables can be included in the messages text to show further info based on the trigger or player. The plugin also supports https://umod.org/plugins/placeholder-api with the extensive list of variables it brings. {playername} {playerid} - Player steam id {playercountry} {hacklocation} - Specific to messages with type CrateHacked {wipetimeremaining} - Days/Hours till wipe (based on rust convar settings if a missile silo monument is present) {online} - # of players online {sleeping} - # of players sleeping {joining} - # of players joining CONFIG SETTINGS Below are only settings not currently available in Admin UI, highly recommended to edit triggers or actions using /am.edit Chat Icon (Steam Id) - Icon that will be used for all messages sent by the plugin, must be a steam id. Toggle Chat Command - "tips" - Chat command that allows a player to toggle on/off messages. AutoReply Cooldown (in seconds) - Per action cooldown timer when players type a keyword set. ChatCommand Cooldown (in seconds) - Per player cooldown timer when a player types a chat command. ZoneManager Cooldown (in seconds) - Per player cooldown timer on enter or exit zone. MonumentWatcher Cooldown (in seconds) - Per player cooldown timer on enter or exit monument. Replies Server Languages - Languages your server will support. Available options: af, ar, ca, cs, da, de, el, en-PT, en, es-ES, fi, fr, hu, it, ja, ko, nl, no, pl, pt-PT, pt-BR, ro, ru, sr, sv, tr, uk, vi, zh-CN, zh-TW Default Server Language - Fallback language if player client language had no available replies, you must have at least one reply for this language for the action to function. AutoReply `Broadcast to all` option to broadcast to team only if keywords sent from team chat - true/false
    $11.99
  18. Version 2.1.7

    6,132 downloads

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

    15 downloads

    An excellent plugin for item recycling with extensive functionality. The ability to log successful recycling; The ability to create new permissions; The ability to customize permissions flexibly, including both new and existing ones; The ability to have multiple permissions at the same time, with the selection of the best limits from the available permissions; The ability to configure the recycling efficiency for each permission; The ability to configure the scrap return percentage when recycling blueprints for each permission; The ability to configure the chance to return the original item when recycling blueprints for each permission; The ability to configure forbidden items for recycling for each permission; The ability to configure the recycling speed for each permission; The ability to configure the recycling cycle limit per use for each permission; The ability to configure the recycling slot limit for each permission; The ability to configure the recycling cooldown for each permission; The ability to purchase a bypass for the recycle cooldown; The ability to configure the daily recycling limit for each permission; The ability to purchase additional recycles after reaching the daily limit; The ability to count recycling only when at least one item is successfully recycled; The ability to forbid recycling when wounded; The ability to forbid recycling while swimming; The ability to forbid recycling while mounted on certain seats; The ability to forbid recycling in specified monuments, by name or by monument type; The ability to forbid recycling in someone else's building privileges; The ability to forbid recycling when taking damage; The ability to forbid recycling during a combat block; The ability to forbid recycling during a raid block; The ability to automatically generate language files for specified languages(with content filled in English); The ability to display a status bar while waiting for a cooldown; The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The ability to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The ability to set own image and customize the color and transparency of the image; The ability to set sprite instead of the image; The ability to customize the color, size and font of the text. { "Chat command": "rec", "Is it worth enabling GameTips for messages?": true, "Is it worth saving recycling logs to a file?": true, "List of language keys for creating language files": [ "en" ], "Is it worth allowing blueprint recycling based on permissions?": true, "Price to skip 60 seconds of recycler cooldown": 10.0, "List of mount names where recycling is prohibited": [ "horsesaddle", "horsesaddlerear", "bikedriverseat", "bikepassengerseat", "motorbikedriverseat", "motorbikepassengerseat", "modularcardriverseat", "modularcarpassengerseatleft", "modularcarpassengerseatright", "modularcarpassengerseatlesslegroomleft", "modularcarpassengerseatlesslegroomright", "modularcarpassengerseatsidewayleft", "miniheliseat", "minihelipassenger", "transporthelipilot", "transporthelicopilot", "attackhelidriver", "attackheligunner", "submarinesolodriverstanding", "submarineduodriverseat", "submarineduopassengerseat", "snowmobiledriverseat", "snowmobilepassengerseat", "snowmobilepassengerseat tomaha", "workcartdriver", "locomotivedriver", "craneoperator", "batteringramseat", "ballistagun.entity" ], "Status. Bar - Display time in seconds. A value of 0 keeps it visible until the cooldown ends": 15.0, "Status. Bar - Type(TimeProgressCounter or TimeCounter)": "TimeCounter", "Status. Bar - Height": 26, "Status. Bar - Order": 10, "Status. Background - Color(Hex or RGBA)": "#EFC570", "Status. Background - Transparency": 0.7, "Status. Background - Material(empty to disable)": "", "Status. Image - Url": "https://i.imgur.com/DsWk4zm.png", "Status. Image - Local(Leave empty to use Image_Url)": "AdvancedStatus_SandClock", "Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Is raw image": false, "Status. Image - Color(Hex or RGBA)": "#EFC570", "Status. Image - Transparency": 1.0, "Status. Image Outline - Is it worth enabling an outline for the image?": false, "Status. Image Outline - Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Status. Image Outline - Transparency": 1.0, "Status. Image Outline - Distance": "0.75 0.75", "Status. Text - Size": 12, "Status. Text - Color(Hex or RGBA)": "#FFFFFF", "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. Text - Offset Horizontal": 0, "Status. Text Outline - Is it worth enabling an outline for the text?": false, "Status. Text Outline - Color(Hex or RGBA)": "#000000", "Status. Text Outline - Transparency": 1.0, "Status. Text Outline - Distance": "0.75 0.75", "Status. SubText - Size": 12, "Status. SubText - Color(Hex or RGBA)": "#FFFFFF", "Status. SubText - Font": "RobotoCondensed-Bold.ttf", "Status. SubText Outline - Is it worth enabling an outline for the sub text?": false, "Status. SubText Outline - Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "Status. SubText Outline - Transparency": 1.0, "Status. SubText Outline - Distance": "0.75 0.75", "Status. Progress - Background Color(Hex or RGBA)": "1 1 1 0.15", "Status. Progress - Background Transparency": 0.15, "Status. Progress - Reverse": true, "Status. Progress - Color(Hex or RGBA)": "#EFC570", "Status. Progress - Transparency": 0.7, "Status. Progress - OffsetMin": "0 0", "Status. Progress - OffsetMax": "0 0", "List of recycling permissions": [ { "Permission Name": "advancedrecycler.default", "Item recycling time(seconds)": 8.0, "Item recycling efficiency": 0.4, "Blueprint recycling efficiency. A value of 0 disables this ability": 0.0, "Chance(0.0 – 1.0) of the original item dropping when recycling a blueprint": 0.001, "Is it worth giving scrap if the original item drops when recycling a blueprint?": false, "Number of available recycling slots": 2, "Cooldown time(in seconds) before next recycling": 600.0, "Daily recycling limit. A value of 0 disables the limit": 50, "Price to purchase a recycling after exceeding the daily limit. A value of 0 disables the purchase": 5.0, "Item recycling limit per session(per command use). A value of 0 disables the limit": 15, "Is it worth forbidding recycling if the player is in a wounded state?": true, "Is it worth forbidding recycling if the player is swimming?": true, "Is it worth forbidding recycling if the player is mounted?": true, "Is it worth forbidding recycling if the player is in someone else's building privilege area?": true, "Is it worth forbidding recycling if the player has taken damage?": true, "Is it worth forbidding recycling if the player has combat block?": true, "Is it worth forbidding recycling if the player has raid block?": true, "List of monuments where recycling is forbidden": null, "List of monument types where recycling is forbidden": [ "RadTown", "RadTownWater", "RadTownSmall", "TunnelStation", "Custom" ], "List of forbidden recycling items": [ "blood" ] }, { "Permission Name": "advancedrecycler.vip", "Item recycling time(seconds)": 5.0, "Item recycling efficiency": 0.6, "Blueprint recycling efficiency. A value of 0 disables this ability": 0.15, "Chance(0.0 – 1.0) of the original item dropping when recycling a blueprint": 0.15, "Is it worth giving scrap if the original item drops when recycling a blueprint?": true, "Number of available recycling slots": 4, "Cooldown time(in seconds) before next recycling": 450.0, "Daily recycling limit. A value of 0 disables the limit": 100, "Price to purchase a recycling after exceeding the daily limit. A value of 0 disables the purchase": 2.5, "Item recycling limit per session(per command use). A value of 0 disables the limit": 50, "Is it worth forbidding recycling if the player is in a wounded state?": true, "Is it worth forbidding recycling if the player is swimming?": true, "Is it worth forbidding recycling if the player is mounted?": true, "Is it worth forbidding recycling if the player is in someone else's building privilege area?": true, "Is it worth forbidding recycling if the player has taken damage?": true, "Is it worth forbidding recycling if the player has combat block?": true, "Is it worth forbidding recycling if the player has raid block?": true, "List of monuments where recycling is forbidden": null, "List of monument types where recycling is forbidden": [ "RadTown", "RadTownWater", "TunnelStation" ], "List of forbidden recycling items": [ "blood" ] }, { "Permission Name": "realpve.vip", "Item recycling time(seconds)": 4.0, "Item recycling efficiency": 0.65, "Blueprint recycling efficiency. A value of 0 disables this ability": 0.5, "Chance(0.0 – 1.0) of the original item dropping when recycling a blueprint": 0.3, "Is it worth giving scrap if the original item drops when recycling a blueprint?": true, "Number of available recycling slots": 6, "Cooldown time(in seconds) before next recycling": 300.0, "Daily recycling limit. A value of 0 disables the limit": 0, "Price to purchase a recycling after exceeding the daily limit. A value of 0 disables the purchase": 0.0, "Item recycling limit per session(per command use). A value of 0 disables the limit": 0, "Is it worth forbidding recycling if the player is in a wounded state?": false, "Is it worth forbidding recycling if the player is swimming?": false, "Is it worth forbidding recycling if the player is mounted?": false, "Is it worth forbidding recycling if the player is in someone else's building privilege area?": false, "Is it worth forbidding recycling if the player has taken damage?": false, "Is it worth forbidding recycling if the player has combat block?": false, "Is it worth forbidding recycling if the player has raid block?": false, "List of monuments where recycling is forbidden": [ "oilrig_1" ], "List of monument types where recycling is forbidden": null, "List of forbidden recycling items": [ "blood" ] } ], "Version": { "Major": 0, "Minor": 1, "Patch": 1 } } EN: { "CmdNotAllowed": "You do not have permission to use this command!", "CmdEconomicsNotEnough": "Not enough funds!", "CmdMain": "Available commands for the recycler:\n\n<color=#D1CBCB>/rec</color> - Request access to the remote recycler\n<color=#D1CBCB>/rec</color> <color=#D1AB9A>limits</color> - View your usage limits\n<color=#D1CBCB>/rec</color> <color=#D1AB9A>buy limits *amount*(optional)</color> - Purchase additional uses of the remote recycler\n<color=#D1CBCB>/rec</color> <color=#D1AB9A>buy cd *amount*(optional)</color> - Purchase a 60 second(* by amount) cooldown skip for remote recycler\n\n--------------------------------------------------", "CmdDailyLimitExtra": "You have exceeded the daily limit({0}) for using the remote recycler!\n<size=10>However, you can buy additional uses with the <color=#D1AB9A>/rec buy limits</color> command for <color=#D1CBCB>${1}</color></size>", "CmdDailyLimit": "You have exceeded the daily limit ({0}) for using the remote recycler!", "CmdCooldownSkip": "You must wait {0} seconds before using the remote recycler again!\n<size=10>However, you can skip the cooldown using the <color=#D1AB9A>/rec buy cd</color> command for <color=#D1CBCB>${1}</color> per 60 seconds</size>", "CmdCooldown": "You must wait {0} seconds before using the remote recycler again!", "CmdWoundBlock": "You can't use the remote recycler while wounded!", "CmdSwimming": "You can't use the remote recycler while swimming!", "CmdMountBlock": "You can't use the remote recycler while mounted here!", "CmdMonumentBlock": "You can't use the remote recycler at '{0}'!", "CmdBuildingBlock": "You can't use the remote recycler inside someone else's base!", "CmdDamageBlock": "You can't use the remote recycler while taking damage!", "CmdCombatBlock": "You can't use the remote recycler during combat block!", "CmdRaidBlock": "You can't use the remote recycler during a raid block!", "CmdAlredyHave": "You already have an active remote recycler!", "CmdPurchaseNotLimited": "You haven't reached your daily limit yet!", "CmdPurchaseHaveExtra": "You still have {0} additional remote recycler uses! Use them before purchasing more.", "CmdPurchaseLimitsNotAllowed": "Purchasing additional remote recycler uses is unavailable!", "CmdPurchasedLimits": "You have successfully purchased <color=#D1CBCB>{0}</color> remote recycler uses!\n<size=10>Now you have <color=#D1CBCB>{1}</color> additional uses</size>", "CmdPurchaseNoCooldown": "You don't have a cooldown for remote recycler usage!", "CmdPurchaseCooldownNotAllowed": "Purchasing a cooldown skip for remote recycler usage is not available!", "CmdPurchasedCooldown": "You have successfully purchased a cooldown skip for <color=#D1CBCB>{0} seconds</color> for remote recycler usage!\n<size=10>Now you need to wait <color=#D1CBCB>{1} seconds</color></size>", "CmdMyLimits": "Your remote recycler limits:\n\n<color=#D1CBCB>Efficiency</color> - <color=#D1AB9A>{0}%</color>\n<color=#D1CBCB>Blueprint efficiency</color> - <color=#D1AB9A>{1}%</color>\n<color=#D1CBCB>Blueprint original item return</color> - <color=#D1AB9A>{2}%</color>\n<color=#D1CBCB>Cycle Time</color> - <color=#D1AB9A>{3}</color>\n<color=#D1CBCB>Usage Cycles</color> - <color=#D1AB9A>{4}</color>\n<color=#D1CBCB>Cooldown</color> - <color=#D1AB9A>{5} sec</color>\n<color=#D1CBCB>Daily Limit</color> - <color=#D1AB9A>{6}</color>\n\n--------------------------------------------------", "UiRecycleEfficiency": "EFFICIENCY {0}%, {1} SEC", "UiRecycleEfficiencyBp": "EFFICIENCY {0}%, BP {2}%, {1} SEC", "UiSessionLimit": "Recycling cycles: {0}", "BarCooldown": "Recycler cooldown:", "MsgSessionLimit": "You have exceeded the limit of {0} recycling cycles per session." } RU: { "CmdNotAllowed": "У вас недостаточно прав для использования этой команды!", "CmdEconomicsNotEnough": "Не достаточно средств!", "CmdMain": "Доступные команды для переработчика:\n\n<color=#D1CBCB>/rec</color> - Запросить доступ к удалённому переработчику\n<color=#D1CBCB>/rec</color> <color=#D1AB9A>limits</color> - Узнать свои лимиты\n<color=#D1CBCB>/rec</color> <color=#D1AB9A>buy limits *количество*(опционально)</color> - Докупить дополнительное количество доступа к удалённому переработчику\n<color=#D1CBCB>/rec</color> <color=#D1AB9A>buy cd *количество*(опционально)</color> - Купить пропуск 60 секунд(* на количество) задержки перед повторным использованием удалённым переработчиком\n\n--------------------------------------------------", "CmdDailyLimitExtra": "Вы превысили допустимую дневную норму({0}) на использование удалённого переработчика!\n<size=10>Но вы можете купить дополнительные использования удалённого переработчика с помощью команды <color=#D1AB9A>/rec buy limits</color> за <color=#D1CBCB>{1}$</color></size>", "CmdDailyLimit": "Вы превысили допустимую дневную норму({0}) на использование удалённого переработчика!", "CmdCooldownSkip": "Перед повторным использованием удалённого переработчика вам необходимо подождать {0} секунд!\n<size=10>Но вы можете купить пропуск задержки с помощью команды <color=#D1AB9A>/rec buy cd</color> за <color=#D1CBCB>{1}$</color> за каждые 60 секунд</size>", "CmdCooldown": "Перед повторным использованием удалённого переработчика вам необходимо подождать {0} секунд!", "CmdWoundBlock": "Вам запрещено пользоваться удалённым переработчиком в предсмертном состоянии!", "CmdSwimming": "Вам запрещено пользоваться удалённым переработчиком в воде!", "CmdMountBlock": "Вам запрещено пользоваться удалённым переработчиком сидя в данном месте!", "CmdMonumentBlock": "Вам запрещено пользоваться удалённым переработчиком в '{0}'!", "CmdBuildingBlock": "Вам запрещено пользоваться удалённым переработчиком в чужой базе!", "CmdDamageBlock": "Вам запрещено пользоваться удалённым переработчиком при получении урона!", "CmdCombatBlock": "Вам запрещено пользоваться удалённым переработчиком во время боя!", "CmdRaidBlock": "Вам запрещено пользоваться удалённым переработчиком во время рейда!", "CmdAlredyHave": "У вас уже имеется активный удалённый переработчик!", "CmdPurchaseNotLimited": "Вы ещё не исчерпали свой дневной лимит!", "CmdPurchaseHaveExtra": "У вас ещё есть {0} дополнительных использований удалённого переработчика! Используйте их прежде, чем покупать новые.", "CmdPurchaseLimitsNotAllowed": "Покупка дополнительных использований удалённого переработчика недоступна!", "CmdPurchasedLimits": "Вы успешно докупили <color=#D1CBCB>{0}</color> использований удалённого переработчика!\n<size=10>Теперь у вас <color=#D1CBCB>{1}</color> дополнительных использований</size>", "CmdPurchaseNoCooldown": "У вас нет задержки на использование удалённого переработчика!", "CmdPurchaseCooldownNotAllowed": "Покупка пропуска задержки на использование удалённого переработчика недоступна!", "CmdPurchasedCooldown": "Вы успешно купили пропуск на <color=#D1CBCB>{0} секунд</color> задержки для использования удалённого переработчика!\n<size=10>Теперь вам нужно подождать <color=#D1CBCB>{1} секунд</color></size>", "CmdMyLimits": "Ваши лимиты удалённого переработчика:\n\n<color=#D1CBCB>Эффективность</color> - <color=#D1AB9A>{0}%</color>\n<color=#D1CBCB>Эффективность(чертежи)</color> - <color=#D1AB9A>{1}%</color>\n<color=#D1CBCB>Шанс возврата(чертежи)</color> - <color=#D1AB9A>{2}%</color>\n<color=#D1CBCB>Время цикла</color> - <color=#D1AB9A>{3}</color>\n<color=#D1CBCB>Циклов использований</color> - <color=#D1AB9A>{4}</color>\n<color=#D1CBCB>Время задержки</color> - <color=#D1AB9A>{5} сек</color>\n<color=#D1CBCB>Дневной лимит</color> - <color=#D1AB9A>{6}</color>\n\n--------------------------------------------------", "UiRecycleEfficiency": "ЭФФЕКТИВНОСТЬ {0}%, {1} СЕК", "UiRecycleEfficiencyBp": "ЭФФЕКТИВНОСТЬ {0}%, ЧЕРТЕЖИ {2}%, {1} СЕК", "UiSessionLimit": "Циклы переработки: {0}", "BarCooldown": "Задержка переработчика:", "MsgSessionLimit": "Вы превысили лимит в {0} циклов переработки за одно использование." } /rec - Request access to the remote recycler. /rec limits - View your usage limits. /rec buy limits *amount*(optional) - Purchase additional uses of the remote recycler. /rec buy cd *amount*(optional) - Purchase a 60 second(* by amount) cooldown skip for remote recycler. Example: /rec limits /rec buy limits 1 /rec buy limits 0.5
    $14.99
  20. IIIaKa

    Warehouse

    Version 0.1.0.1

    11 downloads

    A multifunctional warehouse system for managing item storage and automated giveaways. Presence of unique dialogues with warehouse keeper that mimic vanilla-style interactions; The ability to create an unlimited number of custom permissions; The ability to configure permissions individually, allowing flexible customization for any preferences; The ability to limit the total number of available storages; The ability to adjust the number of slots for each individual storage; The ability to restrict which items can be stored; The ability to store food items with a configurable spoilage rate(fridge ability) ; Warehouse keepers with automatic spawning in all vanilla safe zones, as well as support for custom spawn points; The ability to customize the appearance of each warehouse keeper; The ability to restrict warehouse access to mission completion(in progress) or payment; The ability to configure a daily storage rent fee calculated based on the number of slots; The ability to apply an extra fine when attempting to renew an expired storage; The ability to automatically move all items from fully expired storages to the giveaway warehouse; The ability to host daily item giveaways(if items are available) ; The ability to preview items from the upcoming giveaway; The ability to define a forbidden item list for the giveaway warehouse; The ability to automatically move all items from players who die in safe zones(offline) to the giveaway warehouse; The ability to transfer dropped items(when disappear) to the giveaway warehouse; The ability to artificially fill the giveaway warehouse if it contains too few items; The ability to fill the giveaway warehouse by transferring items from all existing lootable boxes; The ability to notify players right before a giveaway starts. { "Chat command": "wh", "Is it worth enabling GameTips for messages?": true, "List of language keys for creating language files": [ "en" ], "Date display format": "MM/dd/yyyy hh:mm tt", "Price to skip mission": 200.0, "Storage purchase price": 100.0, "Storage slot purchase price": 50.0, "Storage slot daily rental fee": 10.0, "Interval in seconds for checking rent expiration": 600.0, "Number of hours before the rent expires during which renewal becomes available. A value of 0 disables the limit": 5, "Available slot options for new storage purchase": [ 1, 6, 18, 48 ], "Daily giveaway time. Format: HH:mm": "20:00", "Forced giveaway start upon reaching the specified amount. Note: when there are a large number of items, the server may experience lag.": 480, "Minimum number of items required for the giveaway to take place. A value of 0 disables the limit": 0, "Time in seconds(1–600) before the giveaway starts to notify players": 300.0, "Number of items dropped per second": 16, "Is it worth using lost items(BuriedItems) in the giveaway?": true, "List of forbidden items for giveaways": [ "blood" ], "List of warehouse permissions": [ { "Permission Name": "warehouse.default", "Limit of available storages. A value of 0 disables the limit": 1, "Limit on the number of slots per storage": 6, "Price multiplier for purchasing a storage": 1.0, "Price multiplier for purchasing a storage slot": 1.0, "Price multiplier for storage slot rental": 1.0, "Price multiplier for storage rental in case of delay": 1.5, "Food spoilage multiplier": 1.0, "List of forbidden items to storage": [ "blood" ] }, { "Permission Name": "warehouse.vip", "Limit of available storages. A value of 0 disables the limit": 2, "Limit on the number of slots per storage": 24, "Price multiplier for purchasing a storage": 0.9, "Price multiplier for purchasing a storage slot": 0.9, "Price multiplier for storage slot rental": 0.9, "Price multiplier for storage rental in case of delay": 1.4, "Food spoilage multiplier": 0.5, "List of forbidden items to storage": [ "blood" ] }, { "Permission Name": "realpve.vip", "Limit of available storages. A value of 0 disables the limit": 3, "Limit on the number of slots per storage": 48, "Price multiplier for purchasing a storage": 0.8, "Price multiplier for purchasing a storage slot": 0.8, "Price multiplier for storage slot rental": 0.8, "Price multiplier for storage rental in case of delay": 1.3, "Food spoilage multiplier": 0.0, "List of forbidden items to storage": [ "blood" ] } ], "List of custom spawn positions for Keeper NPCs": [], "List of spawn offsets in monuments for Keeper NPCs": { "compound": { "DisplayName": "Warehouse Keeper", "Force use as a giveaway source. If no sources are available, one will be chosen at random": true, "Position X": -19.28, "Position Y": 0.81, "Position Z": 2.25, "Rotation X": 0.0, "Rotation Y": -0.97, "Rotation Z": 0.02, "Rotation W": -0.25, "The main inventory item": { "ShortName": "spear.cny", "SkinID": 0 }, "The belt inventory item": { "ShortName": "botabag", "SkinID": 0 }, "The wear inventory items": [ { "ShortName": "hazmatsuit.frontier", "SkinID": 0 } ] }, "bandit_town": { "DisplayName": "Warehouse Keeper", "Force use as a giveaway source. If no sources are available, one will be chosen at random": true, "Position X": 11.75, "Position Y": 1.91, "Position Z": -41.14, "Rotation X": 0.08, "Rotation Y": -0.1, "Rotation Z": 0.0, "Rotation W": 1.0, "The main inventory item": { "ShortName": "spear.cny", "SkinID": 0 }, "The belt inventory item": { "ShortName": "botabag", "SkinID": 0 }, "The wear inventory items": [ { "ShortName": "hazmatsuit.frontier", "SkinID": 0 } ] }, "fishing_village_a": { "DisplayName": "Warehouse Keeper", "Force use as a giveaway source. If no sources are available, one will be chosen at random": false, "Position X": -26.76, "Position Y": 2.13, "Position Z": -20.55, "Rotation X": 0.04, "Rotation Y": 0.01, "Rotation Z": 0.0, "Rotation W": 1.0, "The main inventory item": { "ShortName": "spear.cny", "SkinID": 0 }, "The belt inventory item": { "ShortName": "botabag", "SkinID": 0 }, "The wear inventory items": [ { "ShortName": "hazmatsuit.frontier", "SkinID": 0 } ] }, "fishing_village_b": { "DisplayName": "Warehouse Keeper", "Force use as a giveaway source. If no sources are available, one will be chosen at random": false, "Position X": -10.16, "Position Y": 2.02, "Position Z": 20.73, "Rotation X": 0.05, "Rotation Y": -0.85, "Rotation Z": 0.08, "Rotation W": 0.51, "The main inventory item": { "ShortName": "spear.cny", "SkinID": 0 }, "The belt inventory item": { "ShortName": "botabag", "SkinID": 0 }, "The wear inventory items": [ { "ShortName": "hazmatsuit.frontier", "SkinID": 0 } ] }, "fishing_village_c": { "DisplayName": "Warehouse Keeper", "Force use as a giveaway source. If no sources are available, one will be chosen at random": false, "Position X": -3.0, "Position Y": 2.06, "Position Z": 11.47, "Rotation X": 0.06, "Rotation Y": 0.03, "Rotation Z": 0.0, "Rotation W": 1.0, "The main inventory item": { "ShortName": "spear.cny", "SkinID": 0 }, "The belt inventory item": { "ShortName": "botabag", "SkinID": 0 }, "The wear inventory items": [ { "ShortName": "hazmatsuit.frontier", "SkinID": 0 } ] }, "stables_a": { "DisplayName": "Warehouse Keeper", "Force use as a giveaway source. If no sources are available, one will be chosen at random": false, "Position X": 2.47, "Position Y": 3.04, "Position Z": -14.16, "Rotation X": 0.0, "Rotation Y": -0.97, "Rotation Z": 0.02, "Rotation W": -0.25, "The main inventory item": { "ShortName": "spear.cny", "SkinID": 0 }, "The belt inventory item": { "ShortName": "botabag", "SkinID": 0 }, "The wear inventory items": [ { "ShortName": "hazmatsuit.frontier", "SkinID": 0 } ] }, "stables_b": { "DisplayName": "Warehouse Keeper", "Force use as a giveaway source. If no sources are available, one will be chosen at random": false, "Position X": 2.79, "Position Y": 3.0, "Position Z": 29.68, "Rotation X": -0.02, "Rotation Y": -0.73, "Rotation Z": 0.02, "Rotation W": -0.69, "The main inventory item": { "ShortName": "spear.cny", "SkinID": 0 }, "The belt inventory item": { "ShortName": "botabag", "SkinID": 0 }, "The wear inventory items": [ { "ShortName": "hazmatsuit.frontier", "SkinID": 0 } ] } }, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 0 } } EN: { "CmdEconomicsNotEnough": "Not enough funds!", "CmdMain": "Available warehouse commands:\n\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>spawn *name*(optional)</color> - Spawn a Warehouse Keeper at your position\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>kill</color> - Remove the Warehouse Keeper you are looking at\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>name *name*</color> - Change the name of the Warehouse Keeper you are looking at\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway start</color> - Force start the giveaway\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway skip</color> - Force stop the active giveaway\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway set \"HH:mm\"</color> - Set a new daily giveaway time\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway fill *amount*(optional)</color> - Force fill the giveaway with random items\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway clear</color> - Force clear all items from the giveaway storage\n\n--------------------------------------------------", "CmdKeeperNotFound": "Warehouse Keeper not found! You need to be looking directly at them.", "CmdKeeperSpawned": "Warehouse Keeper successfully spawned!", "CmdKeeperKilled": "Warehouse Keeper successfully killed!", "CmdKeeperNamed": "Warehouse Keeper's name successfully changed!", "CmdGiveawayAlreadyActive": "You can't perform this action because a giveaway is already active!", "CmdGiveawayNotActive": "You can't perform this action because no giveaway is currently active!", "CmdGiveawaySetFailed": "Failed to set '{0}' as the new giveaway time. Correct format: HH:mm, e.g. 20:00.", "CmdGiveawaySet": "The value '{0}' has been successfully set as the new giveaway time!", "CmdGiveawayFillStart": "You have successfully started forcibly filling the giveaway storage with {0} random items!", "CmdGiveawayFillFinish": "The giveaway storage has been successfully filled with {0} random items in {1} seconds!", "CmdGiveawayClear": "The giveaway storage has been successfully cleared of all items!", "DialogueNotAllowed": "You do not have permission to access the storage!", "DialogueStranger": "Stranger", "DialogueBtnExit": "I don't think I'm interested. Farewell.", "DialogueInitialMain": "Hello! Have we met before? I don't recall seeing you around here...\nHow can I help you?", "DialogueInitialBtnIntroduction": "My name is {0}. And you? What do you do?", "DialogueInitialBtnExit": "Just passing by. Looking around.", "DialogueIntroductionMain": "My name is {0}, I'm with the Keepers Guild. We're a small group, but present in every safe zone.\nOur job is to ensure the safety of belongings that their owners can no longer protect. We guarantee complete security, you can store absolutely anything with us. Of course, this is a paid service.\n\n{1}, you say? Never heard of you...\nUnfortunately, we don't work with strangers. You can't really rely on them.", "DialogueIntroductionBtnGetMission": "I have some items for storage. How can I prove I'm trustworthy?", "DialogueGetMissionMain": "Hmm... Let me think...\nYou know, there is something.\nWe maintain close ties with the Guild of Wandering Merchants and I have a letter I haven't been able to deliver to them. They usually stop by the water towers.\n\nI could entrust it to you. What do you say?", "DialogueGetMissionBtnStart": "Perfect, I was heading that way anyway. I'm ready to help.", "DialogueGetMissionBtnPay": "I'd love to help, but this task seems too complicated for me.\nHow about I offer ${0} as a goodwill gesture instead?", "DialogueMissionStartedMain": "{0}, good to see you again!\nHow's the task I gave you coming along?", "DialogueMissionStartedBtnCancel": "Sorry, but I can no longer continue your task.", "DialogueMissionStartedBtnExit": "I'm still working on it.", "DialogueMissionCanceledMain": "I'm sorry you couldn't complete my task...", "DialogueMissionCanceledBtnGetMission": "I'm sorry too, but I'd like to prove my reliability once again.", "DialogueMissionCompletedMain": "{0}, you did a great job! I couldn't have managed without you.\nHow can I help you?", "DialogueMissionPayedMain": "${0}?\nHa, now we're speaking the same language.\nHow can I help you?", "DialogueDefaultMain": "Greetings, {0}! Long time no see. How can I help you?", "DialogueDefaultBtnForbiddenList": "I'd like to know which items are forbidden from being stored.", "DialogueDefaultBtnStorageList": "I'd like to check my storage.", "DialogueDefaultBtnGiveaway": "I'd like to know about item giveaways.", "DialogueForbiddenListMain": "Here's a list of items you're unfortunately not allowed to store:\n\n{0}", "DialogueStorageListMain": "Would you like to open one of your storages or acquire a new one?", "DialogueStorageListBtnStorageBuy": "Get new storage.", "DialogueStorageListBtnOpenStorage": "Open '{0}' with {1} slot(s).", "DialogueStorageListBtnBack": "Maybe next time.", "DialogueStorageBuyMain": "Great! Which purchase method would you prefer?\n\nThe price to purchase storage: ${0}\nThe price to purchase one slot: ${1}\nDaily maintenance fee per slot: ${2}\n\nKeep in mind that the size of any storage can be adjusted at any time, from 1 to 48 slots.", "DialogueStorageBuyOutLimit": "It looks like you've already used up your available storage limit.", "DialogueStorageBuyBtnBuy": "Purchase storage with {0} slot(s) for ${1}.", "DialogueStorageBuyBtnBack": "Maybe next time.", "DialogueGiveawayMain": "We regularly hold giveaways of unwanted and lost items.\nUsually, these include:\n- items from storages with expired rent\n- items left behind by players who left the game in a safe zone\n- items lost during battles\n\nThe next giveaway is scheduled for {0}(UTC), in {1}!\nHowever, the giveaway may start earlier if the number of items exceeds {2}.\nMake sure to come, you might get lucky and grab something valuable!", "DialogueGiveawayMainActive": "We regularly hold giveaways of unwanted and lost items.\nUsually, these include:\n- items from storages with expired rent\n- items left behind by players who left the game in a safe zone\n- items lost during battles\n\nThe giveaway is in full swing! If you don't want to miss out, hurry to {0}({1})!", "DialogueGiveawayBtnShow": "I'd like to know what items will be in the upcoming giveaway.", "DialogueGiveawayBtnBack": "Maybe next time.", "GiveawayStorageName": "Giveaway Storage", "GiveawayStartNotEnough": "Unfortunately, there weren't enough items collected for the giveaway. Don't miss the next giveaway, which will take place in {0}(UTC)!", "GiveawayStartAnnounce": "The item giveaway will start soon!\nEveryone, hurry to {0}({1})! Only {2} seconds left!", "GiveawayPauseAnnounce": "{0} items have been successfully given away! But that's not all! We still have more items left, we'll continue in {1} seconds!", "GiveawayEndAnnounce": "The item giveaway has ended! Over {0} items were given away! Don't miss the next giveaway, which will take place in {1}(UTC)!", "UiStorageUntil": "Until: {0}(UTC)", "UiStorageExpired": "Rent expired", "UiStorageNote": "Slot purchase price: ${1}.\nDaily rent per slot: ${2}.\nCurrent daily rent cost: ${3}.", "UiStorageNoteRestricted": "<b>Note:</b> You can only pay rent up to {0}h before it expires.\nSlot purchase price: ${1}, daily rent per slot: ${2}.\nCurrent daily rent cost: ${3}.", "UiStorageRental": "Pay Rent", "UiStorageRentPayed": "You have successfully paid the storage rent!", "UiStorageSlotsOcupied": "You can't reduce the number of slots because one of the reduced slots contains an item!", "UiStorageSlotsAdjusted": "The number of slots has been changed from {0} to {1}!" } RU: { "CmdEconomicsNotEnough": "Не достаточно средств!", "CmdMain": "Доступные команды хранилища:\n\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>spawn *имя*(опционально)</color> - Создать хранителя хранилища на вашей позиции\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>kill</color> - Удалить хранителя хранилища, на которого вы смотрите\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>name *имя*</color> - Изменить имя хранителя хранилища, на которого вы смотрите\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway start</color> - Принудительно начать раздачу\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway skip</color> - Принудительно остановить активную раздачу\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway set \"HH:mm\"</color> - Установить новое время ежедневной раздачи\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway fill *количество*(опционально)</color> - Принудительно заполнить раздачу случайными вещами\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway clear</color> - Принудительно очистить раздачу от всех вещей\n\n--------------------------------------------------", "CmdKeeperNotFound": "Хранитель хранилища не найден! Вам необходимо смотреть прямо на него.", "CmdKeeperSpawned": "Хранитель хранилища успешно создан!", "CmdKeeperKilled": "Хранитель хранилища успешно удалён!", "CmdKeeperNamed": "Имя хранителя хранилища успешно изменено!", "CmdGiveawayAlreadyActive": "Вы не можете выполнить это действие, так как уже идет активная раздача предметов!", "CmdGiveawayNotActive": "Вы не можете выполнить это действие, так как раздача предметов не активна!", "CmdGiveawaySetFailed": "Не удалось установить '{0}' в качестве нового времени для раздачи. Правильный формат: HH:mm, пример 20:00.", "CmdGiveawaySet": "Значение '{0}' успешно установлено в качестве нового времени для раздачи!", "CmdGiveawayFillStart": "Вы успешно начали принудительное заполнение хранилища для раздач {0} случайными предметами!", "CmdGiveawayFillFinish": "Хранилище для раздач успешно заполнено {0} случайными предметами за {1} секунд!", "CmdGiveawayClear": "Хранилище для раздач успешно очищено от всех предметов!", "DialogueNotAllowed": "У вас недостаточно прав для использования хранилища!", "DialogueStranger": "Незнакомец", "DialogueBtnExit": "Думаю, мне это неинтересно. Прощайте.", "DialogueInitialMain": "Привет! Мы раньше встречались? Что-то не припоминаю, чтобы видел вас здесь...\nЧем могу помочь?", "DialogueInitialBtnIntroduction": "Меня зовут {0}. А вы кто? Чем занимаетесь?", "DialogueInitialBtnExit": "Я просто прохожу мимо. Осматриваюсь.", "DialogueIntroductionMain": "Меня зовут {0}, я из Гильдии Хранителей. Нас немного, но мы есть в каждой безопасной зоне.\nНаша задача — обеспечивать сохранность вещей, которые их владельцы не в силах защитить самостоятельно. Мы гарантируем полную безопасность, у нас можно оставить абсолютно любые предметы. Разумеется, это платная услуга.\n\n{1}, говорите? Никогда о вас не слышал...\nК сожалению, мы не работаем с незнакомцами. На таких нельзя полагаться.", "DialogueIntroductionBtnGetMission": "У меня есть несколько вещей для хранения. Как я могу доказать свою надёжность?", "DialogueGetMissionMain": "Хм... Дайте-ка подумать... Знаете, есть одно дельце.\nМы поддерживаем тесные связи с Гильдией странствующих торговцев, и у меня есть письмо, которое я никак не могу им передать. Они обычно останавливаются на водокачках.\nЯ мог бы поручить это вам. Что скажете?", "DialogueGetMissionBtnStart": "Отлично, мне как раз по пути. Я готов помочь.", "DialogueGetMissionBtnPay": "Я бы с радостью помог, но это для меня слишком сложное задание.\nКак насчёт {0}$ от меня, так сказать, в знак доброй воли?", "DialogueMissionStartedMain": "{0}, рад вас снова видеть!\nКак продвигается выполнение моего поручения?", "DialogueMissionStartedBtnCancel": "Извините, но я больше не могу продолжать выполнение вашего задания.", "DialogueMissionStartedBtnExit": "Я всё ещё работаю над этим.", "DialogueMissionCanceledMain": "Мне жаль, что вы не смогли выполнить моё поручение...", "DialogueMissionCanceledBtnGetMission": "Мне тоже жаль, но я хотел бы ещё раз доказать свою надёжность.", "DialogueMissionCompletedMain": "{0}, ты просто молодец! Без тебя я бы точно не справился.\nЧем могу быть полезен?", "DialogueMissionPayedMain": "{0}$? Ха, теперь мы говорим на одном языке.\nЧем могу быть полезен?", "DialogueDefaultMain": "Приветствую, {0}! Давненько не виделись. Чем могу быть полезен?", "DialogueDefaultBtnForbiddenList": "Я бы хотел узнать, какие вещи запрещено сдавать на хранение.", "DialogueDefaultBtnStorageList": "Я бы хотел заглянуть в своё хранилище.", "DialogueDefaultBtnGiveaway": "Я бы хотел узнать о раздаче вещей.", "DialogueForbiddenListMain": "Вот список вещей, которые, к сожалению, вам нельзя сдавать на хранение:\n\n{0}", "DialogueStorageListMain": "Хотите открыть одно из ваших хранилищ или оформить новое?", "DialogueStorageListBtnStorageBuy": "Оформить новое хранилище.", "DialogueStorageListBtnOpenStorage": "Открыть '{0}' на {1} слот(ов).", "DialogueStorageListBtnBack": "Пожалуй, в другой раз.", "DialogueStorageBuyMain": "Прекрасно! Какой способ покупки вас интересует?\n\nСтоимость покупки хранилища: {0}$\nСтоимость покупки одного слота: {1}$\nЕжедневная плата за обслуживание одного слота: {2}$\n\nУчтите, что объём любого хранилища можно изменять в любое время, от 1 до 48 слотов.", "DialogueStorageBuyOutLimit": "Похоже, вы уже использовали весь доступный лимит хранилищ.", "DialogueStorageBuyBtnBuy": "Приобрести хранилище на {0} слот(ов) за {1}$.", "DialogueStorageBuyBtnBack": "Пожалуй, в другой раз.", "DialogueGiveawayMain": "У нас регулярно проходят раздачи ненужного и потерянного имущества.\nОбычно это:\n- предметы из хранилищ, за которые не была вовремя оплачена аренда\n- предметы, оставшиеся у игроков, покинувших игру в безопасной зоне\n- утраченные во время боёв предметы\n\nСледующая раздача намечена на {0}(UTC), до раздачи осталось {1}!\nОднако раздача может начаться и раньше, если количество предметов превысит {2}.\nОбязательно приходите, возможно, вам повезёт урвать что-нибудь ценное!", "DialogueGiveawayMainActive": "У нас регулярно проходят раздачи ненужного и потерянного имущества.\nОбычно это:\n- предметы из хранилищ, за которые не была вовремя оплачена аренда\n- предметы, оставшиеся у игроков, покинувших игру в безопасной зоне\n- утраченные во время боёв предметы\n\nРаздача в самом разгаре! Если не хотите пропустить, срочно приходите в {0}({1})!", "DialogueGiveawayBtnShow": "Я бы хотел узнать, какие вещи будут в грядущей раздаче.", "DialogueGiveawayBtnBack": "Пожалуй, в другой раз.", "GiveawayStorageName": "Хранилище раздачи", "GiveawayStartNotEnough": "К сожалению для раздачи не набралось достаточного количества предметов. Не упустите следующую раздачу, которая будет в {0}(UTC)!", "GiveawayStartAnnounce": "Раздача вещей скоро начнётся!\nВсем срочно в {0}({1})! До начала осталось {2} секунд!", "GiveawayPauseAnnounce": "Было успешно роздано {0} вещей! Но это ещё не всё! У нас остались ещё вещи, продолжим через {1} секунд!", "GiveawayEndAnnounce": "Раздача вещей завершена! В раздаче было свыше {0} предметов! Не упустите следующую раздачу, которая будет в {1}(UTC)!", "UiStorageUntil": "До: {0}(UTC)", "UiStorageExpired": "Аренда просрочена", "UiStorageNote": "Покупка слота: {1}$.\nЕжедневная аренда за слот: {2}$.\nТекущая стоимость ежедневной аренды: {3}$.", "UiStorageNoteRestricted": "<b>Примечание:</b> продлить аренду можно только за {0}ч до её истечения.\nПокупка слота: {1}$, ежедневная аренда за слот: {2}$.\nТекущая стоимость ежедневной аренды: {3}$.", "UiStorageRental": "Оплатить аренду", "UiStorageRentPayed": "Вы успешно продлили аренду хранилища!", "UiStorageSlotsOcupied": "Вы не можете уменьшить количество слотов, так как один из уменьшенных слотов содержит предмет!", "UiStorageSlotsAdjusted": "Количество слотов было изменено с {0} до {1}!" } To access the commands, you must have the "warehouse.admin" permission. spawn *name*(optional) - Spawn a Warehouse Keeper at your position; kill - Remove the Warehouse Keeper you are looking at; name *name* - Change the name of the Warehouse Keeper you are looking at; giveaway start - Force start the giveaway; giveaway skip - Force stop the active giveaway; giveaway set "HH:mm" - Set a new daily giveaway time; giveaway fill *amount*(optional) - Force fill the giveaway with random items; giveaway clear - Force clear all items from the giveaway storage. Example: /wh spawn "Custom Keeper" /wh giveaway start /wh giveaway set "21:30" /wh giveaway fill 124
    $30.00
  21. IIIaKa

    Real PvE

    Version 0.1.23

    1,573 downloads

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

    WarnMenu

    Version 0.1.4

    49 downloads

    What is it? A nice user-friendly warning system Usage When someone is breaking rules or trolling others just warn them, you can also set a command that will be executed through server console that will get executed upon reachin certain amount of warnings (can be configured in cfg) Permissions warnmenu.use -- Gives you full control to operate the WarnMenu Chat command /warn -- Opens the WarnMenu /warn "Name/SteamID" "Warning reason" -- Warns the specified player with your reason /warnmenu.save -- Force the plugin to write the data from memory to the data file /wmessage <NameOrID | * > <message> - Shows a gametip message (Doesn't count as a warning) to specific player or to all players when you put * instead of the name Data files All Data files can be located at: \oxide\data\WarnMenu\warns There you can find all the warnings for each player Features WarnMenu features * Online Tab - In this tab you can easily select any online player that you want to warn * Search All Tab - Once you open this tab, there you can see all the players and browse in them * Find player Tab - When you click on the button you will be able to search for a specific player using his Name or SteamID Warn Types * CUI-Based - A CUI warning message will pop-up on player's screen when he gets warned * Chat-Based - A chat message will pop-up in player's chat when he gets warned Executable commands * On reaching certain amount of warnings, you can make the server execute a command on a player(configurable in cfg) F.e.: "1": "say {0} just reached 1 warning! SHAME on him!", "3": "kick {0} Kicked for reaching 3 warnings", Localization { "Syntax": "Commands:\n/report (Opens Reporter GUI)", "CUI Online": "Online Players", "CUI Player": "Player: {0}", "CUI SteamID": "SteamID64: {0}", "CUI Warnings": "Warnings: <color=#8f1919>{0}</color>", "CUI NewWarn": "New\nWarning", "CUI WarningID": "Warning ID: {0}", "CUI WarnedBy": "Warned by: {0}", "CUI Date": "Date: {0}", "CUI Reason": "Reason: \n{0}", "CUI Remove": "Remove", "CUI Close": "close", "CUI Warn": "Warn", "CUI WarnAddMenuPlayer": "Warning for\n<color=#d43939>{0}</color>", "CUI SearchAll": "Search All", "CUI SelectPlayer": "Select a player to warn:", "CUI Find": "Find player", "CUI Find2": "Select", "CUI Find3": "Find player:\n(steamID/Name)", "CUI CantFindPlayer": "Couldn't find the player\nsearching argument: {0}", "CUI FoundPlayer": "Found player: {0}", "CUI Refresh": "Refresh", "CantFindPlayer": "Couldn't find that player", "WarnMessage": "Warned: <color=#8f1919>{0}</color>\nReason: {1}", "JoinMessage": "{0} has joined with <color=#8f1919>{1}</color> warnings", "WarnReceive": "You have received a <color=#8f1919>warning</color>\nBy: {0}\nReason: {1}", "CUI WarnReceive": "<color=#8f1919>Warning</color>\nreceived", "CUI WarnReceive2": "By: {0}\nReason: {1}" } Configuration { "Announce on join with warnings?(to admins)": true, "Execute commands on reaching count:": { "Enabled?": true, "(Format: 5 : mute {0}) where 5 is number of warns and {0} is player's id": { "5": "say {0} just reached 5 warnings! SHAME on him!", "7": "example.command {0}", "10": "example.command {0}" } }, "Warn message settings": { "Text-based warn message?": true, "CUI-based warn message?": true, "How long until CUI message gets removed (secs)": 5.0 } }
    $10.00
  23. Version 2.4.1

    6 downloads

    PinataEvent Author: MEMUARE Version: 2.4.1 Game: Rust Type: Automated World Event Description PinataEvent is a fully automated global event system that spawns a special Pinata attached to a tree. Players must find and destroy the pinata to receive valuable loot. The event runs automatically every 3–4 hours (random) and also supports manual admin control. Core Features Fully automatic event system Random spawn interval (3–4 hours by default) Safe biome protection (no desert, snow, rocks, water, monuments) Automatic removal of old Pinata before new spawn Native Rust HUD notification (no UI plugins required) Sound effects around the Pinata Configurable loot system Admin-only commands Multi-language support (EN + RU) Commands /pinata.start Admin force start the event /pinata.tp Admin teleport to the active Pinata Configuration { "AutoStartEnabled": true, "AutoStartMinMinutes": 180.0, "AutoStartMaxMinutes": 240.0, "Loot": [ { "shortname": "sulfur", "min": 1000, "max": 1000, "chance": 100.0 }, { "shortname": "metal.fragments", "min": 500, "max": 500, "chance": 100.0 } ] } Added Console commands: pinata.start - Console command for event start pinata.stop - Console command for event stop Added Winner Detection System Automatically detects the player who destroyed the pinata Full API Hook support for other plugins OnPinataEventStarted OnPinataEventEnded OnPinataEventWinner(BasePlayer player) Safety & Stability Proper cleanup on plugin unload enableSaving = false for spawned entities
    $12.99
  24. Version 2.3.2

    14 downloads

    Author: MEMUARE Type: BuildBlock / Deployables / repair Version: 2.3.1 Lang files included : (RU/ENG) Description Advanced Softcore Base Destruction System for Rust Vanilla servers SoftBuild is an advanced softcore system for Rust servers that changes how base destruction works — without breaking vanilla mechanics. The plugin is designed to make raids less destructive, bases more recoverable, and gameplay fairer and more controlled, while still rewarding raiders. System Features After a cupboard is destroyed, the people registered in it don't lose their building privileges. Raiders can't install their own cupboard and ruin your house. After a raid, attackers won't be able to steal your deployables; they can only break them. The house owner is given N amount of time to restore broken deployables. Deployables remember their skinid to restore their skin when repaired. The visual appearance of cupboard debris depends on the cupboard's skin. Why SoftBuild? Reduce raid frustration Give players a recovery window Keep raids rewarding, not destructive Maintain the vanilla Rust feeling Configuration You can configure how long broken cupboard and deployables will stay in place. Ability to disable certain deployables to restore them. { "CleanupTimeSeconds": 86400.0, "SoftDeployables": { "Enabled": true, "Deployables": { "assets/prefabs/deployable/bed/bed_deployed.prefab": { "Enabled": true, "CorpsePrefab": "assets/prefabs/deployable/bed/bed_deployed.corpse.prefab" },
    $19.99
  25. Version 2.2.2

    11 downloads

    Author: MEMUARE Type: NPC / Teleport / Safe Zones Version: 2.2.0 Lang files included (RU/ENG) Description Ranger adds special NPCs to all Safe Zones, allowing players to safely teleport between them using a clean, immersive dialogue UI. Teleport cost is calculated dynamically based on real distance between NPCs —the farther you travel, the more expensive it is. The plugin works on any map seed, supports all Safe Zone variations, and is fully configurable. Perfect for vanilla+, hardcore, RP, and custom servers. Supported Safe Zones Outpost Bandit Camp Fishing Villages Stables The plugin automatically detects all existing monuments on the map. Teleport Price System Teleport cost is calculated as: BasePrice + (Distance × PricePerMeter) With limits: Minimum price Maximum price All values are configurable. Configuration NPC positions are fully configurable Includes in-game admin save command { "BasePrice": 50, "PricePerMeter": 0.05, "MinPrice": 50, "MaxPrice": 500, "NpcSpawns": { "outpost": { "X": 7.21, "Z": 46.31, "YRotation": 180 }, "bandit": { "X": -28.59, "Z": -3.05, "YRotation": 90 } } } Admin Command Type this command for local offsets , than copy parameters from log or console for typing them in config Save NPC position relative to monument (works on any seed): /ranger.save outpost /ranger.save bandit /ranger.save fishing_village_a /ranger.save fishing_village_b /ranger.save fishing_village_c /ranger.save stables_b /ranger.save stables_a Support If you have any questions or need help — feel free to contact me.
    $19.99
2.2m

Downloads

Total number of downloads.

10.3k

Customers

Total customers served.

148.2k

Files Sold

Total number of files sold.

3.2m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

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