Jump to content

Search the Community

Showing results for tags 'permissions'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

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

Forums

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

Product Groups

  • Creator Services
  • Host Services
  • Memberships

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Steam


Github

  1. IIIaKa

    Real PvE

    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
  2. Version 0.1.8

    1,126 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
  3. 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
  4. 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
  5. Version 0.1.13.1

    868 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
  6. IIIaKa

    Warehouse

    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
  7. 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
  8. IIIaKa

    Trader

    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
  9. Version 0.1.8

    739 downloads

    Plugin rewarding players for their in-game activity. P.S. Don't forget to assign the permission to players, otherwise rewards won't be granted. o.grant group default activityrewards.default The ability to receive rewards for a prefix or suffix in the username; The ability to receive rewards for gathering resources; The ability to receive rewards for: killing players and NPCs; destroying barrels, road signs and dead logs; The ability to receive rewards for the researching blueprints; The ability to receive rewards for the first opening of loot crates; The ability to receive rewards for collecting resources; The ability to receive rewards for planting plants; The ability to receive rewards for catching fishes; The ability to receive rewards for the first daily visit to monuments; The ability to grant permissions for the duration of a player's stay inside monuments; The ability to reward with in-game items; The ability to set reward multiplier for each permission; The ability to add a night reward multiplier on top of the base multiplier; The ability to use AdvancedStatus to display a status bar with highly flexible settings. { "List of language keys for creating language files": [ "en" ], "Is it worth using the AdvancedStatus plugin?": true, "Advanced Status display method: 0 - single bar, 1 - single cumulative bar, 2 - new bar for each": 2, "Is it worth enabling the Gather Rewards?": true, "Is it worth enabling the Kill Rewards?": true, "Is it worth enabling the Research Rewards?": true, "Is it worth enabling the Loot Open Rewards?": true, "Is it worth enabling the Pickup Rewards?": true, "Is it worth enabling the Planting Rewards?": true, "Is it worth enabling the Fishing Rewards?": true, "Is it worth enabling the Monument Rewards?": true, "A prefix or suffix required in the player's nickname to receive the permission reward. An empty string disables the reward": "#RealPVE", "List of permissions granted when the player's nickname contains the required prefix or suffix": [ "kits.loyalty" ], "List of reward multipliers for each permission": { "activityrewards.default": 1.0, "realpve.default": 1.0, "realpve.vip": 1.1 }, "Night bonus multiplier. Will be added to the base reward multiplier. A value of 0 disables this": 0.1, "The list of economy plugins for rewards": { "Economics": { "Is it worth enabling the plugin for rewards?": true, "Reward Type: true - int, false - double": false, "Language key for the text": "MsgEconomics", "API method name for deposit": "Deposit", "API method name for withdraw": "Withdraw", "BarSettings": { "Order": 40, "Height": 26, "Main_Color(Hex or RGBA)": "#84AB49", "Main_Transparency": 0.8, "Main_Material(empty to disable)": "", "Image_Url": "https://i.imgur.com/k8jq7yY.png", "Image_Local(Leave empty to use Image_Url)": "ActivityRewards_Default", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#B9D134", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 1.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "#DAEBAD", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#DAEBAD", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 1.0, "SubText_Outline_Distance": "0.75 0.75" } }, "ServerRewards": { "Is it worth enabling the plugin for rewards?": true, "Reward Type: true - int, false - double": true, "Language key for the text": "MsgServerRewards", "API method name for deposit": "AddPoints", "API method name for withdraw": "TakePoints", "BarSettings": { "Order": 40, "Height": 26, "Main_Color(Hex or RGBA)": "#84AB49", "Main_Transparency": 0.8, "Main_Material(empty to disable)": "", "Image_Url": "https://i.imgur.com/k8jq7yY.png", "Image_Local(Leave empty to use Image_Url)": "ActivityRewards_Default", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#B9D134", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 1.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "#DAEBAD", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#DAEBAD", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 1.0, "SubText_Outline_Distance": "0.75 0.75" } }, "BankSystem": { "Is it worth enabling the plugin for rewards?": true, "Reward Type: true - int, false - double": true, "Language key for the text": "MsgBankSystem", "API method name for deposit": "Deposit", "API method name for withdraw": "Withdraw", "BarSettings": { "Order": 40, "Height": 26, "Main_Color(Hex or RGBA)": "#84AB49", "Main_Transparency": 0.8, "Main_Material(empty to disable)": "", "Image_Url": "https://i.imgur.com/k8jq7yY.png", "Image_Local(Leave empty to use Image_Url)": "ActivityRewards_Default", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#B9D134", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 1.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "#DAEBAD", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#DAEBAD", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 1.0, "SubText_Outline_Distance": "0.75 0.75" } }, "IQEconomic": { "Is it worth enabling the plugin for rewards?": true, "Reward Type: true - int, false - double": true, "Language key for the text": "MsgIQEconomic", "API method name for deposit": "API_SET_BALANCE", "API method name for withdraw": "API_REMOVE_BALANCE", "BarSettings": { "Order": 40, "Height": 26, "Main_Color(Hex or RGBA)": "#84AB49", "Main_Transparency": 0.8, "Main_Material(empty to disable)": "", "Image_Url": "https://i.imgur.com/k8jq7yY.png", "Image_Local(Leave empty to use Image_Url)": "ActivityRewards_Default", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#B9D134", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 1.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "#DAEBAD", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#DAEBAD", "SubText_Font": "RobotoCondensed-Bold.ttf", "Is it worth enabling an outline for the sub text?": false, "SubText_Outline_Color(Hex or RGBA)": "0.5 0.6 0.7 0.5", "SubText_Outline_Transparency": 1.0, "SubText_Outline_Distance": "0.75 0.75" } } }, "LastClearDay": 9, "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } Setting up rewards for each action occurs in the respective files within this folder *SERVER*\oxide\data\ActivityRewards PluginInt for: BankSystem and ServerRewards; PluginDouble for: Economics. You can also set the reward to 0 to disable the reward. "fish.smallshark": { "PluginInt": 50, "PluginDouble": 5.0, "ItemsList": [ { "ShortName": "scrap", "Amount": 10, "SkinId": 0 } ] } EN: { "MsgEconomics": "Bonus", "MsgServerRewards": "Bonus", "MsgBankSystem": "Bonus", "MsgIQEconomic": "Bonus" } RU: { "MsgEconomics": "Бонус", "MsgServerRewards": "Бонус", "MsgBankSystem": "Бонус", "MsgIQEconomic": "Бонус" }
    $3.99
  10. IIIaKa

    Rules

    Version 0.1.6

    180 downloads

    Useful Rules Agreement Plugin. Allowing you to prevent players who do not agree with your rules from playing on the server. The ability to disable the use of the mouse, keyboard, commands, chat and voice chat until the player accepts your rules; The ability to request consent to the rules every time a player connect, or when the administrator uses a special command; The ability to request consent to the rules only once and only when the rules have been changed(date in the config file); The ability to limit the time given to make a decision, after which the player will be kicked or banned; The ability to set the number of rejections(in a row) after which the player will be banned; The ability to set an effect when opening the rules; The ability to set an effect when agreeing to the rules; The ability to enable or disable the agreement request for the rules; The ability to request agreement to the rules again using a command; The ability to customize the UI as desired(*SERVER*\oxide\data\RulesUi\). Several naming rules for elements must be followed, as explained below in the UI section; The ability to create as many pages of rules as desired(in the config file); It is not possible to agree to the rules until the player has read all the pages; The presence of 4 hooks for developers, 2 of which can be overridden. rules.ignore - Provides the ability to ignore rules agreements. rules.admin - Provides the ability to use enable/disable and reask commands. { "Chat command": "rules", "Is it worth enabling GameTips for messages?": true, "Is it worth enabling a requirement for agreement with the rules? If disabled, the rules will not be displayed": true, "Date of the last rules update. Format: yyyy-MM-dd HH:mm": "2025-09-02 17:20", "Is it worth asking for agreement with the rules every time? If disabled, consent will only be requested again if the rules have been updated": false, "Is it worth preventing a player from using chat until they agree to the rules?": true, "Is it worth preventing a player from using commands until they agree to the rules?": true, "Is it worth preventing a player from using voice chat until they agree to the rules?": true, "Is it worth kicking or banning a player when they refuse to accept the rules?": true, "Number of rejections(in a row) of the rules after which the player will be banned. A value of 0 disables the ban": 5, "Time in seconds(0-600) given to the player to respond, after which they will be kicked/banned from the server. A value of 0 disables the time limit": 0.0, "Number of rules pages. Will automatically add additional language keys if they are missing": 5, "List of language keys for creating language files": [ "en" ], "Prefab name for the effect when requesting agreement with the rules. Leave empty to disable": "assets/bundled/prefabs/fx/invite_notice.prefab", "Prefab name for the effect upon agreement with the rules. Leave empty to disable": "assets/prefabs/misc/xmas/advent_calendar/effects/open_advent.prefab", "Width of the container for the rules text, needed for scroll view calculation": 600.0, "Height of the container for the rules text, needed for scroll view calculation": 375.0, "Version": { "Major": 0, "Minor": 1, "Patch": 6 } } EN: { "CmdArgNotFound": "Argument '{0}' not found!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found for '{0}': {1}", "CmdPlayerShow": "Player '{0}' has been requested to agree to the rules!", "CmdRulesAlreadyEnabled": "The requirement to agree with the rules is already enabled!", "CmdRulesEnabled": "The requirement to agree with the rules is enabled!", "CmdRulesAlreadyDisabled": "The requirement to agree with the rules is already disabled!", "CmdRulesDisabled": "The requirement to agree with the rules is disabled!", "CmdRulesOnce": "A one-time request for agreement with the rules is enabled!", "CmdRulesEveryTime": "A one-time request for agreement with the rules is disabled!", "CmdRulesReAsk": "All players have been sent a request for agreement with the rules, depending on the settings.", "MsgAccepted": "Thank you for accepting our terms! Enjoy the game!", "MsgKickReason": "You have been kicked because you declined our rules!", "MsgBanReason": "You have been banned because you declined our rules {0} times in a row!", "PanelTitle": "Terms Of Service", "PanelLastUpdate": "Last updated on <color=brown>{0} {1}, {2}</color>", "BtnAccept": "Accept", "BtnDecline": "Decline", "BtnNextPage": ">", "BtnPreviousPage": "<", "January": "January", "February": "February", "March": "March", "April": "April", "May": "May", "June": "June", "July": "July", "August": "August", "September": "September", "October": "October", "November": "November", "December": "December", "Rules_1": "<b>1. Information</b>\n\n<b>1.1</b> - Lack of knowledge of the rules does not exempt you from responsibility.\n<b>1.2</b> - By playing on the server, you automatically agree to all the rules listed below.\n<b>1.3</b> - If you have already been caught using cheats/macros or exploiting on another server/project, and there is proof against you, we reserve the right to ban you without further investigation.\n<b>1.4</b> - The administration determines the punishment for a player based on the severity of the violation and the circumstances. Violators may receive a warning or a permanent ban (there is no temporary bans). Bans apply to all servers within the project.\n<b>1.5</b> - The administration does not compensate for in-game items lost due to your errors, technical server/hosting issues, game bugs, or contact with rule violators.\n<b>1.6</b> - The administration does not interfere in player-to-player relationships. You are solely responsible for the people you choose to play with, so if a player deceives you, there will be no punishments for them from us.\n<b>1.7</b> - You are responsible for all your accounts. If one account is banned, the ban applies to all your accounts. The same applies if one of your accounts has a game ban (EAC).\n<b>1.8</b> - Impersonating a member of the server's administration is prohibited.", "Rules_2": "<b>2. Gameplay</b>\n\n<b>2.1</b> - It is prohibited to use/store/purchase/distribute third-party software or any other means that provide an advantage over other players.\n<b>2.2</b> - Using cheat services is forbidden.\n<b>2.3</b> - Exploiting game bugs is not allowed.\n<b>2.4</b> - Exceeding the player limit in a team is prohibited:\n<b>+</b> Alliances or truces with other players are not allowed if the total number of players involved exceeds the server's limitations;\n<b>+</b> Frequent changes of allies will be considered a rule violation, as will playing with another player while your teammate is AFK or not nearby;\n<b>+</b> Changing teammates temporarily is not allowed if the replaced teammate intends to continue playing with you;\n<b>+</b> Changing a partner is allowed if your previous partner will not be in contact with you in the future.", "Rules_3": "<b>3. In-Game Chat/Voice Chat</b>\n\n<b>3.1</b> - Discussion of politics, religion, immoral, and other inappropriate topics is prohibited.\n<b>3.2</b> - Inciting national, racial, or religious hatred or insulting other players and individuals is forbidden.\n<b>3.3</b> - Posting links to third-party services and websites in the chat is not allowed.\n<b>3.4</b> - Spamming (repeatedly posting meaningless phrases or characters) or sending identical messages in a short period of time is prohibited.\n<b>3.5</b> - Selling or pretending to sell cheats/macros is not allowed.\n<b>3.6</b> - Proposing actions that lead to an unwanted server exit is prohibited. Such actions include, for example, pressing <b>alt+f4</b>, typing <b>disconnect</b> in the console, and similar actions whose meanings other players may not be aware of.\n<b>3.7</b> - The administration reserves the right to mute or block a player in the chat if they behave inappropriately or disrespectfully towards other players.\n<b>3.8</b> - Selling/buying in-game items for real currency, crypto or skins is prohibited.", "Rules_4": "<b>4. In-Game Check</b>\n\n<b>4.1</b> - In-Game checks are conducted exclusively through the <b>Discord</b> program. Every player on our project must have the ability to access it for the purpose of undergoing in-game checks.\n<b>4.2</b> - Calls for in-game checks are made only through in-game notifications and never through voice or text chat.\n<b>4.3</b> - If a player leaves the server, ignores a in-game check, or refuses to participate in it, they will immediately receive a ban.\n<b>4.4</b> - Clearing your PC before a in-game check is prohibited.\n<b>4.5</b> - Refusal to provide the necessary information for the in-game check or inappropriate behavior will result in a ban.\n<b>4.6</b> - If a player is banned as a result of a in-game check (including bans for refusal, ignoring, leaving the server, and providing incorrect contact information), their entire team will also be banned.\n\n<b>+</b> You have the full right to refuse to undergo a in-game check, but in this case, you and your allies will be banned.\n<b>+</b> Leaving the server, providing incorrect contact information, and ignoring the in-game check will also be considered a refusal.\n<b>+</b> If you agree to undergo the in-game check, you automatically allow the administration to install third-party programs necessary for checking your PC(e.g., AnyDesk, RCC, etc.).\n\n<b>Appeal Process</b>\nOne month after the ban, you have the ability to submit an appeal, but only if the ban was not for cheats or macros.\nAppeals can be submitted on our website.", "Rules_5": "Rules_5" } RU: { "CmdArgNotFound": "Аргумент '{0}' не найден!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "По значению '{0}' найдено несколько игроков: {1}", "CmdPlayerShow": "У игрока '{0}' было запрошено согласие с правилами!", "CmdRulesAlreadyEnabled": "Требование согласия с правилами уже включено!", "CmdRulesEnabled": "Требование согласия с правилами включено!", "CmdRulesAlreadyDisabled": "Требование согласия с правилами уже выключено!", "CmdRulesDisabled": "Требование согласия с правилами выключено!", "CmdRulesOnce": "Однократный запрос на согласие с правилами включен!", "CmdRulesEveryTime": "Однократный запрос на согласие с правилами выключен!", "CmdRulesReAsk": "Всем игрокам в зависимости от настроек был отправлен запрос на соглашение с правилами.", "MsgAccepted": "Спасибо, что приняли наши условия! Приятной вам игры!", "MsgKickReason": "Вы были исключены, так как вы отклонили наши правила!", "MsgBanReason": "Вы были заблокированы, так как вы в {0} раз подряд отклонили наши правила!", "PanelTitle": "Условия использования", "PanelLastUpdate": "Последнее обновление <color=brown>{1} {0} {2} года</color>", "BtnAccept": "Принимаю", "BtnDecline": "Отказываюсь", "BtnNextPage": ">", "BtnPreviousPage": "<", "January": "Января", "February": "Февраля", "March": "Марта", "April": "Апреля", "May": "Мая", "June": "Июня", "July": "Июля", "August": "Августа", "September": "Сентября", "October": "Октября", "November": "Ноября", "December": "Декабря", "Rules_1": "<b>1. Информация</b>\n\n<b>1.1</b> - Не знание правил не освобождает Вас от ответственности.\n<b>1.2</b> - Играя на сервере Вы автоматически соглашаетесь со всеми нижеперечисленными пунктами правил.\n<b>1.3</b> - Если Вы уже были замечены с читами/макросами или использованием просвета на другом сервере/проекте и на вас есть пруфы - мы имеем право забанить Вас без проверки.\n<b>1.4</b> - Администрация сама выбирает наказание для игрока в зависимости от степени нарушения и обстоятельств. Нарушитель может получить как предупреждение, так и перманентный бан(временных блокировок нет). Блокировка выдаётся на всех серверах проекта.\n<b>1.5</b> - Администрация не компенсирует игровые ценности, утраченные по причине вашей ошибки, технических проблем на сервере/хостинге, багов игры или контакта с нарушителями.\n<b>1.6</b> - Администрация не вмешивается во взаимоотношения игроков, за тех с кем вы играете ответственны только Вы, поэтому в случае если игрок вас обманет — ему ничего за это не будет.\n<b>1.7</b> - Вы несете ответственность за все свои аккаунты. Получив бан на одном аккаунте - Вы получите его и на остальных аккаунтах. То же самое будет если на одном из ваших аккаунтах имеется игровая блокировка(EAC).\n<b>1.8</b> - Запрещено выдавать себя за члена Администрации сервера.", "Rules_2": "<b>2. Геймплей</b>\n\n<b>2.1</b> - Запрещено использовать/хранить/приобретать/распространять стороннее ПО или любые другие средства, позволяющие получить преимущество над другими игроками.\n<b>2.2</b> - Запрещено использование услуг читеров.\n<b>2.3</b> - Запрещено использование багов.\n<b>2.4</b> - Запрещено превышать лимит игроков в команде:\n<b>+</b> Нельзя устраивать альянсы или перемирия с другими игроками если в сумме вас больше, чем указано в ограничениях сервера;\n<b>+</b> Частая смена союзников будет считаться за нарушение правил, тоже самое касается и игру с другим игроком пока тиммейт стоит афк или не находится рядом;\n<b>+</b> Запрещена смена союзников на время, если заменяемый союзник продолжит с вами играть;\n<b>+</b> Разрешено сменить напарника, если ваш предыдущий напарник в дальнейшем не будет с вами контактировать.", "Rules_3": "<b>3. Игровой Чат/Голосовой чат</b>\n\n<b>3.1</b> - Запрещено обсуждение политики, религии, аморальных и прочих неуместных тем.\n<b>3.2</b> - Запрещено разжигание национальной, расовой или религиозной ненависти или оскорбления других игроков и других людей.\n<b>3.3</b> - Запрещены ссылки в чате на сторонние сервисы и сайты.\n<b>3.4</b> - Запрещен флуд(многократное повторение бессмысленных фраз, символов) или многократное отправление одинаковых фраз за короткий промежуток времени.\n<b>3.5</b> - Запрещено продавать или делать вид что вы продаёте читы/макросы.\n<b>3.6</b> - Запрещено предлагать сделать действия, приводящие к нежеланному выходу с сервера. К таким действиям относится например нажатие <b>alt+f4</b>, прописывание <b>disconnect</b> в консоль и прочие подобные действия, о значении которых другие игроки могут не знать.\n<b>3.7</b> - Администрация оставляет за собой право выдать мут или заблокировать игрока в чате если тот ведёт себя неадекватно или некорректно по отношению к другим игрокам.\n<b>3.8</b> - Запрещена продажа/покупка игровых ценностей за реальную валюту, крипту или скины.", "Rules_4": "<b>4. Игровая проверка</b>\n\n<b>4.1</b> - Проверки проходят только через программу <b>Discord</b>. Каждый игрок на нашем проекте, в обязательном порядке должен иметь возможность зайти в нее для прохождения проверки.\n<b>4.2</b> - Вызов на проверку осуществляется только через игровое оповещение и ни в коем случае не через голосовой или текстовый чат.\n<b>4.3</b> - Если игрок покинул сервер, проигнорировал проверку или отказался от неё, то он сразу получает блокировку.\n<b>4.4</b> - Запрещено чистить ПК перед проверкой.\n<b>4.5</b> - За отказ показывать нужную для проверки информацию или неадекватное поведение — вы будете заблокированы.\n<b>4.6</b> - Если по итогу(итогом считается и блокировка за отказ / игнор / выход из сервера и предоставление некорректных данных для связи) проверки игрок блокируется, то и вся его команда блокируется вместе с ним.\n\n<b>+</b> Вы имеете полное право отказаться проходить проверку, но в этом случае Вы и ваши союзники будут заблокированы.\n<b>+</b> Так же отказом от проверки будет считаться выход с сервера, предоставление некорректных контактных данных и игнорирование проверки.\n<b>+</b> Если Вы согласны пройти проверку - то автоматически разрешаете устанавливать сторонние программы нужные администрации для проверки вашего PC(AnyDesk, RCC и т.д).\n\n<b>Возможность разблокировки</b>\nЧерез месяц после блокировки можно подать апелляцию, но, только в случае если бан был получен не за читы или макросы.\nАпелляцию можно подать на нашем сайте.", "Rules_5": "Rules_5" } show - Opens the rules panel. *userNameOrId* - request for agreement with the rules from the specified player. Permission "rules.admin" required. enable - Enabling Rules agreements. Permission "rules.admin" required. disable - Disabling Rules agreements. Permission "rules.admin" required. once - Enabling/disabling one-time agreement request for the Rules. Permission "rules.admin" required. reask - Reasking all players for the Rules agreement. Permission "rules.admin" required. Example: /rules show /rules show *userNameOrId* /rules enable You can customize the UI as you like(*SERVER*\oxide\data\RulesUi\). However, the following containers must always be present and their names must remain unchanged(you can change the parent, position, layout of the elements, etc.), as they are referenced by name: The name of the main container is "RulesUi"; The name of the container for title texts(header and update date) is "RulesUi_Panel_Title_Text"; The name of the container for the "Next Page" button is "RulesUi_Panel_Title_Pagination_Next"; The name of the container for the "Previous Page" button is "RulesUi_Panel_Title_Pagination_Previous"; The name of the container for the rules text is "RulesUi_Panel_Content"; The name of the container for the progress indicator is "RulesUi_Panel_Content_Progress"; The name of the container for the "Decline" button is "RulesUi_Panel_Footer_Decline"; The name of the container for the "Accept" button is "RulesUi_Panel_Footer_Accept". RulesEnabled: Called after the rules are enabled or the plugin is loaded with enabled config. RulesDisabled: Called after the rules are disabled or the plugin is unloaded. RulesAccepted: Called after the player has accepted the rules; Returning a non-null value overrides default behavior. RulesDeclined: Called before kicking or banning a player; Returning a non-null value overrides default behavior. void RulesEnabled() { Puts("The rules were enabled!"); } void RulesDisabled() { Puts("The rules were disabled!"); } object RulesAccepted(IPlayer player) { Puts($"Player {player.Name} has accepted the rules!"); return null; } object RulesDeclined(IPlayer player, int declines, int ban_attemps) { Puts($"Player {player.Name} has declined the rules! This is the {declines} declines out of {ban_attemps}!"); return null; }
    $4.99
  11. IIIaKa

    Free RT

    Version 0.1.8

    235 downloads

    A simple plugin that allows players with permissions to open card-locked doors in Rad Towns without a card, by knocking on the door instead (except for Arctic Research Base and Nuclear Missile Silo) : Arctic Research Base: Opens by toggling a switch button; Nuclear Missile Silo: Opens by pressing a button. P.S. You can also grant temporary permissions using the TemporaryPermissions plugin. freert.all - Allows players to open all card-locked doors without a card; freert.green - Allows players to open only green card-locked doors without a card; freert.blue - Allows players to open only blue card-locked doors without a card; freert.red - Allows players to open only red card-locked doors without a card. { "Is it worth showing messages to players who don't have permissions?": true, "Time in seconds(1-10) after which the door will close(hinged doors only)": 5.0, "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } EN: { "MsgNotAllowed": "You do not have permission to open this door without the card!" } RU: { "MsgNotAllowed": "У вас недостаточно прав для открытия этой двери без карточки!" }
    Free
  12. Version 0.1.25

    4,882 downloads

    A useful API plugin that mimics in-game status bars and allows the addition of custom ones. Note: AdvancedStatus does not display any bars on its own. This is done by other plugins that work with it. An example plugin demonstrating interaction with AdvancedStatus. The ability to specify the frequency of calculating the number of bars; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to specify custom text; The ability to customize the color, size and font of the text; No need to pass all parameters; No need to manually delete your bar when unloading your plugin. advancedstatus.admin - Grants access to the chat command(by default /bar). { "Chat command": "bar", "Is it worth enabling console notifications for the successful loading of local images?": false, "Interval(in seconds) for counting in-game status bars": 0.5, "Interval(in seconds) for counting Building Privileges status bars. Note: Calculating Building Privileges is resource-intensive": 1.0, "Is it worth counting Vehicle Privilege? Useful if you don't have a Tugboat or PlayerBoat": true, "Is it worth counting Entity Privilege? Useful if you don't have a Legacy Shelter": true, "Ui layer for displaying bars. For button bars, it is recommended to use the 'Hud' layer(https://umod.org/guides/rust/basic-concepts-of-gui#layers)": "Under", "Is it worth displaying bar components left to right?": true, "Vertical spacing between bars": 2, "The height of the bar by default": 26, "The background color of the bar by default": "#505F75", "The background transparency of the bar by default": 0.7, "The background material of the bar by default, leave empty to disable": "", "The image of the bar by default": "AdvancedStatus_Default", "The color of the bar image by default": "#6B7E95", "The transparency of the bar image by default": 1.0, "The outline color of the bar image by default": "#000000", "The outline transparency of the bar image by default": 1.0, "The outline distance of the bar image by default. Example '0.75 0.75'": "", "The size of the bar text by default": 12, "The color of the bar text by default": "#FFFFFF", "The transparency of the bar text by default": 1.0, "The font of the bar text by default(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "The horizontal offset of the bar text by default": 0, "The outline color of the bar text by default": "#000000", "The outline transparency of the bar text by default": 1.0, "The outline distance of the bar text by default": "", "The size of the bar subtext by default": 12, "The color of the bar subtext by default": "#FFFFFF", "The transparency of the bar subtext by default": 1.0, "The font of the bar subtext by default": "RobotoCondensed-Bold.ttf", "The outline color of the bar subtext by default": "#000000", "The outline transparency of the bar subtext by default": 1.0, "The outline distance of the bar subtext by default": "", "The color of the bar progress by default": "#89B840", "The transparency of the bar progress by default": 0.7, "The OffsetMin of the bar progress by default": "25 2.5", "The OffsetMax of the bar progress by default": "-3.5 -3.5", "Version": { "Major": 0, "Minor": 1, "Patch": 25 } } EN: { "MsgDays": "d", "MsgHours": "h", "MsgMinutes": "m", "MsgSeconds": "s" } RU: { "MsgDays": "д", "MsgHours": "ч", "MsgMinutes": "м", "MsgSeconds": "я" } images reload *ImageName* - Reloads the specified image from the image folder; all - Reloads all local images from the image folder. Example: /bar images reload all Note: To access the commands, the player must be an admin(console or owner) or have the advancedstatus.admin permission. OnAdvancedStatusLoaded: Called after the AdvancedStatus plugin is fully loaded and ready. OnPlayerGainedBuildingPrivilege: Called after the player enters their building privilege. OnPlayerLostBuildingPrivilege: Called after the player exits their building privilege. void OnAdvancedStatusLoaded() { Puts("The AdvancedStatus plugin is loaded and ready to go!"); } void OnPlayerGainedBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} entered the authorized building privilege zone."); } void OnPlayerLostBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} exited the authorized building privilege zone."); } [PluginReference] private Plugin AdvancedStatus; There are 15 methods: IsReady CreateBar UpdateContent DeleteBar DeleteCategory DeleteAllBars GetTotalClientBars GetTotalPlayerBars LoadImages LoadImage CopyImage DeleteImages DeleteImage BarExists InBuildingPrivilege There are 5 types of bar: Default - A simple bar that displays the provided information. Does not update the value of SubText by itself; Timed - Similar to the default bar, but it automatically disappears after the specified time in the TimeStamp parameter; TimeCounter - The SubText shows the remaining time until TimeStamp. Also automatically removed upon expiration of the TimeStamp; TimeProgress - Similar to the Timed bar, but additionally features an automatically filling progress bar; TimeProgressCounter - Similar to the TimeCounter bar, but additionally features an automatically filling progress bar. IsReady: Used to check if the AdvancedStatus plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)AdvancedStatus?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready. CreateBar: Used to create a bar or update bar values for a player. To call the CreateBar method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the CreateBar method, all parameters are optional, except for two: Id; Plugin. Parameters not specified when creating a new bar will use the values set in the AdvancedStatus plugin's configuration file. Parameters not specified during bar update will retain the values they had before the update. Note: The plugin does not update values automatically, you need to manually send new values. Dictionary<string, object> parameters = new Dictionary<string, object> { { "Id", "AdvancedStatusDemo_1" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "BarType", "Default" }, //<string>Type of the bar. There are 4 types: Default, Timed, TimeCounter and TimeProgress. { "Plugin", "AdvancedStatusDemo" }, //<string>Name of your plugin. ***This is a required field. { "Category", "Default" }, //<string>Internal plugin category of the bar. { "Order", 10 }, //<int>The position of your bar relative to others. Order is determined by increasing values(ASC). { "Height", 26 }, //<int>The height of your bar. A standard bar is 26 pixels. { "Main_Color", "#505F75" }, //<string>HTML Hex color of the bar background. { "Main_Transparency", 0.7f }, //<float>Transparency of the bar background. { "Main_Material", "assets/content/ui/uibackgroundblur.mat" }, //<string>Material of the bar background(empty to disable). { "Image", "scrap" }, //<string>Name of the image saved in the ImageLibrary or a direct link to the image if ImageLibrary is not used. { "Image_Local", "AdvancedStatusDemo_Scrap" }, //<string>The name of the image file(without its extension) located in *SERVER*\data\AdvancedStatus\Images. Leave empty to use Image. { "Image_Sprite", "" }, //<string>Sprite image of the bar. Leave empty to use Image_Local or Image. { "Is_RawImage", true }, //<bool>Which type of image will be used? True - CuiRawImageComponent. False - CuiImageComponent. { "Image_Color", "#6B7E95" }, //<string>HTML Hex color of the bar image. { "Image_Transparency", 1.0f }, //<float>Transparency of the image. { "Text", "Scrap" }, //<string>Main text. { "Text_Size", 12 }, //<int>Size of the main text. { "Text_Color", "#FFFFFF" }, //<string>HTML Hex color of the main text. { "Text_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the main text. { "Text_Offset_Horizontal", 0 }, //<int>Horizontal offset for the main text. { "SubText", "35" }, //<string>Sub text. { "SubText_Size", 12 }, //<int>Size of the sub text. { "SubText_Color", "#FFFFFF" }, //<string>HTML Hex color of the sub text. { "SubText_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the sub text. { "TimeStampStart", Network.TimeEx.currentTimestamp }, //<double>Responsible for specifying the start point of the time reference and 0% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStamp", Network.TimeEx.currentTimestamp + 6 }, //<double>Specifies the end time point after which the bar will be destroyed and 100% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStampDestroy", Network.TimeEx.currentTimestamp + 3 }, //<double>If TimeStampDestroy is specified and it is less than TimeStamp, the bar will be destroyed by TimeStampDestroy. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "Progress", (float)35 / 100f }, //<float>Progress. From 0.0 to 1.0. { "Progress_Reverse", false }, //<bool>Progress reverse. A value of false means that the progress will increase. Used if the bar type is TimeProgress or TimeProgressCounter. { "Progress_Color", "#89B840" }, //<string>Progress color. { "Progress_Transparency", 1f }, //<float>Progress transparency. { "Progress_OffsetMin", "25 2.5" }, //<string>Progress OffsetMin: "*left* *bottom*". { "Progress_OffsetMax", "-3.5 -3.5" }, //<string>Progress OffsetMax: "*right* *top*". { "Command", "kit" } //<string>If the field is not empty, the bar becomes clickable, and the specified command is executed upon clicking. Note: the command must be covalence. }; AdvancedStatus?.Call("CreateBar", player.userID.Get(), parameters); //Calling the CreateBar method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. UpdateContent: Used to update only the content of an existing status bar. To call the UpdateContent method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the UpdateBar method, all parameters are optional, except for two: Id; Plugin. var parameters = new Dictionary<string, object> { { "Id", "MyID" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "Plugin", Name }, //<string>Name of your plugin. ***This is a required field. { "Text", "MyText" }, //<string>Main text. { "SubText", "MyText" }, //<string>Sub text. { "Progress", (float)amount / 100f }, //<float>Progress. From 0.0 to 1.0. }; AdvancedStatus?.Call("UpdateContent", player.userID.Get(), parameters); //Calling the UpdateContent method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. DeleteBar: Used to remove the bar for a player. There are two methods for removing a bar by ID: with specifying a particular player; To call this method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar and the third one is name of your plugin. without specifying a particular player (which removes it for all players) To call this method, you need to pass 2 parameters. The first one is Id of your bar and the second one is name of your plugin. AdvancedStatus?.Call("DeleteBar", player.userID.Get(), barID, Name); //Calling the DeleteBar method with the passing of BasePlayer/playerID, ID of the bar and the name of your plugin. AdvancedStatus?.Call("DeleteBar", barID, Name); //Calling the DeleteBar method with the passing of ID of the bar and the name of your plugin. If you try to delete a bar that doesn't exist, nothing bad will happen. So feel free to delete the bar without checking its existence. P.S. When unloading your plugin, there is no need to manually delete bars for players, AdvancedStatus will handle it automatically. DeleteCategory: Used to remove all bars associated with the plugin's category. To call the DeleteCategory method, you need to pass 2 parameters. The first one is category and the second one is name of your plugin. AdvancedStatus?.Call("DeleteCategory", "Default", Name);//Calling the DeleteCategory method by passing the category and name of your plugin DeleteAllBars: Used to remove all bars associated with the plugin. To call the DeleteAllBars method, you need to pass only 1 parameter. It is name of your plugin. AdvancedStatus?.Call("DeleteAllBars", Name);//Calling the DeleteAllBars method, passing the name of your plugin GetTotalClientBars: Used to get the number of client bars for the player. To call the GetTotalClientBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalClientBars", player.userID.Get());//Calling the GetTotalClientBars method, passing the name of BasePlayer/playerID GetTotalPlayerBars: Used to get the number of active custom bars for the player. To call the GetTotalPlayerBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalPlayerBars", player.userID.Get());//Calling the GetTotalPlayerBars method, passing the name of BasePlayer/playerID LoadImages: Used to check if the local images specified in the list are loaded. If any of the images are not loaded but their files exist in the images folder, the plugin will load them. To call the LoadImages method, you need to pass only 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImages", list, false);//Calling the LoadImages method, passing a list of image names LoadImage: Used to check if the local image is loaded. If the file is not loaded and exists in the images folder, the plugin will load it. To call the LoadImage method, you need to pass 2 parameters. The first one is the <string>image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImage", imgName, false);//Calling the LoadImage method, passing an image's name CopyImage: Used to create and load a copy of an existing image. To call the CopyImage method, you need to pass 3 parameters. The first parameter is the <string>source image's name, the second parameter is the <string>new image's name and the third one(optional) is <bool>force, which, if set to true, will force copy and reload the image even if it already exists. AdvancedStatus?.Call("CopyImage", "ZoneStatus_Default", "ZoneStatus_NewZone", false);//Calling CopyImage, passing the source image name and the new image name. DeleteImages: Used to delete a list of images and their files. To call the DeleteImages method, you need to pass 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImages", list, true);//Calling DeleteImages, passing a list of image names. DeleteImage: Used for removing the image and the image file. To call the DeleteImage method, you need to pass 2 parameters. The first parameter is the <string>image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImage", "ZoneStatus_NewZone", true);//Calling DeleteImage, passing the image name. BarExists: Used to check if the specified bar exists. To call the BarExists method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar. And the third one is name of your plugin. (bool)AdvancedStatus?.Call("BarExists", player.userID.Get(), barID, Name);//Calling the BarExists method with the passing of BasePlayer/playerID, ID of the bar and name of your plugin. InBuildingPrivilege: Used to check if the player has authorized building privileges. To call the InBuildingPrivilege method, you need to pass BasePlayer or <ulong>playerID. (bool)AdvancedStatus?.Call("InBuildingPrivilege", player.userID.Get());//Checking if the player has Building Privilege.
    $1.99
  13. Version 0.1.5

    77 downloads

    Adds a reputation system, similar to the well-known Infestation Survivor Stories(The WarZ). More information on how the plugin works can be found at the bottom in the "Principle of work" section. The ability to create an unlimited number of reputations. The only condition is that their value ranges must not overlap; The ability to flexibly customize the bar for each reputation; The ability to automatically reset reputations upon detecting a wipe; The ability to set a prefix for reputations; The ability to show your reputation by waving to players; The ability to see a player's reputation when aiming at them with scope items. Unfortunately, the reputation will also be displayed if a player is in certain bushes; The ability to see the reputation of all players in the bandit zone; The ability to prohibit players with a certain reputation from entering safe zones (except for the bandit zone). Also, notifying players about it; The ability to set fake reputations to confuse players. reputationmaster.vip - Provides the ability to set a fake rank value. reputationmaster.admin - Provides the ability to set or reset reputation value to other players. { "Chat command": "rep", "Is it worth enabling GameTips for messages?": true, "Is it worth using the AdvancedStatus plugin?": true, "List of language keys for creating language files": [ "en" ], "Is it worth using ddraw to display reputation? NOTE: To use, an administrator flag is required, which is granted before rendering and revoked immediately after issuing the command": true, "Is it worth displaying reputation when aiming at a player with a scope(ddraw should be enabled)? NOTE: The player's reputation may be displayed in certain bushes": true, "Is it worth resetting reputations upon detecting a wipe?": true, "Is it worth forbidding bandits from visiting safe zones(except for Banditcamp)?": true, "The time in seconds during which a bandit can stay in the safe zone(except for Banditcamp) before being killed, making their loot available to everyone": 10.0, "The prefab name for the effect when a bandit is killed in the safe zone. An empty string disables the effect": "assets/prefabs/misc/xmas/advent_calendar/effects/open_advent.prefab", "Assigning reputation for NPCs. 0 - disabled, 1 - only for vanilla, 2 - for all": 2, "Minimum random reputation value for NPCs": -1000.0, "Maximum random reputation value for NPCs": 1000.0, "Is it worth enabling self-defense for NPCs?": false, "The time in seconds during which self-defense will be active for a lawman after being attacked by another lawman": 900, "The minimum value limit for fake reputation": -10000.0, "The maximum value limit for fake reputation": 10000.0, "UI. Position - Left to Right": true, "UI. Position - AnchorMin": "1 0.9", "UI. Position - AnchorMax": "1 0.9", "UI. Position - OffsetMin": "-208 -15", "UI. Position - OffsetMax": "-16 15", "UI. Reputation Positive Value Image - URL": "https://i.imgur.com/HKqyHO8.png", "UI. Reputation Negative Value Image - URL": "https://i.imgur.com/mMdm55h.png", "UI. Added Value Sound - Prefab Name. An empty string disables the effect": "assets/bundled/prefabs/fx/notice/item.select.fx.prefab", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 5 } } Note: To use ddraw, an administrator flag is required, which is granted before rendering and revoked immediately after issuing the command. The player's reputation may be displayed in certain bushes. [ { "Name": "Assassin", "Prefix": "✶☆✶ ", "MinValue": -3.40282347E+38, "MaxValue": -1000.0, "Reward": 20.0, "LawmanPenalty": 0.0, "AllowSafeZone": false, "BarSettings": { "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#FF341E", "Main_Transparency": 0.6, "Main_Material": "", "Image_Url": "https://i.imgur.com/CdDKpwv.png", "Image_Local(Leave empty to use Image_Url)": "", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#FF341E", "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": 14, "Text_Color(Hex or RGBA)": "#FF341E", "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)": "#FF341E", "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" } }, ... { "Name": "Civilian", "Prefix": "", "MinValue": -4.99, "MaxValue": 9.99, "Reward": 1.0, "LawmanPenalty": -1.0, "AllowSafeZone": true, "BarSettings": { "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#5EC0CA", "Main_Transparency": 0.6, "Main_Material": "", "Image_Url": "https://i.imgur.com/cgi9T1D.png", "Image_Local(Leave empty to use Image_Url)": "", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#5EC0CA", "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": 14, "Text_Color(Hex or RGBA)": "#5EC0CA", "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)": "#5EC0CA", "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" } }, ... { "Name": "Paragon", "Prefix": "✶☆✶ ", "MinValue": 1000.0, "MaxValue": 3.40282347E+38, "Reward": 20.0, "LawmanPenalty": -125.0, "AllowSafeZone": true, "BarSettings": { "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#0AFBFB", "Main_Transparency": 0.6, "Main_Material": "", "Image_Url": "https://i.imgur.com/6yzrXE0.png", "Image_Local(Leave empty to use Image_Url)": "", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#0AFBFB", "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": 14, "Text_Color(Hex or RGBA)": "#0AFBFB", "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)": "#0AFBFB", "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" } } ] MinRange, MaxRange - Range of values for the group rank; Name - Name of the rank; Reward - Reward for killing or reviving(divided by 2) a player in this rank. If the initiating player has IsLawman = true, the value will be positive, otherwise, it will be negative; LawmanPenalty - Penalty for a peaceful player of this rank, for killing another peaceful player. If the target did not initiate this pvp first; AllowSafeZone - Is this rank allowed to visit Safe Zones (except Bandit Camp)? The "Forbid bandits from visiting the SafeZone (except for Banditcamp)" config should be set to true. Path: *SERVER*\oxide\data\ReputationMaster\ReputationRanks.json EN: { "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: {0}", "CmdAdmin": "Available admin commands:\n\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *floatValue* *nameOrId*(optional)</color> - Set a fake reputation for yourself or the specified player\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *floatValue* *nameOrId*(optional)</color> - Set a reputation value for yourself or the specified player\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>info *nameOrId*(optional)</color> - Get full information about your reputation or the reputation of the specified player\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset all/*nameOrId*</color> - Reset the reputation of all players or the specified player\n\n--------------------------------------------------", "CmdMain": "Available commands:\n\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *floatValue*</color> - Set a fake reputation\n\n--------------------------------------------------", "CmdFakePlayer": "Player '{0}' has been assigned a new fake reputation value: {1}({2})!", "CmdFakeNPC": "NPC '{0}' has been assigned a new fake reputation value: {1}({2})!", "CmdFakeSelf": "A new fake reputation value has been successfully set: {0}({1})!", "CmdSetPlayer": "Player '{0}' has been assigned a new reputation value: {1}({2})!", "CmdSetNPC": "NPC '{0}' has been assigned a new reputation value: {1}({2})!", "CmdInfoPlayer": "Player '{0}' reputation:\n<color=#D1AB9A>Reputation</color> - {1} ({2})\n<color=#D1AB9A>Fake Reputation</color> - {3} ({4})\n<color=#D1AB9A>Last Helper</color> - {5}\n\n--------------------------------------------------", "CmdInfoNPC": "NPC '{0}' reputation:\n<color=#D1AB9A>Reputation</color> - {1}({2})\n<color=#D1AB9A>Fake Reputation</color> - {3}({4})\n<color=#D1AB9A>Last Helper</color> - {5}\n\n--------------------------------------------------", "CmdResetAll": "{0} reputations have been successfully reset!", "CmdResetPlayer": "Player '{0}' reputation has been successfully reset!", "MsgReputation": "Reputation", "MsgShowPlayerReputation": "Player '{0}' reputation: {1}({2})", "MsgNewReputation": "Congratulations! You have received the reputation '{0}'!", "MsgSelfDefense": "You attacked a peaceful player '{0}'({1}) first. If they kill you within {2} minutes, they will not receive a penalty", "MsgSelfDefenseNoPenalty": "You killed a peaceful player '{0}'({1}). However, since they attacked you first, you will not be penalized", "MsgLawmanEnterBanditZone": "You have entered the Bandit Camp! Stay vigilant, this place is full of thugs!", "MsgLawmanLeaveBanditZone": "You have left the Bandit Camp! We recommend avoiding this area!", "MsgBanditEnterBanditZone": "Welcome to the Bandit Camp! We are glad to have you back!", "MsgBanditLeaveBanditZone": "You have left the Bandit Camp! We hope to see you again soon!", "MsgBanditEnterSafeZone": "You are not welcome here! If you do not leave this place, you will be killed in {0} seconds!", "MsgBanditLeaveSafeZone": "Do not come back here! People like you belong in the Bandit Camp!" } RU: { "CmdNotAllowed": "У вас недостаточно прав для использования этой команды!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "Найдено несколько игроков: {0}", "CmdAdmin": "Доступные админ команды:\n\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *дробноеЗначение* *имяИлиАйди*(опционально)</color> - Установить ложную репутацию себе или указанному игроку\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>set *дробноеЗначение* *имяИлиАйди*(опционально)</color> - Установить репутацию себе или указанному игроку\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>info *имяИлиАйди*(опционально)</color> - Получить всю информацию о своей репутации или репутации указанного игрока\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>reset all/*имяИлиАйди*</color> - Сбросить репутацию всем игрокам или указанному игроку\n\n--------------------------------------------------", "CmdMain": "Доступные команды:\n\n<color=#D1CBCB>/rep</color> <color=#D1AB9A>fake *дробноеЗначение*</color> - Установить ложную репутацию\n\n--------------------------------------------------", "CmdFakePlayer": "Игроку '{0}' установлено новое ложное значение репутации: {1}({2})!", "CmdFakeNPC": "Боту '{0}' установлено новое ложное значение репутации: {1}({2})!", "CmdFakeSelf": "Новое значение ложной репутации успешно установлено: {0}({1})!", "CmdSetPlayer": "Игроку '{0}' установлено новое значение репутации: {1}({2})!", "CmdSetNPC": "Боту '{0}' установлено новое значение репутации: {1}({2})!", "CmdInfoPlayer": "Репутация игрока '{0}':\n<color=#D1AB9A>Репутация</color> - {1}({2})\n<color=#D1AB9A>Ложная репутация</color> - {3}({4})\n<color=#D1AB9A>Последний помощник</color> - {5}\n\n--------------------------------------------------", "CmdInfoNPC": "Репутация бота '{0}':\n<color=#D1AB9A>Репутация</color> - {1}({2})\n<color=#D1AB9A>Ложная репутация</color> - {3}({4})\n<color=#D1AB9A>Последний помощник</color> - {5}\n\n--------------------------------------------------", "CmdResetAll": "Успешно сброшено {0} репутаций!", "CmdResetPlayer": "Репутация игрока '{0}' успешно сброшена!", "MsgReputation": "Репутация", "MsgShowPlayerReputation": "Репутация игрока '{0}': {1}({2})", "MsgNewReputation": "Поздравляем! Вы получили репутацию '{0}'!", "MsgSelfDefense": "Вы первым атаковали мирного игрока '{0}'({1}). Если он вас убьет в течении {2} минут, то не получит штрафа", "MsgSelfDefenseNoPenalty": "Вы убили мирного игрока '{0}'({1}). Но так как он первым вас атаковал, вас не накажут", "MsgLawmanEnterBanditZone": "Вы пришли в Лагерь Бандитов! Будьте бдительны, здесь полно разных отморозков!", "MsgLawmanLeaveBanditZone": "Вы покинули Лагерь Бандитов! Советуем обходить это место!", "MsgBanditEnterBanditZone": "Добро пожаловать в Лагерь Бандитов! Мы рады вашему возвращению!", "MsgBanditLeaveBanditZone": "Вы покинули Лагерь Бандитов! Надеемся на скорое ваше возвращение!", "MsgBanditEnterSafeZone": "Вам здесь не рады! Если вы не покинете это место, то вас убьет через {0} секунд!", "MsgBanditLeaveSafeZone": "Больше сюда не возвращайтесь! Таким как вы место в Лагере Бандитов!" } fake *floatValue* - Set a fake reputation for yourself or the specified player. Permission "reputationmaster.vip" or "reputationmaster.admin" required fake *floatValue* *nameOrId*(optional) - Set a fake reputation for yourself or the specified player. Permission "reputationmaster.admin" required; set *floatValue* *nameOrId*(optional) - Set a reputation value for yourself or the specified player. Permission "reputationmaster.admin" required; info *nameOrId*(optional) - Get full information about your reputation or the reputation of the specified player. Permission "reputationmaster.admin" required; reset all/*nameOrId* - Reset the reputation of all players or the specified player. Permission "reputationmaster.admin" required. Example: /rep fake 150 /rep fake -40 iiiaka /rep set 23 iiiaka ReputationValueUpdated: Called after the player's reputation value has changed. Works only for players that are not NPCs. void ReputationValueUpdated(ulong userID, string repName, float repValue) { Puts($"{userID} updated a reputation value to {repValue}. Current reputation rank is {repName}."); } ReputationUpdated: Called after the player receives a new reputation rank. Works only for players that are not NPCs. void ReputationUpdated(ulong userID, string oldRep, string newRep, bool isLawman, bool allowSafeZone, float repValue) { Puts($"{userID} has updated their rank from {oldRep} to {newRep}. Is peaceful: {isLawman}\nSafe Zones: {allowSafeZone}\nReputation Value: {repValue}"); } [PluginReference] private Plugin ReputationMaster; There are 4 api methods: GetReputationValue: Used to retrieve the reputation value, real or fake. Returns null on failure. To call the GetReputationValue method, you need to pass 2 parameters: userID as a ulong; realRep as a bool. What reputation value to get, real or fake? This parameter is optional. (float)(ReputationMaster?.Call("GetReputationValue", player.userID, true) ?? 0f); GetReputationName: Used to retrieve the reputation name, real or fake. Returns an empty string on failure. To call the GetReputationName method, you need to pass 2 parameters: userID as a ulong; realRep as a bool. What reputation name to get, real or fake? This parameter is optional. (string)(ReputationMaster?.Call("GetReputationName", player.userID, true) ?? string.Empty); SetReputationValue: Used to retrieve the reputation name, real or fake. Returns a false on failure. To call the SetReputationValue method, you need to pass 3 parameters: Available options: userID as a ulong or a string; player as a BasePlayer. newValue as float; realRep as a bool. What reputation value to get, real or fake? This parameter is optional. (bool)(ReputationMaster?.Call("SetReputationValue", player.UserIDString, 150f, true) ?? false);//(string)userID (bool)(ReputationMaster?.Call("SetReputationValue", player.userID, 150f, true) ?? false);//(ulong)userID (bool)(ReputationMaster?.Call("SetReputationValue", player, 150f, true) ?? false);//(BasePlayer)player ***recommended option*** SetReputationValues: Used to retrieve the reputation name, real or fake. Returns a false on failure. To call the SetReputationValues method, you need to pass 3 parameters: Available options: userID as a ulong or a string; player as a BasePlayer. value as float; fakeValue as a float. (bool)(ReputationMaster?.Call("SetReputationValues", player.UserIDString, 150f, 50f) ?? false);//(string)userID (bool)(ReputationMaster?.Call("SetReputationValues", player.userID, 150f, 50f) ?? false);//(ulong)userID (bool)(ReputationMaster?.Call("SetReputationValues", player, 150f, 50f) ?? false);//(BasePlayer)player ***recommended option*** You can create as many reputation ranks as you want, but there are only two main groups: Lawmen(peaceful or civilians); Outlaws(bandits). Each kill has a different scores depending of the reputation rank of the victim and attacker. For exampe, if you are a Civilian, you will receive: Paragon: -20 Vigilant: -15 Guardian: -10 Lawman: -4 Deputy: -3 Constable: -2 Civillian: -1 Thug: +2 Outlaw: +3 Bandit: +4 Hitman: +10 Villain: +15 Assassin: +20 Reviving: For reviving a player, you will receive a reward divided by 2. If the target is a lawman, the reward will be positive, else if a target is a bandit, it will be negative. Also, this is the only way out of bandit rank for bandits. Outlaw: When you reach the outlaw reputation, you have no more back! Except for reviving a peaceful player. You can kill other bandits but still counting as negative reputation! So, after you reach the outlaw reputation rank, scores by killing a player of a certain reputation will be as follows(negative reward value) : Paragon: -20 Vigilant: -15 Guardian: -10 Lawman: -4 Deputy: -3 Constable: -2 Civillian: -1 Thug: -2 Outlaw: -3 Bandit: -4 Hitman: -10 Villain: -15 Assassin: -20 Lawman: The scores will be as follows for each kill a outlaw reputation ranks(positive reward value) : Assassin: +20 Villain: +15 Hitman: +10 Bandit: +4 Outlaw: +3 Thug: +2 But for killing a peaceful player, you will receive penalties based on your rank. A list of penalties for each reputation rank: Paragon: -125 Vigilante: -60 Guardian: -40 Lawman: -15 Deputy: -2 Constable: -1 Civilian: -1 There is also a self-defense system that works as follows: If a peaceful player initiates an attack on another peaceful player, a timer of 15 minutes(sets from config) is activated, during which the victim can kill the attacker without penalties. So, it's very hard to become a lawman, and it's very easy to get out from lawman.
    $4.99
  14. Version 1.0.9

    14 downloads

    The simplest Pocket Recycler with permissions Permission pocketrecycler.use - permission to use /rec command You can add custom permissions to change the recycling time and efficiency for players with permissions Commands Chat Command: /rec - Open Pocket Recycler DEFAULT CONFIGURATION { "Permission to use the plugin (default: pocketrecycler.use)": "pocketrecycler.use", "Recycler Container Size": 6, "Works only for those who have permission ?": true, "Use Sound Effects?": true, "Recycle Sound Effects": "assets/prefabs/misc/xmas/presents/effects/unwrap.prefab", "Recycler Open Sound Effects?": "assets/prefabs/npc/autoturret/effects/autoturret-deploy.prefab", "Allow blueprints to be obtained from recycled items.(default: false)": false, "Chance of obtaining blueprints from recycled items. 0 - 100 (default: 0)": 0, "Stack Multiplier Per Recycle Tick(default: 0.1)": 0.1, "Extra Scrap rate(default: 0)": 0.0, "Default recycling efficiency (pocketrecycler.use: 0.4)": 0.4, "Default recycling time duration (pocketrecycler.use: 8)": 8, "Recycler Permissions Settings": { "Recycling efficiency [permission] = efficiency (1.0 = 100%)": { "pocketrecycler.deluxe": 1.0, "pocketrecycler.premium": 0.8, "pocketrecycler.vip": 0.6 }, "Recycling time duration [permission] = time (sec)": { "pocketrecycler.deluxe": 0, "pocketrecycler.premium": 4, "pocketrecycler.vip": 6 } }, "Items recycle list": { "Enable item replacement after recycling": false, "Consider the efficiency value ?": true, "Get default item ingredients ?": false, "List of recyclable items": [ { "SkinID": 0, "Shortname": "wood", "Displayed item name": null, "Ingredients": [ { "SkinID": 2420097877, "Shortname": "paper", "Amount per 1 recycled item": 1, "Displayed item name": null } ] }, { "SkinID": 2420097877, "Shortname": "paper", "Displayed item name": null, "Ingredients": [ { "SkinID": 0, "Shortname": "wood", "Amount per 1 recycled item": 1, "Displayed item name": null } ] } ] } } DEFAULT LANG FILES EN { "permission": "You do not have permission to use this command!", "INPUT_STRING": "Input", "EFFICIENCY": "EFFICIENCY {0}%, {1} SEC", "CAN_RECYCLE": "You cannot perform this action while: <color=#FBD900>{0}</color>", "BUILDING_BLOCKED": "in another player's building zone" } RU { "permission": "У вас нет разрешения для использования этой команды!", "INPUT_STRING": "Ввод", "EFFICIENCY": "ЭФФЕКТИВНОСТЬ {0}%, {1} СЕКУНД", "CAN_RECYCLE": "Вы не можете выполнить это действие находясь: <color=#4A95CC>{0}</color>", "BUILDING_BLOCKED": "в зоне запрета строительства" }
    $3.99
  15. Version 1.3.2

    119 downloads

    Permission based plugin which automatically stops furnaces and refineries when there are no ores/crude, and restarts them when new items are added. Includes optional behaviour to turn off all of a player’s ovens on logout and back on at login. Permissions: furnacenoorestop.use – Enables automatic stop/start of furnaces and refineries. Grants functionality regardless of who adds items. Note: Does not affect oil refineries in Safe Zone. If the oven already contains cookables and is off, adding more will start it when the interface is closed, provided there is fuel inside. Config: { "Turn off furnaces when players disconnect?": false, "Turn on players furnaces when they connect?": false, "Debugging (for development and repairs)": false } FurnaceNoOreStop - Oxide/Rust Plugin Copyright (C) 2025 Tacman
    Free
  16. 0xF

    Admin Menu

    Version 1.4.6

    4,621 downloads

    Manage your Rust server easier and more efficiently with the AdminMenu plugin. Track players, interact with them, edit their data and permissions, as well as change server convars and manage plugins. Features: Menu retains its state after closing, you won't lose everything you did before. Ability to fully translate the menu into any language. Large range of permissions for each action, will allow you to flexibly customize the admin menu for each group of administrators. Quick menu that allows you to perform quick actions Full list of players with the ability to filter by online, offline, admins and moderators. Also has a frame of different colors depending on the level of authorization. Wide range of information and actions for the selected player. Editing convars with search. Has a complete list of editable convars with descriptions for some of them. Extensive issue menu by category, with easy management of name, skin and amount (manual, +1, +100, +1000, +10000). Plugin management menu. It is possible to reload, unload or load a plugin easily and quickly. Updates occur in real time. Ability to create your own custom buttons that execute several commands Quick Start: You install the plugin in the plugins folder. Give yourself the adminmenu.fullaccess permission. Commands, use one of your choice, one for the player and one for the admin group: o.grant user [name or steamid] adminmenu.fullaccess o.grant group admin adminmenu.fullaccess Press the X button (swap seat button) or type adminmenu in the console. Enjoy Useful stuff: You can quickly open a player in the admin menu. To do this, point at the player and press X. You don't have to hover over the player exactly, you will be able to open players within a certain radius of the place you are looking at. CUSTOM BUTTONS Custom buttons are buttons that when pressed will execute commands on behalf of the administrator, commands can be several, below will be the details. At the moment, custom buttons can be created in two places: in the quick menu and in the menu when selecting a player. These places are separated in the config. Button Fields: "Execution as server" - Call the command on behalf of the server, not the administrator "Label" - Text that will be on the button, for each such inscription creates a field in the lang file, accordingly you can translate this text into several languages. "Commands" - Array of commands that will be executed on behalf of the administrator. Chat commands require a special entry, see examples. "Permission"- permission to display and use the button. You need to write the permission that will be after "adminmenu.". Example: if you enter the permission "test" the permission will be adminmenu.test "Position" - The location for the button, the first number is responsible for the row number, the second for the position within the row, starts from 0.There are limits of locations, if you have gone beyond the limit - the button will not be displayed. Common Tags: {adminUID} - administrator's id. {position} - administrator coordinates (underfoot) {view_position} - the position where the administrator is looking (can be used for spawning or something similar) {view_direction_forward} - forward view direction of the administrator {view_direction_backward} - the direction the administrator is looking backwards {view_direction_left} - direction of the administrator’s view to the left {view_direction_right} - administrator’s view direction to the right Tags for target only: {steamid}, {steamID}, {userID}, {STEAMID}, {USERID} - mean the same thing, namely the id of the selected player. {target_position} - target coordinates (underfoot) Example of commands: chat.say \"/{chat command}\" vanish ban {steamID} teleport {steamID} {adminUID} More information about the grant menu: The grant menu includes the full list of items including hidden items as well as custom items created by the CustomItemDefinitions library. The menu can be accessed from the navigation or from the menu of the selected player. When issuing itself has categories. Search works in any registry by any part of the name or short name. Has a page system at any stage. More information about the buttons in the Quick Menu: [Teleport to 0 0 0] - Teleport to coordinates 0 0 0. Requires adminmenu.quickmenu.teleportto000 permission [Teleport to Deathpoint] - Teleport to your deathpoint. Requires adminmenu.quickmenu.teleporttodeath permission [Teleport to Spawn point] - Teleport to a random spawn point. Requires adminmenu.quickmenu.teleporttospawnpoint permission [Kill Self] - Kill Self, kills even when immortal. Does not require permission. [Heal Self] - Fully heal yourself. Requires adminmenu.quickmenu.healself permission [Call Heli] - Call Helicopter to yourself (arrives in time). Requires adminmenu.quickmenu.helicall permission [Spawn Bradley] - Spawn bradley on yourself. Requires adminmenu.quickmenu.spawnbradley permission More information about the buttons in the menu of the selected player: [Teleport Self To] - Teleport yourself to the selected player. Requires adminmenu.userinfo.teleportselfto permission [Teleport To Self] - Teleport the selected player to yourself. Requires adminmenu.userinfo.teleporttoself permission [Teleport To Auth] - Teleportation to random authorization (TC). Requires adminmenu.userinfo.teleporttoauth permission [Teleport to Deathpoint] - Teleportation to a player's deathpoint. Requires adminmenu.userinfo.teleporttodeath permission [Heal] - Full healing, including metabolism. Requires adminmenu.userinfo.fullheal permission [Heal 50%] - Half healing. Requires adminmenu.userinfo.halfheal permission. [View Inventory] - View and edit player's inventory. Requires adminmenu.userinfo.viewinv permission [Strip Inventory] - Clear player's inventory. Requires adminmenu.userinfo.stripinventory permission [Unlock Blueprints] - Unlock all Blueprints. Requires adminmenu.userinfo.unlockblueprints permission [Revoke Blueprints] - Reset all Blueprints. Requires adminmenu.userinfo.revokeblueprints permission. [Kill] - Kill a player. Requires adminmenu.userinfo.kill permission [Kick] - Kick a player. Requires adminmenu.userinfo.kick permission [Ban] - Ban a player. Requires adminmenu.userinfo.ban permission More information about the buttons in the menu of the selected group: [Remove Group] - Remove group, has confirmation. Requires adminmenu.groupinfo.removegroup permission [Clone Group] - Clone group with the ability to copy users. Requires adminmenu.groupinfo.clonegroup permission Permissions: adminmenu.use - Ability to use admin menu with basic set. Open tab quick menu (each button has its own permission, without permissions is present only kill yourself button) and the list of players. adminmenu.fullaccess - Full access to all functions without the need for each permission, includes also adminmenu.use. It is recommended to give only to the main administrators. adminmenu.quickmenu.teleportto000 - Access to the button in the quick menu, teleportation to coordinates 0 0 0 0. adminmenu.quickmenu.teleporttodeath - Access to the button in the quick menu, teleportation to the point of your death. adminmenu.quickmenu.teleporttospawnpoint - Access to the button in the quick menu, teleportation to a random spawn point. adminmenu.quickmenu.healself - Access button in quickmenu, heal yourself completely. adminmenu.quickmenu.helicall - Access to the button in the quick menu, call a helicopter to yourself (arrives in time). adminmenu.quickmenu.spawnbradley - Access button in quickmenu, spawn bradley. adminmenu.userinfo.teleportselfto - Access to the button in the menu of the selected player, teleportation to the selected player. adminmenu.userinfo.teleporttoself - Access to the button in the menu of the selected player, teleport the selected player to himself. adminmenu.userinfo.teleporttoauth - Access to the button in the menu of the selected player, teleportation to random authorization (TC). adminmenu.userinfo.teleporttodeath - Access to the button in the menu of the selected player, teleportation to the place of death of the player. adminmenu.userinfo.fullheal - Access to the button in the menu of the selected player, full healing, including metabolism. adminmenu.userinfo.halfheal - Access to the button in the menu of the selected player, half healing. adminmenu.userinfo.viewinv - Access to the button in the selected player's menu, view and edit the player's inventory. adminmenu.userinfo.stripinventory - Access to the button in the menu of the selected player, clear the player's inventory. adminmenu.userinfo.unlockblueprints - Access the button in the menu of the selected player, unlock all drafts. adminmenu.userinfo.revokeblueprints - Access to the button in the menu of the selected player, reset all drafts. adminmenu.userinfo.kill - Access the button in the selected player's menu to kill the player. adminmenu.userinfo.kick - Access the button in the selected player's menu to kick the player. adminmenu.userinfo.ban - Access to the button in the menu of the selected player, ban the player. adminmenu.groupinfo.removegroup - Access to the button in the menu of the selected group, the ability to remove the group. adminmenu.groupinfo.clonegroup - Access to the button in the menu of the selected group, the ability to clone the group. adminmenu.convars - View and edit convars. adminmenu.permissionmanager - View and edit permissions in groups, player groups, create, delete and clone groups (requires additional permissions from these buttons). adminmenu.pluginmanager - Access to plugin management, reloading, unloading, loading plugins. adminmenu.give - Access to give resources, as well as yourself and the selected player.
    $30.00
  17. Version 0.1.0

    18 downloads

    What is it? Zone Command Blocker is a tool which prevents using specific commands (in data folder) in specific zones Permissions: zonecommandblocker.bypass - None of your command will be blocked in any zone zonecommandblocker.clear - Access for the /zcb.clear command Commands: /zcb.clear - Clears/wipes the data folder which contains zones with saved permissions etc.. Features: Zone Command Blocker will make your life easy and will on load take all zones and add them into it's data file where you can just add blocked commands Multiple blocked commands - Supports multiple blocked commands for specific zone Data file: Data of all reports and staff's statistics are being saved into a data file. Path: Your_Server\oxide\data\ZoneCommandBlocker\ZoneCommandBlocker.json Localization: { "CommandBlocked": "This command cannot be used in zones!", "DataFileClear": "Cleared data folder" }
    $4.99
  18. Version 2.0.9

    82,713 downloads

    Convenient GUI manager for player and group permissions. Allows assignment of player permissions. (online or sleeping) Allows assignment of group permissions. Allows one-click removal of all players from a group. (group page - "Remove All") Allows adding/removing a player from groups. Supports unlimited plugins/permissions/groups Up to 60 plugins per-page. Up to 40 permissions per-page. Up to 40 user groups per-page Allows for local and sql backup and recall of all permissions or groups. Permissions. permissionsmanager.allowed - Allows players to use GUI. Plugin can be used with this permission, or by any Admin : Auth Level 2. Chat commands. /perms data - Backup and restore permissions and/or groups - local data file and/or SQL. ** /perms OR /perms player - Opens GUI player list, allowing a player to be chosen. /perms group - Opens GUI group list, allowing a group to be chosen. /perms player <playername> - Opens permissions GUI for the specified player. /perms group <groupname> - Opens permissions GUI for the specified group. Console commands. EmptyGroup <groupname> - Removes all players from the specified group. Configuration. Global. Chat - Title colour Chat - Message colour GUI - Label colour GUI - On colour GUI - Off colour GUI - AllPerPage - Sets All/None option to per-page, or per plugin. Options - GUI Transparency 0-1 Options - Plugin BlockList - ex. "playerranks,botspawn" Block list must be lower case, comma separated, no spaces, and no final comma, as above. Useful tool for picking CUI colours - RGB Decimal - Take the RGB Normalized decimal output, and remove all commas. ** Please note that with data backups : SQL saving is accumulative - Saving adds current permissions/group data to whatever was already saved. Local data file saving is not accumulative. It overwrites any existing backup with the current server permissions/groups. FAQ. Q: I'm trying to revoke permission(Y) for a player, but it says "Inherited". A: The player is in a group(X) which is also granted permission(Y). Solution: Revoke permission (Y) from group(X) or remove the player from group(X). Q: I removed a player from group(X), but they still have permission(Y). A: This is the opposite of the above. This player must have been independently granted permission(Y) at some time. Solution: Revoke permission(Y) from the player.
    Free
  19. Version 1.1.4

    5 downloads

    Wipe Permission Groups Tired of manually removing permission groups and player permissions every wipe? Players keeping their earned titles, ranks, and special permissions from the previous wipe when they shouldn't? Spending the first hours of every wipe cleaning up your permission system instead of enjoying the fresh start? WipePermissionGroups is your solution. How It Works On every map wipe, the plugin detects the OnNewSave event Automatically removes all players from your configured permission groups Revokes specified user permissions (supports wildcards like kits.* to remove all kit permissions at once) Logs everything to console so you know exactly what happened Features Zero Maintenance: Set it up once, never worry about it again Wildcard Support: Bulk permission removal with patterns like kits.* Manual Commands: /wipegroups and /wipepermissions available anytime Detailed Logging: Full console output (can be disabled in config) Perfect For Servers with progression-based rank systems Event rewards that should reset Raid tier permissions Any permission that should reset with the wipe Set it once, wipe worry-free.
    $1.99
  20. Death

    Group Crafting

    Version 1.0.4

    620 downloads

    Simple plugin that allows crafting speed multipliers to be set per permission group. Adjust how fast each group can craft, from slower progression to instant crafting, depending on your server’s needs. Commands These commands can be ran via ingame console (with permission) or RCON. gcraft gcraft <group> <multiplier> Permissions The following permission is only needed to allow users to access commands via ingame console. groupcrafting.admin Configuration The config can be edited directly or can be adjusted with the commands above. "group": Multiplier, "group2": Multiplier Existing server groups are automatically detected when the plugin loads. The default multiplier is 1, higher values increase crafting speed, and a value of 0 enables instant crafting. Thanks to @SawyerWD for icon!
    Free
  21. Version 2.0.2

    550 downloads

    NOTE: Version 2.0.0 is not backwards compatible with 1.x - please backup your config file! About Kill Heli Vote This plugin allows your players to kill all Patrol Helicopters that have spawned, by simply voting in chat! Snaplatack Note: I originally made this plugin for my servers, but haven't seen anything similar that was already published. So I figured I would release it here HunterZ Note: Version 2.x is my own rewrite of another rewrite started by Snaplatack, which adds new features and addresses some issues I encountered in my own use. Optional Dependencies Heli Signals Loot Defender Features Kill all eligible Patrol Helicopters via a vote system Kill all eligible Patrol Helicopters via an Admin command Ignore Patrol Helicopters called by Heli Signals and/or while protected by Loot Defender Ban players from voting or resetting votes Reset votes on damage to Patrol Helicopters from a non-banned player Customize commands, permissions, and messages Permissions killhelivote.use - controls whether voting command can be used by a player/group killhelivote.admin - controls whether kill command can be used by a player/group killhelivote.banned - controls whether voting command and damage reset features should be locked out for a player/group Notes: The names of these can be overridden via the config file The plugin will react to permission changes without a reload Commands /voteheli - record vote towards killing all eligible active helis /killhelis - kills all eligible helis on the map, bypassing any votes Notes: These are the default command names, which can be overridden via the config file Configuration Plugin Settings Frequency of vote announcements [in seconds] - how often voting message/toast should be shown Percentage of votes required [0 - 100] - percentage of votes by eligible voters required to kill helis Ignore helis spawned by Heli Signals - whether helis called by Heli Signals should be ignored by this plugin Ignore helis locked by Loot Defender - whether helis should be ignored by this plugin while protected by Loot Defender Reset vote when a heli takes damage - whether to reset votes when any kill-eligible heli is attacked by a player who is not banned from voting Commands & Permissions This section allows you to customize command and permission names used by the plugin. Messages Steam ID to use for the image for messages [0 = default] - set this to the SteamID of an account whose profile picture you want to use for chat messages produced by this plugin Use chat messages - whether to show a given message via in-game chat Use native toast messages - whether to show a given message via toasts (popup banners) Toast type - style of toast to use (0 => Blue Normal, 1 => Red Normal, 2 => Blue Long, 3 => Blue Short, 4 => Server Event, 5 => Error) Notes: Chat and toast messages can be enabled at the same time if desired Credits snaplatack - original author nivex - (2.x) Loot Defender coordination zeeuss - (1.x) finding objects more efficiently on reload mr01sam - (1.x) helping with some Init procedures ViolationHandler - (1.x) code cleanup and improved code efficiency
    Free
  22. Version 2.0.3

    770 downloads

    This plugin will add variable custom quarries and pumpjacks to your server. You can create any amount of different quarries and pumpjacks! You can get the fastest support in our Discord: Alias™ dev. Features Prefab substitution You can avoid using survey charges for installing quarries. Static quarries All 4 type of statics (pumpjack, stone, sulfur, HQM) can be configured separately. Toggle & Loot protection Each quarry have their own protection settings. There is also protection system by permissions for static quarries. Built-in remove You can configure different remove and refund settings per quarry. Repair It is very similar to the standard system with all the sounds and effects. It also supports custom items. Build limits Built in options to set limits for quarries and pumpjacks separately. Custom Items You can use any normal and/or skinned items (custom items) as fuel and/or resource production. Fuel system You can set up several different fuel types with different production settings per fuel type. Production system You can set up min/max amount of items and probability chances per item. Permissions You can set up build limits and/or gather rates by permissions and also sum all permission parameters (or not). Upgrade system You can upgrade from one quarry to another using different skin id. UI Adaptive and informative interface made in modern rust-style design so it may seem like part of the game. It will automatically change its size and screen location depending on your quarry settings. Langs You can translate any phrase in the plugin. Performance The plugin completely has its own mechanics, which ensures the best performance even compared to the standard system. This also fixes all of the default quarry bugs. Optimization You can completely disable some of the plugin's functions in the main config. Configuration Main config (oxide/config/aQuarry.json) Static quarries config (oxide/data/aQuarry/StaticQuarries/) Personal quarries config (oxide/data/aQuarry/PersonalQuarries/) Commands quarry.give «SteamID » «SkinID » => give to player the quarry with specified skin from config quarry.giveme => give all quarries from config to self Permissions: aQuarry.admin => allows to use «quarry.give » and «quarry.giveme » commands from in-game console API bool CanBuildCustomQuarry(Planner plan, BasePlayer builder, bool IsQuarryOrPumpjack) // Called right before other built-in checks. // Returning false will cancel the construction. void OnCustomQuarryBuilded(MiningQuarry quarry, BasePlayer builder, bool IsQuarryOrPumpjack) // Called right after player has built custom quarry or pumpjack.
    $24.00
  23. Version 1.0.6

    187 downloads

    About Battle Pass Reborn A modern battle pass system for Rust that adds progression, missions, and rewards to your server. Players complete a wide variety of tasks — from PvP and farming to building and crafting — and earn experience (XP) to unlock unique rewards at each level. The plugin is fully customizable and integrates seamlessly with your server’s economy and other popular plugins. The plugin also supports a Premium Battle Pass, giving players access to exclusive rewards and accelerated progression. This not only increases player engagement but can also generate additional revenue for server owners through premium access sales. Key Features Fully customizable progression system — levels, XP, and rewards for completing missions. Configurable mission types — PvP, events, farming, crafting, and many other activities. Premium Battle Pass — exclusive rewards and faster progression for premium users. Flexible integration — works with server economy and other popular plugins. Increased player engagement — encourages activity and retention between wipes. Modern and polished UI/UX — intuitive interface for viewing levels, missions, and rewards. Commands /bp — opens the Battle Pass interface for the player (can be changed in the plugin config). /giveexp {steamid} {quantity} - adds the specified amount of XP to a player. /removeexp {steamid} {quantity} - removes the specified amount of XP from a player. /resetprogressall - resets the progress of all players on the server. /resetprogress {steamid} - resets the progress of a specific player. Mission Types Missions are loaded from a preset file (e.g., DefaultMissions.json) and can be customized with event types, conditions (e.g., item shortnames), target counts, and difficulties. XP rewards scale by difficulty (configurable: Easy=10, Medium=25, Hard=50). extract: Gather/extract a resource (e.g., wood, stone). craft: Craft specific items. pickup: Pick up items (e.g., from ground or collectibles). loot: Loot a container (e.g., crates, barrels). kill: Kill entities (players, animals, scientists, helicopters, bradleys). build: Build structures. quest: Complete quests (from other plugins). growup: Grow and harvest plants. upgrade: Upgrade building blocks (e.g., wood to stone). fishcatch: Catch fish. heal: Use healing items (e.g., syringes). mlrsrocketfire: Fire MLRS rockets. itemuse: Use/consume items (e.g., food, medical). cardswipe: Swipe keycards. purchasing: Purchase items from NPCs/vending machines. hit_area (Head, Chest, Stomach, Arm, Hand, Leg, Foot): Hit specific body parts on players. kill_with_weapon: Kill using a specific weapon. recycling: Recycle items. gambling: Win in gambling (e.g., slots, wheels, cards; tracks deposits, wins, profits). enter_zone: Enter specific zones (via ZoneManager or similar). events: The plugin awards progress/XP in supported events. In mission presets you can specify conditions like "RaidableBase_Easy", "SpaceEvent", "ArmoredTrainEvent" etc. Event Points Integration Supported events: Air Event Arctic Base Event Armored Train Event Boss Monster Caravan Event Convoy Event Dungeon Event Ferry Terminal Event (FerryEvent) Flying Cargo Event Gas Station Event GunGame Event Harbor Event Junkyard Event Paintball Event Plant Event (PowerPlantEvent) Raidable Bases Event (with difficulty modes: Easy, Medium, Hard, Expert, Nightmare) Satellite Dish Event (SatDishEvent) Shipwreck Event Space Event Sputnik Event Supermarket Event (MarketEvent) Survival Arena Event Triangulation Event Tugboat Pirates Event (Tugboat) Water Event Abandoned Base Event Airfield Event Reward Types Item Commands Configuration Main settings — BattlePassReborn.json Mission settings — DefaultMissions.json Level and reward settings — LevelsList.json UI Settings — UI.json
    $30.00
  24. Xray

    Admin Toggle

    Version 3.1.19

    1,468 downloads

    Installation Place the AdminToggle.cs file in /oxide/plugins/ Place the XLIB.dll Dependency in /RustDedicated_Data/Managed/ Grant yourself the default permission o.grant user YOURNAME admintoggle.master the .master permission selector needs to be adapted to what you called the permission setting for the mode Information AdminToggle Allows admins with permission to toggle between player & admin mode Reset Command Open f1 console & write at.fix - Reverts you to player mode (the hard way) (Permission, Priority, Toggle Commands) - Must be unique Core Mode Featues Unlimited custom modes Customizable permission name Priority system for modes Master mode Oxide group toggling Custom commands to toggle Restriction system to specfic steam ids a certan mode Mode Settings (admin) Require a reason to toggle Autorun commands on toggle Separated inventories Teleport back to toggle location upon exiting Revert auth to 0 on disconnect Blocked commands Custom outfit while in mode Notifications (global-chat notification, local-chat notification, popup notification, sound perfab notification & Discord embed Notification) Interface toggle button, pulsing panel, action menu Blocked actions Blocked plugins hooks Mode Settings (player) Autorun commands on revert Notifications (global-chat notification, local-chat notification, popup notification, sound perfab notification & Discord embed Notification) Blocked commands Blocked plugins hooks API Hooks void admintoggle_onAdmin (BasePlayer player) { /*Do something epic*/ } void admintoggle_onPlayer (BasePlayer player) { /*Do something epic*/ } API Methods bool IsAdmin(BasePlayer player); object[] GetMode(BasePlayer player, bool TrueMode = false); /* IF player.userID IS ASSIGNED ANY MODE RETURNS TRUE IF player.userID IS NOT ASSIGNED ANY MODE RETURNS FALSE */ bool isAdmin = AdminToggle.Call<bool>("IsAdmin", player.userID); /* IF player IS NOT ASSIGNED MODE RETURNS NULL IF bool IS SET FALSE RETURNS CURRENT MODE -- object[0] permission (string), object[1] priority (int), object[2] isMaster (bool) IF bool IS SET TRUE RETURNS HIGHEST MODE -- object[0] permission (string), object[1] priority (int), object[2] isMaster (bool) */ object[] getMode = AdminToggle.Call<object[]>("GetMode", player, false); Default Configuration (1 mode) Known incompatible plugins Server Armour (Compatible with v2.29.44 and above)
    $8.99
  25. Version 1.1.1

    24 downloads

    Advanced Timed Permission Management System for Groups Timed Group Permissions allows you to assign permissions to any group for a limited amount of time! You can easily give, revoke, or extend timed permissions — all fully controlled by simple commands. Discord Integration - You can log all permission grants, revokes, and extensions directly to a Discord channel. - Simply add your Discord webhook URL to the config file, then run the command: - oxide.reload TimedGroupPermissions That’s it! Your actions will now be logged automatically to Discord. Data Storage To check which groups currently have timed permissions assigned, open the file: data/TimedGroupPermissions.json Commands Section Chat & Console Commands: 1. givegroupperm <group> <permission> <time> → Give a timed permission to a group. 2. extendgrouptimeperm <group> <permission> <time> → Extend the duration of an existing timed permission. 3. revokegroupperm <group> <permission> → Revoke a permission from a group. 4. viewgroupperm <group> → View all active timed permissions for that group. Example output: [Timed Group Permissions] Permissions for group 'admin': - kits.donadiscord (Expires in 23 hour(s) 59 minute(s) 39 second(s)) Examples givegroupperm admin minicopter.infinitefuel 10d → Gives the group “admin” the permission “minicopter.infinitefuel” for 10 days. extendgrouptimeperm admin minicopter.infinitefuel 10d → Extends the permission “minicopter.infinitefuel” for the group “admin” by an additional 10 days. revokegroupperm admin minicopter.infinitefuel → Removes the permission “minicopter.infinitefuel” from the group “admin”. ------------------------------------------------------------ Default Configuration { "Send messages to Discord Webhook? (Requires DiscordAPI plugin)": true, "Discord Webhook URL": "https://discord.com/api/webhooks/..." } Summary: Timed Group Permissions is the perfect solution for managing temporary permissions on your server. Reward VIP groups, event teams, or temporary staff roles — all with automatic expiration and Discord logging.
    $10.00

About Us

Codefling is the largest marketplace for plugins, maps, tools, and more, making it easy for customers to discover new content and for creators to monetize their work.

Downloads
2.3m
Total downloads
Customers
10.7k
Customers served
Files Sold
154.9k
Marketplace sales
Payments
3.3m
Processed total
×
×
  • Create New...

Important Information

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