Search the Community
Showing results for tags 'plugins'.
-
Version 0.1.23
1,673 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? 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? loot_privilege *stringValues* - Entities spawned by the server allowed to be looted in someone else's building privilege zone(None, Wood, Ore, Flesh, Collectible, All) ; 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; ignore *nameOrID* *boolValue* - Add or remove a player from the monument entry ignore list; *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 config loot_privilege wood, ore /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- 117 comments
- 3 reviews
-
- 3
-
-
- #rust
- #real
-
(and 56 more)
Tagged with:
- #rust
- #real
- #pve
- #pvp
- #solo
- #build
- #friendly
- #raid
- #npc
- #monument
- #monuments
- #loot
- #looting
- #farm
- #newbie
- #custom
- #bar
- #ui
- #cui
- #panel
- #vehicle
- #claim
- #limit
- #limits
- #sleeping
- #bag
- #sleeping bag
- #bed
- #shelter
- #permission
- #permissions
- #vip
- #economy
- #economics
- #rad
- #town
- #radtown
- #queue
- #bypass
- #vehicles
- #raidable
- #base
- #bases
- #raidablebases
- #raider
- #raiders
- #humannpc
- #event
- #events
- #copy
- #paste
- #copypaste
- #plugin
- #plugins
- #umod
- #oxide
- #carbon
- #iiiaka
-
Version 0.1.8
1,129 downloads
Useful plugin for managing temporary permissions, temporary groups and temporary permissions for groups. This is done through chat commands, built-in Oxide commands, and API methods. Note: The dates is in UTC format. The ability to grant players temporary permissions by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to add players to temporary groups by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to grant groups temporary permissions by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to revoke temporary permissions from players and groups prematurely; The ability to remove players from groups prematurely; The ability to perform all the above actions using existing and familiar console commands(e.g., o.grant), simply by adding the number of seconds, the expiration date or the word "wipe" at the end; The ability to perform all the above actions using a chat command (by default /tperm); The ability to perform all the above actions using API methods; The ability to remove all temporary permissions and groups upon wipe detection. temporarypermissions.admin - Grants access to the admin command(by default /tperm). { "Chat command": "myperm", "Chat admin command": "tperm", "Is it worth enabling GameTips for messages?": true, "List of language keys for creating language files": [ "en" ], "Is it worth saving logs to a file?": true, "Is it worth using console logging?": true, "Interval in seconds for expiration check": 1.0, "Interval in seconds for checking the presence of temporary permissions and temporary groups. A value of 0 disables the check": 600.0, "Is it worth restoring removed temporary permissions and temporary groups if the timer hasn't expired? There are cases where removal cannot be tracked in the usual way": true, "Is it worth revoking temporary permissions and temporary groups when unloading the plugin, without removing them from the data file?": true, "Is it worth revoking temporary permissions and temporary groups that haven't expired yet upon detecting a wipe?": false, "Custom wipe date(detected only during initialization). Only required if you're experiencing issues with the Wipe ID. Leave empty to use the Wipe ID. Example: 2025-06-25 13:00": "", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } EN: { "CmdAdmin": "Available admin commands:\n\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip wipe</color> - Grants or extends the specified permission for the specified player until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip *intValue* *boolValue*(optional)</color> - Grants or extends the specified permission for the specified player for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip *expirationDate* *assignmentDate*(optional)</color> - Grants or extends the specified permission for the specified player until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip wipe</color> - Grants or extends the specified permission for the specified group until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip *intValue* *boolValue*(optional)</color> - Grants or extends the specified permission for the specified group for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip *expirationDate* *assignmentDate*(optional)</color> - Grants or extends the specified permission for the specified group until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke user *nameOrId* realpve.vip</color> - Revokes the specified permission from the specified player\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke group *groupName* realpve.vip</color> - Revokes the specified permission from the specified group\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* wipe</color> - Adds or extends the specified player's membership in the specified group until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* *intValue* *boolValue*(optional)</color> - Adds or extends the specified player's membership in the specified group for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* *expirationDate* *assignmentDate*(optional)</color> - Adds or extends the specified player's membership in the specified group until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>remove *nameOrId* *groupName*</color> - Removes the specified player from the specified group\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe *wipeDate*</color> - Set a custom wipe date. Used in case of issues with the Wipe ID. Format: yyyy-MM-dd HH:mm\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe reset</color> - Reset the custom wipe date\n\n<color=#D1CBCB>Optional values:</color>\n*boolValue* - If false(default) and an existing permission or group membership has not expired, the specified time will be added to the existing time. Otherwise, including when true, the specified time will be counted from the current time\n*assignmentDate* - If the assignment date is not specified and there is no existing permission or group membership, the assignment date will be set to the current time. If the assignment date is specified, it will be applied regardless of existing permissions or group memberships\n\n--------------------------------------------------", "CmdPermissionNotFound": "Permission '{0}' not found!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found for '{0}': {1}", "CmdGroupNotFound": "Group '{0}' not found!", "CmdGrantWrongFormat": "Incorrect command format! Example: /tperm grant user/group *nameOrId* realpve.vip *secondsOrDateTime*", "CmdRevokeWrongFormat": "Incorrect command format! Example: /tperm revoke user/group *nameOrId* realpve.vip", "CmdUserGroupWrongFormat": "Incorrect command format! Example: /tperm group add/remove *nameOrId* *groupName*", "CmdUserGranted": "Permission '{0}' granted to player '{1}'.", "CmdGroupGranted": "Permission '{0}' granted to group '{1}'.", "CmdUserGroupAdded": "Player '{0}' has been added to group '{1}'.", "CmdUserRevoked": "Permission '{0}' has been revoked for player '{1}'.", "CmdGroupRevoked": "Permission '{0}' has been revoked for group '{1}'.", "CmdUserGroupRemoved": "Player '{0}' has been removed from group '{1}'.", "CmdWipeNew": "New wipe date successfully set to '{0}'. The wipe will take effect only after the plugin is loaded following this date.", "CmdWipeReset": "The custom wipe date has been reset. The wipe is now determined by the Wipe ID.", "CmdWipeFailed": "The specified date '{0}' has an invalid format(yyyy-MM-dd HH:mm) or has already passed. Example: '{1}'.", "CmdCheckNoActive": "You have no active temporary permissions or temporary groups!", "CmdCheckTargetNoActive": "Player '{0}' has no active temporary permissions or temporary groups!", "CmdCheckPermissions": "<color=#D1AB9A>You have {0} temporary permissions(time in UTC):</color>\n{1}", "CmdCheckGroups": "<color=#D1AB9A>You have {0} temporary groups(time in UTC):</color>\n{1}", "CmdCheckTargetPermissions": "<color=#D1AB9A>Player '{2}' has {0} temporary permissions(time in UTC):</color>\n{1}", "CmdCheckTargetGroups": "<color=#D1AB9A>Player '{2}' has {0} temporary groups(time in UTC):</color>\n{1}", "CmdCheckFormatPermissions": "'{0}' - {1}({2})", "CmdCheckFormatGroups": "'{0}' - {1}({2})", "CmdUntilWipe": "Until Wipe" } RU: { "CmdAdmin": "Доступные админ команды:\n\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip wipe</color> - Выдать или продлить указанный пермишен указанному игроку до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Выдать или продлить указанный пермишен указанному игроку на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip *датаИстечения* *датаНазначения*(опционально)</color> - Выдать или продлить указанный пермишен указанному игроку до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip wipe</color> - Выдать или продлить указанный пермишен указанной группе до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Выдать или продлить указанный пермишен указанной группе на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip *датаИстечения* *датаНазначения*(опционально)</color> - Выдать или продлить указанный пермишен указанной группе до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke user *имяИлиАйди* realpve.vip</color> - Снять указанный пермишен у указанного игрока\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke group *имяГруппы* realpve.vip</color> - Снять указанный пермишен у указанной группы\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* wipe</color> - Добавить или продлить пребывание в указанной группе указанному игроку до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Добавить или продлить пребывание в указанной группе указанному игроку на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* *датаИстечения* *датаНазначения*(опционально)</color> - Добавить или продлить пребывание в указанной группе указанному игроку до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>remove *имяИлиАйди* *имяГруппы*</color> - Отменить пребывание в указанной группе указанному игроку\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe *датаВайпа*</color> - Установка кастомной даты вайпа. Используется при проблемах с Wipe ID. Формат: yyyy-MM-dd HH:mm\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe reset</color> - Сброс кастомной даты вайпа\n\n<color=#D1CBCB>Опциональные значения:</color>\n*булевоеЗначение* - Если false(по умолчанию) и существующий пермишен или группа не истекли, указанное время будет добавлено к существующему времени. В противном случае, в т.ч. при true, указанное время будет отсчитываться от текущего времени\n*датаНазначения* - Если дата назначения не указана и нет существующего пермишена или группы, дата назначения будет равна текущей. Если дата назначения указана, то вне зависимости от существования пермишенов или групп, присвоится указанная дата\n\n--------------------------------------------------", "CmdPermissionNotFound": "Пермишен '{0}' не найден!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "По значению '{0}' найдено несколько игроков: {1}", "CmdGroupNotFound": "Группа '{0}' не найдена!", "CmdGrantWrongFormat": "Не верный формат команды! Пример: /tperm grant user/group *имяИлиАйди* realpve.vip *секундыИлиДата*", "CmdRevokeWrongFormat": "Не верный формат команды! Пример: /tperm revoke user/group *имяИлиАйди* realpve.vip", "CmdUserGroupWrongFormat": "Не верный формат команды! Пример: /tperm group add/remove *имяИлиАйди* *имяГруппы*", "CmdUserGranted": "Пермишен '{0}' выдан игроку '{1}'.", "CmdGroupGranted": "Пермишен '{0}' выдан группе '{1}'.", "CmdUserGroupAdded": "Игрок '{0}' был добавлен в группу '{1}'.", "CmdUserRevoked": "Пермишен '{0}' был удален для игрока '{1}'.", "CmdGroupRevoked": "Пермишен '{0}' был удален для группы '{1}'.", "CmdUserGroupRemoved": "Игрок '{0}' был удален из группы '{1}'.", "CmdWipeNew": "Новая дата вайпа успешно установлена на '{0}'. Вайп вступит в силу только при загрузке плагина после этой даты.", "CmdWipeReset": "Кастомная дата вайпа была сброшена. Вайп снова определяется по Wipe ID.", "CmdWipeFailed": "Указанная дата '{0}' имеет неверный формат(yyyy-MM-dd HH:mm) или уже прошла. Пример: '{1}'.", "CmdCheckFormatGroups": "'{0}' - {1}({2})", "CmdCheckNoActive": "У вас нет активных временных пермишенов или временных групп!", "CmdCheckTargetNoActive": "У игрока '{0}' нет активных временных пермишенов или временных групп!", "CmdCheckPermissions": "<color=#D1AB9A>У вас есть {0} временных пермишенов(время по UTC):</color>\n{1}", "CmdCheckGroups": "<color=#D1AB9A>У вас есть {0} временных групп(время по UTC):</color>\n{1}", "CmdCheckTargetPermissions": "<color=#D1AB9A>У игрока '{2}' есть {0} временных пермишенов(время по UTC):</color>\n{1}", "CmdCheckTargetGroups": "<color=#D1AB9A>У игрока '{2}' есть {0} временных групп(время по UTC):</color>\n{1}", "CmdCheckFormatPermissions": "'{0}' - {1}({2})", "CmdUntilWipe": "До вайпа" } /myperm - Displays a list of all your temporary permissions and temporary groups; /myperm *NameOrId* - Displays a list of all temporary permissions and temporary groups of the specified player. Permission "temporarypermissions.admin" required. Admin commands(/tperm). Permission "temporarypermissions.admin" required: grant - Grants a temporary permission to a player or group. user *NameOrId* realpve.vip wipe - Grants a temporary permission to a player until the next wipe by specifying the player's name or Id, the permission name and the word "wipe"; *NameOrId* realpve.vip 3600 true/false - Grants a temporary permission to a player by specifying the player's name or Id, the permission name, the number of seconds and true/false(optional). If false(default) and an existing permission has not expired, the specified time will be added to the existing time. Otherwise, including when true, the specified time will be counted from the current time; *NameOrId* realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" - Grants a temporary permission to a player by specifying the player's name or Id, the permission name, the expiration date and the assigned date(optional). If the assignment date is not specified and there is no existing permission, the assignment date will be set to the current time. If the assignment date is specified, it will be applied regardless of existing permissions. group *GroupName* realpve.vip wipe - Grants a temporary permission to a group until the next wipe by specifying the group's name, the permission name and the word "wipe"; *GroupName* realpve.vip 3600 true/false - Grants a temporary permission to a group by specifying the group's name, the permission name, the number of seconds, and true/false(optional). If false(default) and an existing group membership has not expired, the specified time will be added to the existing time. Otherwise, including when true, the specified time will be counted from the current time; *GroupName* realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" - Grants a temporary permission to a group by specifying the group's name, the permission name, the expiration date and the assigned date(optional). If the assignment date is not specified and there is no existing group membership, the assignment date will be set to the current time. If the assignment date is specified, it will be applied regardless of existing group memberships. revoke - Revokes a temporary permission from a player or group. user *NameOrId* realpve.vip - Revokes a temporary permission from a player by specifying the player's name or Id and the permission name; group *GroupName* realpve.vip - Revokes a temporary permission from a group by specifying the group's name and the permission name. add - Temporary addition of a player to a group. *NameOrId* *GroupName* wipe - Temporary addition of a player to a group until the next wipe by specifying the player's name or Id, the group name and the word "wipe"; *NameOrId* *GroupName* 3600 true/false - Temporary addition of a player to a group by specifying the player's name or Id, the group name, the number of seconds, and true/false(optional). If true, the specified seconds will count from the current moment, otherwise(default), they will be added to the existing time; *NameOrId* *GroupName* "2024-08-19 17:57" "2024-08-19 16:57" - Temporary addition of a player to a group by specifying the player's name or Id, the group name, the expiration date and the assigned date(optional). If not specified, the assigned date will default to the current date, otherwise, it will be set to the provided date. remove *NameOrId* *GroupName* - Removal of a player from a temporary group by specifying the player's name or Id and the group name. wipe - Setting a custom wipe date. Used if you're experiencing issues with using the Wipe ID. *wipeDate* - Set a custom wipe date(yyyy-MM-dd HH:mm). Used in case of issues with the Wipe ID; reset - Reset the custom wipe date. Example: /tperm grant user iiiaka realpve.vip wipe /tperm grant user iiiaka realpve.vip 3600 true /tperm grant user iiiaka realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" /tperm wipe "2025-06-25 13:00" Note: To access the commands, the player must be an admin(console or owner) or have the temporarypermissions.admin permission. P.S. Templates for the commands above can also be used with existing console commands. For example: o.grant user iiiaka realpve.vip 3600 true All developer documentation can be found in the Docs section.Free -
Version 0.1.10
1,566 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": 10 } } 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!"); } Monument entry 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}"); } Monument exit 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 29 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>()); GetMonumentPlayersNoAlloc: Used to fill your existing list with players located in the specified monument. Returns true if at least one player is added, otherwise null. To call the GetMonumentPlayersNoAlloc method, you need to pass 2 parameters: monumentID as a string; list as List<BasePlayer>. (bool)(MonumentsWatcher?.Call("GetMonumentPlayersNoAlloc", monumentID, yourList) ?? false); MonumentsWatcher?.Call("GetMonumentPlayersNoAlloc", monumentID, yourList); 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>()); GetMonumentNpcsNoAlloc: Used to fill your existing list with npcs located in the specified monument. Returns true if at least one npc is added, otherwise null. To call the GetMonumentNpcsNoAlloc method, you need to pass 2 parameters: monumentID as a string; list as List<BasePlayer>. (bool)(MonumentsWatcher?.Call("GetMonumentNpcsNoAlloc", monumentID, yourList) ?? false); MonumentsWatcher?.Call("GetMonumentNpcsNoAlloc", monumentID, yourList); 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>()); GetMonumentEntitiesNoAlloc: Used to fill your existing list with entities located in the specified monument. Returns true if at least one entity is added, otherwise null. To call the GetMonumentEntitiesNoAlloc method, you need to pass 2 parameters: monumentID as a string; list as List<BaseEntity>. (bool)(MonumentsWatcher?.Call("GetMonumentEntitiesNoAlloc", monumentID, yourList) ?? false); MonumentsWatcher?.Call("GetMonumentEntitiesNoAlloc", monumentID, yourList); 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 -
Version 3.1.3
47,197 downloads
Create fully automated raidable bases with NPCs in Rust NOT compatible with server.pve when set to true. Use a PVE plugin like TruePVE if you want PVE protection. This is the premium version of Raidable Bases. The differences between this and the free version are too many to list. A few key differences are: five (5) difficulties and associated loot table functionality instead of one (1), buyable events, lockouts for players. Requires latest version of CopyPaste. This plugin does NOT come with any bases. Packages are sold separately that include bases. Check out my packages for this plugin for tier1, tier2, and tier3 which contain everything you need to get the plugin working in minutes with all bases and loot already configured for you! Packages are sold separately. Facepunch TOS Disclaimer: The Facepunch Terms of Service have been updated to explicitly prohibit servers from enabling players to access Facepunch-approved DLC content or cosmetic skins through any method other than those officially provided by vanilla Rust (e.g., legitimate crafting or ownership-based unlocking mechanisms). This plugin includes built-in configuration options—enabled by default—that are designed to assist servers in maintaining compliance with this policy. Modification, disabling, or circumvention of these safeguards may place the server in breach of Facepunch's Terms of Service. By using this plugin, server operators acknowledge and accept full responsibility for any alterations made to its configuration, and the developer assumes no liability for any misuse, policy violations, or enforcement actions resulting therefrom. You should independently ensure that any prohibited content—such as unauthorized DLC items or restricted skins—is removed from your server files. Do not rely solely on this plugin or any third-party tool for compliance. The developer assumes no liability for servers found in violation due to misconfiguration, oversight, or failure to remove such content manually. You can add unapproved (non-paid) skins manually to your ImportedWorkshopSkins.json file found in the Profiles directory, which has an example provided already. Profiles in Oxide are located in the folder: oxide/data/RaidableBases/Profiles Profiles in Carbon are located in the folder: carbon/data/RaidableBases/Profiles ninco90 has created a tool to help with this. At the time of this posting, he’s still actively working on this, so please be patient while he fixes issues with it. https://app.rustspain.com/facepunch/checkitems RBE DEBUG This command exists to aid with issues regarding your configuration, profiles and/or map by displaying information, both good and bad, related to finding spawn points and spawning of bases. It is your responsibility to use this command before asking for help. Loot Table Editor by @beee https://codefling.com/tools/raidable-bases-boats-loot-editor/ heya, I can't say without your config file. TL;DR, it's likely your config as your map has an abundance of available spawn points given how flat some of the areas on your map are. you've likely changed the biome settings, or have forced everything elsewhere. Shop Plugins TL;DR: A shop/store plugin will not be supported unless they sell at zero cost. Otherwise players can pay and get blocked by RB cooldowns/restrictions with no possible refund. Price at 0, run the command, let RB charge/refund. The buyraid command handles all payments from players and purchases from plugins. RaidableBases has multiple cooldowns and restrictions that can make a purchase invalid and block it. If a shop plugin handles payment, and RaidableBases then blocks the purchase due to a cooldown or restriction, the player will not be refunded: The shop plugin does not know the purchase failed, so it cannot refund. RaidableBases did not see or handle the payment, so it cannot refund either. Because of that, the shop must sell the event for free (0) and only trigger the purchase command. RaidableBases must handle charging and refunds internally without exception. If a shop plugin cannot sell at zero cost it will not be supported. Supported method: Set the cost in the RaidableBases config Set the shop price to free/0 (if a shop plugin cannot sell for free/0, it will not be supported) Shop command: buyraid 0 <steamid> <steamid> must use the placeholder syntax your shop plugin requires. Example: if your shop uses %steamid%, then use: buyraid 0 %steamid% By default, 0 is the difficulty level (0=Easy, 1=Medium, 2=Hard, 3=Expert, 4=Nightmare) Map Terrain and it's importance with this plugin (maps must be designed appropriately for use with this plugin) Flat terrain only: I do not support spawning bases on bumpy terrain—design them on flat terrain only. Fortify on Steam is perfect for this, and there are plenty of bases available there. Be careful when downloading bases from ANY source: vet them first, and remember that bases are not all designed equally. Stability can be shaky in some, causing them to crumble as they paste in. Inventories may contain items the designer forgot to remove. Worst of all, some bases aren’t copied properly from their centermost foundation—copying at the wrong height can make them spawn below the map or way above it. If you look at the ground, paste it in, and it appears elsewhere, it was not copied properly. Recopy it—don’t rely on ANY height settings in profiles! Those settings are for MINOR adjustments, not for bases that got yeeted halfway around the world. If the plugin is ignoring terrain, it's usually due to one of three reasons: The terrain is not flat enough for bases to spawn on- bases should be designed on unobstructed flat and equal terrain. You've modified a setting in your config or profiles, use compare in Notepad++ or diff on the default config file, and your config file, and see what changes are different. This is the EASIEST way to see what you've changed! The spawn point is blocked by a visible or invisible entity. Just because you can't see it does not mean it's not there. RBE DEBUG (see documentation) exists solely so you can spot issues like this on-the-fly. Understand that debug contains GOOD and BAD information, use your common sense to narrow it down weighing the highest number occurrences of BAD debug at the most likely causes. Easier than it sounds. No worries. If your map’s terrain is bad, you’ve still got options: the beach, the water, or custom spawn points. Shagadelic, baby. Custom spawn points Spawns Database plugin Create spawn points yourself, and put the name of the file (e.g: nivexspawnpoints10 - note that .json is NOT appended to the end of the filename, do not append it, using the filename without its path or extension as I've shown) in your config OR profile (not both, highly recommend profile only). Allow Raid Bases On Beaches in the config, not the profiles. This is for the beach and all beach terrain under the water within its vicinity, usually a very short distance out from the shore. Water Settings - In the profiles, not the config. Highly recommended: Water is abundant in the ocean, surprise! Enable within your profiles, force them on top of the waters surface. Highly recommended for maps with bad terrain. Allow Bases To Float Above Water: true Chance For Underwater Bases To Spawn: 100 Spawn On The Surface Of Water: true Ignore Land Level On Seabed: true Prevent Bases From Floating Above Water By Also Checking Surrounding Area: false Maximum Water Depth Level Used For Float Above Water Option: 1 Minimum Water Depth Level Used For Seabed Option: -20 (negative twenty, forcing the spawn points AWAY from the shoreline) Keep these settings enabled (true), knowing that changing them can and will break the plugin depending on the maps you use. Some maps may embrace these changes, while others will feel like a distant echo—terrain reduced to nothing, the memory abandoned entirely, lost to the abyss for all eternity. Just kidding—use the damn water settings and quit pouting. Bad spawns are notoriously brutal on custom maps. Allow Raid Bases On Beaches Allow Raid Bases Inland Allow Raid Bases On Building Topology Enable (true) these settings if you're in desperate need of more spawn points: Allow Raid Bases On Roads Allow Raid Bases On Rivers Do not use these options if you have high traffic on railroads Allow Raid Bases On Railroads Do not modify Allow Raid Bases In Biomes without understanding that disable a biome will prevent all bases from spawning within that biome! Allow Raid Bases In Biomes Arctic: true Arid: true Temperate: true Tundra: true or false Jungle: true or false Last but not least, the most important of them all for anyone not using custom spawn points from Spawns Database plugin (see documentation): The number of potential spawn points is displayed when the grid loads. First, the plugin must initialize, then it generates potential spawn points across your map. Once this process is complete—usually within a few minutes—it will output the results to your server console. If potential points are under 1000, the map has poor terrain, or you’ve disabled too many options in the config. If potential points are above 1500, you’ll have a reliable amount of spawns. This number will naturally decline as players build more bases on the server. If potential points are above 2500 but nothing spawns, your config and/or profiles are set up incorrectly. Read the documentation. Do not disable biome options in the config. Doing so blocks all spawns in those biomes. There are just a few steps required to get bases spawn on your server within minutes (3 minutes for experts, 30 minutes for a novice, and 60 to 120 minutes for beginners. Total time to configure the plugin beyond these steps is infinite, you'll never stop making changes so long as you continue building your base catalog into a massive collection of artwork). You must have the CopyPaste plugin installed. (Disclaimer: Configuring this to your servers specific needs will require a lot of time and effort) Step 1: Obtain Your Bases You can get bases by: Downloading them from Fortify Purchasing a tier package from me Buying a base package from third-party sellers (be wary that some sellers include items in their CopyPaste files!) Creating your own bases CopyPaste files belong in the oxide/data/copypaste/ folder for Oxide users, and the carbon/data/copypaste/ folder for Carbon users. Note that the folder name must be in all lowercase. Step 2: Set Up Profiles Profiles are located in: oxide/data/RaidableBases/Profiles/ carbon/data/RaidableBases/Profiles/ There are five different profiles. You can add the filenames of your CopyPaste bases manually, or by using the command: For example (You must use straight double quotes. Curly double quotes are not supported!): Step 3: Edit the Configuration The configuration file is located in: oxide/config/RaidableBases.json carbon/configs/RaidableBases.json Make the following changes: Always Maintain Max Events: Set this to true. Max Maintained Events: Set this to the number of bases you want to spawn. Minimum Required Players Online: If you want bases to spawn even when no players are online, set this to 0. Step 4: Save and Reload After making your changes: Save your files. Reload the plugin. The bases will now start spawning automatically. They will use the Default Loot table, located in: oxide/data/RaidableBases/Default_Loot.json carbon/data/RaidableBases/Default_Loot.json Step 5: Customize Loot Tables Refer to the documentation to learn how to set up your own custom loot tables. Additional Information If you want buyable events using the /buyraid command, you can set a cost under the Buyable Event Costs section. This includes: Economics Buy Raid Costs ServerRewards Buy Raid Costs Custom Buy Raid Costs Tips for Customizing Your Setup The plugin has many settings to customize. No guide can cover everything, so you will need to go through each setting and adjust it to meet your server’s needs. Important: Make backups as you configure the settings. Don’t rush—take it one step at a time. Dynamic difficulties (added in 3.0.0): Easily add or remove your own difficulties. You should reload the plugin whenever you make changes! Add a difficulty: rb.difficulty add "Sky" This will create the profile "Sky Bases.json" and set the difficulty to "Sky" rb.config add "Sky Bases" sky1 sky2 sky3 sky4 sky5 Reload the plugin! This will create language messages in the EN and RU language files which you can copy to other language files. If your messages do not update after a reload then you must restart your Rust server to reset Oxide cache. This will create all relevant settings for "Sky" within the config file where you must set them all as desired You need your own copypaste files and loot tables using their new respective names. Base Loot folder - add a loot table with the filename "Sky Bases.json" to match the profile name. Difficulty Loot folder - add a loot table with the filename "Sky.json" to match the difficulty name. Remove a difficulty: rb.difficulty remove "Sky" This will remove all settings for this difficulty from the config file - and disable the profile - only. No files are deleted! Edit or change a difficulty name: This is not supported and will not be - some hosts restrict System.File.IO namespace Please avoid trying to do this unless you are an expert user - you must rename EVERYTHING yourself Configuration errors are shown in rcon when the plugin loads If you make a mistake, you can use the add command a second time which will re-add any missing settings. If you feel overwhelmed or frustrated, take a break and return to it later. I am always here to answer your questions and help you (even if it takes some hours for me to respond). Tutorial This is not your run-of-the-mill plugin. DO NOT INSTALL WITHOUT READING THIS DOCUMENTATION FIRST. This plugin is extremely advanced and requires utmost attention to detail to configure properly. Jumping around in the configuration file or profiles will lead to more problems than it's worth. Take your time to understand each option before enabling or disabling its functionality. Raidable Bases is an independent expansion of Dangerous Treasures. You may learn how to enable the expansion mode below. It does not require Dangerous Treasures for any other purpose. Configuration Loot Tables The plugin comes with some very basic items (Default_Loot.json) that only serve as a demo loot list for you to either delete or expand upon. In order to make any use of the plugin (beyond demonstration) you will have to create your own loot lists instead. It will take a very long time to configure your loot tables, and fine-tune each to your specific needs. To start, I recommend that you use the rb.populate all command. This creates files in the Editable_Lists folder for each difficulty that contain every item in the game. Edit each file and set the amounts for the items that you want to spawn, and remove those that you do not want to spawn. It may look intimidating editing a list of 660 items, but don't underestimate how easy it is to delete items from a list compared to adding each one manually. Items that have their amount AND amountMin set to 0 will not spawn. So you may either delete these items from the list, or come back to them later. If you set amountMin to 0 then chance will determine if the item spawns or not, and another item will not replace it unless there are extra items available (as of 1.7.3). You can set the item skin that you want to use, but I suggest using the Skins settings in the configuration file to use random skins, or none at all. The rb.populate command which populates the Editable_Lists folder also includes items already inside of your Difficulty_Loot folder. This allows you to easily repopulate lists in order to re-evaluate which items spawn at a later date. Files inside of the Editable_Lists folder must be copied into an existing loot file in order to use the loot table. As the name implies, it is for editing only. - If you want to use Editable_Lists/Easy.json for your Easy bases then copy the contents of the file into the Difficulty_Loot/Easy.json file. - If you want to use Editable_Lists/Expert.json for the Expert Bases.json profile, then you must copy the contents of the Expert.json file into the Bases_Loot/Expert Bases.json file probability - the chance that the item can spawn. value must be between 0.0 and 1.0 where 1.0 is 100% chance Loot Priority Loot is pulled from all datafiles within the oxide/data/RaidableBases/ folder with the exception of the Profiles folder which is used to configure bases. oxide/data/RaidableBases/Base Loot - If a loot table exists in this folder with the same name as a profile then all of the bases in that profile will use this loot table. If you want items in this loot table to always spawn then you must enable Always Spawn Base Loot Table in the respective profile. oxide/data/RaidableBases/Difficulty Loot - Items will be chosen from these files based on the difficulty of each profile. If Use Day Of Week Loot is enabled then it will choose the loot table for that specific day. Otherwise, it will pick from Default_Loot.json. This is the default list, and is only used when all other loot tables do not have a sufficient amount of loot to spawn based on the Amount Of Items To Spawn setting. Loot Settings Block paid and restricted content to comply with Facepunch TOS (true) – removes paid content on NPC death, prevents pickup of DLC/paid deployables, resets skins on pickup, and blocks paid loot in boxes. Future update may allow pickup for content owners. Allow Duplicate Items - This is useful when you do not have enough items in your loot tables , and you want to spawn Amount Of Items To Spawn by using the same items more than once. Amount Of Items To Spawn - This is the number of items that you want to spawn. If you do not have enough items in your loot tables then it will only spawn the amount that you have available. It will not spawn items if the container does not have enough space. Drop Tool Cupboard Loot After Raid Is Completed (false) Divide Loot Into All Containers - This allows you to divide loot evenly from all of your loot lists into all containers when enabled. You MUST increase or decrease Amount Of Items To Spawn respective to how many items you want in each container. This includes large boxes, small boxes, coffins and storage barrels. Optional settings include (in order of priority) cupboard, bbq, oven, fridge and lockers. Allow Players To Pickup Deployables (false) - As name implies, overridden by Entities Not Allowed To Be Picked Up Allow Players To Deploy A Cupboard (true) - Block players from placing a TC after destroying the TC in the base. Drop Container Loot X Seconds After It Is Looted (false) - Prevent players from cherry picking items and leaving the rest, in order to despawn the raid quicker. Drop Container Loot Applies Only To Boxes And Cupboards (true) - As name implies Empty All Containers Before Spawning Loot (true) - Useful if using CopyPaste files that contain loot already - I suggest leaving this true as it can complicate how many items spawn if there are too few inventory slots remaining. Ignore Containers That Spawn With Loot Already (false) - Useful if you want specific loot to spawn from a copypaste file. Require Cupboard Access To Loot (false) - Prevent all players from looting until they reach the TC, or destroy it. Skip Treasure Loot And Use Loot In Base Only (false)" - Useful if you want all loot to spawn from a copypaste file - not recommended - will allow players to memorize which boxes to raid and ignore the rest. Always Spawn Base Loot Table (false) - Very useful if you want items in the Base_Loot file to always spawn (such as C4, rockets, ammo, etc) Advanced Loot Configuration Loot Behavior in Tool Cupboards Stacked Items Combine Items that spawn into the Tool Cupboard (TC) automatically combine into single stacks. For example, two separate 500-stone stacks will merge into one 1,000-stone stack. This is reflected in the Status UI. TC Always Counts Toward Remaining Loot In Status UI The contents of the TC are always included in the loot remaining total shown in the Status UI — even if looting the TC is not required for event completion. There is no reason players should not be aware of the TC amount. Making the TC a Requirement By default, players do not need to loot the TC to complete the raid. To require TC and boxes to be looted before the event can be completed, enable: Require Cupboard To Be Looted Before Completion To require only the TC to be looted before the event can be completed, enable: Destroying The Cupboard Completes The Raid Stack Size Options Stack-Split Items Reduce Remaining Loot When using stack size options, the split stacks are counted individually, which reduces the number of remaining items needed to meet the Amount Of Items To Spawn requirement. Optional Setting To Change This Behavior: Amount Of Items To Spawn Increased By Item Splits When enabled, one item will still count as one, even if it becomes split into multiple smaller stacks. An option exists in the configuration file for all items: Use Stack Size Limit For Spawning Items An option exists in the loot tables for each individual item, and will override the above option: stacksize Additional Containers Only TC and Boxes are counted in the Status UI by default Other containers (e.g., furnaces, lockers) are not included in the remaining loot count by default. To include others, add the prefab short name (not item shortname) found with /tpve_prod to: Additional Containers To Include As Boxes Settings Blacklisted Commands (none) - prevents players from using these commands inside of a raid base Automatically Teleport Admins To Their Map Marker Positions (true) - right-click map to teleport (requires raidablebases.mapteleport permission) Block Wizardry Plugin At Events (false) - Block players from using wands Chat Steam64ID (0) - The steam profile icon to show in chat messages Expansion Mode (Dangerous Treasures) (false) - Allow Dangerous Treasures to take over a random box for its event Remove Admins From Raiders List (false) - Allows admins to help players without receiving any rewards Show X Z Coordinates (false) - Show X Z coordinates alongside grid location Buy Raid Command (buyraid) - Opens the buyable UI to purchase raids for each difficulty Event Command (rbe) - Specify command name Hunter Command (rb) - Specify command name Server Console Command (rbevent) - Specify command name Remove Paid Content Command - Name is generated randomly on load. This command will edit your loot tables and all copypaste files. Backup your files before using this command. The edit will remove any restricted content from these files. Block paid and restricted content to comply with Facepunch TOS (true) – removes paid content on NPC death, prevents pickup of DLC/paid deployables, resets skins on pickup, and blocks paid loot in boxes. Future update may allow pickup for content owners. Raid Management Allow Teleport (false) - Allow/prevent players from teleporting Allow Cupboard Loot To Drop (true) - Allows loot to drop when TC is destroyed by a player Allow Players To Build (true) Allow Players To Use Ladders (true) Allow Players To Deploy Barricades (true) Allow Players To Upgrade Event Buildings (false) - Prevent players from upgrading buildings with no TC to prevent this otherwise Allow Player Bags To Be Lootable At PVP Bases (true) - Bypasses Prevent Looting plugin Allow Player Bags To Be Lootable At PVE Bases (true) - Bypasses Prevent Looting plugin Allow Traps To Drop Loot (false) - Allow traps such as guntraps and turrets to drop loot on death Allow Players To Loot Traps (false) - Allows players to loot traps such as guntrap and turrets with TC access Allow Raid Bases On Roads (true) Allow Raid Bases On Rivers (true) Allow Raid Bases On Building Topology (true) - Specifically added for custom map makers Allow Vending Machines To Broadcast (false) - Prevents vending machines from showing on the map Allow Bases To Float Above Water (false) - Keyword: FLOAT Allow Bases To Spawn On The Seabed (false) Prevent Bases From Floating Above Water By Also Checking Surrounding Area (false) - Keyword: FLOAT Maximum Water Depth Level Used For Float Above Water Option (1.0) - Keyword: FLOAT, but allows you to prevent on water if the value is low enough Backpacks Can Be Opened At PVE Bases (true) Backpacks Can Be Opened At PVP Bases (true) Backpacks Drop At PVE Bases (false) - Will drop a backpack on death, even if explicity disabled in Backpack configuration (requires Backpacks 3.4.0 ) Backpacks Drop At PVP Bases (false) Block Mounted Damage To Bases And Players (false) - Prevent players from dealing damage while on mini, scrap heli, etc Block RestoreUponDeath Plugin For PVP Bases (false) Block RestoreUponDeath Plugin For PVE Bases (false) Bypass Lock Treasure To First Attacker For PVE Bases (false) - Do not set an owner for PVE bases Bypass Lock Treasure To First Attacker For PVP Bases (false) - Do not set an owner for PVP bases Despawn Spawned Mounts (true) - Allows mounts such as mini or scrap heli to remain if not abandoned when raid despawns Do Not Destroy Player Built Deployables (true) - Loot is not lost if the plugin destroys a player's box with this option - it is dropped on the ground in a grey loot container just as if they destroyed the box themselves Do Not Destroy Player Built Structures (true) Divide Rewards Among All Raiders (true) Draw Corpse Time (Seconds) (300.0) - The amount of time the players corpse location is drawn on their screen Eject Sleepers Before Spawning Base (true) Extra Distance To Spawn From Monuments (0.0) Flame Turrets Ignore NPCs (false) - Can help with performance on some servers Maximum Land Level (2.5) - The allowed height of the surrounding terrain for spawning bases (this should never be changed) Move Cookables Into Ovens (true) Move Food Into BBQ Or Fridge (true) Move Resources Into Tool Cupboard (true) Move Items Into Lockers (true) Lock Treasure To First Attacker (true) - Sets the first attacker as the owner of a raid. You must set eject enemies settings in each profile if you do not want players entering private raids Lock Treasure Max Inactive Time (Minutes) (20.0) - Resets the raid as public after this time Assign Lockout When Lock Treasure Max Inactive Time Expires (false) - useful those who partially raid bases in order to avoid the lockout timer Lock Players To Raid Base After Entering Zone (false) - Forces players to be locked to a raid once they enter it, even on accident Only Award First Attacker and Allies (false) Minutes Until Despawn After Looting (min 1) (15) - The time until the base despawns after being raided Minutes Until Despawn After Inactive (0 = disabled) (45) - The time until the base despawns after being inactive Minutes Until Despawn After Inactive Resets When Damaged (true) - Resets the time until the base despawns when it is damaged by a player Mounts Can Take Damage From Players (false) Mounts Can Take Damage From SamSites (true) Player Cupboard Detection Radius (100.0) - Extra layer of protection to prevent raid bases from spawning too closely to player bases (this should never be under 100 and never too high either, 100-200 at most) Players With PVP Delay Can Damage Anything Inside Zone (false) - Applies specifically to PVP raid bases Players With PVP Delay Can Damage Other Players With PVP Delay Anywhere (false) PVP Delay Between Zone Hopping (10.0) - The amount of time players can take damage while on a PVE server after stepping outside of a PVP zone - prevents exploiting - recommended value: 120 Prevent Fire From Spreading (true) - Helps with server performance by preventing forest fires, err, fire from spreading after initial spawn Prevent Players From Hogging Raids (true) - Prevents players from tagging multiple raids at once Require Cupboard To Be Looted Before Despawning (false) Destroying The Cupboard Completes The Raid (false) Require All Bases To Spawn Before Respawning An Existing Base (false) - Rotate through all bases specific to each difficulty before reusing an existing base Turn Lights On At Night (true) Turn Lights On Indefinitely (false) Traps And Turrets Ignore Users Using NOCLIP (false) Use Random Codes On Code Locks (true) Wait To Start Despawn Timer When Base Takes Damage From Player (false) - Prevents the inactive despawn timer from starting until it is damaged by a player. Combos well when inactive resets is disabled by giving players a limited time to finish a raid once they start it Additional Containers To Include As Boxes (none) - example: vendingmachine Eject Mounts Boats (false) - Set any true to prevent them from entering a raid base Cars (Basic) (false) Cars (Modular) (false) Campers (true) Chinook (false) Flying Carpet (false) Horses (false) HotAirBalloon (true) MiniCopters (false) Pianos (true) Scrap Transport Helicopters (false) All Other Mounts (false) All Controlled Mounts (false) - Mounts controlled via another plugin Max Amount Of Players Allowed To Enter Each Difficulty (0 = infinite, -1 = none) (infinite) Easy Difficulty => Amount (0) Medium Difficulty => Amount (0) Hard Difficulty => Amount (0) Expert Difficulty => Amount (0) Nightmare Difficulty => Amount (0) Max Amount Allowed To Automatically Spawn Per Difficulty (0 = infinite) -1 = disabled) Easy (0) - Specifies how many of each difficulty can be spawned at any given time Medium (0) Hard (0) Expert (0) Nightmare (0) Player Lockouts (0 = ignore) - this is for PUBLIC raids where buyable events use the Buyable Cooldowns and these are not shared - players may still do 1 public and 1 buyable event if these are both enabled Time Between Raids In Minutes (Easy) (0.0) - Set a cooldown before the player can enter another raid base Time Between Raids In Minutes (Medium) (0.0) Time Between Raids In Minutes (Hard) (0.0) Time Between Raids In Minutes (Expert) (0.0) Time Between Raids In Minutes (Nightmare) (0.0) Block Clans From Owning More Than One Raid (false) - Prevent clans from hogging multiple raid bases Block Friends From Owning More Than One Raid (false) Block Teams From Owning More Than One Raid (false) Easy|Medium|Hard|Expert|Nightmare Raids Can Spawn On Monday (true) Tuesday (true) Wednesday (true) Thursday (true) Friday (true) Saturday (true) Sunday (true) Difficulty Colors (Border) Easy (000000) Medium (000000) Hard (000000) Expert (000000) Nightmare (000000) Difficulty Colors (Inner) Easy (00FF00) Medium (FFEB04) Hard (FF0000) Expert (0000FF) Nightmare (000000) Map Markers Marker Name (Raidable Base Event) Radius (0.25) Use Vending Map Marker (true) Show Owners Name on Map Marker (true) Use Explosion Map Marker (false) Create Markers For Buyable Events (true) Create Markers For Maintained Events (true) Create Markers For Scheduled Events (true) Create Markers For Manual Events (true) Buyable Events Do Not Reward Buyable Events (false) Refunds > Refund Despawned Bases (false) Refunds > Refund Percentage (100.0) Refunds > Refund Resets Cooldown Timer (false) Refunds > Block Refund If Base Is Damaged (true) Cooldowns (0 = No Cooldown) VIP Permission (raidablebases.vipcooldown (300.0) Admin Permission (raidablebases.allow (0.0) Server Admins (0.0) Normal Users (600.0) Allow Players To Buy PVP Raids (false) - If all of your profiles have PVP enabled then players will NOT be able to buy any raids! Convert PVE To PVP (false) Convert PVP To PVE (false) Distance To Spawn Bought Raids From Player (500.0) Lock Raid To Buyer And Friends (true) Ignore Player Entities At Custom Spawn Locations (false) Ignore Safe Checks (false) - if enabled will prevent the plugin from checking the area for a TC, buildings, or deployables Max Buyable Events (1) Reset Purchased Owner After X Minutes Offline (10.0) Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want buyable raids to spawn in specific locations using spawn files from the Spawns Database plugin Maintained Events Always Maintain Max Events (false) - Spawn another raid soon after one despawns Ignore Player Entities At Custom Spawn Locations (false) - spawn regardless of what player entities are built in the area Chance To Randomly Spawn PVP Bases (0 = Ignore Setting) (0.0) - Overrides all PVP Allow profile settings for a chance to make the raid PVE or PVP Convert PVE To PVP (false) Convert PVP To PVE (false) Include PVE Bases (true) Include PVP Bases (true) Ignore Safe Checks (false) - Bypass checks that ensure no buildings or other objects are blocking the spawn Minimum Required Players Online (1) - Max Maintained Events (1) - How many bases you want available at any given time Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want maintained raids to spawn in specific locations using spawn files from the Spawns Database plugin Time To Wait Between Spawns (15.0) - Wait a specific time frame between each paste (can be set to 0) Manual Events Convert PVE To PVP (false) Convert PVP To PVE (false) Max Manual Events (1) Spawn Bases X Distance Apart (100.0) Spawns Database File (Optional) (none) - Useful if you want manually spawned raids to spawn in specific locations using spawn files from the Spawns Database plugin Scheduled Events Enabled (false) - Spawn raids on a timer specific to random amount of time between Every Min and Every Max Seconds Ignore Player Entities At Custom Spawn Locations (false) - spawn regardless of what player entities are built in the area Chance To Randomly Spawn PVP Bases (0 = Ignore Setting) (0.0) - Overrides all PVP Allow profile settings for a chance to make the raid PVE or PVP Convert PVE To PVP (false) Convert PVP To PVE (false) Every Min Seconds (3600.0) Every Max Seconds (7200.0) Include PVE Bases (true) Include PVP Bases (true) Ignore Safe Checks (false) - Bypass checks that ensure no buildings or other objects are blocking the spawn Max Scheduled Events (1) Max To Spawn At Once (0 = Use Max Scheduled Events Amount) (0) Minimum Required Players Online (1) Spawn Bases X Distance Apart (100.0) - most maps cannot support this being above 200 ! Spawns Database File (Optional) (none) - Useful if you want scheduled raids to spawn in specific locations using spawn files from the Spawns Database plugin Time To Wait Between Spawns (15.0) - Wait a specific time frame between each paste (can be set to 0) Economics Buy Raid Costs (0 = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (0.0) - How much each raid costs, use the /buyraid command to see the UI Medium (0.0) Hard (0.0) Expert (0.0) Nightmare (0.0) ServerRewards Buy Raid Costs (0 = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (0) - How much each raid costs, use the /buyraid command to see the UI Medium (0) Hard (0) Expert (0) Nightmare (0) Custom Buy Raid Costs (false = disabled) - if you do not configure at least one cost for Buyable Events then players will not be able to buy any raids Easy (50 scrap) - How much each raid costs, use the /buyraid command to see the UI Medium (100 scrap) Hard (150 scrap) Expert (200 scrap) Nightmare (250 scrap) All are disabled by default. All can require its own specific item. Allowed Zone Manager Zones List: pvp, 99999999 - the list of zones where raid bases may spawn at - Zone Manager is not required to use this plugin. Use Grid Locations In Allowed Zone Manager Zones Only - forces all spawns into zones by Zone Manager. Adding flags to your zones may conflict with this plugin. Use of Spawns Database plugin is advised instead Event Messages Notify Plugin (-1 = disabled) Notification Interval (1 second) Announce Raid Unlocked (false) Announce Buy Base Messages (false) Announce Thief Message (true) Announce PVE/PVP Enter/Exit Messages (true) Show Destroy Warning (true) Show Opened Message (true) Show Opened Message For Paid Bases (true) Show Prefix (true) Show Messages To Player (true) - set false if you do not want players to receive CHAT messages, other messages from notifications will still show GUIAnnouncements and Advanced Alerts plugins can be used instead of CHAT messages Advanced Alerts Enabled (true) Anchor Min and Max Time Shown (5) Panel Alpha (0.98) Background Color Title Background Color GUIAnnouncements Enabled (false) Banner Tint Color (Grey) Maximum Distance (300.0) Text Color (White) Lusty Map Enabled (false) Icon File (http://i.imgur.com/XoEMTJj.png) Icon Name (rbevent) Icon Rotation (0.0) Ranked Ladder (based on points system) Award Top X Players On Wipe (3) - Set 0 to disable permissions and groups from being created. Every wipe the top 3 players are awarded the raidablebases.th permission and raidhunter group. Used with plugins that give titles based on permissions/groups, such as BetterChat Enabled (true) Difficulty Points (for each difficulty) Assign To Owner Of Raid Only (false) Assign Rank After X Completions - Players that complete the required amount of completions will receive the relevant above permission and group automatically - Set value above 0 to enable this feature for any given difficulty as it is disabled for all difficulties by default Permissions and groups are given to players for being top 3 in each difficulty at the end of a wipe Set Award Top X Playrs On Wipe to 0 to disable these permissions and groups from being created. permissions: raidablebases.ladder.easy, raidablebases.ladder.medium, raidablebases.ladder.hard, raidablebases.ladder.expert, raidablebases.ladder.nightmare, raidablebases.th groups: raideasy, raidmedium, raidhard, raidexpert, raidnightmare, raidhunter Skins (Boxes, Loot Items, Npcs all have there own settings) (skin settings revamped in 2.7.4) Use Identical Skins Include Workshop Skins (true) Use Random Skin (true) Use Imported Workshop Skins File (true) - copy existing Imported Workshop Skins section from Skinbox to the Imported Workshop Skins json file to apply. Boxes (including above Skins options) Preset Skins - you can add any box skin here and it will randomly apply to any relevant box this skin can be used with Loot Items (including above Skins options) Use Identical Skins For Stackable Items Use Identical Skins For Non-Stackable Items Deployables (including above Skins options) List: Partial Names (door, barricade, chair, fridge, furnace, locker, reactivetarget, rug, sleepingbag, table, vendingmachine, waterpurifier, skullspikes, skulltrophy, summer_dlc, sled) Skin Everything (true) - if true then the Partial Names list will not be used Preset Door Skins - you can add any door skin here and it will randomly apply to any relevant door this skin can be used with Ignore If Skinned Already (false) Treasure Resources Not Moved To Cupboards (skull.human, battery.small, bone.fragments, can.beans.empty, can.tuna.empty, water.salt, water, skull.wolf) Use Day Of Week Loot (false) Do Not Duplicate Base Loot (false) Do Not Duplicate Difficulty Loot (false) Do Not Duplicate Default Loot (false) Use Stack Size Limit For Spawning Items (false) Status UI - Shows PVE/PVP, time left, amount of loot left and the status of owner Details UI - Shows owner and active status Delay UI - Shows UI for PVP delay Buyable Cooldowns UI - Shows UI for the Buyable Cooldowns option Buyable Events UI - Shows players a UI for buying events including the primary cost Lockouts UI - Shows UI for the Player Lockouts option Enabled Offset Min Offset Max Panel Alpha Font Size Background Color Title Background Color etc Weapons Fog Machine Allows Motion Toggle (true) Fog Machine Requires A Power Source (true) SamSite Repairs Every X Minutes (0.0 = disabled) (5.0) SamSite Range (350.0 = Rust default) (75.0) Test Generator Power (100.0) Tesla Coil settings in profiles Infinite Ammo AutoTurret (true) FlameTurret (true) FogMachine (true) GunTrap (true) SamSite (true) Ammo AutoTurret (256) FlameTurret (256) FogMachine (5) GunTrap (128) SamSite (24) Tesla Coil (profiles) Requires A Power Source (true) Max Discharge Self Damage Seconds (0 = None) 120 = Rust default) (0.0) Max Damage Output (35.0) Profiles Difficulty - very first setting. If your raids show as NORMAL then you're using the free plugin. If all bases show as EASY then this setting is not configured. Entities Not Allowed To Be Picked Up (List: generator.small, generator.static autoturret_deployed - overrides Allow Players To Pickup Deployables) Additional Bases For This Difficulty (default) - A list of bases to use within this profile Paste Options (default) - Paste options specific to the profiles filename if it is also a base Profile Enabled (true)- Useful for disabling a profile instead of deleting it Add Code Lock To Unlocked Or KeyLocked Doors (true) Add Code Lock To Boxes (false) Add Code Lock To Tool Cupboards (false) Close Open Doors With No Door Controller Installed (true) Allow Duplicate Items (false) - [Explained above] Allow Players To Pickup Deployables (false) - [Explained above] Allow Players To Deploy A Cupboard (true)- [Explained above] Allow PVP (true) Allow Friendly Fire (Teams) (true) Amount Of Items To Spawn (30) - [Explained above] Minimum Amount Of Items To Spawn (0 = Use Max Value) (0) Flame Turret Health (300.0) Block Plugins Which Prevent Item Durability Loss (false) - Force items to take condition losses Block Damage Outside Of The Dome To Players Inside (false) - Prevent damage from outside of the dome to players inside of the dome Block Damage Outside Of The Dome To Bases Inside (false) - Prevent damage from outside of the dome to the base inside Block Damage Inside From Npcs To Players Outside (false) Building Blocks Are Immune To Damage (false) Boxes Are Invulnerable (false) Spawn Silently (No Notifcation, No Dome, No Map Marker) (false) Divide Loot Into All Containers (true) - [Explained above] Drop Container Loot X Seconds After It Is Looted (0.0) - [Explained above] Drop Container Loot Applies Only To Boxes And Cupboards (true) - [Explained above] Create Dome Around Event Using Spheres (0 = disabled, recommended = 5) (5) - A visible dome for players to distinguish raid bases from player bases Empty All Containers Before Spawning Loot (true) - [Explained above] Eject Corpses From Enemy Raids (Advanced Users Only) (true) - Prevents corpses from remaining inside of a raid when it becomes private and prevents the user from looting it Eject Enemies From Purchased PVE Raids (true) - Useful when Lock Raid To Buyer And Friends is enabled Eject Enemies From Purchased PVP Raids (false) Eject Enemies From Locked PVE Raids (true) - Useful when Lock Treasure To First Attacker is enabled Eject Enemies From Locked PVP Raids (false) Explosion Damage Modifier (0-999) (100.0) - Modify the damage of all explosives Force All Boxes To Have Same Skin (true) Ignore Containers That Spawn With Loot Already (false) - [Explained above] Penalize Players On Death In PVE (ZLevels) (true) Penalize Players On Death In PVP (ZLevels) (true) Loot Amount Multiplier (1.0) - useful to scale loot amounts without having to adjust them all individually Protection Radius (50.0) - This options controls every single option and feature that relies explicity on distance or radius in one regard or another. Setting an incorrect value, either too low, or too high, will break the functionality of the plugin. It's best to leave it alone. Require Cupboard Access To Loot (false) - [Explained above] Minimum Respawn Npc X Seconds After Death (0.0) - Useful in simulating a real raid where players respawn Maximum Respawn Npc X Seconds After Death (0.0) Skip Treasure Loot And Use Loot In Base Only (false) - [Explained above] Always Spawn Base Loot Table (false) - [Explained above] - Arena Walls Enabled (true) Extra Stacks (1) - How many times you want walls to stack on top of one another Use Stone Walls (true) - set false to use wooden walls instead Use Iced Walls (false) - not advised to use this as it can cause client lag (not a plugin issue) Use Least Amount Of Walls (true) Use UFO Walls (false) - Walls spawn horizontally instead of vertically Radius (25.0) NPC Levels Level 2 - Final Death (false) - Respawns all npcs when raid is completed NPCs Enabled (true) Spawn Inside Bases (Options: Spawn On Floors, Spawn On Rugs, Spawn On Beds) Murderer Items Dropped On Death (none) Scientist Items Dropped On Death (none) Murderer (Items) (metal.facemask, metal.plate.torso, pants, tactical.gloves, boots.frog, tshirt, machete) Scientist (Items) (hazmatsuit_scientist, rifle.ak) Murderer Kits (murderer_kit_1, murderer_kit_2) - Kits have priority over these lists of items Scientist Kits (scientist_kit_1, scientist_kit_2) Random Names (none) - Spawn with a custom random name instead of a provided random name Amount To Spawn (3) Aggression Range (70.0) - Aggression range is increased by 250 meters when engaged Despawn Inventory On Death (true) Health For Murderers (100 min, 5000 max) (150.0) Health For Scientists (100 min, 5000 max) (150.0) Minimum Amount To Spawn (1) Use Dangerous Treasures NPCs (false) - Tells Dangerous Treasures to control and outfit the NPCs instead Spawn Murderers And Scientists (true) Scientist Weapon Accuracy (0 - 100) (30.0) - These bots are meant to be savages. 30% is average for highly skilled players, while the average player has 10-20% accuracy Spawn Murderers (false) Spawn Random Amount (false) Spawn Scientists Only (false) Rewards Economics Money (0.0) - How much is rewarded after a raid. Overridden by Divide Rewards Among All Raiders ServerRewards Points (0) Change Building Material Tier To Wooden (false) - Useful for upgrading or downgrading buildings automatically Stone (false) Metal (false) HQM (false) Change Door Type To Wooden (false) - Useful for upgrading or downgrading doors automatically Metal HQM Player Building Restrictions Wooden (false) Stone (false) Metal (false) HQM (false) Auto Turrets Aim Cone (5.0) - shots fired will spread into a cone pattern based on this radius. Lowering this value will group the shots closer together. Minimum Damage Modifier (1.0) Maximum Damage Modifier (1.0) Start Health (1000.0) Sight Range (30.0) Set Hostile (False = Do Not Set Any Mode) (true) Requires Power Source (false) Remove Equipped Weapon (false) Weapon To Equip When Unequipped (null = Do Not Equip) (rifle.ak) Permissions raidablebases.allow -- Allows player to use the available ADMIN commands. This is NOT recommended as players can use the commands 'buyraid' and 'rb' already. raidablebases.canbypass permission (or to be flying) to bypass dome restrictions (this previously worked for admins, but now requires the permission instead) raidablebases.blockbypass permission to bypass Owning More Than One Raid settings for Clans/Friends/Teams raidablebases.mapteleport Teleporting to map marker now simply requires this permission and to be enabled in config raidablebases.ddraw allows support for FauxAdmin users raidablebases.config allows use of the rb.config command in-game (server console does not require this permission) raidablebases.banned bans the user from entering any raids - If you grant this by accident, use /rb unban name|id to revoke it. Do not grant this to any groups, especially not the default group... raidablebases.durabilitybypass to bypass `Block Plugins Which Prevent Item Durability Loss` raidablebases.notitle permission to exclude users from ranked title rewards See other permissions using Permissions Manager Players do not require any permissions by default. Grid This plugin creates it's own spawn points automatically, which cover the entirety of your server's map when the plugin is loaded. This is created one-time when the plugin loads. The grid maintains itself without requiring any input. You may view the grid by typing /rb grid in-game to view detailed drawings of all locations on the grid. X - green - possible spawn point X - Red - currently in use C - Cyan - construction detected nearby TC - yellow - TC detected nearby W - blue - water depth is too high - refreshes on ocean level change Each location on the grid is checked a second time before spawning a base to insure it does not spawn the base on players or their buildings. You can disable using the grid by providing a valid spawn file for each raid type (buyable, maintained, scheduled and manual). Commands buyraid - buys a raid, eg: buyraid easy, buyraid easy steamid, buyraid 0, buyraid 0 steamid. I suggest typing the command and using the UI to buy bases. rb - for players to see the ladder (also for admins to see the status of each raid going on, which includes showing the allies and owners of each raid) rb ui [lockouts|status] - COMMAND REMOVED rbe despawn - despawns a players purchased base if they have raidablebases.despawn.buyraid permission For admins, or players with the admin permission raidablebases.allow: rb.config stability true/false - sets stability in every profile rbe debug - toggles debug messages shown every second to server console for maintained and scheduled warning messages rb grid - see the grid and all monument names rb resettime - reset the time for the next scheduled event rb savefix - to cancel a server save that has become stuck - requires authlevel 2 rb prod - to gather information from a raid base entity for debugging purposes - requires admin or raidablebases.allow rbe - spawns a base at the position you are looking at. You cannot spawn a base on a player (including yourself) rbe draw - draw the raids radius rbe despawn - despawn a base near you (can be used by players with raidablebases.despawn.buyraid permission to despawn a base they purchased) rbe despawnall - despawn all bases rbe [basename] [difficulty] - spawn a raid at the location you are looking at rbe expire steamid|playername - removes a lockout for a specific player rbe expireall rbe active - shows status for each event rbevent [basename] [difficulty] - spawn a raid randomly on the map - and teleport to it if using the command in-game rb.reloadconfig - allows you to reload the config without needing to reload the plugin. Some changes are not applied immediately, and no changes are retroactive to bases that are already spawned. rb.config - allows you to edit the config by adding, removing, and listing bases. Requires the permission raidablebases.config when not being used from the server console. rb.toggle - toggles Maintained Events and Scheduled Events on/off, if enabled in the config, until plugin reloads rbe setowner name - Sets the player as the owner of the raid rbe clearowner - Clears the owner of the raid Additional Bases allows you to add additional files to an existing base so that all bases in that list share the same configuration as the primary base/profile. This is great for setting up a list of bases for easy, medium, hard, expert and nightmare. Command rb.populate all will add every item in the game to specific loot tables under the oxide/data/RaidableBases/Editable_Lists folder, with each disabled by default (amount is 0) Arguments: - rb.populate easy medium hard expert nightmare loot all - rb.populate 0 1 2 3 4 loot all - easy - Populates oxide/data/RaidableBases/Editable_Lists/Easy.json - all - Populates ALL diifficulty loot tables Configure the items to your liking then copy the files contents into a loot table that you would like to use Example: - Difficulty_Loot/Easy.json to match the difficulty - Base_Loot/Easy Bases.json to match the profile name API No return behavior: void OnRaidableBaseStarted(Vector3 raidPos, int mode, bool allowPVP) void OnRaidableBaseEnded(Vector3 raidPos, int mode, bool allowPVP) void OnPlayerEnteredRaidableBase(BasePlayer player, Vector3 raidPos, bool allowPVP, int mode) void OnPlayerExitedRaidableBase(BasePlayer player, Vector3 raidPos, bool allowPVP, int mode) OnRaidableBaseDespawn, OnRaidableBaseDespawned, OnRaidableBasePrivilegeDestroyed, OnRaidableBaseCompleted find more hooks and arguments by searching for CallHook in the plugin file Tips Players will be considered raiders after looting, killing an npc, using explosives, eco raiding, destroying a building block/high wall/door or dealing damage from INSIDE of the dome You must change easybase1, mediumbase2, expertbase3, etc to the name of your CopyPaste files, or vis-versa. This plugin doesn't create or come with any bases. You can use the rb.config command (rb.config add "easy bases" easybase1 easybase2 0) in the server console to make this process easier. You can rename all profiles or additional base filenames. When copying a base with CopyPaste, make certain that you copy the base from eye level of the CENTER foundation within the base, or slightly clipped into this foundation with noclip. Whichever provides better results for you. You must verify that the base pastes down correctly (with /paste command) after you've copied it. I would not change autoheight from false to true. height is the distance the base is spawned off of the ground. elevation determines how flat the surrounding terrain must be in order for bases to spawn on it Scheduled Events is how often you want a random base to spawn on the map. This is disabled by default. This randomness comes from Every Min Seconds and Every Max Seconds Maintain Events will always spawn the Max Events amount of bases on your map. This is disabled by default. When one despawns, another will take its place shortly after. Allow Teleport will prevent players from teleporting when disabled. Compatible with NTeleportation or any plugin that uses the CanTeleport hook. Help This plugin does NOT use Zone Manager - it creates and manages everything on its own. If you are having issues with too few locations on the grid, or each attempt to spawn a base returns a manual spawn was already requested then it is likely because of how you have setup Zone Manager. You either have far too many zones, or you have zones which are far too large. Raidable Bases will not spawn in these zones unless the ZoneID is added to Allowed Zone Manager Zones in the config file. This plugin requires CopyPaste plugin to work. It also requires that you have copypaste files already made. Raidable bases will be spawned using the CopyPaste plugin. This plugin does NOT come with any bases. PvE server friendly with TruePVE and other plugins that support the hooks CanEntityTakeDamage, CanEntityBeTargeted, and CanEntityTrapTrigger. Bases can have 5 difficulty settings: 0 for easy, 1 for medium, 2 for hard, 3 for expert, and 4 for nightmare. This is configurable per profile. Bases can spawn on roads and other areas that do not allow building by Rust. Building ladders in these areas is allowed by the plugin. I will add support for building twig later. My bases often spawn in the same biome If you're having issues with spawn points being repeatedly used, or with a biome being favored consistently over other biomes then this is an elevation issue with the terrain on your map. You can fix this by increasing the Elevation in the configuration. For example, if your Elevation is 1.0 then set it to 1.5 and try again. This will also increase the height the base is allowed to spawn off of the ground. With certain maps you'll just have to make do with this issue. Corpses appear outside of the dome as backpacks This is intended, and it is optional. The location is drawn on the players screen to notify them that their corpse moved. This allows players to retrieve their backpack in the event that the raid becomes locked privately to another player, and prevents them from entering. Players do not drop their active item when they die. Bases Stop Spawning On Linux Machine [Error] Exception while calling NextTick callback (DllNotFoundException: libgdiplus.so.0) If you see this error after bases spawn then you need to install libgdiplus on your machine. This will mimic the below issue but it is NOT a bug like the below issue is. A quick google search shows the install command is: sudo apt-get install -y libgdiplus This happens when images in the CopyPaste file are being rendered by converting the byte array to bitmap. Paste/Spawn/Despawn FPS/Rubberbanding Issues: Upgrade your servers hardware (please don't tell me how good your hardware is-- if it's having issues or is overloaded with plugins then it's not) Use copypaste files under 3MB Reduce the amount of bases that you are spawning Remove plugins - if you have too many resource hogs then you're going to have issues! Reduce Amount of entities to paste per batch. Use to tweak performance impact of pasting in your CopyPaste config to between 1 and 5 Restart your server daily to mitigate server degradation issues It could be as simple as a bad copypaste file. Note the base(s) that spawned around the time that the lag started, go to each of those bases and despawn them (/rbe despawn). If the lag disappears, then the base is the cause. Remove it from rotation (rb.config remove badbase1) until you can figure out what's wrong with it. RaidableBases is a large plugin, with a lot of functionality, and that functionality demands hook time. I constantly strive to improve performance and provide high quality products.$40.00 -
Version 1.2.5
172 downloads
MBMainMenu — Premium Main Menu for Rust MBMainMenu is a stylish, animated, and fully customizable main menu that welcomes players from the very first seconds on your server and turns a regular login into a true WOW-experience Your server will look modern, professional, and premium. Core Features Live Server Status (Real-Time) Online players Max player limit Joining players Queue size Server time 🗺 Map size Server rates Team size Game mode (PvP / PvE / Solo / Duo / Trio, etc.) Real-Time Event Tracking Icons automatically switch between ON / OFF states: Airdrop Cargo Ship Chinook Patrol Helicopter 🛡 Bradley APC Players always know what’s happening on the server right now! Economy & Rewards Supports 3 popular economy systems: Economics ServerRewards MBCoins Features: Balance progress bar First join reward Online-time rewards ⏱ Total playtime display Website & Social Media Integration All links open in beautiful separate windows with QR codes: Website Discord TikTok Instagram YouTube Each window includes: Copy button QR code Stylish banner Quick close button Multi-Language Support Full multilingual support Separate welcome texts for each language Automatic language detection Visual Style Blurred background Smooth animations Clean and modern design Custom background images NPC character in the menu Online & balance progress bars Your server will look like a top-tier Rust project, not a basic server Fully Configurable via Config You can customize absolutely everything: Server name Website & all social links All QR codes Game mode Rates Max online players Team size Economy system Rewards Max balance value Configuration { "Multilingual welcome text for the second block. Configure the text for each language separately.": { "en": { "Enabled": true, "Text": "To the <color=#FFD700>MAX 5</color> server of the <color=#0057B7>M</color><color=#FFD700>B</color> project" }, "ru": { "Enabled": true, "Text": "На сервер <color=#FFD700>MAX 5</color> проекта <color=#0057B7>M</color><color=#FFD700>B</color>" }, "uk": { "Enabled": true, "Text": "На сервер <color=#FFD700>MAX 5</color> проекту <color=#0057B7>M</color><color=#FFD700>B</color>" } }, "Server Name": "Rust", "Website Link": "", "QR Code to Website": "https://i.ibb.co/8LcDd6bp/free-png-ru-38.png", "Discord Link": "", "QR Code на Discord": "https://i.ibb.co/8LcDd6bp/free-png-ru-38.png", "TikTok Link": "", "QR Code на TikTok": "https://i.ibb.co/8LcDd6bp/free-png-ru-38.png", "Instagram Link": "", "QR Code на Instagram": "https://i.ibb.co/8LcDd6bp/free-png-ru-38.png", "YouTube Link": "", "QR Code на YouTube": "https://i.ibb.co/8LcDd6bp/free-png-ru-38.png", "Maximum number of players on the server (limit)": "NO", "Game mode (e.g. Solo, Duo, Trio, PvE, etc.)": "PVP", "Team limits (for example: 2, 3, 5, 10, 20, 32)": "5", "Server rates (eg: x2, x5, x10)": "x2", "First Join Reward Amount": 5, "Online reward interval (minutes)": 360, "Online reward amount": 1, "Balance label": "MB:", "NPC Image URL": "https://i.ibb.co/r2Ft9sJQ/MBNPC.png", "Economy System Type (Economics, ServerRewards, MBCoins)": "MBCoins", "Maximum balance for filling the bar": 500.0 } Requirements ImageLibrary One economy plugin: Economics ServerRewards MBCoins Author Baryy_Allenn 🛠 Ongoing support & updates Support Discord https://discord.gg/6b5tkpDb57$8.00 -
Version 1.1.2
246 downloads
Adds a marketplace terminal to each tool cupboard. This way, players can buy items without leaving home. The plugin is easy to install on your server; no additional settings are needed. You can also change the delivery fee (but the player must still have an additional 20 scrap in their inventory) This plugin uses the permission system Permissions: homeMarketplace.use - required to be able to use the marketplace To assign a permission, use: oxide.grant <user or group> <name or steam id> homeMarketplace.use To remove a permission, use: oxide.revoke <user or group> <name or steam id> homeMarketplace.use Config: { "Terminal offset": { "x": 0.42, "y": 0.68, "z": 0.3 }, "Delivery fee": 20 }$9.99 -
Version 2.2.2
318 downloads
Auto Ban / Report Ban – Premium Edition AutoBan Enhanced is the ultimate plugin for Rust server administrators who want to keep their community safe, fair, and fun. This premium edition builds on the original AutoBan system with new advanced moderation tools, smarter automation, and seamless integrations with Discord. Key Features Automatic Weighted Banning Players are automatically banned once they reach a configurable number of weighted reports. Trusted players, moderators, or admins can have higher report weights for faster action. Playtime Requirement (NEW) Players must have a minimum amount of playtime (configurable, default 2h) before submitting reports, preventing abuse from fresh accounts. Mass Reporting Protection Includes cooldowns, per-hour limits, and unique report tracking to prevent abuse of the reporting system. Full F7 Integration Captures and processes in-game reports (F7), with optional keyword scanning for valid reasons. Player-Friendly Reporting System Players can submit reports via chat commands or a guided reason menu for consistency. Customizable Ban Durations Supports human-readable ban times like 30m, 4h, 7d, or permanent. Ban History & Report Logs New commands to view report history and a structured audit log of admin actions. Progressive Punishments (optional) Configure warnings, mutes, or bans at different thresholds. Discord Integration with Embeds Sends clean, embedded messages for reports and bans, including player info, reasons, timestamps, and expiration. Ignored Players & Permissions Protect admins and whitelisted users from automated bans. Export & Data Storage Export reports to JSON for external review or backups. Granular Permissions Fine-grained control over who can report, view, ban, unban, reset, or audit. Usage: Chat Commands /report <username> – start a report (shows menu if no reason given). /report <username> <reason> – report with reason directly. /reportreason <number> – pick a reason from the menu. /AB.viewreports – view all current reports (requires permission). /AB.history <userid> – view detailed history of a player’s reports. /AB.auditlog [N] – view last N admin/audit actions. /AB.showbans – view all bans. /AB.unban <userid> – unban a player. /AB.resetreports <userid> – reset reports for a player. /AB.exportreports – export reports to a JSON datastore. 🛠 Console Commands AB.getreports – list all reports in console. AB.getbans – list all bans in console. AB.resetreportsConsole <userid> – reset reports via console. AB.ban <userid> <reason> – manually ban a player. AB.unban <userid> – manually unban a player. Oxide / Carbon Permissions AutoBan.report – allow reporting via F7. AutoBan.chatreport – allow reporting via chat. AutoBan.viewreports – view all reports. AutoBan.ignore – player immune to auto-bans. AutoBan.ban – manually ban players. AutoBan.unban – manually unban players. AutoBan.viewbans – view all bans. AutoBan.resetreports – reset player reports. AutoBan.trusted – weighted reporter (e.g., counts x2). AutoBan.mod – stronger weighted reporter (e.g., counts x3). Example Config { "Max reports till user gets banned (weighted)": 5, "Reason given to banned user": "You have been reported too many times and have been banned for precautionary measures. An admin will review this suspension soon.", "Valid reasons": ["cheating", "aimbot", "hacking", "esp", "teaming", "racism", "griefing", "walling", "doorcamping", "spawn killing"], "Valid report types": ["cheat", "abusive", "name", "spam"], "Scan type of F7 reports": true, "Broadcast ban to chat": true, "Ignored Players": { "76561198000000000": "Admin" }, "Timer for broadcasting bans to admins and console": 820, "Send bans to users with the AutoBan.viewbans permission": false, "Send reports to URL": false, "URL to send reports to": "http://example.com", "Send reports to Discord": true, "Send bans to Discord": true, "Discord Reports Webhook URL": "http://example.com/reports", "Discord Bans Webhook URL": "http://example.com/bans", "Ban Duration": "72h", "Max reports a player can submit per hour": 3, "Max reports a player can receive per hour": 5, "Cooldown between reports from the same player in minutes": 10, "Weighted report permissions": { "AutoBan.trusted": 2,"AutoBan.mod": 3 }, "Use Discord embeds for webhooks": true, "Max lines per chat response to avoid spam": 8, "Minimum playtime (in minutes) required to file a report": 120 } With AutoBan Enhanced, you get automated moderation, better transparency, and flexible punishment systems, freeing up admins to focus on building community instead of fighting cheaters.$24.99 -
Version 0.1.4
330 downloads
The plugin that displays temporary permissions and groups in the status bar. Depends on AdvancedStatus plugin. The ability to display temporary and permanent permissions; The ability to display temporary and permanent groups; The ability to display temporary and permanent permissions from groups; The ability to automatically generate language files for different languages(filled in English); The ability to customize the bar for each permission and group; The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size, font and outline of the text. { "Chat command": "pstatus", "Is it worth enabling GameTips for messages?": true, "List of language keys for creating language files": [ "en" ], "Is it worth clearing saved settings for permissions and groups upon detecting a wipe?": false, "Is it worth displaying the status bar only when players are in the safe zone or have building privilege?": false, "Default display mode for new permissions(Disabled, Temporary, UntilWipe, Permanent, All)": "Temporary, UntilWipe", "Default display mode for new groups(Disabled, Temporary, UntilWipe, Permanent, All)": "Temporary, UntilWipe", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 4 } } P.S. The default status bar configuration can be adjusted in *SERVER*\oxide\data\PermissionsStatus\BarsConfig.json under the key "_default". EN: { "CmdFailed": "The entered command is incorrect! Try '/{0} display'", "CmdDisplayEnabled": "Displaying the bar is enabled!", "CmdDisplayDisabled": "Displaying the bar is disabled!", "BarUntilWipe": "Until wipe", "BarPermanent": "Permanent" } RU: { "CmdFailed": "Введена не верная команда! Попробуйте '/{0} display'", "CmdDisplayEnabled": "Отображение бара включено!", "CmdDisplayDisabled": "Отображение бара выключено!", "BarUntilWipe": "До вайпа", "BarPermanent": "Постоянный" } The language file is generated during the plugin initialization process. Additionally, when creating a new permission or group, a key for it will be automatically added. Note: You can also specify in the configuration file the generation of language files for other languages besides en and ru. In the "\data\PermissionsStatus\" folder, there are three files: BarsConfig.json - stores status bar settings with their unique keys. GroupsConfig.json - contains settings for groups. PermissionsConfig.json - contains settings for permissions.$9.99 -
Version 1.2.0
49 downloads
MBRules — Stylish and Interactive Server Rules UI MBRules is a modern, beautifully designed Rust plugin that lets you display your server’s rules through a clean, expandable, and multilingual interface. Features: Modern UI — sleek, minimalistic interface with background images, smooth layout, and easy scrolling. Expandable rules — each rule can be expanded to show full text. Multilanguage support — English, Ukrainian, and Russian included (add your own easily). Last updated date — shows when the rules were last updated. Simple controls — players can open rules with /rules and close the window by clicking outside. ImageLibrary integration — all backgrounds and images are handled through ImageLibrary. Commands: Command Description /rules Opens the server rules UI Requirements: ImageLibrary (required) Configuration: { "LastUpdated": "2025-10-23", "Rules": [ { "Descriptions": { "en": { "Enabled": true, "Text": "By joining the MB-UA server, you automatically agree to comply with all project rules. Ignorance of the rules does not exempt you from responsibility." }, "uk": { "Enabled": true, "Text": "Заходячи на сервер MB-UA, ви автоматично погоджуєтесь з дотриманням всіх правил проєкту. Незнання правил не звільняє вас від відповідальності." }, "ru": { "Enabled": true, "Text": "Заходя на сервер MB-UA, вы автоматически соглашаетесь соблюдать все правила проекта. Незнание правил не освобождает вас от ответственности." } } } ] } Perfect for: RP, PvE, PvP, and modded servers Admins who want a clear and stylish way to present their rules Multilingual communities$4.00 -
Version 1.0.0
13 downloads
New Plugin: Custom Raidable Bases (Raidable Bases Extension) Hello Rust Community! I'm JaaaaaThomas I'm excited to introduce my first plugin: an exclusive collection of custom raid bases designed to enhance your server's PVE/PVP experience! 37 bases This is just the beginning, but we are ready to bring a fresh breath of air to how players interact with the Raidable Bases plugin. What You Get with This Package This package is not a standalone plugin, but a Content Extension that adds a selection of unique, handcrafted, and optimized Raid Bases directly to your server. Key Features: New Bases, New Challenges: I've included an entirely new difficulty category (ClanBase), featuring smart layouts designed to test even the most experienced raiders. Custom Loot: The bases come with a revised loot scheme, specifically balanced for a clan-level experience. Optimization & Configuration: All bases are designed to work seamlessly with popular difficulty settings. Attention: Required Dependencies For this base pack to function, your server MUST have the following two plugins installed and working: [Oxide/uMod Plugin] Raidable Bases (The main event plugin). [Oxide/uMod Plugin] Copy Paste (Required to correctly import the base structures). Without these two plugins, the base pack will NOT work. Future Vision This is only the first step! In the future, we plan to expand the package by: Adding new difficulty categories (Solo, Duo, Mega-Base). Introducing unique puzzles and traps within the structures. Providing constant updates with new bases for every major wipe. Thank you so much for your support! I hope you enjoy the new bases. I wish you all a good game and successful raids! — Sincerely, JaaaaaThomas.$15.00-
- #rust
- #raid
-
(and 41 more)
Tagged with:
- #rust
- #raid
- #raidable
- #raids
- #raider
- #raiders
- #raiding
- #raidbase
- #raidstats
- #raidzones
- #raid loot
- #raid mega
- #raid base
- #raid pack
- #raidables
- #raidbases
- #plugin
- #plugins
- #plugin bug
- #plugin fix
- #plugin rust
- #plugin error
- #plugin notify
- #raidablebases
- #raidablebases100
- #raidablebasesdb
- #pvp
- #pvppve
- #pvp map
- #pvp pve
- #pvp/pve
- #pvpping
- #pvpzone
- #pvpblock
- #pvpmoney
- #pvppoint
- #pvp arena
- #pvp event
- #pvp money
- #pvpmarker
- #pvp combat
- #pvp logger
- #pvp marker
-
Version 1.0.1
18 downloads
Overview MBCommands provides players with an intuitive graphical interface to view available server commands. Instead of typing help commands in chat, players can open a visually appealing menu that lists commands with descriptions in their native language (English, Ukrainian, Russian). The plugin features a built-in local image loader, eliminating the need for external dependencies like ImageLibrary. Images are cached locally for optimal performance. Features Local Image Loader — Downloads and caches images locally (oxide/data/). No external plugin dependencies required. Multi-Language Support — Command descriptions configurable per language (EN/UK/RU) directly in the config file. Fully Configurable — Add, remove, or edit commands via JSON without changing code. Modern UI — Scrollable command list with custom background images and customizable scrollbar colors. MBMainMenu Integration — Includes a "Back" button to return to the main menu (if MBMainMenu is installed). Configuration { "NPC Image URL": "https://i.ibb.co/r2Ft9sJQ/MBNPC.png", "Scrollbar Handle Color": "1 0 0 0.6", "Commands": [ { "Command": "/vip", "Descriptions": { "en": { "Enabled": true, "Text": "Opens VIP menu with exclusive perks." }, "uk": { "Enabled": true, "Text": "Відкриває VIP меню з ексклюзивними привілеями." }, "ru": { "Enabled": true, "Text": "Открывает VIP меню с эксклюзивными привилегиями." } } }, { "Command": "/craft", "Descriptions": { "en": { "Enabled": true, "Text": "Opens crafting menu for exclusive items." }, "uk": { "Enabled": true, "Text": "Відкриває меню крафту ексклюзивних предметів." }, "ru": { "Enabled": true, "Text": "Открывает меню крафта эксклюзивных предметов." } } } ] } Commands /commands Opens the commands menu.$2.30 -
Version 0.1.13.1
869 downloads
Allows automating the entire manure collection process and adds other useful features in this area, by adding Industial Adapters and BoxStorage to the HitchTrough and Composter. Also auto spliting dungs in the Composter container. Note: During plugin unloading, modified entities are not removed, to prevent the removal of pipes every time the plugin/server is restarted. To remove modifications from entities, you should use the "idung unload" command. industrialdung.admin - Provides unrestricted access to the plugin's functionality. This includes the ability to add/remove or clear modificated entities from other players. Note: In the configuration file, within the "Max ammount of modified entites per group" section, you can specify limits for any existing permission by simply listing its name. "Max amount of modified entites for each permission. Leave null or empty to recreate the default": { "industrialdung.default": { "HitchTroughs": 5, "Composters": 2 }, ... }, ... If you want to create a new permission, you can also include it in the list, but the name must begin with "industrialdung". { "Chat command": "idung", "Is it worth enabling GameTips for messages?": true, "Is it worth using Notify plugins for messages instead of the vanilla UI?": false, "Specify the regular message type for notify": 0, "Specify the warning message type for notify": 1, "List of language keys for creating language files": [ "en" ], "Is it worth ignoring Facepunch's rules regarding skins and DLCs?": false, "Is it worth removing modifications when permissions or groups are revoked if they exceed the limit?": true, "Use auto-splitting in the Composter?": true, "Item's short name for auto-splitting in the Composter. Leave the field empty to use the default": "horsedung", "AutoModify - Default value for new players": true, "Wood Storage Box Workshop Skin ID": 850379673, "Wood Storage Box Scale": 0.5, "The list of items(short name) available for the composter. Leave empty to use vanilla": [ "horsedung", "fertilizer", "plantfiber" ], "Popup - Duration": 6.0, "Popup - Position AnchorMin": "0 0.9", "Popup - Position AnchorMax": "0.25 1", "Popup - Position OffsetMin": "20 0", "Popup - Position OffsetMax": "0 -30", "Popup - Icon Url": "https://i.ibb.co/dJW6zfTk/4Adzkb8.png", "Popup - Icon Color(Hex or RGBA)": "#CCE699", "Popup - Icon Transparency": 0.8, "Popup - Text Font(https://docs.oxidemod.com/guides/developers/basic-cui/basic-cui#fonts)": "RobotoCondensed-Bold.ttf", "Popup - Text Font Size": 14, "Popup - Text Font Color(Hex or RGBA)": "#FFFFFF", "Popup - Description Font": "RobotoCondensed-Regular.ttf", "Popup - Description Font Size": 12, "Popup - Description Font Color(Hex or RGBA)": "#FFFFFF", "Popup - Text FadeIn": 1.0, "Popup - Sound Prefab Name": "assets/bundled/prefabs/fx/invite_notice.prefab", "Max amount of modified entites for each permission. Leave null or empty to recreate the default": { "industrialdung.default": { "HitchTroughs": 5, "Composters": 2, "DungMultiplier": 1.0 }, "industrialdung.vip": { "HitchTroughs": 10, "Composters": 4, "DungMultiplier": 2.0 }, "realpve.default": { "HitchTroughs": 5, "Composters": 2, "DungMultiplier": 1.0 }, "realpve.vip": { "HitchTroughs": 15, "Composters": 6, "DungMultiplier": 2.0 } }, "Version": { "Major": 0, "Minor": 1, "Patch": 13 } } EN: { "PopupTitleHitch": "Modify this hitch trough?", "PopupTitileComposter": "Modify this composter?", "PopupDescription": "Click on the notification to confirm", "CmdNotAllowed": "You do not have permission to use this command!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found: {0}", "CmdEntityNotFound": "Entity not found! You must specify the entity ID or look directly at it.", "CmdEntityNotOwned": "This entity has no owner!", "CmdEntityNotOwner": "You are not the owner of this entity!", "CmdEntityNotModified": "This entity has no modifications!", "CmdAdmin": "Available admin commands:\n\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>auto</color> - Toggle automatic modification of HitchTroughs and Composters\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>add *entityID*(optional)</color> - Add modifications to HitchTroughs or Composters you are looking at or specified\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>remove *entityID*(optional)</color> - Remove modifications from HitchTroughs or Composters you are looking at or specified\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>clear</color> - Remove all modifications from your HitchTroughs and Composters\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>clear *nameOrId*</color> - Remove all modifications from HitchTroughs and Composters of the specified player\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>clear all</color> - Remove all modifications from HitchTroughs and Composters, from all players\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>aclear</color> - Remove all modifications from HitchTroughs and Composters that were not saved in the data file for some reason\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>unload</color> - Unload the plugin and removing all modifications from HitchTroughs and Composters without deleting them from the data file\n\n--------------------------------------------------", "CmdAdminClearTarget": "Successfully removed {1} modifications from HitchTroughs and Composters for player '{0}'!", "CmdAdminClear": "Successfully removed all modifications from HitchTroughs and Composters for all players!", "CmdAdminAclear": "Successfully removed all modifications from HitchTroughs and Composters that were not in the data file!", "CmdAdminUnload": "Plugin '{0}' has been successfully unloaded with the removal of all modifications from HitchTroughs and Composters, but without deleting from the data file!", "CmdMain": "Available commands:\n\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>auto</color> - Toggle automatic modification of HitchTroughs and Composters\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>add *entityID*(optional)</color> - Add modifications to HitchTroughs or Composters you are looking at or specified\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>remove *entityID*(optional)</color> - Remove modifications from HitchTroughs or Composters you are looking at or specified\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>clear</color> - Remove all modifications from your HitchTroughs and Composters\n\n--------------------------------------------------", "CmdAutoModifyEnabled": "Automatic entity modification is enabled!", "CmdAutoModifyDisabled": "Automatic entity modification is disabled!", "CmdLimitReached": "You cannot to modify this entity as you have reached your limit of {0}!", "CmdHitchTroughModified": "The hitch trough has been successfully modified!", "CmdComposterModified": "The composter has been successfully modified!", "CmdEntityRemoved": "Entity modifications have been successfully removed!", "CmdEntityClear": "All modifications of your entities have been successfully removed!" } RU: { "PopupTitleHitch": "Модифицировать данную кормушку?", "PopupTitileComposter": "Модифицировать данный компостер?", "PopupDescription": "Нажмите на уведомление для подтверждения", "CmdNotAllowed": "У вас недостаточно прав для использования этой команды!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "Найдено несколько игроков: {0}", "CmdEntityNotFound": "Сущность не найдена! Вы должны указать ID сущности или смотреть прямо на нее.", "CmdEntityNotOwned": "У этой сущности нет владельца!", "CmdEntityNotOwner": "Вы не являетесь владельцем этой сущности!", "CmdEntityNotModified": "Данная сущность не имеет модификаций!", "CmdAdmin": "Доступные админ команды:\n\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>auto</color> - Переключение автоматической модификации кормушек и компостеров\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>add *айдиСущности*(опционально)</color> - Добавить модификации к кормушке или компостеру, на который вы смотрите или указали\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>remove *айдиСущности*(опционально)</color> - Удалить модификации у кормушки или компостера, на который вы смотрите или указали\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>clear</color> - Удалить все модификации у ваших кормушек и компостеров\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>clear *имяИлиАйди*</color> - Удалить все модификации у кормушек и компостеров, указанного игрока\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>clear all</color> - Удалить все модификации у кормушек и компостеров, всех игроков\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>aclear</color> - Удалить все модификации у кормушек и компостеров, которые по некоторым причинам не попали в дата файл\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>unload</color> - Выгрузить плагин с удалением модификаций у всех кормушек и комспостеров, без удаления из даты файла\n\n--------------------------------------------------", "CmdAdminClearTarget": "Успешно удалено {1} модификации у кормушек и компостеров, игрока '{0}'!", "CmdAdminClear": "Успешно удалены все модификации у кормушек и компостеров, всех игроков!", "CmdAdminAclear": "Успешно удалены все модификации у кормушек и компостеров, которых не было в дата файле!", "CmdAdminUnload": "Плагин '{0}' был успешно выгружен с удалением всех модификации у кормушек и компостеров, но без удаления из дата файла!", "CmdMain": "Доступные команды:\n\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>auto</color> - Переключение автоматической модификации кормушек и компостеров\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>add *айдиСущности*(опционально)</color> - Добавить модификации к кормушке или компостеру, на который вы смотрите или указали\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>remove *айдиСущности*(опционально)</color> - Удалить модификации у кормушки или компостера, на который вы смотрите или указали\n<color=#D1CBCB>/idung</color> <color=#D1AB9A>clear</color> - Удалить все модификации у ваших кормушек и компостеров\n\n--------------------------------------------------", "CmdAutoModifyEnabled": "Автоматическая модификация сущностей включена!", "CmdAutoModifyDisabled": "Автоматическая модификация сущностей выключена!", "CmdLimitReached": "Вы не можете модифицировать данную сущность, так как вы превысили свой лимит в {0}!", "CmdHitchTroughModified": "Кормушка успешно модифицирована!", "CmdComposterModified": "Компостер успешно модифицирован!", "CmdEntityRemoved": "Модификации сущности успешно удалены!", "CmdEntityClear": "Все модификации ваших сущностей успешно удалены!" } auto - Toggle automatic modification of HitchTroughs and Composters; add *entityID*(optional) - Add modifications to HitchTroughs or Composters you are looking at or specified; remove *entityID*(optional) - Remove modifications from HitchTroughs or Composters you are looking at or specified; clear - Remove all modifications from your HitchTroughs and Composters; clear *nameOrId* - Remove all modifications from HitchTroughs and Composters of the specified player. Permission "industrialdung.admin" required; clear all - Remove all modifications from HitchTroughs and Composters, from all players. Permission "industrialdung.admin" required; aclear - Remove all modifications from HitchTroughs and Composters that were not saved in the data file for some reason. Permission "industrialdung.admin" required; unload - Unload the plugin and removing all modifications from HitchTroughs and Composters without deleting them from the data file. Permission "industrialdung.admin" required. Example: /idung auto /idung add /idung add *netID* /idung clear all$9.99- 76 comments
- 2 reviews
-
- 1
-
-
- #rust
- #industrial
- (and 25 more)
-
Version 1.0.6
128 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 -
Version 1.19.32
592 downloads
IQTurrets is a plugin that adds turrets to your server without electricity! There will be an additional "switch" on the turrets, which will start and turn it off without electricity. It also supports the ability to connect electricity to the turret without electricity, the plugin is synchronized and everything will work according to the mechanics of the game Opportunities : - Support SAM-Site - There are limits on the cabinet and specifically for the player - It is possible to set limits on privileges - IQChat support is available - There are console and chat commands for controlling turrets with the ability to bind them - The ability to use 2 types of switches: Buttons and tublers API : Object OnSetupTurret(BaseEntity entityTurret) /// - return null to ignore and continue the installation, otherwise nothing will be installed on the turret$12.99- 58 comments
- 3 reviews
-
- 2
-
-
Version 3.1.3
10,270 downloads
Skinner! The unrivaled no.1 performance skinning plugin. Skin any item in the game with a unique skinbox giving you live skinning, auto skinning and skin sets. Thanks for everyone who has given feed back through the duration of the beta release. Skinner 3.0 is finally here! Visual overhaul! - with dynamic UI menus for permission based player menus Automatic skin filtering and dev modes for new TOS Permission based skin sets Team share skins! Auto unlock owned skins! and More!!! Live Skinning - Skin items in place without moving them Auto import - Automatically import and use all game approved skins Skin Sets - Create a variety of different skin sets for any item Skin Requests - Allows players to request and Admins to accept new skins in game Auto Skins - Automatically apply selected skins to every item that enters your inventory Skinner 2.0 offers unrivaled performance in plugin efficiency. Our standard testing shows runtime results were 60x faster and memory usage was 200x more efficient than the closest peforming plugin. SkinMenu Commands: /Skin or /S - Live skin any item in your inventory by selecting a skin you wish to apply /SkinCraft or /Sc - Create multiple skin sets for use in other functions such as skinauto or skinteam /Skinitem or /Si - Skin a deployable item you are looking at ingame. Args - Spectify 1, 2 or 3 to automatically use a skin set. Automatic Commands: /Skincon or /scon - sets all items in a container you are looking at to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skininv or /sinv - sets all items in your inventory to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skinauto or /Sauto - Automatically apply selected skins to every item that enters your inventory based off your skin sets. Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skinteam or /st - sets all items in your inventory and your teams to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. Toggle - Use /skinteam toggle to opt in or out of the team skin set /SkinBase - Allows you to skin all deployables in your base to your default skincraft skins. Args - Optional, specify item name to filter items being skinned example: /Skinbase sleepingbag to only skin sleeping bags. /SkinAll Command - Skin all the items in all the containers in your base. Args - Optional, specify item by shortname example: /SkinAll rifle.ak to only skin ak47's. Skin Import Commands: /Skinimport or /sip - Import custom workshop skins Args - WorkshopID example: /Skinimport 2397648701 /Colimport or /cip - Import custom workshop collection using /skinimport collectionID Args - Collection ID example: /Colimport 2921147807 /Skinrequest or /Sr - Request a skin to be added to skinner, requested skins will show in the /Skinrequests UI for approval Args - WorkshopID example: /Skinrequest 2397648701 /Skinrequests or /Srs - Opens the the skinner menu with a box of skins awating approval Button Usage - Select an option and remove the skin to enact the process Try - Recieve a copy of an item with that skin Approve - Adds the skin from the menu to the imported skins list Deny - Removes the skin Note: All chat commands are universal meaning they can be used via the console, rcon(for import commands) and can be customized via the configuration. Player Permissions: Skinner.default - enables /skin command Skinner.items - enables /skinitem command Skinner.craft - enables /skincraft command Skinner.skinauto - enables /skinauto command Skinner.skincon - enables /skincon command Skinner.skininv - enables /skininv command Skinner.skinbase - for use of the /skinbase command Skinner.skinteam - Allows the use of the /skinteam command Skinner.skinall - for the use of the /skinall command Skinner.skinrequest - enables /skinrequest Cooldowns Permissions: Cooldown settins can be adjusted via the plugin config. Applying the cooldown permission example skinner.default30 will enforce cooldowns on those with the permission. If no cooldown permission is applied no cooldowns will be enforced. If multiple cooldown perms are assigned to a single player they fastest cooldown will be used. "Command based cooldowns ('permission' : 'command' seconds": { "Default30CD": { "skin": 30.0, "skinitem": 30.0, "skincraft": 30.0, "skincon": 30.0, "skininv": 30.0, "skinteam": 30.0, "skinbase": 60.0, "skinall": 60.0 } Admin Permissions: Skinner.import – enables /Skinimport, /Colimport and /Skinrequests Skinner.bypassauth - bypasses the building auth requirement when using /Skinitem Skinner.permskintry - enables try feature when using /Skinrequests Warning: trying a skin will make a copy of that item. Only give this perm to admins who are allowed to spawn items. Other Permissions: Skinner.skinautotoggled - applied when a player disables skinauto Skinner.skinteamblock - applied when a player disables team skins Skinner offers multiple ways of importing skins including via the config and through commands: Importing via the config: To import skins via the config insert workshopIDs into the imported skins list as per the code snippet below, once finished reload skinner and the shortname and displayname fields will be automatically populated. You can add extra skins at any stage using this method. "Imported Skins List": { "861142659": {}, "2617744110": {} }, Optionally entire workshop skin collections can be added to conifg, each item skin is automatically imported to your imported skins list on plugin load. "Import Skin collections (steam workshop ID)": [496517795,2921147807], Importing via commands: Commands can be used to edit the config options for imported skins and collections via RCON, chat commands and the f1 console. Commands include: /Skinimport WorkshopID /Colimport CollectionID Importing via Skin Requests: Players can requests skins to be added to the game using the skinrequests feature. By using the command /skinrequest WorkshoID a skin gets automatically uploaded to the skin requests box. Admins with the skinner.import permission can open the requests box with the /skinrequests command. Skins from the request box can then be "tried" approved or denied. Each skin requested can be logged to discord using the webhook in the config. Importing from other plugins: Skinner now has a tool for windows to import data from skinbox, xskins and skincontroller. Simply select your json data file with imported skins into the tool and copy the new imported skins list into the skinner config. https://github.com/Whispers88/SkinDataConverter/releases/tag/Main Note: The "Imported Skins (skinid : 'shortnamestring', skinid2 : 'shortnamestring2'": {}" is now redundant and automatically converted to imported skins list. { "Skin Commands (skin items in you inventory": [ "skin", "s", "skinbox", "sb" ], "Skin Items Commands (skin items you have already placed": [ "skinitem", "si", "skindeployed", "sd" ], "Set default items to be skinned": [ "skincraft", "sc" ], "Automatically set all items in you inventory to your default skins": [ "skininv", "sinv" ], "Automatically set all items a container to your default skins": [ "skincon", "scon" ], "Automatically skin all deployables in your base": [ "skinbase", "skinbuilding" ], "Automatically skin all items in your base": [ "skinall", "sa" ], "Automatically skin all items that are moved into you inventory": [ "skinauto", "sauto" ], "Skin your teams inventories with your skin set": [ "skinteam", "st" ], "Request workshop skins via workshop ID": [ "skinrequest", "sr" ], "Approve workshop skin requests": [ "skinrequests", "srs" ], "Set your selected skin set": [ "skinset", "ss" ], "Import Custom Skins": [ "skinimport", "sip" ], "Import Workshop Collection Command": [ "colimport", "cip" ], "Skin Request Notification Discord Webhook": "", "Custom Page Change UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "198 60", "400 97" ], "Custom Searchbar UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "410 635", "572 660" ], "Custom Set Selection UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "250 610", "573 633" ], "Auto import approved skins": true, "Remove player data after inactivity (days)": 14, "Apply names of skins to skinned items": true, "Add Search Bar UI": true, "Use on itemcraft hook (skin items after crafting - not required when using skinauto)": false, "Override spraycan behaviour": false, "Use spraycan effect when holding spraycan and skinning deployables": true, "Blacklisted Skins (skinID)": [], "Blacklisted Itemms (itemID)": [], "Import Skin collections (steam workshop ID)": [], "Command based cooldowns ('permission' : 'command' seconds": { "Default30CD": { "skin": 30.0, "skinitem": 30.0, "skincraft": 30.0, "skincon": 30.0, "skininv": 30.0, "skinteam": 30.0, "skinbase": 60.0, "skinall": 60.0 } }, "Imported Skins List": {} } //Get all Cached skins public Dictionary<int, List<ulong>> GetAllCachedSkins() { return _cachedSkins; } //Check if skin is a Redirect item public bool IsRedirectID(ulong uID) { return HasMask(uID); } //Convert Redirect ID to item ID public int RedirectIDtoItemID(ulong uID) { return (int)UnsetMask(uID); } //Get a list of skins for a particular item public List<ulong>? GetSkinsItemList(int itemid) { _cachedSkins.TryGetValue(itemid, out List<ulong>? cachedSkins); return cachedSkins; }$24.99 -
Version 1.2.7
2,833 downloads
This plugin does not have its own functionality This plugin is only used as an API for other plugins Creates a configurable PVE mode out of compatible events and plugins Supported Plugins AirEvent HarborEvent WaterEvent Satellite Dish Event Power Plant Event JunkyardEvent Defendable Bases BossMonster BetterNpc Convoy API void EventAddPveMode(string shortname, JObject configJson, Vector3 position, float radius, HashSet<uint> crates, HashSet<uint> scientists, HashSet<uint> tanks, HashSet<ulong> owners, BasePlayer owner) Creates a PVE event mode shortname – name of event configJson – PVE mode configuration (more details below in the description) position – event position on the map radius – radius of the event zone crates – list of all event crates (including locked crates) scientists – list of all NPCs active during event tanks – list of all Bradley events owners – list of all event owners (this parameter is necessary if you need to create an event zone several times) owner – event owner (this parameter is required if you need to run an event with the owner) void EventRemovePveMode(string shortname, bool addCooldownOwners) Removes PVE mode for the event shortname – name of event addCooldownOwners – should there be a cooldown for all event owners if this parameter is active in the PVE mode configuration? (this parameter is necessary if you need to create an event zone several times and issue a cooldown only in the last iteration) void EventAddCrates(string shortname, HashSet<uint> crates) Adds crates to the event if active in PVE mode shortname – name of event crates – list of event crates to be added (including locked crates) void EventAddScientists(string shortname, HashSet<uint> scientists) Adds NPCs to the event if active in PVE mode shortname – name of event scientists – list of added event NPCs to be added void EventAddTanks(string shortname, HashSet<uint> tanks) Adds Bradley to the event if active in PVE mode shortname – name of event tanks – list of added Bradleys event to be added HashSet<ulong> GetEventOwners(string shortname) Returns a list of SteamID for all of the Event Owners during the operation of an event shortname – name of event ulong GetEventOwner(string shortname) Returns the SteamID of the current Event Owner (if there is no Event Owner, it returns 0) shortname – name of event void SetEventOwner(string shortname, ulong owner) Sets the current Event Owner shortname – name of event owner – SteamID of the player HashSet<string> GetEventsPlayer(ulong id) Returns a list of event zones where the player is located id - SteamID of the player Dictionary<string, double> GetTimesPlayer(ulong id) Returns a list of events and the time when the player participated in the event the last time id - SteamID of the player PVE Mode Configuration float Damage – The amount of damage that the player has to do to become the Event Owner HashSet<ScaleDamageConfig> ScaleDamage – Damage coefficients for calculation to become the Event Owner bool LootCrate – Can other players and teams loot the crates if not Event Owner or their team? [true/false] bool HackCrate – Can other players and teams hack locked crates if not Event Owner or their team? [true/false] bool LootNpc – Can other players and teams loot NPC corpses if not Event Owner or their team? [true/false] bool DamageNpc – Can other players and teams deal damage to the NPC if not Event Owner or their team? [true/false] bool DamageTank – Can other players and teams do damage to Bradley if not Event Owner or their team? [true/false] bool TargetNpc – Can an Npc attack other players and teams if not Event Owner or their team? [true/false] bool TargetTank – Can Bradley attack other players and teams if not Event Owner or their team? [true/false] bool CanEnter – Allow other players and teams to enter the Event Zone if not Event Owner or their team? [true/false] bool CanEnterCooldownPlayer – Allow a player who has an active cooldown as the Event Owner to enter the event zone? [true/false] int TimeExitOwner – The time that the Event Owner can leave the Event Zone and retain title [sec.] int AlertTime – The Warning time until Event Owner status will end [sec.] bool RestoreUponDeath – Prevent RestoreUponDeath plugin from functioning in the Event Zone? (Player will drop gun and inventory when in Event Zone) [true/false] double CooldownOwner – Cooldown timer for Event Owner until they can achieve the title again, after the end of an event where the player was its owner [sec.] int Darkening – Darkening of the dome (0 – disables the dome) Example: JObject config = new JObject { ["Damage"] = 500f, ["ScaleDamage"] = new JArray { new JObject { ["Type"] = "NPC", ["Scale"] = 1f }, new JObject { ["Type"] = "Bradley", ["Scale"] = 2f } }, ["LootCrate"] = false, ["HackCrate"] = false, ["LootNpc"] = false, ["DamageNpc"] = false, ["DamageTank"] = false, ["TargetNpc"] = false, ["TargetTank"] = false, ["CanEnter"] = false, ["CanEnterCooldownPlayer"] = true, ["TimeExitOwner"] = 300, ["AlertTime"] = 60, ["RestoreUponDeath"] = true, ["CooldownOwner"] = 86400, ["Darkening"] = 12 }; Chat commands EventsTime - shows the player a list of how much time has passed since participating in the event the last time Console commands (RCON only) ClearTimePveMode {steamid} - clears the list of the time when the player with SteamID ({steamid}) participated in the event the last time My Discord: KpucTaJl#8923 Join the Mad Mappers Discord here! Check out more of my work here!$15.00 -
Version 1.7.9
2,594 downloads
Never worry about your players fighting over a monument, make them compete for ownership! With this plugin you can configure several parameters then players can compete to claim a monument for a set time. There is enough configuration and options that this would work well for any server, whether PvE or PvP. Video Description This plugin will automatically find Facepunch standard monuments, including Cargo Ship and Oil Rigs that are on the map, and which can be specified in the configuration. This will create a zone around each monument in which customizable rules apply for anyone coming to the monument, whether they become owner or not. You can also create a zone using coordinates anywhere on the map, and assign certain rules to it. Chat Command (For all players) mocd - Displays all cooldowns for the player Chat Command (For Admins) mocreatecustomzone {name} - Creates a file for a custom zone in the Data/MM_Data/MonumentOwner/Custom Zones folder with the administrator position at the time of file creation moshowid - Creates a mark for the administrator that displays the ID of each zone on the map modrawedges - Shows the administrator the boundaries of each square zone on the map (used to set up such zones) Console Command (RCON only) mocdreset {SteamID64} - Resets all cooldowns for the player mogetcd {SteamID64} - Outputs information to the console with all the cooldowns of the player Plugin Config example of a configuration for monuments sample configuration for the plugin HOOKS void OnPlayerEnteredMonument(BasePlayer playerEntered, Vector3 zonePos, float zoneRadius) - called when the player has entered the zone after all checks void OnPlayerExitedMonument(BasePlayer playerEntered, Vector3 zonePos, float zoneRadius) - called when the player is exited of the zone API The answer true or false will tell whether there is a zone in this coordinate private bool HasZone(Vector3 posMonument) The answer true or false will tell whether the zone belongs to someone private bool HasOwner(Vector3 posMonument) The answer BasePlayer will tell who the zone belongs to private BasePlayer GetOwner(Vector3 posMonument) The answer true or false will tell whether the player can become the owner private bool CanPlayerBecomeOwner(Vector3 posMonument, BasePlayer player) Forcibly establishes the owner of the zone, bypassing checks on his ability to become the owner. The answer true or false will tell whether he was able to become one or the zone is occupied by another player private bool SetOwner(Vector3 posMonument, BasePlayer player) Deletes a zone. The answer true or false will tell whether he was able to do it private bool RemoveZone(MonumentInfo monument) Creates a zone for the desired monument. The answer true or false will tell whether he was able to do it private bool CreateZone(MonumentInfo monument) Translation assistance by Jbird. Check out more of my work here JTedal's library. Come see our whole teams work Mad Mapper Library. Come by the Mad Mapper Discord for support, feedback, or suggestions!$26.99- 233 comments
- 7 reviews
-
- 11
-
-
-
-
-
- #jtedal
- #mad mappers
-
(and 7 more)
Tagged with:
-
Version 0.1.6
534 downloads
The plugin displays the vehicle's fuel level in the status bar. Depends on AdvancedStatus plugin. The ability to display the vehicle's fuel level(gauge) in the status bar; The ability to notify when a low fuel level is reached; The ability to set a color for each percentage of fuel; The ability to specify mount poses for display; The ability to automatically generate language files for different languages(filled in English); 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, font and outline of the text. { "Is it worth enabling GameTips for messages?": true, "Is it worth using Notify plugins for messages instead of the vanilla UI?": false, "Specify the regular message type for notify": 0, "Specify the warning message type for notify": 1, "List of language keys for creating language files": [ "en" ], "Fuel stack size for fraction calculation. A value of 0 uses the actual stack size": 0, "Fuel indicator refresh interval in seconds": 5.0, "Notifications - The percentage(0.0 to 1.0) of fuel at which notifications will occur. A value of 0 disables this": 0.2, "Notifications - The effect that will be triggered upon a warning. Choose the effect carefully! An empty string disables the effect call": "assets/prefabs/locks/keypad/effects/lock.code.denied.prefab", "Status. Bar - Height": 26, "Status. Bar - Order": 1, "Status. Background - Color(Hex or RGBA)": "#FFFFFF", "Status. Background - Transparency": 0.15, "Status. Background - Material(empty to disable)": "", "Status. Image - Url": "https://i.ibb.co/4ZhnTpBv/Fuel-Status-Fuel.png", "Status. Image - Local(Leave empty to use Image_Url)": "FuelStatus_Fuel", "Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Is raw image": false, "Status. Image - Color(Hex or RGBA)": "#E2DBD6", "Status. Image - Transparency": 0.55, "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(Leave empty to disable). Example '0.75 0.75'": "", "Status. Text - Size": 15, "Status. Text - Color(Hex or RGBA)": "#E2DBD6", "Status. Text - Transparency": 1.0, "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. Text - Offset Horizontal": 7, "Status. Text Outline - Color(Hex or RGBA)": "#000000", "Status. Text Outline - Transparency": 1.0, "Status. Text Outline - Distance(Leave empty to disable)": "", "Status. Progress - Transparency": 0.8, "Status. Progress - OffsetMin": "25 2.5", "Status. Progress - OffsetMax": "-3.5 -3.5", "Status. Progress - Zero Text Size": 12, "Status. Progress - Zero Text Color(Hex or RGBA)": "#F70000", "List of mount poses for displaying fuel status": [ "Driving", "HandMotorBoat", "StandDrive", "SitMinicopter_Pilot", "Sit_Workcart", "Sit_Crane", "Driving_Snowmobile", "Sit_Locomotive", "Sit_DPV", "Sit_BatteringRam", "Steering_Boat" ], "List of Gauge Indicators": [ { "MinRange": 0.0, "MaxRange": 0.2, "Color(Hex or RGBA)": "#F70000" }, { "MinRange": 0.2, "MaxRange": 0.6, "Color(Hex or RGBA)": "#F7BB00" }, { "MinRange": 0.6, "MaxRange": 1.0, "Color(Hex or RGBA)": "#B1C06E" } ], "Version": { "Major": 0, "Minor": 1, "Patch": 6 } } The values of MaxRange and MinRange set the range of values over which the color applies. The values for MaxRange and MinRange must be between 0.0 and 1.0 (inclusive), where 0.0 equals 0%, and 1.0 equals 100%. The value of MaxRange must be equal to the value of MinRange of the previous. EN: { "MsgFuelLow": "Warning: Fuel level is low!", "BarProgressZero": "Out of fuel, refill required!" } RU: { "MsgFuelLow": "Внимание: уровень топлива низкий!", "BarProgressZero": "Нет топлива!" } Available mount poses(PlayerModel.MountPoses): public enum MountPoses { Chair = 0, Driving = 1, Horseback = 2, HeliUnarmed = 3, HeliArmed = 4, HandMotorBoat = 5, MotorBoatPassenger = 6, SitGeneric = 7, SitRaft = 8, StandDrive = 9, SitShootingGeneric = 10, SitMinicopter_Pilot = 11, SitMinicopter_Passenger = 12, ArcadeLeft = 13, ArcadeRight = 14, SitSummer_Ring = 15, SitSummer_BoogieBoard = 16, SitCarPassenger = 17, SitSummer_Chair = 18, SitRaft_NoPaddle = 19, Sit_SecretLab = 20, Sit_Workcart = 21, Sit_Cardgame = 22, Sit_Crane = 23, Sit_Snowmobile_Shooting = 24, Sit_RetroSnowmobile_Shooting = 25, Driving_Snowmobile = 26, ZiplineHold = 27, Sit_Locomotive = 28, Sit_Throne = 29, Parachute = 30, Sit_DPV = 31, Standing_Ballista = 32, Sit_BatteringRam = 33, VineSwinging = 34, Sit_Ejectorseat = 35, Sit_Beanbag = 36, Steering_Boat = 37, Standing = 128 }$3.99 -
Version 0.1.1
78 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 transfer items from a player's warehouse when the player is banned; The ability to transfer items from a player's body when the player is banned; The ability to transfer items from all of a player's storages when the player is banned; 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 moving lost items(BuriedItems) to the giveaway?": true, "Is it worth moving items from a player's warehouse to the giveaway when they are banned?": true, "Is it worth moving items from a player's body to the giveaway when they are banned?": true, "Is it worth moving items from a player's storage boxes to the giveaway when they are banned?": 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": 1 } } EN: { "CmdEconomicsNotEnough": "Not enough funds!", "CmdMain": "Available warehouse commands:\n\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>keeper</color> - Manage warehouse keepers\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway</color> - Manage item giveaways\n\n--------------------------------------------------", "CmdKeeperMain": "Manage warehouse keepers:\n\n<color=#D1CBCB>/wh keeper</color> <color=#D1AB9A>spawn *name*(optional)</color> - Spawn a Keeper at your position\n<color=#D1CBCB>/wh keeper</color> <color=#D1AB9A>kill</color> - Remove the Keeper you are looking at\n<color=#D1CBCB>/wh keeper</color> <color=#D1AB9A>name *name*</color> - Change the name of the Keeper you are looking at\n<color=#D1CBCB>/wh keeper</color> <color=#D1AB9A>wear</color> - Copy your items to the keeper\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!", "CmdKeeperWearCopied": "Your outfit was successfully copied to the Warehouse Keeper!", "CmdGiveawayMain": "Manage item giveaways:\n\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>start</color> - Force start the giveaway\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>skip</color> - Force stop the active giveaway\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>set \"HH:mm\"</color> - Set a new daily giveaway time\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>fill *amount*(optional)</color> - Force fill the giveaway with random items\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>clear</color> - Force clear all items from the giveaway storage\n\n--------------------------------------------------", "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.\n\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.\n\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>keeper</color> - Управление хранителями хранилища\n<color=#D1CBCB>/wh</color> <color=#D1AB9A>giveaway</color> - Управление раздачей вещей\n\n--------------------------------------------------", "CmdKeeperMain": "Управление хранителями хранилища:\n\n<color=#D1CBCB>/wh keeper</color> <color=#D1AB9A>spawn *имя*(опционально)</color> - Создать хранителя на вашей позиции\n<color=#D1CBCB>/wh keeper</color> <color=#D1AB9A>kill</color> - Удалить хранителя, на которого вы смотрите\n<color=#D1CBCB>/wh keeper</color> <color=#D1AB9A>name *имя*</color> - Изменить имя хранителя, на которого вы смотрите\n<color=#D1CBCB>/wh keeper</color> <color=#D1AB9A>wear</color> - Скопировать ваши вещи на хранителя\n\n--------------------------------------------------", "CmdKeeperNotFound": "Хранитель хранилища не найден! Вам необходимо смотреть прямо на него.", "CmdKeeperSpawned": "Хранитель хранилища успешно создан!", "CmdKeeperKilled": "Хранитель хранилища успешно удалён!", "CmdKeeperNamed": "Имя хранителя хранилища успешно изменено!", "CmdKeeperWearCopied": "Ваша одежда была успешно скопирована на хранителя!", "CmdGiveawayMain": "Управление раздачей вещей:\n\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>start</color> - Принудительно начать раздачу\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>skip</color> - Принудительно остановить активную раздачу\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>set \"HH:mm\"</color> - Установить новое время ежедневной раздачи\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>fill *количество*(опционально)</color> - Принудительно заполнить раздачу случайными вещами\n<color=#D1CBCB>/wh giveaway</color> <color=#D1AB9A>clear</color> - Принудительно очистить раздачу от всех вещей\n\n--------------------------------------------------", "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\nСледующая раздача намечена на {0}(UTC), до раздачи осталось {1}!\nОднако раздача может начаться и раньше, если количество предметов превысит {2}.\nОбязательно приходите, возможно, вам повезёт урвать что-нибудь ценное!", "DialogueGiveawayMainActive": "У нас регулярно проходят раздачи ненужного и потерянного имущества.\n\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. keeper - Manage warehouse keepers: spawn *name*(optional) - Spawn a Keeper at your position; kill - Remove the Keeper you are looking at; name *name* - Change the name of the Keeper you are looking at; wear - Copy your items to the keeper. giveaway - Manage item giveaways: start - Force start the giveaway; skip - Force stop the active giveaway; set "HH:mm" - Set a new daily giveaway time; fill *amount*(optional) - Force fill the giveaway with random items; clear - Force clear all items from the giveaway storage. Example: /wh keeper spawn "Custom Keeper" /wh giveaway start /wh giveaway set "21:30" /wh giveaway fill 124$30.00- 3 comments
-
- 1
-
-
- #rust
- #monument
-
(and 42 more)
Tagged with:
- #rust
- #monument
- #monuments
- #loot
- #looting
- #custom
- #bar
- #ui
- #cui
- #newbie
- #panel
- #mission
- #missions
- #npc
- #talk
- #talking
- #keep
- #keeper
- #warehouse
- #ware
- #house
- #limit
- #limits
- #permission
- #permissions
- #vip
- #economy
- #economics
- #humannpc
- #event
- #events
- #giveaway
- #giveaways
- #storage
- #item
- #items
- #pay
- #paid
- #plugin
- #plugins
- #umod
- #oxide
- #carbon
- #iiiaka
-
Version 0.1.9
392 downloads
The plugin displays the current zone or monument to the player in the status bar. Depends on ZoneManager, MonumentsWatcher and AdvancedStatus plugins. P.S. The settings for each zone or monument are located in the "*SERVER*\oxide\data\ZoneStatus\" folder. The ability to display the player's current monument; The ability to automatically change monuments names when the player switches languages; The ability to display the player's current zone; The ability to enable or disable visibility for each of the zones; The ability to customize the style for each of the zones(in the data file); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size, font and outline of the text. { "Is it worth deleting all saved Bar configs upon detecting a Wipe?": false, "Is it worth deleting all saved Monument configs upon detecting a Wipe?": false, "Is it worth deleting all saved Zone configs upon detecting a Wipe?": false, "Is it worth deleting all unused Monuments during initialization?": false, "Is it worth deleting all unused Zones during initialization?": false, "The name of the zone which has no name": "No name zone", "Is it worth enabling the bar display for new monuments?": true, "Is it worth enabling the bar display for new zones?": true, "List of prefix IDs that will share the same settings. Leave null to recreate the default list": [ "cargoship", "deepsea_floatingcity", "deepsea_island_tropical", "ghostship", "desert_military_base_", "gas_station_1", "lighthouse", "station-", "supermarket_1", "swamp_", "underwater_lab_", "warehouse", "entrance_bunker_", "ice_lake_", "power_sub_small_", "power_sub_big_", "jungle_ruins_", "water_well_" ], "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 9 } } P.S. The default status bar configuration can be adjusted in *SERVER*\oxide\data\BarsConfig.json under the key "_default". [PluginReference] private Plugin ZoneStatus; There is 1 method: UpdateZoneSettings UpdateZoneSettings: Used to change bar settings for zones from ZoneManager. To call the UpdateZoneSettings method, you need to pass 3 parameters, 1 of which is optional: <string>zoneID - The Id of the zone; <object[]>args - Array of objects to update; <bool>redraw - Optional. Is it worth redrawing the status bars for players? Defaults to true. Note: It is not necessary to pass all parameters, but the indices are strictly tied to the parameters. object[] args = new object[] { true, //0. Display - Is it worth displaying the status bar for this zone? "#A064A0", //1. Background_Color - Primary HEX color of the status bar. 0.8f, //2. Background_Transparency - Opacity of the primary status bar color. "https://i.imgur.com/mn8reWg.png", //3. Image_Url - Url of the status bar icon. "ZoneStatus_Default", //4. Image_Local - Name of the local image for the status bar. Note: The image must exist.(Leave empty to use Image_Url). false, //5. Image_IsRawImage - True for multicolored images, false for monochromatic images. "#A064A0", //6. Image_Color - Color of the status bar icon. For Image_IsRawImage = false. 1f, //7. Image_Transparency - Opacity of the status bar icon. For Image_IsRawImage = false. "#FFFFFF", //8. Text_Color - Primary text color. "#FFFFFF" //9. SubText_Color - Subtext color. }; ZoneStatus?.Call("UpdateZoneSettings", zoneID, args, true); //Call the API method UpdateZoneSettings with all necessary arguments for updating. Example with incomplete parameters: object[] args = new object[] { null, //0. Display - Skip index 0, as it is reserved for Display. "#A064A0", //1. Background_Color - Primary HEX color of the status bar. 0.8f, //2. Background_Transparency - Opacity of the primary status bar color. null, //3. Image_Url - Skip index 3, as it is reserved for Image_Url. null, //4. Image_Local - Skip index 4, as it is reserved for Image_Local. false, //5. Image_IsRawImage - True for multicolored images, false for monochromatic images. "#A064A0", //6. Image_Color - Color of the status bar icon. For Image_IsRawImage = false. 1f //7. Image_Transparency - Opacity of the status bar icon. For Image_IsRawImage = false. }; ZoneStatus?.Call("UpdateZoneSettings", zoneID, args, true); //Call the API method UpdateZoneSettings with all necessary arguments for updating.$3.99 -
Version 0.1.10
177 downloads
Useful multifunctional plugin related to trophy harvesting. The ability to automatically add a player's skull to their inventory without the need to harvest it; The ability to replace a player's skull upon harvesting; The ability to set the chance of harvesting a player's heart; The ability to harvest head bags without a special knife; The ability to customize head bags by type and separately for players; The ability to set icons for head bags; The ability to customize the name of head bags by type; The ability to add custom head bags for entities that don't have them by default; The ability to prevent harvesting one's own head bag if the corresponding permission is present. skulltrophy.vip - Allows players to save their clothing or copy someone else's saved clothing for display on a hunting trophy. skulltrophy.ignore - A player with this permission is protected from custom drop of skull and heart. skulltrophy.admin - Grants the same privileges as skulltrophy.vip. Additionally, it allows saving, modifying, and resetting saves for anyone, including by types. { "Chat command": "strophy", "Is it worth enabling GameTips for messages?": true, "List of language keys for creating language files": [ "en" ], "Is it worth ignoring Facepunch's rules regarding skins and DLCs?": false, "Is it worth creating a player's skull in their inventory upon suicide?": false, "Is it worth creating skulls for NPCs(Disabled, EnabledForAll, EnabledForSkinnedOnly)?": "EnabledForSkinnedOnly", "List of NPC skinIDs for skull creation": [ 14922524, 8675309 ], "Is it worth allowing the Head Bag to be harvested without a special knife?": true, "Text format when harvesting the Head Bag": "<color=#FFFFFF>{0}</color>", "List of skin IDs for Head Bag icons": { "Chicken": 3075281761, "Snake": 3470214843, "Boar": 3074393967, "Stag": 3074394545, "Horse": 3074392217, "Wolf": 3074393525, "Panther": 3470215653, "Tiger": 3470216364, "Bear": 3074392575, "Polarbear": 3470216633, "Crocodile": 3470217480, "SimpleShark": 3252067977, "BasePlayer": 3074297551, "ScientistNPC": 3075282198, "ScientistNPC2": 3676211119, "UnderwaterDweller": 3075283082, "TunnelDweller": 3075283387, "BanditGuard": 3075283702, "ScientistHeavy": 3075283936, "ScientistPeacekeeper": 3075284145, "ScientistNVG": 3075284355, "ScientistOutbreak": 3470232890, "NPCShopKeeper": 3534310675, "ScarecrowNPC": 3075284618, "GingerbreadNPC": 3075284816 }, "List of displayed names by type for the Head Bag": { "Chicken": "Chicken", "Snake": "Snake", "Boar": "Boar", "Stag": "Stag", "Horse": "Horse", "Wolf": "Wolf", "Panther": "Panther", "Tiger": "Tiger", "Bear": "Bear", "Polarbear": "Polar Bear", "Crocodile": "Crocodile", "SimpleShark": "Shark", "ScientistNPC": "Scientist", "UnderwaterDweller": "Underwater Dweller", "TunnelDweller": "Tunnel Dweller", "BanditGuard": "Bandit Guard", "ScientistHeavy": "Scientist Heavy", "ScientistPeacekeeper": "Peacekeeper", "ScientistNVG": "Scientist NVG", "ScientistOutbreak": "Scientist Outbreak", "NPCShopKeeper": "Shop Keeper", "ScarecrowNPC": "Scarecrow", "GingerbreadNPC": "Gingerbread" }, "Chance of harvesting the Heart(0-100)": 50, "Shortname of the source item for the Heart": "chicken.cooked", "Skin ID of the icon for the Heart": 3075285011, "Name of the effect when eating the Heart. An empty string disables the effect": "assets/prefabs/misc/xmas/snowball/effects/strike_screenshake.prefab", "Temperature applied when eating the Heart. A negative value adds cold, a positive value adds heat": 30.0, "Text format when harvesting the Heart": "<color=#FFFFFF>{0}</color>", "Is it worth replacing the Skull(vanilla) when it's harvested?": true, "The shortname of the item that replaces the Skull when it's harvested. An empty string removes the item": "skull.trophy", "Text format when harvesting Trophies": "<color=#FFFFFF>{0}</color>", "List of random shortname Trophies upon harvesting": [ "trophy", "skull.trophy", "skull.trophy.table", "skull.trophy.jar", "skull.trophy.jar2", "huntingtrophylarge", "huntingtrophysmall", "fishtrophy" ], "Version": { "Major": 0, "Minor": 1, "Patch": 10 } } EN: { "CmdMainAdmin": "Available admin commands:\n\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>clear</color> <color=#D1CBCB>all/types/players/*nameOrId*</color>(optional) - Clear saved data for the hunting trophy\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>save</color> <color=#D1CBCB>*type*/*nameOrId*</color>(optional) - Save outfit for the hunting trophy\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>copy</color> <color=#D1CBCB>*nameOrId*</color> - Copy outfit for the hunting trophy from the specified player\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>add</color> <color=#D1CBCB>*type*</color> - Add an entity type for the hunting trophy\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>remove</color> <color=#D1CBCB>*type*</color> - Remove an entity type from the hunting trophy\n\n--------------------------------------------------", "CmdMain": "Available commands:\n\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>clear</color> - Clear saved data for the hunting trophy\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>save</color> - Save outfit for the hunting trophy\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>copy</color> <color=#D1CBCB>*nameOrId*</color> - Copy outfit for the hunting trophy from the specified player\n\n--------------------------------------------------", "CmdNotAllowed": "You do not have permissions to use this command!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found for '{0}': {1}", "CmdClearAll": "The saved clothing of all players and NPCs has been reset!", "CmdClearAllTypes": "The saved clothing by types has been reset!", "CmdClearAllPlayers": "The saved clothing of all players has been reset!", "CmdClearPlayer": "{0}'s saved clothing has been reset!", "CmdClearMyself": "Your saved clothing has been reset!", "CmdWearSavedForType": "Clothing for type '{0}' has been saved!", "CmdWearSavedFor": "Clothing for player '{0}' has been saved!", "CmdWearSaved": "Your clothing has been saved!", "CmdWearCopied": "{0}'s clothing has been successfully copied!", "CmdPlayerNoSavedWear": "The player did not save their clothing!", "CmdTypeAdded": "A new type of '{0}' has been created! It used your clothing.", "CmdTypeRemoved": "Type '{0}' has been successfully deleted!" } RU: { "CmdMainAdmin": "Доступные админ команды:\n\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>clear</color> <color=#D1CBCB>all/types/players/*имяИлиАйди*</color>(опционально) - Очистка сохранённых данных для трофейного панно\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>save</color> <color=#D1CBCB>*тип*/*имяИлиАйди*</color>(опционально) - Сохранение одежды для трофейного панно\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>copy</color> <color=#D1CBCB>*имяИлиАйди*</color> - Копирование одежды для трофейного панно с указанного игрока\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>add</color> <color=#D1CBCB>*тип*</color> - Добавить тип сущности для трофейного панно\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>remove</color> <color=#D1CBCB>*тип*</color> - Удалить тип сущности для трофейного панно\n\n--------------------------------------------------", "CmdMain": "Доступные команды:\n\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>clear</color> - Очистка сохранённых данных для трофейного панно\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>save</color> - Сохранение одежды для трофейного панно\n<color=#D1CBCB>/strophy</color> <color=#D1AB9A>copy</color> <color=#D1CBCB>*имяИлиАйди*</color> - Копирование одежды для трофейного панно с указанного игрока\n\n--------------------------------------------------", "CmdNotAllowed": "У вас недостаточно прав для использования этой команды!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "По значению '{0}' найдено несколько игроков: {1}", "CmdClearAll": "Сохраненная одежда всех игроков и NPC была обнулена!", "CmdClearAllTypes": "Сохраненная одежда по типам была обнулена!", "CmdClearAllPlayers": "Сохраненная одежда всех игроков была обнулена!", "CmdClearPlayer": "Сохраненная одежда игрока '{0}' была обнулена!", "CmdClearMyself": "Ваша сохраненная одежда была обнулена!", "CmdWearSavedForType": "Одежда для типа '{0}' была сохранена!", "CmdWearSavedFor": "Одежда для игрока '{0}' была сохранена!", "CmdWearSaved": "Ваша одежда была сохранена!", "CmdWearCopied": "Одежда игрока '{0}' была успешно скопирована!", "CmdPlayerNoSavedWear": "Игрок не сохранял свою одежду!", "CmdTypeAdded": "Новый тип '{0}' был создан! Использовалась ваша одежда.", "CmdTypeRemoved": "Тип '{0}' был успешно удален!" } Admin commands: clear all/types/players/*nameOrId*(optional) - Clear saved data for the hunting trophy; save *type*/*nameOrId*(optional) - Save outfit for the hunting trophy; copy *nameOrId* - Copy outfit for the hunting trophy from the specified player; add *type* - Add an entity type for the hunting trophy; remove *type* - Remove an entity type from the hunting trophy. Players commands: clear - Clear saved data for the hunting trophy; save - Save outfit for the hunting trophy; copy *nameOrId* - Copy outfit for the hunting trophy from the specified player. Example: /strophy clear all /strophy copy iiiaka$4.99 -
Version 0.1.2
16 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 - Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Status. Image Outline - Transparency": 1.0, "Status. Image Outline - Distance(Leave empty to disable). Example '0.75 0.75'": "", "Status. Text - Size": 12, "Status. Text - Color(Hex or RGBA)": "#FFFFFF", "Status. Text - Transparency": 1.0, "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. Text - Offset Horizontal": 0, "Status. Text Outline - Color(Hex or RGBA)": "#000000", "Status. Text Outline - Transparency": 1.0, "Status. Text Outline - Distance(Leave empty to disable)": "", "Status. SubText - Size": 12, "Status. SubText - Color(Hex or RGBA)": "#FFFFFF", "Status. SubText - Transparency": 1.0, "Status. SubText - Font": "RobotoCondensed-Bold.ttf", "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(Leave empty to disable)": "", "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": 2 } } 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 -
Version 0.1.3
171 downloads
An excellent plugin for remote trading between players with extensive functionality. The ability to log successful trades; The ability to create new permissions; The ability to customize permissions flexibly, including both new and existing ones; The ability to limit slots in trade; The ability to configure the method(Personal, CommonMinimum, CommonMaximum) for limiting the number of slots; The ability to set a cooldown on sending trade requests; The ability to configure the method(InitiatorOnly, TargetOnly, Both) for applying cooldown to players; The ability to purchase a bypass for the trade request cooldown; The ability to set a daily limit on sending trade requests; The ability to purchase additional trade requests after reaching the daily limit; The ability to forbid trading when wounded; The ability to forbid trading while swimming; The ability to forbid trading while mounted on certain seats; The ability to forbid trading in specified monuments, by name or by monument type; The ability to forbid trading in someone else's building privileges; The ability to forbid trading when taking damage; The ability to forbid trading during a combat block; The ability to forbid trading during a raid block; The ability to forbid certain items from being traded; The ability to automatically generate language files for specified languages(with content filled in English); The ability to set an effect upon receiving a trade request; The ability to change the effect upon a successful trade completion; The ability to display a status bar while waiting for a trade; 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": "trade", "List of 'accept' commands": [ "accept", "yes" ], "List of 'cancel' commands": [ "cancel", "no" ], "Is it worth enabling GameTips for messages?": true, "Is it worth saving trade logs to a file?": true, "List of language keys for creating language files": [ "en" ], "Slot limit calculation mode(Personal, CommonMinimum, CommonMaximum)": "CommonMaximum", "Trade cooldown apply mode(InitiatorOnly, TargetOnly, Both)": "InitiatorOnly", "Is it worth checking the target's trade cooldown?": false, "Time in seconds given to respond to a trade request": 15.0, "Price to skip 60 seconds of the trade request cooldown": 10.0, "The prefab name for the effect triggered when a trade request is received": "assets/bundled/prefabs/fx/invite_notice.prefab", "The prefab name for the effect triggered when a trade is successfully completed": "assets/prefabs/building/wall.frame.shopfront/effects/metal_transaction_complete.prefab", "List of mount names where trading 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(Leave empty to disable)": "", "Status. Image - Url": "https://i.imgur.com/9khST6i.png", "Status. Image - Local(Leave empty to use Image_Url)": "Trader_Request", "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 - Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Status. Image Outline - Transparency": 1.0, "Status. Image Outline - Distance(Leave empty to disable). Example '0.75 0.75'": "", "Status. Text - Size": 12, "Status. Text - Color(Hex or RGBA)": "#FFFFFF", "Status. Text - Transparency": 1.0, "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. Text - Offset Horizontal": 0, "Status. Text Outline - Color(Hex or RGBA)": "#000000", "Status. Text Outline - Transparency": 1.0, "Status. Text Outline - Distance(Leave empty to disable)": "", "Status. SubText - Size": 12, "Status. SubText - Color(Hex or RGBA)": "#FFFFFF", "Status. SubText - Transparency": 1.0, "Status. SubText - Font": "RobotoCondensed-Bold.ttf", "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(Leave empty to disable)": "", "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 trade permissions": [ { "Permission Name": "trader.default", "Number of available trade slots": 3, "Cooldown time(in seconds) before next trade": 600.0, "Daily trade request limit. A value of 0 disables the limit": 50, "Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 5.0, "Is it worth forbidding trade if the player is in a wounded state?": true, "Is it worth forbidding trade if the player is swimming?": true, "Is it worth forbidding trade if the player is mounted?": true, "Is it worth forbidding trade if the player is in someone else's building privilege area?": true, "Is it worth forbidding trade if the player has taken damage?": true, "Is it worth forbidding trade if the player has combat block?": true, "Is it worth forbidding trade 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 trade items": [ "rock" ] }, { "Permission Name": "trader.vip", "Number of available trade slots": 6, "Cooldown time(in seconds) before next trade": 450.0, "Daily trade request limit. A value of 0 disables the limit": 100, "Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 2.5, "Is it worth forbidding trade if the player is in a wounded state?": true, "Is it worth forbidding trade if the player is swimming?": true, "Is it worth forbidding trade if the player is mounted?": true, "Is it worth forbidding trade if the player is in someone else's building privilege area?": true, "Is it worth forbidding trade if the player has taken damage?": true, "Is it worth forbidding trade if the player has combat block?": true, "Is it worth forbidding trade 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 trade items": [ "rock" ] }, { "Permission Name": "realpve.vip", "Number of available trade slots": 9, "Cooldown time(in seconds) before next trade": 300.0, "Daily trade request limit. A value of 0 disables the limit": 0, "Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 0.0, "Is it worth forbidding trade if the player is in a wounded state?": false, "Is it worth forbidding trade if the player is swimming?": false, "Is it worth forbidding trade if the player is mounted?": false, "Is it worth forbidding trade if the player is in someone else's building privilege area?": false, "Is it worth forbidding trade if the player has taken damage?": false, "Is it worth forbidding trade if the player has combat block?": false, "Is it worth forbidding trade 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 trade items": [ "rock" ] } ], "Version": { "Major": 0, "Minor": 1, "Patch": 3 } } EN: { "CmdNotAllowed": "You do not have permission to use this command!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found: {0}", "CmdEconomicsNotEnough": "Not enough funds!", "CmdMain": "Available trade commands:\n\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>*nameOrId*</color> - Send a trade request to the specified player\n<color=#D1CBCB>/trade</color> <color=#83BA7C>accept/yes</color> - Accept a pending trade request\n<color=#D1CBCB>/trade</color> <color=#DE5757>cancel/no</color> - Decline a pending or active trade\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>limits</color> - View your trade limits\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy limits *amount*(optional)</color> - Purchase additional trade requests\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy cd *amount*(optional)</color> - Purchase a 60 second(* by amount) cooldown skip\n\n--------------------------------------------------", "CmdDailyLimitExtra": "You have exceeded the daily limit({0}) for sending trade requests!\n<size=10>However, you can buy additional requests using the <color=#D1AB9A>/trade buy limits</color> command for <color=#D1CBCB>${1}</color></size>", "CmdDailyLimit": "You have exceeded the daily limit({0}) for sending trade requests!", "CmdCooldownSkip": "You must wait {0} seconds before sending another trade request!\n<size=10>However, you can skip the cooldown using the <color=#D1AB9A>/trade buy cd</color> command for <color=#D1CBCB>${1}</color> per 60 seconds</size>", "CmdCooldown": "You must wait {0} seconds before sending another trade request!", "CmdWoundBlock": "You can't trade while wounded!", "CmdSwimming": "You can't trade while swimming!", "CmdMountBlock": "You can't trade while mounted here!", "CmdBuildingBlock": "You can't trade inside someone else's base!", "CmdDamageBlock": "You can't trade while taking damage!", "CmdCombatBlock": "You can't trade during combat block!", "CmdRaidBlock": "You can't trade during a raid block!", "CmdAcceptEmpty": "You have no pending trade requests!", "CmdAcceptOngoing": "You already have an active trade with player '<color=#D1AB9A>{0}</color>'!", "CmdDeclineEmpty": "You have no pending or active trades!", "CmdDecline": "Trade between you and player '<color=#D1AB9A>{0}</color>' has been canceled!", "CmdDeclineOther": "Player '<color=#D1AB9A>{0}</color>' canceled the trade with you!", "CmdSendSelf": "You cannot send a trade request to yourself!", "CmdSendNoRespond": "Player '<color=#D1AB9A>{0}</color>' has not responded to your trade request!", "CmdSendAlredyHave": "You already have a pending or active trade with player '<color=#D1AB9A>{0}</color>'!\n<size=10><color=#83BA7C>/trade yes</color> - Accept the pending trade request\n<color=#DE5757>/trade no</color> - Decline the pending or active trade</size>", "CmdSendTargetAlredyHave": "Player '<color=#D1AB9A>{0}</color>' already has a pending or active trade with player '<color=#D1AB9A>{1}</color>'!", "CmdSendTargetHasCooldown": "Player '<color=#D1AB9A>{0}</color>' has an active cooldown, {1} seconds remaining!", "CmdSendTo": "Trade request successfully sent to player '<color=#D1AB9A>{0}</color>'.", "CmdSendFrom": "Player '<color=#D1AB9A>{0}</color>' has sent you a trade request.\n<size=10><color=#83BA7C>/trade yes</color> - Accept the pending trade request\n<color=#DE5757>/trade no</color> - Decline the pending or active trade</size>", "CmdPurchaseNotLimited": "You haven't reached your daily limit yet!", "CmdPurchaseHaveExtra": "You still have {0} additional trade requests! Use them before purchasing more.", "CmdPurchaseLimitsNotAllowed": "Purchasing additional trade requests is unavailable!", "CmdPurchasedLimits": "You have successfully purchased <color=#D1CBCB>{0}</color> trade requests!\n<size=10>Now you have <color=#D1CBCB>{1}</color> additional trade requests</size>", "CmdPurchaseNoCooldown": "You don't have a cooldown for sending trade requests!", "CmdPurchaseCooldownNotAllowed": "Purchasing a cooldown skip for trade requests is not available!", "CmdPurchasedCooldown": "You have successfully purchased a cooldown skip for <color=#D1CBCB>{0} seconds</color> for trade requests!\n<size=10>Now you need to wait <color=#D1CBCB>{1} seconds</color></size>", "CmdMyLimits": "Your trade request limits:\n\n<color=#D1CBCB>Cooldown</color> - <color=#D1AB9A>{0} sec</color>\n<color=#D1CBCB>Daily Limit</color> - <color=#D1AB9A>{1}</color>\n\n--------------------------------------------------", "BarInitiator": "Trade to: {0}", "BarTarget": "Trade from: {0}", "BarCooldown": "Trade cooldown:", "MsgStarted": "You have started a trade with player '<color=#D1AB9A>{0}</color>'!", "MsgCompleted": "Trade with player '<color=#D1AB9A>{0}</color>' completed successfully!", "MsgCanceled": "Player '<color=#D1AB9A>{0}</color>' canceled the trade!" } RU: { "CmdNotAllowed": "У вас недостаточно прав для использования этой команды!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "Найдено несколько игроков: {0}", "CmdEconomicsNotEnough": "Не достаточно средств!", "CmdMain": "Доступные команды для трейда:\n\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>*имяИлиАйди*</color> - Отправить запрос на трейд указанному игроку\n<color=#D1CBCB>/trade</color> <color=#83BA7C>accept/yes</color> - Принять ожидающий запрос на трейд\n<color=#D1CBCB>/trade</color> <color=#DE5757>cancel/no</color> - Отклонить ожидающий или активный трейд\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>limits</color> - Узнать свои лимиты\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy limits *количество*(опционально)</color> - Докупить дополнительное количество трейд запросов\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy cd *количество*(опционально)</color> - Купить пропуск 60 секунд(* на количество) задержки перед отправкой трейд запросов\n\n--------------------------------------------------", "CmdDailyLimitExtra": "Вы превысили допустимую дневную норму({0}) на отправку трейд запросов!\n<size=10>Но вы можете купить дополнительные запросы с помощью команды <color=#D1AB9A>/trade buy limits</color> за <color=#D1CBCB>{1}$</color></size>", "CmdDailyLimit": "Вы превысили допустимую дневную норму({0}) на отправку трейд запросов!", "CmdCooldownSkip": "Перед отправкой нового запроса на трейд вам необходимо подождать {0} секунд!\n<size=10>Но вы можете купить пропуск задержки с помощью команды <color=#D1AB9A>/trade buy cd</color> за <color=#D1CBCB>{1}$</color> за каждые 60 секунд</size>", "CmdCooldown": "Перед отправкой нового запроса на трейд вам необходимо подождать {0} секунд!", "CmdWoundBlock": "Вам запрещено пользоваться трейдом в предсмертном состоянии!", "CmdSwimming": "Вам запрещено пользоваться трейдом в воде!", "CmdMountBlock": "Вам запрещено пользоваться трейдом сидя в данном месте!", "CmdBuildingBlock": "Вам запрещено пользоваться трейдом в чужой базе!", "CmdDamageBlock": "Вам запрещено пользоваться трейдом при получении урона!", "CmdCombatBlock": "Вам запрещено пользоваться трейдом во время боя!", "CmdRaidBlock": "Вам запрещено пользоваться трейдом во время рейда!", "CmdAcceptEmpty": "У вас нет ожидающих запросов на трейд!", "CmdAcceptOngoing": "У вас уже есть активный трейд с игроком '<color=#D1AB9A>{0}</color>'!", "CmdDeclineEmpty": "У вас нет ожидающих или активных трейдов!", "CmdDecline": "Трейд между вами и игроком '<color=#D1AB9A>{0}</color>' отменён!", "CmdDeclineOther": "Игрок '<color=#D1AB9A>{0}</color>' отменил трейд с вами!", "CmdSendSelf": "Нельзя отправить трейд запрос самому себе!", "CmdSendNoRespond": "Игрок '<color=#D1AB9A>{0}</color>' не ответил на ваш трейд запрос!", "CmdSendAlredyHave": "У вас уже есть ожидающий или активный трейд с игроком '<color=#D1AB9A>{0}</color>'!\n<size=10><color=#83BA7C>/trade yes</color> - Принять ожидающий запрос на трейд\n<color=#DE5757>/trade no</color> - Отклонить ожидающий или активный трейд</size>", "CmdSendTargetAlredyHave": "У игрока '<color=#D1AB9A>{0}</color>' уже есть ожидающий или активный трейд с игроком '<color=#D1AB9A>{1}</color>'!", "CmdSendTargetHasCooldown": "У игрока '<color=#D1AB9A>{0}</color>' имеется активный кулдаун, осталось {1} секунд!", "CmdSendTo": "Игроку '<color=#D1AB9A>{0}</color>' был успешно отправлен запрос на трейд.", "CmdSendFrom": "Игрок '<color=#D1AB9A>{0}</color>' отправил вам запрос на трейд.\n<size=10><color=#83BA7C>/trade yes</color> - Принять ожидающий запрос на трейд\n<color=#DE5757>/trade no</color> - Отклонить ожидающий или активный трейд</size>", "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\n--------------------------------------------------", "BarInitiator": "Трейд с: {0}", "BarTarget": "Трейд от: {0}", "BarCooldown": "Задержка трейда:", "MsgStarted": "Вы начали трейд с игроком '<color=#D1AB9A>{0}</color>'!", "MsgCompleted": "Трейд с игроком '<color=#D1AB9A>{0}</color>' успешно завершён!", "MsgCanceled": "Игрок '<color=#D1AB9A>{0}</color>' отменил трейд!" } *nameOrId* - Send a trade request to the specified player. accept/yes - Accept a pending trade request. cancel/no - Decline a pending or active trade. limits - View your trade limits. buy limits *amount*(optional) - Purchase additional trade requests. buy cd *amount*(optional) - Purchase a 60 second(* by amount) cooldown skip. Example: /trade iiiaka /trade yes /trade limits /trade buy limits 1 /trade buy limits 0.5$9.99 -
Version 0.1.1
112 downloads
The plugin displays the time until restart in the status bar. Depends on AdvancedStatus plugin. The ability to to add and modify any restart plugins; The ability to automatically generate code for restart hooks; The ability to automatically generate language files for different languages(filled in English); The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size, font and outline of the text. { "Is it worth generating restart hooks? 0 - disabled, 1 - one-time activation, 2 - always enabled": 2, "List of language keys for creating language files": [ "en" ], "The type of the bar(TimeProgressCounter or TimeCounter)": "TimeCounter", "The height of the bar": 26, "The display order of the bar": 10, "The background color of the bar(HEX or RGBA)": "#E5423F", "The background transparency of the bar": 0.7, "The background material of the bar, leave empty to disable": "", "The URL of the bar image": "https://i.imgur.com/rAiHloW.png", "The local image of the bar, leave empty to use URL": "RestartStatus_Default", "The sprite image of the bar, leave empty to use local or URL": "", "Is it worth using a raw image for the bar?": false, "The color of the bar image(HEX or RGBA)": "#E5423F", "The transparency of the bar image": 1.0, "The outline color of the bar image(HEX or RGBA)": "0.1 0.3 0.8 0.9", "The outline transparency of the bar image": 1.0, "The outline distance of the bar image, leave empty to disable. Example '0.75 0.75'": "", "The size of the bar text": 12, "The color of the bar text(HEX or RGBA)": "#FFFFFF", "The transparency of the bar text": 1.0, "The font of the bar text(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "The horizontal offset of the bar text": 0, "The outline color of the bar text(HEX or RGBA)": "#000000", "The outline transparency of the bar text": 1.0, "The outline distance of the bar text, leave empty to disable": "", "The size of the bar subtext": 12, "The color of the bar subtext(HEX or RGBA)": "#FFFFFF", "The transparency of the bar subtext": 1.0, "The font of the bar subtext": "RobotoCondensed-Bold.ttf", "The outline color of the bar subtext(HEX or RGBA)": "0.5 0.6 0.7 0.5", "The outline transparency of the bar subtext": 1.0, "The outline distance of the bar subtext, leave empty to disable": "", "The background color of the progress bar(HEX or RGBA)": "1 1 1 0.15", "The background transparency of the progress bar": 0.15, "Is it worth making the progress reversible?": true, "The color of the bar progress(HEX or RGBA)": "#E5423F", "The transparency of the bar progress": 0.7, "The OffsetMin of the bar progress": "0 0", "The OffsetMax of the bar progress": "0 0", "The list of restart hooks. Note: After modifying hooks, do not forget to toggle hook generation": [ { "Hook triggered at the start of a restart": "OnSmoothRestartInit", "Argument position containing the number of seconds until restart(counting from 0)": 0, "Hook triggered at the cancellation of a restart": "OnSmoothRestartCancelled" }, { "Hook triggered at the start of a restart": "OnRestartScheduled", "Argument position containing the number of seconds until restart(counting from 0)": 0, "Hook triggered at the cancellation of a restart": "OnRestartCancelled" } ], "Version": { "Major": 0, "Minor": 1, "Patch": 1 } } EN: { "BarText": "RESTART IN" } RU: { "BarText": "РЕСТАРТ ЧЕРЕЗ" }$3.99 -
Version 0.1.8
350 downloads
The plugin displays the player's balance in the status bar. Depends on AdvancedStatus plugin. The ability to add and modify any economic plugins; The ability to automatically generate code for balance update hooks; The ability to automatically generate language files for different languages(filled in English); The ability to display the status bar to everyone or only based on permissions; The ability to display the status bar always or only in safe zones and building privileges; The ability to display the status bar via a command for a short period if permanent display is disabled; The ability to display the status bar when the balance is non-zero; The ability to display all or part of the bars simultaneously; The ability to customize the bar for each plugin; The ability to specify the currency symbol; The ability to specify the display side of the currency symbol; The ability to display text if the balance exceeds a specified value(useful for very large balances); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color, transparency and outline of the image; The abillity to set sprite instead of the image; The ability to customize the color, size, font and outline of the text. balancebar.use - Grants the right to display the status bar if display is enabled only for permissions. { "Chat command": "balances", "Is it worth enabling GameTips for messages?": true, "Is it worth generating update hooks? 0 - disabled, 1 - one-time activation, 2 - always enabled": 2, "Is it worth displaying the status bar only when players are in the safe zone or have building privilege?": true, "Is it worth displaying the status bar at a 0 balance?": true, "Is it worth displaying the status bar without permission?": true, "Value after which text will be displayed instead of balance": 1000000000.0, "List of language keys for creating language files": [ "en" ], "The list of economy plugins for displaying the balance bar. Note: After modifying hooks, do not forget to toggle hook generation": [ { "Plugin's name": "Economics", "Is it worth enabling the plugin for display?": true, "Language key for the main text": "BarEconomics", "Balance format": "${0}", "Language key for the subtext when the balance is high": "BarEconomicsOverLimit", "API method for retrieving the balance": "Balance", "Hook that triggers on balance update": "OnEconomicsBalanceUpdated", "List of argument types in the hook in order": [ "string", "double" ], "BarSettings": { "Order": 20, "Height": 26, "BackgroundColor(HEX or RGBA)": "#6375B3", "BackgroundTransparency": 0.8, "BackgroundMaterial(leave empty to disable)": "", "ImageUrl": "https://i.imgur.com/jKeUqSD.png", "ImageLocal(leave empty to use URL)": "BalanceBar_Default", "ImageSprite(leave empty to use local or URL)": "", "IsRawImage": false, "ImageColor": "#A1DBE6", "ImageTransparency": 1.0, "ImageOutlineColor": "0.1 0.3 0.8 0.9", "ImageOutlineTransparency": 1.0, "ImageOutlineDistance(leave empty to disable). Example '0.75 0.75'": "", "TextSize": 12, "TextColor": "#FFFFFF", "TextTransparency": 1.0, "TextFont(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "TextOffsetHorizontal": 0, "TextOutlineColor": "#000000", "TextOutlineTransparency": 1.0, "TextOutlineDistance": "", "SubTextSize": 12, "SubTextColor": "#FFFFFF", "SubTextTransparency": 1.0, "SubTextFont": "RobotoCondensed-Bold.ttf", "SubTextOutlineColor": "0.5 0.6 0.7 0.5", "SubTextOutlineTransparency": 1.0, "SubTextOutlineDistance": "" } }, { "Plugin's name": "ServerRewards", "Is it worth enabling the plugin for display?": true, "Language key for the main text": "BarServerRewards", "Balance format": "{0} RP", "Language key for the subtext when the balance is high": "BarServerRewardsOverLimit", "API method for retrieving the balance": "CheckPoints", "Hook that triggers on balance update": "OnPointsUpdated", "List of argument types in the hook in order": [ "ulong", "int" ], "BarSettings": { "Order": 20, "Height": 26, "BackgroundColor(HEX or RGBA)": "#6375B3", "BackgroundTransparency": 0.8, "BackgroundMaterial(leave empty to disable)": "", "ImageUrl": "https://i.imgur.com/jKeUqSD.png", "ImageLocal(leave empty to use URL)": "BalanceBar_Default", "ImageSprite(leave empty to use local or URL)": "", "IsRawImage": false, "ImageColor": "#A1DBE6", "ImageTransparency": 1.0, "ImageOutlineColor": "0.1 0.3 0.8 0.9", "ImageOutlineTransparency": 1.0, "ImageOutlineDistance(leave empty to disable). Example '0.75 0.75'": "", "TextSize": 12, "TextColor": "#FFFFFF", "TextTransparency": 1.0, "TextFont(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "TextOffsetHorizontal": 0, "TextOutlineColor": "#000000", "TextOutlineTransparency": 1.0, "TextOutlineDistance": "", "SubTextSize": 12, "SubTextColor": "#FFFFFF", "SubTextTransparency": 1.0, "SubTextFont": "RobotoCondensed-Bold.ttf", "SubTextOutlineColor": "0.5 0.6 0.7 0.5", "SubTextOutlineTransparency": 1.0, "SubTextOutlineDistance": "" } }, { "Plugin's name": "BankSystem", "Is it worth enabling the plugin for display?": true, "Language key for the main text": "BarBankSystem", "Balance format": "${0}", "Language key for the subtext when the balance is high": "BarBankSystemOverLimit", "API method for retrieving the balance": "Balance", "Hook that triggers on balance update": "OnBalanceChanged", "List of argument types in the hook in order": [ "ulong", "int" ], "BarSettings": { "Order": 20, "Height": 26, "BackgroundColor(HEX or RGBA)": "#6375B3", "BackgroundTransparency": 0.8, "BackgroundMaterial(leave empty to disable)": "", "ImageUrl": "https://i.imgur.com/jKeUqSD.png", "ImageLocal(leave empty to use URL)": "BalanceBar_Default", "ImageSprite(leave empty to use local or URL)": "", "IsRawImage": false, "ImageColor": "#A1DBE6", "ImageTransparency": 1.0, "ImageOutlineColor": "0.1 0.3 0.8 0.9", "ImageOutlineTransparency": 1.0, "ImageOutlineDistance(leave empty to disable). Example '0.75 0.75'": "", "TextSize": 12, "TextColor": "#FFFFFF", "TextTransparency": 1.0, "TextFont(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "TextOffsetHorizontal": 0, "TextOutlineColor": "#000000", "TextOutlineTransparency": 1.0, "TextOutlineDistance": "", "SubTextSize": 12, "SubTextColor": "#FFFFFF", "SubTextTransparency": 1.0, "SubTextFont": "RobotoCondensed-Bold.ttf", "SubTextOutlineColor": "0.5 0.6 0.7 0.5", "SubTextOutlineTransparency": 1.0, "SubTextOutlineDistance": "" } }, { "Plugin's name": "IQEconomic", "Is it worth enabling the plugin for display?": true, "Language key for the main text": "BarIQEconomic", "Balance format": "${0}", "Language key for the subtext when the balance is high": "BarIQEconomicOverLimit", "API method for retrieving the balance": "API_GET_BALANCE", "Hook that triggers on balance update": "OnBalanceUpdated", "List of argument types in the hook in order": [ "BasePlayer", "int" ], "BarSettings": { "Order": 20, "Height": 26, "BackgroundColor(HEX or RGBA)": "#6375B3", "BackgroundTransparency": 0.8, "BackgroundMaterial(leave empty to disable)": "", "ImageUrl": "https://i.imgur.com/jKeUqSD.png", "ImageLocal(leave empty to use URL)": "BalanceBar_Default", "ImageSprite(leave empty to use local or URL)": "", "IsRawImage": false, "ImageColor": "#A1DBE6", "ImageTransparency": 1.0, "ImageOutlineColor": "0.1 0.3 0.8 0.9", "ImageOutlineTransparency": 1.0, "ImageOutlineDistance(leave empty to disable). Example '0.75 0.75'": "", "TextSize": 12, "TextColor": "#FFFFFF", "TextTransparency": 1.0, "TextFont(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "TextOffsetHorizontal": 0, "TextOutlineColor": "#000000", "TextOutlineTransparency": 1.0, "TextOutlineDistance": "", "SubTextSize": 12, "SubTextColor": "#FFFFFF", "SubTextTransparency": 1.0, "SubTextFont": "RobotoCondensed-Bold.ttf", "SubTextOutlineColor": "0.5 0.6 0.7 0.5", "SubTextOutlineTransparency": 1.0, "SubTextOutlineDistance": "" } } ], "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } EN: { "CmdMain": "Available commands:\n\n<color=#D1CBCB>/balances</color> <color=#D1AB9A>show *seconds*(optional)</color> - Temporarily display the balance bar with an optional duration(1-10 seconds)\n<color=#D1CBCB>/balances</color> <color=#D1AB9A>toggle</color> - Toggle the balance bar display\n<color=#D1CBCB>/balances</color> <color=#D1AB9A>ignore</color> - Toggle ignoring balance bar display zones\n\n--------------------------------------------------", "CmdDisplayEnabled": "Balance bar display enabled!", "CmdDisplayDisabled": "Balance bar display disabled!", "CmdIgnoreZonesEnabled": "Ignoring balance bar display zones enabled!", "CmdIgnoreZonesDisabled": "Ignoring balance bar display zones disabled!", "BarEconomics": "Balance", "BarEconomicsOverLimit": "> $1kkk", "BarServerRewards": "Points", "BarServerRewardsOverLimit": "> 1kkk RP", "BarBankSystem": "Balance", "BarBankSystemOverLimit": "> $1kkk", "BarIQEconomic": "Balance", "BarIQEconomicOverLimit": "> $1kkk" } RU: { "CmdMain": "Доступные команды:\n\n<color=#D1CBCB>/balances</color> <color=#D1AB9A>show *секунды*(опционально)</color> - Временно отобразить баланс бар с возможностью указать время отображения(1-10 секунд)\n<color=#D1CBCB>/balances</color> <color=#D1AB9A>toggle</color> - Переключить отображение баланс бара\n<color=#D1CBCB>/balances</color> <color=#D1AB9A>ignore</color> - Переключить игнорирование зон отображения баланс бара\n\n--------------------------------------------------", "CmdDisplayEnabled": "Отображение баланс бара включено!", "CmdDisplayDisabled": "Отображение баланс бара выключено!", "CmdIgnoreZonesEnabled": "Игнорирование зон отображения баланс бара включено!", "CmdIgnoreZonesDisabled": "Игнорирование зон отображения баланс бара выключено!", "BarEconomics": "Баланс", "BarEconomicsOverLimit": "> $1 млрд", "BarServerRewards": "Очки", "BarServerRewardsOverLimit": "> 1 млрд RP", "BarBankSystem": "Баланс", "BarBankSystemOverLimit": "> $1 млрд", "BarIQEconomic": "Баланс", "BarIQEconomicOverLimit": "> $1 млрд" } show *seconds*(optional) - Temporarily display the balance bar with an optional duration(1-10 seconds) ; toggle - Toggle the balance bar display; ignore - Toggle ignoring balance bar display zones. Example: /balances show 5 /balances toggle /balances ignore$3.99