Search the Community
Showing results for tags 'iiiaka'.
-
Version 0.1.12
690 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 force the decay of building blocks with Twigs grade, even if there is wood in the Tool Cupboard; The ability to toggle the gather resource restriction in someone else's Building Privileges; No one, except the owner or their friends, will be able to open their loot containers (chests, storages, bodies, etc.); Administrators can bypass loot restrictions; The ability to schedule the killing of players if they disconnect within someone else's Building Privilege; Disabling backpack and active item drop upon death, even if backpack is full; The ability to disable 'Give' messages; The ability to modify the items given at spawn on the beach; The ability to create an unlimited number of custom permissions; The ability to allow players to bypass the queue; The ability to set limits on sleeping bags, shelters and auto turrets for each permission; The ability to set a multiplier for the prices of monuments and events for each permission; The ability to customize the price and amount of vehicles for each of your custom permissions; The ability to assign vehicles to each player; The ability to customize the assigned price and available amount of vehicles for each of your custom permissions; An assigned vehicle can't be damaged, looted or pushed by other players, but it can be pushed if it is within someone else's Building Privilege; The ability to loot monuments through a queue system; The ability to configure monuments, setting their looting price and time, and adjusting status bars for each monument; The ability to acquire the privilege to loot events (helicopters, bradleys, and raidable bases) through a purchase; The ability to customize the price of each event types and loot attempts (lives); NPCs only aggress against players who are looting monuments, events or raidable bases; Only players who are looting monuments, events or raidable bases can inflict damage to NPCs; RaidableBases are protected from griefing(no damage, no loot and etc). Only the owner can interact with the raid; Neutral RaidableBases can be purchased; Prices for purchasing neutral raids are configurable for each difficulty level; Configurable raid limits (currently available) along with discount multipliers for purchases, for each permission. File location: *SERVER*\oxide\data\RealPVE\PermissionConfig.json Default: https://pastebin.com/5VtWZZVr All permissions are created and configured in the config file under the "List of permissions" section. You can create as many permissions as needed and customize them flexibly. It is recommended to use the prefix "realpve" in the permission's name, for example: "realpve.vip". NOTE: The first permission will serve as the default permission for those who do not have any permissions. { "List of permissions. NOTE: The first permission will be used by default for those who do not have any permissions.": [ { "Permission Name": "realpve.default", "Bypass Queue": false, "Limit of beds": 15, "Limit of shelters": 1, "Limit of auto turrets": 12, "Seconds that will be skipped when opening HackableLockedCrate. Range from 0 to 900": 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. Range from 0 to 900": 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 admin command": "adminpve", "Chat command": "realpve", "Is it worth forcibly implementing PvE for a server?": true, "Is it worth enabling GameTips for messages?": true, "Is it worth preventing the sending of 'Give' messages?": true, "Is it worth preventing resource gathering in someone else's building privilege area?": false, "Is it worth preventing the pickup of plants spawned by the server in someone else's building privilege zone?": false, "Is it worth preventing players from handcuffing others?": 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, "Which currency symbol and format will be utilized?": "${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, "PatrolHelicopterAI - Monument Crash. If set to true, the helicopter will attempt to crash into the monument": false, "PatrolHelicopterAI - Use Danger Zones. If set to false, the helicopter will function as it did before the April update": false, "PatrolHelicopterAI - Flee Damage Percentage. A value of 1 or above will make the helicopter behave as it did before the April update": 1.0, "Is Npc Random Raids enabled?": true, "PvP - Is friendly fire enabled by default when creating a 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 1 1 1", "Main_Transparency": 0.15, "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 1 1 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", "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": 12 } } ENG: https://pastebin.com/ZMUL6pYL RUS: https://pastebin.com/Mx8cbMts Main commands(/realpve ) : vehicle: find - helps to find a player's vehicle; unlink - unlinks the vehicle without the need to approach it; clear - unlinks all vehicles. team: ff - Enable/Disable damage to teammates. Only the group leader can use this command. Admin commands(/adminpve). Permission "realpve.admin" required: loot - Toggle unrestricted looting. If a userID is added at the end, the command will apply to that player, otherwise, it will apply to the person who entered it. monument: pvp - Toggle the PvP flag for a monument. If a monumentID is added at the end, the command will apply to that monument, otherwise, it will apply to the monument the player is currently in. Example: /realpve team ff /realpve vehicle find *netID* /adminpve loot /adminpve loot *userID* /adminpve monument pvp /adminpve monument pvp *monumentID* This plugin provides the ability to claim vehicles, thereby preventing theft and griefing from other players. In permissions, you can set the price and quantity restrictions for each type of vehicle, ensuring flexible customization according to your preferences. An assigned vehicle can't be damaged, looted or pushed by other players, but it can be pushed if it is within someone else's Building Privilege. File location: *SERVER*\oxide\data\RealPVE\MonumentConfig.json Default: https://pastebin.com/XY1d9YaM This plugin introduces queue system and loot purchases for monuments. You can customize the price and time for looting for each monument. Within monuments, only the "Looter" and his friends have the ability to loot, pick up items or damage entities. Additionally, NPCs and animals within monuments do not aggress against other players and do not receive damage from them. If a player dies within the monument, they will have a grace period to return. This allows players to safely loot monuments without fear of griefing. Example of monument configuration: "ferry_terminal_1": { "Type(This parameter is just a hint. Changes won’t have any effect)": "RadTown", "Time in seconds(1-15) given to respond for purchasing monument looting": 5.0, "ShowSuffix": true, "Broadcast": 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 - Sets the delay in seconds that a player remains in PvP mode after leaving a PvP monument. 0 disables the delay": 10, "PvP - Is it worth adding map markers for monuments if they are PvP zones?": true, "LootingTime": 900, "Price": 15.0, "Is it worth using a progress bar for bars with a counter?": true, "BarSettings": { "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", "Progress_Reverse": true, "Progress_Color": "#FFBF99", "Progress_Transparency": 0.8, "Progress_OffsetMin": "", "Progress_OffsetMax": "" } } 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: { "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 capture the event. 0 means the event is free": 50.0, "The number of deaths after which the event becomes public": 5 }, "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 capture the event. 0 means the event is free": 50.0, "The number of deaths after which the event becomes public": 5 }, "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.$39.99- 24 comments
- 1 review
-
- 3
-
- #rust
- #real
-
(and 56 more)
Tagged with:
- #rust
- #real
- #pve
- #pvp
- #solo
- #build
- #friendly
- #raid
- #npc
- #monument
- #monuments
- #loot
- #looting
- #farm
- #newbie
- #custom
- #bar
- #ui
- #cui
- #panel
- #vehicle
- #claim
- #limit
- #limits
- #sleeping
- #bag
- #sleeping bag
- #bed
- #shelter
- #permission
- #permissions
- #vip
- #economy
- #economics
- #rad
- #town
- #radtown
- #queue
- #bypass
- #vehicles
- #raidable
- #base
- #bases
- #raidablebases
- #raider
- #raiders
- #humannpc
- #event
- #events
- #copy
- #paste
- #copypaste
- #plugin
- #plugins
- #umod
- #oxide
- #carbon
- #iiiaka
-
Version 0.1.6
516 downloads
A plugin creating a trigger box around Monuments and CargoShips to track entry and exit of players, npcs and entities from it. The list of all monuments can be viewed in the: 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", "Use GameTip for messages?": true, "Is it worth recreating boundaries(excluding custom monuments) upon detecting a wipe?": true, "List of tracked types of monuments. Leave blank to track all": [], "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 6 } } Monument bounds example: "airfield_1": { "Center": { "x": 335.881531, "y": 9.936, "z": 2096.53345 }, "CenterOffset": { "x": 0.0, "y": 15.0, "z": -25.0 }, "Size": { "x": 360.0, "y": 60.0, "z": 210.0 }, "Rotation": { "x": 0.0, "y": 44.06058, "z": 0.0 } }, ... Custom Monument bounds example: "exit69": { "MonumentType": 12, "Center": { "x": 336.676483, "y": 47.65218, "z": -39.02194 }, "CenterOffset": { "x": 0.0, "y": 0.0, "z": 0.0 }, "Size": { "x": 100.0, "y": 100.0, "z": 100.0 }, "Rotation": { "x": 0.0, "y": 0.0, "z": 0.0 } }, ... Note: MonumentType can be found in the Developer API section. ENG: https://pastebin.com/nsjBCqZe RUS: https://pastebin.com/ut2icv9T Note: After initialization, the names of custom monuments will also be added here. rotation - Sets the monument rotation based on the argument or the player's view direction; recreate - Recreating boundaries for all monuments; show - Displays the boundaries of the monument in which the player is located, either by specified ID or key. Example: Rotation: /monument rotation - Rotation of the monument towards the player's head direction, in which the player is located /monument rotation gas_station_1_0 256.5 - Monument rotation with specified arguments: monument ID and Y coordinate Display by monument key(Will display all monuments with such a key): /monument show gas_station_1 Display by monument ID(Will display one monument with the specified ID): /monument show gas_station_1_4 void OnMonumentsWatcherLoaded() Called when the MonumentsWatcher plugin has fully loaded. void OnCargoWatcherCreated(string monumentID, string type) Called when a watcher is created for a CargoShip. void OnCargoWatcherDeleted(string monumentID) Called when a watcher is removed for a CargoShip. void OnMonumentsWatcherLoaded() { Puts("MonumentsWatcher plugin is ready!"); } void OnCargoWatcherCreated(string monumentID, string type) { Puts($"Watcher for monument {monumentID}({type}) has been created!"); } void OnCargoWatcherDeleted(string monumentID) { Puts($"Watcher for monument {monumentID} has been deleted!"); } Entered hooks: void OnPlayerEnteredMonument(string monumentID, BasePlayer player, string type, string oldMonumentID) Called when a player enters any monument void OnNpcEnteredMonument(string monumentID, BasePlayer npcPlayer, string type, string oldMonumentID) Called when an NPC player enters any monument void OnEntityEnteredMonument(string monumentID, BaseEntity entity, string type, string oldMonumentID) Called when any other BaseEntity enters any monument void OnPlayerEnteredMonument(string monumentID, BasePlayer player, string type, string oldMonumentID) { Puts($"{player.displayName} entered to {monumentID}({type}). His previous monument was {oldMonumentID}"); } void OnNpcEnteredMonument(string monumentID, BasePlayer npcPlayer, string type, string oldMonumentID) { Puts($"Npc({npcPlayer.displayName}) entered to {monumentID}({type}). Previous monument was {oldMonumentID}"); } void OnEntityEnteredMonument(string monumentID, BaseEntity entity, string type, string oldMonumentID) { Puts($"Entity({entity.net.ID}) entered to {monumentID}({type}). Previous monument was {oldMonumentID}"); } Exited hooks: void OnPlayerExitedMonument(string monumentID, BasePlayer player, string type, string reason, string newMonumentID) Called when a player exits any monument void OnNpcExitedMonument(string monumentID, BasePlayer npcPlayer, string type, string reason, string newMonumentID) Called when an NPC player exits any monument void OnEntityExitedMonument(string monumentID, BaseEntity entity, string type, string reason, string newMonumentID) Called when any other BaseEntity exits any monument void OnPlayerExitedMonument(string monumentID, BasePlayer player, string type, string reason, string newMonumentID) { Puts($"{player.displayName} left from {monumentID}({type}). Reason: {reason}. They are now at '{newMonumentID}'."); } void OnNpcExitedMonument(string monumentID, BasePlayer npcPlayer, string type, string reason, string newMonumentID) { Puts($"Npc({npcPlayer.displayName}) left from {monumentID}({type}). Reason: {reason}. They are now in {newMonumentID}"); } void OnEntityExitedMonument(string monumentID, BaseEntity entity, string type, string reason, string newMonumentID) { Puts($"Entity({entity.net.ID}) left from {monumentID}({type}). Reason: {reason}. They are now in {newMonumentID}"); } [PluginReference] private Plugin MonumentsWatcher; There are 13 types of monuments: SafeZone(0): Bandit Camp, Outpost, 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, Train Yard, Water Treatment Plant. RadTownWater(2): Oil Rig, Underwater Lab and CargoShip. 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) WaterWell(11) Custom(12) There are 22 api methods: GetMonumentDisplayName: Used to retrieve the nice name of the monument, considering 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; userID as either a string or a ulong. You can provide 0 or empty string to get default(eng) language; 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)MonumentsWatcher?.Call("GetMonumentDisplayName", monumentID, player.UserIDString, true); GetMonumentType: Used to retrieve the monument type. Returns an empty string on failure. To call the GetMonumentType method, you need to pass 1 parameter: monumentID as a string. (string)MonumentsWatcher?.Call("GetMonumentType", monumentID); GetMonumentPosition: Used to retrieve the position of the 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); GetMonumentsList: Used to retrieve an array of monumentIDs for all available monuments. (string[])MonumentsWatcher?.Call("GetMonumentsList"); GetMonumentsTypeDictionary: Used to retrieve a dictionary of all available monuments with their types. (Dictionary<string, string>)MonumentsWatcher?.Call("GetMonumentsTypeDictionary"); GetMonumentsByType: Used to retrieve an array of all available monuments by type. To call the GetMonumentsByType method, you need to pass 1 parameter: monument type as a string. (string[])MonumentsWatcher?.Call("GetMonumentsByType", "SafeZone"); GetMonumentPlayers: Used to retrieve a list of players in the monument. Returns null on failure. To call the GetMonumentPlayers method, you need to pass 1 parameter: monumentID as a string. (HashSet<BasePlayer>)MonumentsWatcher?.Call("GetMonumentPlayers", monumentID); GetMonumentNpcs: Used to retrieve a list of npc players in the monument. Returns null on failure. To call the GetMonumentNpcs method, you need to pass 1 parameter: monumentID as a string. (HashSet<BasePlayer>)MonumentsWatcher?.Call("GetMonumentNpcs", monumentID); GetMonumentEntities: Used to retrieve a list of entities in the monument. Returns null on failure. To call the GetMonumentEntities method, you need to pass 1 parameter: monumentID as a string. (HashSet<BaseEntity>)MonumentsWatcher?.Call("GetMonumentEntities", monumentID); GetPlayerMonument: Used to retrieve the monumentID of the monument in which the player is located. Returns an empty string on failure. To call the GetPlayerMonument method, you need to pass 1 parameter: player as BasePlayer or userID as a ulong. (string)MonumentsWatcher?.Call("GetPlayerMonument", player); (string)MonumentsWatcher?.Call("GetPlayerMonument", player.userID); GetNpcMonument: Used to retrieve the monumentID of the monument in which the npc player is located. Returns an empty string on failure. To call the GetNpcMonument method, you need to pass 1 parameter: npcPlayer as BasePlayer or NetworkableId. (string)MonumentsWatcher?.Call("GetNpcMonument", npcPlayer); (string)MonumentsWatcher?.Call("GetNpcMonument", npcPlayer.net.ID); GetEntityMonument: Used to retrieve the monumentID of the monument in which the entity is located. Returns an empty string on failure. To call the GetEntityMonument method, you need to pass 1 parameter: entity as a BaseEntity or NetworkableId. (string)MonumentsWatcher?.Call("GetEntityMonument", entity); (string)MonumentsWatcher?.Call("GetEntityMonument", entity.net.ID); GetPlayerMonuments: Used to retrieve an array of monumentIDs for the monuments in which the player is located. Returns null on failure. To call the GetPlayerMonuments method, you need to pass 1 parameter: player as BasePlayer or userID as a ulong. (string[])MonumentsWatcher?.Call("GetPlayerMonuments", player); (string[])MonumentsWatcher?.Call("GetPlayerMonuments", player.userID); GetNpcMonuments: Used to retrieve an array of monumentIDs for the monuments in which the npc player is located. Returns an null on failure. To call the GetNpcMonuments method, you need to pass 1 parameter: npcPlayer as BasePlayer or NetworkableId. (string[])MonumentsWatcher?.Call("GetNpcMonuments", npcPlayer); (string[])MonumentsWatcher?.Call("GetNpcMonuments", npcPlayer.net.ID); GetEntityMonuments: Used to retrieve an array of monumentID for the monuments in which the entity is located. Returns an null on failure. To call the GetEntityMonuments method, you need to pass 1 parameter: entity as a BaseEntity or NetworkableId. (string[])MonumentsWatcher?.Call("GetEntityMonuments", entity); (string[])MonumentsWatcher?.Call("GetEntityMonuments", entity.net.ID); GetMonumentByPos: Used to obtain the monumentID based on coordinates. 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); 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 obtain a string array of monumentIDs based on coordinates. Returns null on failure. To call the GetMonumentsByPos method, you need to pass 1 parameter: position as a Vector3. (string[])MonumentsWatcher?.Call("GetMonumentsByPos", pos); IsPosInMonument: Used to check if the specified position is within the 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); IsPlayerInMonument: Used to check if the player is in the monument. Returns a false on failure. To call the IsPlayerInMonument method, you need to pass 2 parameters: monumentID as a string; player as a BasePlayer or userID as a ulong. (bool)MonumentsWatcher?.Call("IsPlayerInMonument", monumentID, player); (bool)MonumentsWatcher?.Call("IsPlayerInMonument", monumentID, player.userID); IsNpcInMonument: Used to check if the npc player is in the monument. Returns a false on failure. To call the IsNpcInMonument method, you need to pass 2 parameters: monumentID as a string; npcPlayer as a BasePlayer or NetworkableId. (bool)MonumentsWatcher?.Call("IsNpcInMonument", monumentID, npcPlayer); (bool)MonumentsWatcher?.Call("IsNpcInMonument", monumentID, npcPlayer.net.ID); IsEntityInMonument: Used to check if the entity is in the monument. Returns a false on failure. To call the IsEntityInMonument method, you need to pass 2 parameters: monumentID as a string; entity as a BaseEntity or NetworkableId. (bool)MonumentsWatcher?.Call("IsEntityInMonument", monumentID, entity); (bool)MonumentsWatcher?.Call("IsEntityInMonument", monumentID, entity.net.ID); ShowBounds: Used to display the monument boundaries to the player. Note: Since an Admin flag is required for rendering, players without it will be temporarily granted an Admin flag and promptly revoked. 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);$1.99 -
Version 0.1.17
1,483 downloads
Useful API plugin that imitates in-game status bars, allowing the addition of custom status bars. Note: AdvancedStatus does not display any bars on its own. This is done by other plugins that work with it. An example plugin demonstrating interaction with AdvancedStatus. The ability to specify the frequency of calculating the number of bars; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to specify custom text; The ability to customize the color, size and font of the text; No need to pass all parameters; No need to manually delete your bar when unloading your plugin. advancedstatus.admin - Grants access to the chat command(by default /bar). { "Chat command": "bar", "Is it worth enabling console notifications for the successful loading of local images?": false, "Interval(in seconds) for counting in-game status bars": 0.5, "Interval(in seconds) for counting Building Privilege status bars. Note: Calculating Building Privilege is significantly more resource-intensive than other counts": 1.0, "Bar - Display Layer. If you have button bars, it's advisable to use Hud(https://umod.org/guides/rust/basic-concepts-of-gui#layers)": "Under", "Bar - Left to Right": true, "Bar - Offset between status bars": 2, "Bar - Default Height": 26, "Main - Default Color": "#505F75", "Main - Default Transparency": 0.7, "Main - Default Material(empty to disable)": "", "Image - Default Image": "AdvancedBar_Image", "Image - Default Color": "#6B7E95", "Image - Default Transparency": 1.0, "Image - Outline Default Color": "#000000", "Image - Outline Default Transparency": 1.0, "Image - Outline Default Distance": "0.75 0.75", "Text - Default Size": 12, "Text - Default Color": "#FFFFFF", "Text - Default Transparency": 1.0, "Text - Default Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text - Default Offset Horizontal": 0, "Text - Outline Default Color": "#000000", "Text - Outline Default Transparency": 1.0, "Text - Outline Default Distance": "0.75 0.75", "SubText - Default Size": 12, "SubText - Default Color": "#FFFFFF", "SubText - Default Transparency": 1.0, "SubText - Default Font": "RobotoCondensed-Bold.ttf", "SubText - Outline Default Color": "#000000", "SubText - Outline Default Transparency": 1.0, "SubText - Outline Default Distance": "0.75 0.75", "Progress - Default Color": "#89B840", "Progress - Default Transparency": 0.7, "Progress - Default OffsetMin": "25 2.5", "Progress - Default OffsetMax": "-3.5 -3.5", "Version": { "Major": 0, "Minor": 1, "Patch": 17 } } Note: Default values will be used if the external plugin does not pass the property itself. EN: { "MsgDays": "d", "MsgHours": "h", "MsgMinutes": "m", "MsgSeconds": "s" } RU: { "MsgDays": "д", "MsgHours": "ч", "MsgMinutes": "м", "MsgSeconds": "с" } images reload *ImageName* - Reloads the specified image from the image folder; all - Reloads all local images from the image folder. Example: /bar images reload all Note: To access the commands, the player must be an admin(console or owner) or have the advancedstatus.admin permission. OnAdvancedStatusLoaded: Called after the AdvancedStatus plugin is fully loaded and ready. OnPlayerGainedBuildingPrivilege: Called after the player enters their building privilege. OnPlayerLostBuildingPrivilege: Called after the player exits their building privilege. void OnAdvancedStatusLoaded() { Puts("The AdvancedStatus plugin is loaded and ready to go!"); } void OnPlayerGainedBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} entered the authorized building privilege zone."); } void OnPlayerLostBuildingPrivilege(BasePlayer player) { Puts($"{player.displayName} exited the authorized building privilege zone."); } [PluginReference] private Plugin AdvancedStatus; There are 15 methods: IsReady CreateBar UpdateContent DeleteBar DeleteCategory DeleteAllBars GetTotalClientBars GetTotalPlayerBars LoadImages LoadImage CopyImage DeleteImages DeleteImage BarExists InBuildingPrivilege There are 5 types of bar: Default - A simple bar that displays the provided information. Does not update the value of SubText by itself; Timed - Similar to the default bar, but it automatically disappears after the specified time in the TimeStamp parameter; TimeCounter - The SubText shows the remaining time until TimeStamp. Also automatically removed upon expiration of the TimeStamp; TimeProgress - Similar to the Timed bar, but additionally features an automatically filling progress bar; TimeProgressCounter - Similar to the TimeCounter bar, but additionally features an automatically filling progress bar. IsReady: Used to check if the AdvancedStatus plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)AdvancedStatus?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready. CreateBar: Used to create a bar or update bar values for a player. To call the CreateBar method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the CreateBar method, all parameters are optional, except for two: Id; Plugin. Parameters not specified when creating a new bar will use the values set in the AdvancedStatus plugin's configuration file. Parameters not specified during bar update will retain the values they had before the update. Note: The plugin does not update values automatically, you need to manually send new values. Dictionary<string, object> parameters = new Dictionary<string, object> { { "Id", "AdvancedStatusDemo_1" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "BarType", "Default" }, //<string>Type of the bar. There are 4 types: Default, Timed, TimeCounter and TimeProgress. { "Plugin", "AdvancedStatusDemo" }, //<string>Name of your plugin. ***This is a required field. { "Category", "Default" }, //<string>Internal plugin category of the bar. { "Order", 10 }, //<int>The position of your bar relative to others. Order is determined by increasing values(ASC). { "Height", 26 }, //<int>The height of your bar. A standard bar is 26 pixels. { "Main_Color", "#505F75" }, //<string>HTML Hex color of the bar background. { "Main_Transparency", 0.7f }, //<float>Transparency of the bar background. { "Main_Material", "assets/content/ui/uibackgroundblur.mat" }, //<string>Material of the bar background(empty to disable). { "Image", "scrap" }, //<string>Name of the image saved in the ImageLibrary or a direct link to the image if ImageLibrary is not used. { "Image_Local", "AdvancedStatusDemo_Scrap" }, //<string>The name of the image file(without its extension) located in *SERVER*\data\AdvancedStatus\Images. Leave empty to use Image. { "Image_Sprite", "" }, //<string>Sprite image of the bar. Leave empty to use Image_Local or Image. { "Is_RawImage", true }, //<bool>Which type of image will be used? True - CuiRawImageComponent. False - CuiImageComponent. { "Image_Color", "#6B7E95" }, //<string>HTML Hex color of the bar image. { "Image_Transparency", 1.0f }, //<float>Transparency of the image. { "Text", "Scrap" }, //<string>Main text. { "Text_Size", 12 }, //<int>Size of the main text. { "Text_Color", "#FFFFFF" }, //<string>HTML Hex color of the main text. { "Text_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the main text. { "Text_Offset_Horizontal", 0 }, //<int>Horizontal offset for the main text. { "SubText", "35" }, //<string>Sub text. { "SubText_Size", 12 }, //<int>Size of the sub text. { "SubText_Color", "#FFFFFF" }, //<string>HTML Hex color of the sub text. { "SubText_Font", "RobotoCondensed-Bold.ttf" }, //<string>Font of the sub text. { "TimeStampStart", Network.TimeEx.currentTimestamp }, //<double>Responsible for specifying the start point of the time reference and 0% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStamp", Network.TimeEx.currentTimestamp + 6 }, //<double>Specifies the end time point after which the bar will be destroyed and 100% for TimeProgress and TimeProgressCounter bars. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "TimeStampDestroy", Network.TimeEx.currentTimestamp + 3 }, //<double>If TimeStampDestroy is specified and it is less than TimeStamp, the bar will be destroyed by TimeStampDestroy. Used if the bar type is Timed, TimeCounter, TimeProgress or TimeProgressCounter. { "Progress", (float)35 / 100f }, //<float>Progress. From 0.0 to 1.0. { "Progress_Reverse", false }, //<bool>Progress reverse. A value of false means that the progress will increase. Used if the bar type is TimeProgress or TimeProgressCounter. { "Progress_Color", "#89B840" }, //<string>Progress color. { "Progress_Transparency", 1f }, //<float>Progress transparency. { "Progress_OffsetMin", "25 2.5" }, //<string>Progress OffsetMin: "*left* *bottom*". { "Progress_OffsetMax", "-3.5 -3.5" }, //<string>Progress OffsetMax: "*right* *top*". { "Command", "kit" } //<string>If the field is not empty, the bar becomes clickable, and the specified command is executed upon clicking. Note: the command must be covalence. }; AdvancedStatus?.Call("CreateBar", player.userID.Get(), parameters); //Calling the CreateBar method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. UpdateContent: Used to update only the content of an existing status bar. To call the UpdateContent method, you need to pass 2 parameters. The first one is BasePlayer or <ulong>playerID. The second one is a dictionary with the parameters you need. In the UpdateBar method, all parameters are optional, except for two: Id; Plugin. var parameters = new Dictionary<string, object> { { "Id", "MyID" }, //<string>Unique identifier for the bar in your plugin. ***This is a required field. { "Plugin", Name }, //<string>Name of your plugin. ***This is a required field. { "Text", "MyText" }, //<string>Main text. { "SubText", "MyText" }, //<string>Sub text. { "Progress", (float)amount / 100f }, //<float>Progress. From 0.0 to 1.0. }; AdvancedStatus?.Call("UpdateContent", player.userID.Get(), parameters); //Calling the UpdateContent method with the passing of BasePlayer/playerID and a dictionary containing the required parameters. DeleteBar: Used to remove the bar for a player. There are two methods for removing a bar by ID: with specifying a particular player; To call this method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar and the third one is name of your plugin. without specifying a particular player (which removes it for all players) To call this method, you need to pass 2 parameters. The first one is Id of your bar and the second one is name of your plugin. AdvancedStatus?.Call("DeleteBar", player.userID.Get(), barID, Name); //Calling the DeleteBar method with the passing of BasePlayer/playerID, ID of the bar and the name of your plugin. AdvancedStatus?.Call("DeleteBar", barID, Name); //Calling the DeleteBar method with the passing of ID of the bar and the name of your plugin. If you try to delete a bar that doesn't exist, nothing bad will happen. So feel free to delete the bar without checking its existence. P.S. When unloading your plugin, there is no need to manually delete bars for players, AdvancedStatus will handle it automatically. DeleteCategory: Used to remove all bars associated with the plugin's category. To call the DeleteCategory method, you need to pass 2 parameters. The first one is category and the second one is name of your plugin. AdvancedStatus?.Call("DeleteCategory", "Default", Name);//Calling the DeleteCategory method by passing the category and name of your plugin DeleteAllBars: Used to remove all bars associated with the plugin. To call the DeleteAllBars method, you need to pass only 1 parameter. It is name of your plugin. AdvancedStatus?.Call("DeleteAllBars", Name);//Calling the DeleteAllBars method, passing the name of your plugin GetTotalClientBars: Used to get the number of client bars for the player. To call the GetTotalClientBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalClientBars", player.userID.Get());//Calling the GetTotalClientBars method, passing the name of BasePlayer/playerID GetTotalPlayerBars: Used to get the number of active custom bars for the player. To call the GetTotalPlayerBars method, you need to pass only 1 parameter. It is BasePlayer or <ulong>playerID. (int)AdvancedStatus?.Call("GetTotalPlayerBars", player.userID.Get());//Calling the GetTotalPlayerBars method, passing the name of BasePlayer/playerID LoadImages: Used to check if the local images specified in the list are loaded. If any of the images are not loaded but their files exist in the images folder, the plugin will load them. To call the LoadImages method, you need to pass only 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImages", list, false);//Calling the LoadImages method, passing a list of image names LoadImage: Used to check if the local image is loaded. If the file is not loaded and exists in the images folder, the plugin will load it. To call the LoadImage method, you need to pass 2 parameters. The first one is the <string>image's name and the second one(optional) is <bool>force, which, if set to true, will force reload the image even if it already exists. AdvancedStatus?.Call("LoadImage", imgName, false);//Calling the LoadImage method, passing an image's name CopyImage: Used to create and load a copy of an existing image. To call the CopyImage method, you need to pass 3 parameters. The first parameter is the <string>source image's name, the second parameter is the <string>new image's name and the third one(optional) is <bool>force, which, if set to true, will force copy and reload the image even if it already exists. AdvancedStatus?.Call("CopyImage", "ZoneStatus_Default", "ZoneStatus_NewZone", false);//Calling CopyImage, passing the source image name and the new image name. DeleteImages: Used to delete a list of images and their files. To call the DeleteImages method, you need to pass 2 parameters. The first one is the <List<string>>list of image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImages", list, true);//Calling DeleteImages, passing a list of image names. DeleteImage: Used for removing the image and the image file. To call the DeleteImage method, you need to pass 2 parameters. The first parameter is the <string>image's name and the second one(optional) parameter is <bool>deleteFile, which, if set to true, will delete image's file too. AdvancedStatus?.Call("DeleteImage", "ZoneStatus_NewZone", true);//Calling DeleteImage, passing the image name. BarExists: Used to check if the specified bar exists. To call the BarExists method, you need to pass 3 parameters. The first one is BasePlayer or <ulong>playerID. The second one is Id of your bar. And the third one is name of your plugin. (bool)AdvancedStatus?.Call("BarExists", player.userID.Get(), barID, Name);//Calling the BarExists method with the passing of BasePlayer/playerID, ID of the bar and name of your plugin. InBuildingPrivilege: Used to check if the player has authorized building privileges. To call the InBuildingPrivilege method, you need to pass BasePlayer or <ulong>playerID. (bool)AdvancedStatus?.Call("InBuildingPrivilege", player.userID.Get());//Checking if the player has Building Privilege.$1.99 -
Version 0.1.3
143 downloads
Allows you to add delivery drones to your vending machine through which you can order various items. Note: For transactions with a custom fee, you still need to have 20 scrap available, which will not be taken. Also, for the vending machines modified by CustomVendingSetup(umod), there is no custom fee. vDelivery.admin - Provides unrestricted access to the plugin's functionality. This includes the ability to add/remove or clear terminals from other players' vending machines. Note: In the configuration file, within the "Settings of Vending machines for each permission" section, you can specify limits for any existing permission by simply listing its name. "Settings of vending machines for each permission. Leave null or empty to recreate the default": { "vDelivery.default": { "Max ammount": 1, "Delivery fee item": "scrap", "Delivery fee amount": 20 }, ... } If you want to create a new permission, you can also include it in the list, but the name must begin with "vDelivery". { "Chat command": "vdelivery", "Is it worth enabling GameTips for messages?": true, "Is it worth ignoring the inaccessibility of drones?": false, "Display position - Forward": -0.35, "Display position - Up": 1.8, "Display position - Right": 0.0, "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.imgur.com/4Adzkb8.png", "Popup - Icon Color": "#CCE699", "Popup - Icon Transparency": 0.8, "Popup - Text Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Popup - Text Font Size": 14, "Popup - Text Font Color": "#FFFFFF", "Popup - Description Font": "RobotoCondensed-Regular.ttf", "Popup - Description Font Size": 12, "Popup - Description Font Color": "#FFFFFF", "Popup - Text FadeIn": 1.0, "Popup - Sound Prefab Name": "assets/bundled/prefabs/fx/invite_notice.prefab", "Settings of vending machines for each permission. Leave null or empty to recreate the default": { "vDelivery.default": { "Max ammount": 1, "Delivery fee item": "scrap", "Delivery fee amount": 20 }, "vDelivery.vip": { "Max ammount": 3, "Delivery fee item": "scrap", "Delivery fee amount": 20 }, "realpve.vip": { "Max ammount": 5, "Delivery fee item": "scrap", "Delivery fee amount": 20 } }, "Version": { "Major": 0, "Minor": 1, "Patch": 3 } } EN: { "MsgNotAllowed": "You do not have permission to use this command!", "MsgNotOwner": "You are not the owner of this vending machine!", "MsgNotAccessible": "The vending machine is not accessible to drones!", "MsgNotVending": "You need to look at the vending machine or provide correct net ID!", "MsgNotVendingDelivery": "The vending machine does not have a terminal!", "MsgLimitReached": "You cannot add a terminal as you have reached your limit of {0}!", "MsgPopupText": "Add a terminal to the vending machine?", "MsgPopupSubText": "Click on the notification to confirm", "MsgMyAdded": "The terminal has been successfully added!", "MsgMyRemoved": "The terminal has been successfully removed!", "MsgMyAllRemoved": "All your terminals have been successfully removed!", "MsgPlayerAllRemoved": "All {0}'s terminals have been successfully removed!", "MsgAllRemoved": "All terminals have been successfully removed!", "MsgTerminalsNotFound": "No terminals found!", "MsgPlayerTerminalsNotFound": "{0}'s terminals not found!", "MsgNoHaveCustomFee": "To pay the personal fee, you need to have :{0}:(x{1}). Using default fee settings!", "MsgAutoModifyEntityEnabled": "Automatic entity modification is enabled!", "MsgAutoModifyEntityDisabled": "Automatic entity modification is disabled!" } RU: { "MsgNotAllowed": "У вас недостаточно прав для использования этой команды!", "MsgNotOwner": "Вы не являетесь владельцем данного торгового автомата!", "MsgNotAccessible": "Торговый автомат не доступен для дронов!", "MsgNotVending": "Вам необходимо смотреть на торговый автомат или указать корректный net ID!", "MsgNotVendingDelivery": "Торговый автомат не имеет терминала!", "MsgLimitReached": "Вы не можете добавить терминал, так как вы превысили свой лимит в {0}!", "MsgPopupText": "Добавить терминал к торговому автомату?", "MsgPopupSubText": "Нажмите на уведомление для подтверждения", "MsgMyAdded": "Терминал успешно добавлен!", "MsgMyRemoved": "Терминал успешно удален!", "MsgMyAllRemoved": "Все ваши терминалы успешно удалены!", "MsgPlayerAllRemoved": "Все терминалы игрока {0} успешно удалены!", "MsgAllRemoved": "Все терминалы успешно удалены!", "MsgTerminalsNotFound": "Терминалы не найдены!", "MsgPlayerTerminalsNotFound": "Терминалы игрока {0} не найдены!", "MsgNoHaveCustomFee": "Для оплаты персональной комиссии вам необходимо иметь :{0}:(x{1}). Использование настроек комиссии по умолчанию!", "MsgAutoModifyEntityEnabled": "Автоматическая модификация сущностей включена!", "MsgAutoModifyEntityDisabled": "Автоматическая модификация сущностей выключена!" } add - Adding a terminal to the vending machine that you are looking at from a distance of no more than 10 meters. *netID* - Adding a terminal to a vending machine with the specified netID; remove - Removing a terminal from the vending machine that you are looking at from a distance of no more than 10 meters. *netID* - Removing a terminal from the vending machine with the specified netID; clear - Removing all of your terminals from vending machines. *userID* - Removing all of specified player's terminals from vending machines. Permission "vDelivery.admin" required. all - Removing all terminals from vending machines. Permission "vDelivery.admin" required. Example: /vdelivery add /vdelivery clear all$4.99 -
Version 0.1.5
117 downloads
The plugin displays invisibility indication in the status bar. Depends on Vanish/BetterVanish and AdvancedStatus plugins. P.S. For those who use Vanish from uMod. Since the API method IsInvisible sometimes returns true for players who are not invisible, I asked the author to change or add a new method that works correctly. In the meantime, while it hasn't been changed or added, you can use the plugin below, which includes just one additional method, IsInvisible2: Vanish.cs But if you are using Vanish without modifications(without adding the IsInvisible2 method), you need to specify the API method as IsInvisible instead of IsInvisible2 in the VanishStatus config file. The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text. { "Vanish - The name of the API method to check if a player is invisible": "IsInvisible2", "Status. Bar - Height": 26, "Status. Bar - Order": 10, "Status. Background - Color": "#15AC9D", "Status. Background - Transparency": 0.7, "Status. Background - Material(empty to disable)": "", "Status. Image - Url": "https://i.imgur.com/3D1JIaU.png", "Status. Image - Local(Leave empty to use Image_Url)": "VanishStatus_Vanish", "Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Is raw image": false, "Status. Image - Color": "#15AC9D", "Status. Image - Transparency": 1.0, "Status. Text - Size": 12, "Status. Text - Color": "#FFFFFF", "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Version": { "Major": 0, "Minor": 1, "Patch": 5 } } EN: { "MsgText": "You are invisible" } RU: { "MsgText": "Вы невидимы" }$3.99 -
Version 0.1.0
97 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. This is an alternative to the well-known TimedPermissions plugin, which was abandoned about three years ago, and it offers more advanced features. Note: The dates is in UTC format. The ability to grant players temporary permissions by specifying either the number of seconds or an exact expiration date; The ability to add players to temporary groups by specifying either the number of seconds or an exact expiration date; The ability to grant groups temporary permissions by specifying either the number of seconds or an exact expiration date; 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 or the expiration date 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 chat command(by default /tperm). { "Chat command": "tperm", "Expiration Check Interval": 1.0, "Is it worth removing temporary permissions and groups when unloading the plugin or when a player disconnects?": true, "Is it worth using console logging?": true, "Is it worth clearing all temporary permissions upon detecting a wipe?": false, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 0 } } EN: { "MsgPermissionNotFound": "Permission not found!", "MsgPlayerNotFound": "Player not found!", "MsgGroupNotFound": "Group not found!", "MsgGrantWrongFormat": "Invalid command format! Example: /tperm grant user/group *NameOrId* realpve.vip *secondsOrDateTime*", "MsgRevokeWrongFormat": "Invalid command format! Example: /tperm revoke user/group *NameOrId* realpve.vip", "MsgUserGroupWrongFormat": "Invalid command format! Example: /tperm group add/remove *NameOrId* *groupName*", "MsgUserGranted": "Permission {0} granted to player {1}", "MsgGroupGranted": "Permission {0} granted to group {1}", "MsgUserGroupAdded": "Player {0} has been added to group {1}", "MsgUserRevoked": "Permission {0} has been removed for player {1}", "MsgGroupRevoked": "Permission {0} has been removed for group {1}", "MsgUserGroupRemoved": "Player {0} has been removed from group {1}" } RU: { "MsgPermissionNotFound": "Пермишен не найден!", "MsgPlayerNotFound": "Игрок не найден!", "MsgGroupNotFound": "Группа не найдена!", "MsgGrantWrongFormat": "Не верный формат команды! Пример: /tperm grant user/group *NameOrId* realpve.vip *secondsOrDateTime*", "MsgRevokeWrongFormat": "Не верный формат команды! Пример: /tperm revoke user/group *NameOrId* realpve.vip", "MsgUserGroupWrongFormat": "Не верный формат команды! Пример: /tperm group add/remove *NameOrId* *groupName*", "MsgUserGranted": "Пермишен {0} выдан игроку {1}", "MsgGroupGranted": "Пермишен {0} выдан группе {1}", "MsgUserGroupAdded": "Игрок {0} был добавлен в группу {1}", "MsgUserRevoked": "Пермишен {0} был удален для игрока {1}", "MsgGroupRevoked": "Пермишен {0} был удален для группы {1}", "MsgUserGroupRemoved": "Игрок {0} был удален из группы {1}" } grant - Grants a temporary permission to a player or group. user *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 true, the specified seconds will count from the current moment, otherwise(default), they will be added to the existing 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 not specified, the assigned date will default to the current date, otherwise, it will be set to the provided date. group *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 true, the specified seconds will count from the current moment, otherwise(default), they will be added to the existing 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 not specified, the assigned date will default to the current date, otherwise, it will be set to the provided date. 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* 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. Example: /tperm grant user iiiaka realpve.vip 3600 true /tperm grant user iiiaka realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" 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 OnTemporaryPermissionsLoaded: Called after the TemporaryPermissions plugin is fully loaded and ready. OnTemporaryPermissionGranted: Called after the player has been granted a temporary permission. OnTemporaryPermissionUpdated: Called after the player's temporary permission has been updated. OnTemporaryPermissionRevoked: Called after the player's temporary permission has expired or been revoked. OnTemporaryGroupAdded: Called after the player has been temporarily added to the group. OnTemporaryGroupUpdated: Called after the player's temporary group has been updated. OnTemporaryGroupRemoved: Called after the player's temporary group has expired or been removed. OnGroupTemporaryPermissionGranted: Called after the group has been granted a temporary permission. OnGroupTemporaryPermissionUpdated: Called after the group's temporary permission has been updated. OnGroupTemporaryPermissionRevoked: alled after the group's temporary permission has expired or been revoked. void OnTemporaryPermissionsLoaded() { Puts("The TemporaryPermissions plugin is loaded and ready to go!"); } void OnTemporaryPermissionGranted(string userID, string perm, DateTime expireDate, DateTime assignedDate) { Puts($"Player {userID} has been granted the temporary permission {perm} from {assignedDate} until {expireDate}."); } void OnTemporaryPermissionUpdated(string userID, string perm, DateTime expireDate, DateTime assignedDate) { Puts($"Player {userID}'s temporary permission {perm} has been updated. New expiration date: {expireDate}. Assigned date: {assignedDate}."); } void OnTemporaryPermissionRevoked(string userID, string perm, bool isExpired) { Puts($"Player {userID} has had the temporary permission {perm} revoked. Permission expired: {isExpired}."); } void OnTemporaryGroupAdded(string userID, string groupName, DateTime expireDate, DateTime assignedDate) { Puts($"Player {userID} has been added to the temporary group {groupName} from {assignedDate} until {expireDate}."); } void OnTemporaryGroupUpdated(string userID, string groupName, DateTime expireDate, DateTime assignedDate) { Puts($"Player {userID}'s temporary group {groupName} has been updated. New expiration date: {expireDate}. Assigned date: {assignedDate}."); } void OnTemporaryGroupRemoved(string userID, string groupName, bool isExpired) { Puts($"Player {userID} has had the temporary group {groupName} revoked. Group expired: {isExpired}."); } void OnGroupTemporaryPermissionGranted(string groupName, string perm, DateTime expireDate, DateTime assignedDate) { Puts($"Group {groupName} has been granted the temporary permission {perm}, valid from {assignedDate} until {expireDate}."); } void OnGroupTemporaryPermissionUpdated(string groupName, string perm, DateTime expireDate, DateTime assignedDate) { Puts($"Group {groupName}'s temporary permission {perm} has been updated. New expiration date: {expireDate}. Assigned date: {assignedDate}."); } void OnGroupTemporaryPermissionRevoked(string groupName, string perm, bool isExpired) { Puts($"Group {groupName} has had the temporary permission {perm} revoked. Permission expired: {isExpired}."); } [PluginReference] private Plugin TemporaryPermissions; There are 23 methods: IsReady User's Permissions: GrantUserPermission RevokeUserPermission UserHasPermission GrantActiveUsersPermission GrantAllUsersPermission RevokeActiveUsersPermission RevokeAllUsersPermission UserGetAllPermissions User's Groups: AddUserGroup RemoveUserGroup UserHasGroup AddActiveUsersGroup AddAllUsersGroup RemoveActiveUsersGroup RemoveAllUsersGroup UserGetAllGroups Group's Permissions: GrantGroupPermission RevokeGroupPermission GroupHasPermission GrantAllGroupsPermission RevokeAllGroupsPermission GroupGetAllPermissions IsReady: Used to check if the TemporaryPermissions plugin is loaded and ready to work. The IsReady method returns true if it is ready, or null if it is not. (bool)TemporaryPermissions?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready. GrantUserPermission: Used to grant a temporary permission to a player. Returns true if the grant was successful. To call the GrantUserPermission method, you need to pass 5 parameters, 2 of which are optional: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - The time in seconds to add, or the end date; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the permission. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", 3600, true, true);//Calling the GrantUserPermission method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", expireDate, assignedDate, true);//Calling the GrantUserPermission method with the specified DateTime for the end and start of the temporary permission. RevokeUserPermission: Used to revoke a temporary permission from a player. Returns true if the revoke was successful. To call the RevokeUserPermission method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("RevokeUserPermission", player.UserIDString, "realpve.vip"); UserHasPermission: Used to check if a player has a temporary permission. Returns true if the player has the specified temporary permission. To call the UserHasPermission method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("UserHasPermission", player.UserIDString, "realpve.vip"); GrantActiveUsersPermission: Used to temporarily grant a permission to all online players. Returns the <int>number of successful grants of temporary permissions to players. To call the GrantActiveUsersPermission method, you need to pass 3 parameters, 1 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - The time in seconds to add, or the end date; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", 3600, true);//Calling the GrantActiveUsersPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantActiveUsersPermission method with the specified DateTime for the end and start of the temporary permission. GrantAllUsersPermission: Used to grant a temporary permission to all players. Returns the <int>number of successful grants of temporary permissions to players. To call the GrantAllUsersPermission method, you need to pass 3 parameters, 1 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - The time in seconds to add, or the end date; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", 3600, true);//Calling the GrantAllUsersPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantAllUsersPermission method with the specified DateTime for the end and start of the temporary permission. RevokeActiveUsersPermission: Used to revoke a temporary permission from all online players. Returns the <int>number of successful revokes of temporary permissions to players. To call the RevokeActiveUsersPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeActiveUsersPermission", "realpve.vip"); RevokeAllUsersPermission: Used to revoke a temporary permission from all players. Returns the <int>number of successful revokes of temporary permissions to players. To call the RevokeAllUsersPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeAllUsersPermission", "realpve.vip"); UserGetAllPermissions: Used to retrieve all temporary permissions of a player. Returns a Dictionary<string, DateTime[]> where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. To call the UserGetAllPermissions method, you need to pass 1 parameter: IPlayer or BasePlayer or <string>playerID - The player object or their Id. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllPermissions", player.UserIDString); AddUserGroup: Used to temporarily add a player to a group. Returns true if the addition was successful. To call the AddUserGroup method, you need to pass 5 parameters, 2 of which are optional: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - The time in seconds to add, or the end date; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the group. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", 3600, true, true);//Calling the AddUserGroup method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", expireDate, assignedDate, true);//Calling the AddUserGroup method with the specified DateTime for the end and start of the temporary permission. RemoveUserGroup: Used to remove a temporary group from a player. Returns true if the removal was successful. To call the RemoveUserGroup method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group. (bool)TemporaryPermissions?.Call("RemoveUserGroup", player.UserIDString, "vip"); UserHasGroup: Used to check if a player has a temporary group. Returns true if the player has the specified temporary group. To call the UserHasGroup method, you need to pass 2 parameters: IPlayer or BasePlayer or <string>playerID - The player object or their Id; <string>groupName - The name of the group. (bool)TemporaryPermissions?.Call("UserHasGroup", player.UserIDString, "vip"); AddActiveUsersGroup: Used to temporarily add a group to all online players. Returns the <int>number of successful additions of the temporary group to players. To call the AddActiveUsersGroup method, you need to pass 3 parameters, 1 of which is optional: <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - The time in seconds to add, or the end date; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", 3600, true);//Calling the AddActiveUsersGroup method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", expireDate, assignedDate);//Calling the AddActiveUsersGroup method with the specified DateTime for the end and start of the temporary permission. AddAllUsersGroup: Used to temporarily add a group to all players. Returns the <int>number of successful additions of the temporary group to players. To call the AddAllUsersGroup method, you need to pass 3 parameters, 1 of which is optional: <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - The time in seconds to add, or the end date; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", 3600, true);//Calling the AddAllUsersGroup method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", expireDate, assignedDate);//Calling the AddAllUsersGroup method with the specified DateTime for the end and start of the temporary permission. RemoveActiveUsersGroup: Used to remove a temporary group from all online players. Returns the <int>number of successful removals of temporary groups from players. To call the RemoveActiveUsersGroup method, you need to pass 1 parameter: <string>groupName - The name of the group. (int)TemporaryPermissions?.Call("RemoveActiveUsersGroup", "vip"); RemoveAllUsersGroup: Used to remove a temporary group from all players. Returns the <int>number of successful removals of temporary groups from players. To call the RemoveAllUsersGroup method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RemoveAllUsersGroup", "vip"); UserGetAllGroups: Used to retrieve all temporary groups of a player. Returns a Dictionary<string, DateTime[]> where the key is the group name and the value is an array of 2 DateTime values: the first date is the assignment date and the second date is the expiration date of the group. To call the UserGetAllGroups method, you need to pass 1 parameter: <string>permName - The name of the permission. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllGroups", player.UserIDString); GrantGroupPermission: Used to grant a temporary permission to a group. Returns true if the grant was successful. To call the GrantGroupPermission method, you need to pass 5 parameters, 2 of which are optional: <string>groupName - The name of the group; <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - The time in seconds to add, or the end date; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date; <bool>checkExistence - Optional. Whether to check for the existence of the permission. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", 3600, true, true);//Calling the GrantGroupPermission method with the specified number of seconds to add. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", expireDate, assignedDate, true);//Calling the GrantGroupPermission method with the specified DateTime for the end and start of the temporary permission. RevokeGroupPermission: Used to revoke a temporary permission from a group. Returns true if the revoke was successful. To call the RevokeGroupPermission method, you need to pass 2 parameters: <string>groupName - The name of the group; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("RevokeGroupPermission", "vip", "realpve.vip"); GroupHasPermission: Used to check if a group has a temporary permission. Returns true if the group has the specified temporary permission. To call the GroupHasPermission method, you need to pass 2 parameters: <string>groupName - The name of the group; <string>permName - The name of the permission. (bool)TemporaryPermissions?.Call("GroupHasPermission", "vip", "realpve.vip"); GrantAllGroupsPermission: Used to temporarily grant a permission to all groups. Returns the <int>number of successful grants of temporary permissions to groups. To call the GrantAllGroupsPermission method, you need to pass 3 parameters, 1 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - The time in seconds to add, or the end date; <bool>fromNow or <DateTime>assignedDate - Optional. true/false to specify whether the seconds should be added to the current date or to the existing time, or an exact assignment date. Defaults to the current date. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", 3600, true);//Calling the GrantAllGroupsPermission method with the specified number of seconds to add. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", expireDate, assignedDate);//Calling the GrantAllGroupsPermission method with the specified DateTime for the end and start of the temporary permission. RevokeAllGroupsPermission: Used to revoke a temporary permission from all groups. Returns the <int>number of successful revokes of temporary permissions to groups. To call the RevokeAllGroupsPermission method, you need to pass 1 parameter: <string>permName - The name of the permission. (int)TemporaryPermissions?.Call("RevokeAllGroupsPermission", "realpve.vip"); GroupGetAllPermissions: Used to retrieve all temporary permissions of a group. Returns a Dictionary<string, DateTime[]> where the key is the permission name and the value is an array of 2 DateTimes: the first date is the assignment date and the second date is the expiration date of the permission. To call the GroupGetAllPermissions method, you need to pass 1 parameter: <string>groupName - The name of the group. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("GroupGetAllPermissions", "vip");Free -
Version 0.1.6
148 downloads
The plugin displays the player's balance in the status bar. Depends on BankSystem/ServerRewards/Economics and AdvancedStatus plugins. P.S. I've asked the author of the ServerRewards plugin to add a new hook called OnPointsUpdated to track points updates. Until they decide to add the new hook, if you want point updates, you'll need to manually add 2 lines to the ServerRewards plugin. On lines 1822 and 1847, you need to add the code(below) before "return true;" Interface.CallHook("OnPointsUpdated", ID, playerRP[ID]); The ability to always display the player's balance, or only when they are in a safe zone or building privilege zone; The ability to display all or part of the bars simultaneously; The ability to customize the bar for each plugin; The ability to specify the currency symbol; The ability to specify the display side of the currency symbol; The ability to display text if the balance exceeds a specified value(useful for very large balances) ; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color, transparency and outline of the image; The abillity to set sprite instead of the image; The ability to customize the color, size, font and outline of the text. { "Display the balance only when players are in the safe zone or have building privilege?": true, "Value after which text will be displayed instead of balance": 1000000000.0, "List of plugins for displaying the balance bar. Leave null or empty to use the default list": [ "BankSystem", "ServerRewards", "Economics" ], "List of status bar settings for each plugin. Leave null or empty to recreate the list": [ { "BarID. Do not touch this parameter": "BalanceBar_BankSystem", "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#6375B3", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/jKeUqSD.png", "Image_Local(Leave empty to use Image_Url)": "BalanceBar_BankSystem", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#A1DBE6", "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_Key": "MsgBankSystem", "Text_Size": 12, "Text_Color(Hex or RGBA)": "#FFFFFF", "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_Format": "${0}", "SubText_OverLimit": "MsgBankSystemOverLimit", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#FFFFFF", "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" }, { "BarID. Do not touch this parameter": "BalanceBar_ServerRewards", "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#6375B3", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/jKeUqSD.png", "Image_Local(Leave empty to use Image_Url)": "BalanceBar_ServerRewards", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#A1DBE6", "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_Key": "MsgServerRewards", "Text_Size": 12, "Text_Color(Hex or RGBA)": "#FFFFFF", "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_Format": "{0}RP", "SubText_OverLimit": "MsgServerRewardsOverLimit", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#FFFFFF", "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" }, { "BarID. Do not touch this parameter": "BalanceBar_Economics", "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#6375B3", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/jKeUqSD.png", "Image_Local(Leave empty to use Image_Url)": "BalanceBar_Economics", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#A1DBE6", "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_Key": "MsgEconomics", "Text_Size": 12, "Text_Color(Hex or RGBA)": "#FFFFFF", "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_Format": "${0}", "SubText_OverLimit": "MsgEconomicsOverLimit", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "#FFFFFF", "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" } ], "Version": { "Major": 0, "Minor": 1, "Patch": 6 } } EN: { "MsgBankSystem": "Balance", "MsgBankSystemOverLimit": "> $1kkk", "MsgServerRewards": "Points", "MsgServerRewardsOverLimit": "> 1kkk RP", "MsgEconomics": "Balance", "MsgEconomicsOverLimit": "> $1kkk" } RU: { "MsgBankSystem": "Баланс", "MsgBankSystemOverLimit": "> $1 млрд", "MsgServerRewards": "Очки", "MsgServerRewardsOverLimit": "> 1 млрд RP", "MsgEconomics": "Баланс", "MsgEconomicsOverLimit": "> $1 млрд" }$3.99 -
Version 0.1.3
210 downloads
The plugin displays the vehicle's fuel level in the status bar. Depends on AdvancedStatus plugin. The ability to display the vehicle's fuel level(gauge) in the status bar; The ability to notify when a low fuel level is reached; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder (*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text; The ability to set a color for each percentage of fuel. { "Fuel indicator refresh interval in seconds": 5.0, "Notifications - The percentage(0.0 to 1.0) of fuel at which notifications will occur. A value of 0 disables this": 0.2, "Notifications - The effect that will be triggered upon a warning. Choose the effect carefully! An empty string disables the effect call": "assets/prefabs/locks/keypad/effects/lock.code.denied.prefab", "Status. Bar - Height": 26, "Status. Bar - Order": 1, "Status. Background - Color(Hex or RGBA)": "#FFFFFF", "Status. Background - Transparency": 0.15, "Status. Background - Material(empty to disable)": "", "Status. Image - Url": "https://i.imgur.com/LP54lLZ.png", "Status. Image - Local(Leave empty to use Image_Url)": "FuelStatus_Fuel", "Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Is raw image": false, "Status. Image - Color(Hex or RGBA)": "#E2DBD6", "Status. Image - Transparency": 0.55, "Status. Text - Size": 15, "Status. Text - Color(Hex or RGBA)": "#E2DBD6", "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. Text - Offset Horizontal": 7, "Status. Progress - Transparency": 0.8, "Status. Progress - OffsetMin": "25 2.5", "Status. Progress - OffsetMax": "-3.5 -3.5", "Status. Progress - Zero Text Size": 12, "Status. Progress - Zero Text Color(Hex or RGBA)": "#F70000", "List of Gauge Indicators": [ { "MinRange": 0.0, "MaxRange": 0.2, "Color(Hex or RGBA)": "#F70000" }, { "MinRange": 0.2, "MaxRange": 0.6, "Color(Hex or RGBA)": "#F7BB00" }, { "MinRange": 0.6, "MaxRange": 1.0, "Color(Hex or RGBA)": "#B1C06E" } ], "Version": { "Major": 0, "Minor": 1, "Patch": 3 } } The values of MaxRange and MinRange set the range of values over which the color applies. The values for MaxRange and MinRange must be between 0.0 and 1.0 (inclusive), where 0.0 equals 0%, and 1.0 equals 100%. The value of MaxRange must be equal to the value of MinRange of the previous. EN: { "MsgProgressZero": "Out of fuel, refill required!", "MsgFuelLow": "Warning: Fuel level is low!" } RU: { "MsgProgressZero": "Нет топлива!", "MsgFuelLow": "Внимание: уровень топлива низкий!" }$3.99 -
Version 0.1.4
221 downloads
This plugin demonstrates the integration with the AdvancedStatus plugin. It displays the amount of a specific item in the player's inventory in the status bar. In this case, it's Scrap, to track a different item, replace the itemID value on line 47 with the ID of the desired item. This plugin can be downloaded by plugin developers as a reference to understanding how to work with the AdvancedStatus and by server owners to easily display desired items in the status bar.Free -
Version 0.1.4
112 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 ignore rules agreements. Also includes 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": "2024-10-24 13:44", "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 requesting agreement from all active players with the rules after the plugin is (re)loaded or enabled?": true, "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 rejections(in a row) of the rules after which the player will be banned. A value of 0 disables the ban": 5, "Number of rules pages. Will automatically add additional language keys if they are missing": 4, "Additional languages for key generation(except en and ru)": [ "" ], "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": 4 } } EN: { "RulesNotFound": "Argument {0} not found!", "RulesAccepted": "Thank you for accepting our terms! Enjoy the game!", "RulesAcceptNotRead": "You haven't read all the pages!", "RulesEnabled": "The requirement to agree with the rules is enabled!", "RulesDisabled": "The requirement to agree with the rules is disabled!", "RulesAlreadyEnabled": "The requirement to agree with the rules is already enabled!", "RulesAlreadyDisabled": "The requirement to agree with the rules is already disabled!", "RulesOnce": "A one-time request for agreement with the rules is enabled!", "RulesEveryTime": "A one-time request for agreement with the rules is disabled!", "RulesReAsk": "All players have been sent a request for agreement with the rules, depending on the settings.", "KickReason": "You have been kicked because you declined our rules!", "BanReason": "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." } RU: { "RulesNotFound": "Аргумент {0} не найден!", "RulesAccepted": "Спасибо, что приняли наши условия! Приятной вам игры!", "RulesAcceptNotRead": "Вы не прочли все страницы!", "RulesEnabled": "Требование согласия с правилами включено!", "RulesDisabled": "Требование согласия с правилами выключено!", "RulesAlreadyEnabled": "Требование согласия с правилами уже включено!", "RulesAlreadyDisabled": "Требование согласия с правилами уже выключено!", "RulesOnce": "Однократный запрос на согласие с правилами включен!", "RulesEveryTime": "Однократный запрос на согласие с правилами выключен!", "RulesReAsk": "Всем игрокам в зависимости от настроек был отправлен запрос на соглашение с правилами.", "KickReason": "Вы были исключены, так как вы отклонили наши правила!", "BanReason": "Вы были заблокированы, так как вы в {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Апелляцию можно подать на нашем сайте." } show - Opens the rules panel. 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 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 -
Version 0.1.8
337 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, "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": 2911301119, "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.imgur.com/4Adzkb8.png", "Popup - Icon Color": "#CCE699", "Popup - Icon Transparency": 0.8, "Popup - Text Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Popup - Text Font Size": 14, "Popup - Text Font Color": "#FFFFFF", "Popup - Description Font": "RobotoCondensed-Regular.ttf", "Popup - Description Font Size": 12, "Popup - Description Font Color": "#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 }, "industrialdung.vip": { "HitchTroughs": 10, "Composters": 4 }, "realpve.vip": { "HitchTroughs": 15, "Composters": 6 } }, "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } EN: { "MsgNotAllowed": "You do not have permission to use this command!", "MsgNotHitchOwner": "You are not the owner of this hitch trough!", "MsgNotComposterOwner": "You are not the owner of this composter!", "MsgNotEntity": "You need to look at the hitch trough/composter or provide correct net ID!", "MsgNotModifiedEntity": "This entity is not modified!", "MsgLimitReached": "You cannot to modify this entity as you have reached your limit of {0}!", "MsgPopupTextHitch": "Modify this hitch trough?", "MsgPopupTextComposter": "Modify this composter?", "MsgPopupSubText": "Click on the notification to confirm", "MsgHitchTroughModified": "The hitch trough has been successfully modified!", "MsgComposterModified": "The composter has been successfully modified!", "MsgMyRemovedHitch": "The modification from the hitch trough has been successfully removed!", "MsgMyRemovedComposter": "The modification from the composter has been successfully removed!", "MsgMyAllRemoved": "All your modifications from the hitch troughs and composters have been successfully removed!", "MsgPlayerMsgAllRemoved": "All {0}'s modifications from the hitch troughs and composters have been successfully removed!", "MsgAllRemoved": "All modifications from the hitch troughs and composters have been successfully removed!", "MsgAutoModifyEntityEnabled": "Automatic entity modification is enabled!", "MsgAutoModifyEntityDisabled": "Automatic entity modification is disabled!" } RU: { "MsgNotAllowed": "У вас недостаточно прав для использования этой команды!", "MsgNotHitchOwner": "Вы не являетесь владельцем данной кормушки!", "MsgNotComposterOwner": "Вы не являетесь владельцем данного компостера!", "MsgNotEntity": "Вам необходимо смотреть на кормушку/компостер или указать корректный net ID!", "MsgNotModifiedEntity": "Данная сущность не является модифицированной!", "MsgLimitReached": "Вы не можете модифицировать данную сущность, так как вы превысили свой лимит в {0}!", "MsgPopupTextHitch": "Модифицировать данную кормушку?", "MsgPopupTextComposter": "Модифицировать данный компостер?", "MsgPopupSubText": "Нажмите на уведомление для подтверждения", "MsgHitchTroughModified": "Кормушка успешно модифицирована!", "MsgComposterModified": "Компостер успешно модифицирован!", "MsgMyRemovedHitch": "Модификация с кормушки успешно удалена!", "MsgMyRemovedComposter": "Модификация с компостера успешно удалена!", "MsgMyAllRemoved": "Все ваши модификации из кормушек и компостеров успешно удалены!", "MsgPlayerMsgAllRemoved": "Все модификации из кормушек и компостеров игрока {0} успешно удалены!", "MsgAllRemoved": "Все модификации из кормушек и компостеров успешно удалены!", "MsgAutoModifyEntityEnabled": "Автоматическая модификация сущностей включена!", "MsgAutoModifyEntityDisabled": "Автоматическая модификация сущностей выключена!" } add - Adding a modification to the HitchTrough/Composter that you are looking at from a distance of no more than 10 meters. *netID* - Adding a modification to the HitchTrough/Composter with the specified netID; remove - Removing a modification from the HitchTrough/Composter that you are looking at from a distance of no more than 10 meters. *netID* - Removing a modification from the HitchTrough/Composter with the specified netID; clear - Removing all modification from your HitchTroughs and Composters. *userID* - Removing all modification from specified player's HitchTroughs and Composters. Permission "industrialdung.admin" required. all - Removing all modification from all HitchTroughs and Composters. Permission "industrialdung.admin" required. auto - Enabling/Disabling automatic modification of HitchTroughs and Composters, if possible. aclear - Removing all modifications from the HitchTroughs and Composters that were not added to the data files for some reason. Permission "industrialdung.admin" required. unload - Unloading the plugin with the removal of all modifications from HitchTroughs and Composters without deleting them from the data file. Permission "industrialdung.admin" required. Example: /idung add /idung add *netID* /idung clear all /idung auto$9.99- 54 comments
- 2 reviews
-
- 1
-
- #rust
- #industrial
- (and 25 more)
-
Version 0.1.0
26 downloads
The plugin that displays temporary permissions and groups in the status bar. Depends on TemporaryPermissions and AdvancedStatus plugins. The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text; The ability to customize the bar for each permission and group; The ability to generate language keys for each permission and group; The ability to specify additional languages for generation. { "Language - Addition languages (except en and ru)": [ "" ], "Status. Permissions Bar - New Local Images. Should it be copied?(Note: If set to true, it may create a lot of unnecessary images)": false, "Status. Permissions Bar - Default Display": true, "Status. Groups Bar - Default Display": true, "Status. Permissions BarType - You can choose only between TimeProgressCounter and TimeCounter": "TimeProgressCounter", "Status. Groups BarType - You can choose only between TimeProgressCounter and TimeCounter": "TimeProgressCounter", "Status. Bar - Default Height": 26, "Status. Bar - Default Order": 20, "Status. Main - Default Color": "#FFFFFF", "Status. Main - Default Transparency": 0.15, "Status. Main - Default Material(empty to disable)": "", "Status. Image - Default Url": "https://i.imgur.com/BtK7YHa.png", "Status. Image - Default Local(Leave empty to use Image_Url)": "PermissionsStatus_Default", "Status. Image - Default Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Default Is raw image": false, "Status. Image - Default Color": "#FFF53D", "Status. Image - Default Transparency": 1.0, "Status. Text - Default Size": 12, "Status. Text - Default Color": "#FFFFFF", "Status. Text - Default Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. Text - Default Offset Horizontal": 0, "Status. SubText - Default Size": 12, "Status. SubText - Default Color": "#FFFFFF", "Status. SubText - Default Font": "RobotoCondensed-Bold.ttf", "Status. Progress - Default Reverse": true, "Status. Progress - Default Color": "#FFD700", "Status. Progress - Default Transparency": 0.7, "Status. Progress - Default OffsetMin": "0 0", "Status. Progress - Default OffsetMax": "0 0", "Is it worth clearing saved settings for permissions and groups upon detecting a wipe?": false, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 0 } } The language file is generated during the plugin initialization process. Additionally, when creating a new permission or group, a key for it will be automatically added. Note: You can also specify in the configuration file the generation of language files for other languages besides en and ru.$9.99 -
Version 0.1.8
82 downloads
GUI and sound announcements for online teammates. Announcements about teammates who have connected, disconnected, been wounded or killed while sleeping. Additionally, announcements from the team leader, in Team chat channel using "!" as a first char. { "Chat command": "teama", "Is it worth enabling GameTips for messages?": true, "Is it worth enabling leader's group announcements?": true, "Is it worth enabling sound announcements?": true, "Radius within which a wounded ally notification is received": 100.0, "Radius within which a sound effect is triggered when an ally is wounded": 50.0, "Sound effect triggered when an ally is wounded": "assets/bundled/prefabs/fx/player/beartrap_scream.prefab", "Notification settings for each type": [ { "Notification type. Do not touch this parameter": "Connected", "Language_Key": "MsgPlayerConnected", "Duration": 6.0, "Main_Color": "#4F6133", "Main_Transparency": 0.8, "Main_Material": "", "Image_URL": "https://i.imgur.com/5Q9rxNO.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#8CBA42", "Image_Transparency": 1.0, "Text_Size": 16, "Text_Color": "#8CBA42", "Text_Font": "RobotoCondensed-Bold.ttf", "Sound_Effect": "assets/prefabs/npc/scientist/sound/chatter.prefab" }, { "Notification type. Do not touch this parameter": "Disconnected", "Language_Key": "MsgPlayerDisconnected", "Duration": 6.0, "Main_Color": "#BF3B26", "Main_Transparency": 0.8, "Main_Material": "", "Image_URL": "https://i.imgur.com/5Q9rxNO.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#FFD173", "Image_Transparency": 1.0, "Text_Size": 16, "Text_Color": "#FFD173", "Text_Font": "RobotoCondensed-Bold.ttf", "Sound_Effect": "assets/prefabs/npc/scientist/sound/death.prefab" }, { "Notification type. Do not touch this parameter": "LeaderAnnounce", "Language_Key": "", "Duration": 6.0, "Main_Color": "#216699", "Main_Transparency": 0.8, "Main_Material": "", "Image_URL": "https://i.imgur.com/RSaRsp0.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#82C7F5", "Image_Transparency": 1.0, "Text_Size": 16, "Text_Color": "#82C7F5", "Text_Font": "RobotoCondensed-Bold.ttf", "Sound_Effect": "assets/prefabs/npc/scientist/sound/aggro.prefab" }, { "Notification type. Do not touch this parameter": "WoundedDistance", "Language_Key": "MsgPlayerWoundedDistance", "Duration": 6.0, "Main_Color": "#FFC21A", "Main_Transparency": 0.8, "Main_Material": "", "Image_URL": "https://i.imgur.com/jMAs33v.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#FFF54C", "Image_Transparency": 1.0, "Text_Size": 16, "Text_Color": "#FFF54C", "Text_Font": "RobotoCondensed-Bold.ttf", "Sound_Effect": "assets/prefabs/npc/scientist/sound/takecover.prefab" }, { "Notification type. Do not touch this parameter": "WoundedGrid", "Language_Key": "MsgPlayerWoundedGrid", "Duration": 6.0, "Main_Color": "#FFC21A", "Main_Transparency": 0.8, "Main_Material": "", "Image_URL": "https://i.imgur.com/jMAs33v.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#FFF54C", "Image_Transparency": 1.0, "Text_Size": 16, "Text_Color": "#FFF54C", "Text_Font": "RobotoCondensed-Bold.ttf", "Sound_Effect": "assets/prefabs/npc/scientist/sound/takecover.prefab" }, { "Notification type. Do not touch this parameter": "DeadWhileSleeping", "Language_Key": "MsgPlayerDeadWhileSleeping", "Duration": 6.0, "Main_Color": "#FFC21A", "Main_Transparency": 0.8, "Main_Material": "", "Image_URL": "https://i.imgur.com/gwk73Tk.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#FFF54C", "Image_Transparency": 1.0, "Text_Size": 16, "Text_Color": "#FFF54C", "Text_Font": "RobotoCondensed-Bold.ttf", "Sound_Effect": "assets/prefabs/npc/scientist/sound/responddeath.prefab" }, { "Notification type. Do not touch this parameter": "Banned", "Language_Key": "MsgPlayerBanned", "Duration": 6.0, "Main_Color": "#BF3B26", "Main_Transparency": 0.8, "Main_Material": "", "Image_URL": "https://i.imgur.com/8WsmOMo.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#FFD173", "Image_Transparency": 1.0, "Text_Size": 16, "Text_Color": "#FFD173", "Text_Font": "RobotoCondensed-Bold.ttf", "Sound_Effect": "assets/prefabs/missions/effects/mission_failed.prefab" } ], "Version": { "Major": 0, "Minor": 1, "Patch": 8 } } EN: { "MsgPlayerConnected": "Your teammate {0} has been connected!", "MsgPlayerDisconnected": "Your teammate {0} has been disconnected!", "MsgPlayerWoundedDistance": "Your teammate {0} was wounded by {1}!\nHe is {2} meters away from you.", "MsgPlayerWoundedGrid": "Your teammate {0} was wounded by {1} at {2}!", "MsgPlayerDeadWhileSleeping": "Your teammate {0} was killed by {1} while he was sleeping at {2}!", "MsgPlayerBanned": "Your teammate {0} has been banned!\nReason: {1}.", "MsgEmptyTeam": "There is only you in your team!", "MsgNotLeader": "Only the team leader can send announcements!", "MsgOfflineMates": "All your teammates are offline!", "MsgEnableSound": "Sound notifications are enabled!", "MsgDisableSound": "Sound notifications are disabled!", "MsgEnableConnected": "Team mates connection notifications are enabled!", "MsgDisableConnected": "Team mates connection notifications are disabled!", "MsgEnableDisconnected": "Team mates disconnection notifications are enabled!", "MsgDisableDisconnected": "Team mates disconnection notifications are disabled!", "MsgEnableWounded": "Team mates wounded notifications are enabled!", "MsgDisableWounded": "Team mates wounded notifications are disabled!", "MsgEnableDeath": "Team mates sleeping kill notifications are enabled!", "MsgDisableDeath": "Team mates sleeping kill notifications are disabled!", "MsgEnableAll": "All team mates notifications are enabled!", "MsgDisableAll": "All team mates notifications are disabled!", "MsgKillerUnknown": "Unknown", "bear": "Bear", "polarbear": "PolarBear", "wolf": "Wolf", "stag": "Stag", "boar": "Boar", "chicken": "Chicken", "horse": "Horse", "simpleshark": "Shark", "patrolhelicopter": "Patrol Heli", "bradleyapc": "Bradley APC", "scientistnpc_arena": "Scientist", "scientistnpc_cargo": "Cargo Scientist", "scientistnpc_cargo_turret_any": "Cargo Scientist", "scientistnpc_cargo_turret_lr300": "Cargo Scientist", "scientistnpc_ch47_gunner": "Chinook Scientist", "scientistnpc_excavator": "Excavator Scientist", "scientistnpc_full_any": "Scientist", "scientistnpc_full_lr300": "Scientist", "scientistnpc_full_mp5": "Scientist", "scientistnpc_full_pistol": "Scientist", "scientistnpc_full_shotgun": "Scientist", "scientistnpc_heavy": "Heavy Scientist", "scientistnpc_junkpile_pistol": "Road Scientist", "scientistnpc_oilrig": "Oilrig Scientist", "scientistnpc_patrol": "Patrol Scientist", "scientistnpc_peacekeeper": "Peacekeeper Scientist", "scientistnpc_roam": "Roam Scientist", "scientistnpc_roam_nvg_variant": "Roam NVG Scientist", "scientistnpc_roamtethered": "Roam Scientist" } RU: { "MsgPlayerConnected": "Ваш союзник {0} подключился!", "MsgPlayerDisconnected": "Ваш союзник {0} отключился!", "MsgPlayerWoundedDistance": "Вашего союзника {0} серьезно ранил {1}!\nОн в {2} метрах от вас.", "MsgPlayerWoundedGrid": "Вашего союзника {0} серьезно ранил {1} в {2}!", "MsgPlayerDeadWhileSleeping": "Вашего союзника {0} убил {1}, пока тот спал в {2}!", "MsgPlayerBanned": "Ваш союзник {0} был заблокирован!\nПричина: {1}.", "MsgEmptyTeam": "У тебя нет союзников!", "MsgNotLeader": "Только лидер группы может отправлять объявления!", "MsgOfflineMates": "Все ваши союзники не в сети!", "MsgEnableSound": "Звуковые уведомления включены!", "MsgDisableSound": "Звуковые уведомления выключены!", "MsgEnableConnected": "Оповещение о подключении союзников включено!", "MsgDisableConnected": "Оповещение о подключении союзников выключено!", "MsgEnableDisconnected": "Оповещение об отключении союзников включено!", "MsgDisableDisconnected": "Оповещение об отключении союзников выключено!", "MsgEnableWounded": "Оповещение о ранении союзников включено!", "MsgDisableWounded": "Оповещение о ранении союзников выключено!", "MsgEnableDeath": "Оповещение о смерти во сне союзников включено!", "MsgDisableDeath": "Оповещение о смерти во сне союзников выключено!", "MsgEnableAll": "Все оповещения о состоянии союзников включены!", "MsgDisableAll": "Все оповещения о состоянии союзников выключены!", "MsgKillerUnknown": "Неизвестный", "bear": "Медведь", "polarbear": "Полярный медведь", "wolf": "Волк", "stag": "Олень", "boar": "Кабан", "chicken": "Курица", "horse": "Лошадь", "simpleshark": "Акула", "patrolhelicopter": "Патрульный вертолет", "bradleyapc": "Танк", "scientistnpc_arena": "Ученый", "scientistnpc_cargo": "Защитник карго", "scientistnpc_cargo_turret_any": "Защитник карго", "scientistnpc_cargo_turret_lr300": "Защитник карго", "scientistnpc_ch47_gunner": "Защитник чинука", "scientistnpc_excavator": "Защитник экскаватора", "scientistnpc_full_any": "Ученый", "scientistnpc_full_lr300": "Ученый", "scientistnpc_full_mp5": "Ученый", "scientistnpc_full_pistol": "Ученый", "scientistnpc_full_shotgun": "Ученый", "scientistnpc_heavy": "Heavy Scientist", "scientistnpc_junkpile_pistol": "Road Scientist", "scientistnpc_oilrig": "Oilrig Scientist", "scientistnpc_patrol": "Patrol Scientist", "scientistnpc_peacekeeper": "Peacekeeper Scientist", "scientistnpc_roam": "Roam Scientist", "scientistnpc_roam_nvg_variant": "Roam NVG Scientist", "scientistnpc_roamtethered": "Roam Scientist" } con - Personal enabling/disabling connected announcement; dis - Personal enabling/disabling disconnected announcement; wound - Personal enabling/disabling wounded announcement; death - Personal enabling/disabling sleeper's death announcement; sound - Personal enabling/disabling sound effects; all - Personal enabling all announcements; clear - Personal disabling all announcements(except leader and ban announces). Example: /teama con$3.99 -
Version 0.1.5
90 downloads
Useful plugin for trophy collection without the need for a specialized knife. It includes additional icons and names for trophies. Furthermore, upon the player's death, it adds their skull to their inventory. Ability to replace the skull while looting a PlayerCorpse, and addition of a Heart Item, which has some effects upon eating it. Note: Updated clothing will only be displayed on head bags that were gathered after this update. Ability to drop the skull directly into inventory without gathering it; Replacing or removing the skull upon gathering it; Dropping an additional custom heart item; Ability to gather the head bags without a special knife; Ability to customize head bags for types and each players; Ability to customize head bag's item icon; Ability to customize head bag's item name and display name; Adds a displayed head cloth items for 3 NPCs: BanditGuard, ScarecrowNPC, and GingerbreadNPC. By default, they do not have it; Adds custom displayed names for 4 NPCs: BanditGuard, ScientistHeavy, ScientistPeacekeeper, and ScientistNVG. By default, they do not have it. skulltrophy.vip - Allows players to save their clothing or copy someone else's saved clothing for display on a hunting trophy. skulltrophy.ignore - A player with this permission is protected from custom drop of skull and heart. skulltrophy.admin - Grants the same privileges as skulltrophy.vip. Additionally, it allows saving, modifying, and resetting saves for anyone, including by types. { "Chat command": "strophy", "Is it worth enabling GameTips for messages?": true, "Allow add the skull into the inventory on Suicide?": false, "Replace Skull on gathering": true, "Head Bag - Is it allowed to gather a head bag without a special knife?": true, "Head Bag - Text format upon receiving": "<color=#FFFFFF>{0}</color>", "Head Bag - Workshop icons ID": { "BasePlayer": 3074297551, "Horse": 3074392217, "SimpleShark": 3252067977, "Bear": 3074392575, "Wolf": 3074393525, "Boar": 3074393967, "Stag": 3074394545, "Chicken": 3075281761, "ScientistNPC": 3075282198, "UnderwaterDweller": 3075283082, "TunnelDweller": 3075283387, "BanditGuard": 3075283702, "ScientistHeavy": 3075283936, "ScientistPeacekeeper": 3075284145, "ScientistNVG": 3075284355, "ScarecrowNPC": 3075284618, "GingerbreadNPC": 3075284816 }, "Head Bag - Head names for types": { "Horse": "Horse", "SimpleShark": "Shark", "Bear": "Bear", "Wolf": "Wolf", "Boar": "Boar", "Stag": "Stag", "Chicken": "Chicken", "ScientistNPC": "Scientist", "UnderwaterDweller": "Underwater Dweller", "TunnelDweller": "Tunnel Dweller", "BanditGuard": "Bandit Guard", "ScientistHeavy": "Scientist Heavy", "ScientistPeacekeeper": "Peacekeeper", "ScientistNVG": "Scientist NVG", "ScarecrowNPC": "Scarecrow", "GingerbreadNPC": "Gingerbread" }, "Heart - Drop chance(0-100)": 50, "Heart - Source item short name": "chicken.cooked", "Heart - Workshop icon ID": 3075285011, "Heart - Prefab name of the eating effect. An empty string disables the effect": "assets/prefabs/misc/xmas/snowball/effects/strike_screenshake.prefab", "Heart - Temperature change upon eating": 30.0, "Heart - Text format upon receiving": "<color=#FFFFFF>{0}</color>", "Replace the skull gathering with": "skull.trophy", "List of random Trophies names": [ "trophy", "skull.trophy", "skull.trophy.table", "skull.trophy.jar", "skull.trophy.jar2", "huntingtrophylarge", "huntingtrophysmall", "fishtrophy" ], "Version": { "Major": 0, "Minor": 1, "Patch": 5 } } [string]Skull Trophy command - Plugin command. [bool]Use GameTip for messages? - Should GameTip be used to display messages? If not, chat will be used. [bool]Allow putting the skull into the inventory on Suicide? - Enable skull drop on suicide? [bool]Drop the skull on the ground if the inventory is full? - If true, the skull will drop on the ground if the inventory is full. [bool]Replace Skull on gathering - If true, when gathering a body, skull will be replaced. [bool]Head Bag. Is it allowed to gather a head bag without a special knife? - Enables custom settings for the head bags drop and allows gathering the head bags with any tool. [Dictionary<string, ulong>]Head Bag. Workshop icons ID - A dictionary that stores key-value pairs for head bags icons for each type. [Dictionary<string, string>]Head Bag. Head names for types - A dictionary that stores key-value pairs for the displayed name of the head bags for each type. [int]Heart. Drop chance(0-100) - Heart Item drop chance. 0 to disable, 100 for a 100% chance. [string]Heart. Source item short name - Short name of the source item upon which the Heart Item will be created. [ulong]Heart. Workshop icon ID - Set Heart Item Icon ID from the Workshop. [string]Heart. Prefab name of the eating effect - Prefab name of the eating effect. [float]Heart. Temperature change upon eating - Temperature change upon eating. A positive value will increase the temperature, while a negative value will decrease it. [string]Replace Skull To - Specify the shortName of the item to replace skull with, or use "Random" to use a random name from the list below. Leave this field empty("") if you simply want to remove it. [List<string>]List of random Trophies names - A list that stores random shortnames of items for replacing skull drops. EN: { "MsgNotAllowed": "You do not have permissions to use this command!", "MsgPlayerNotFound": "The specified player was not found!", "MsgPlayerMoreThanOne": "More than one player found!", "MsgPlayerNoSavedWear": "The player did not save their clothing!", "MsgClearAll": "The saved clothing of all players and NPCs has been reset!", "MsgClearAllPlayers": "The saved clothing of all players has been reset!", "MsgClearAllTypes": "The saved clothing by types has been reset!", "MsgClearPlayer": "{0}'s saved clothing has been reset!", "MsgClearMy": "Your saved clothing has been reset!", "MsgWearSaved": "Your clothing has been saved!", "MsgWearSavedFor": "Clothing for player {0} has been saved!", "MsgWearSavedForType": "Clothing for type {0} has been saved!", "MsgWearCopied": "{0}'s clothing has been successfully copied!", "MsgNeedArgToCopy": "To copy someone's clothing, please specify their ID or name!", "MsgTypeAdded": "A new type of {0} has been created! It used your clothing.", "MsgTypeRemoved": "Type {0} has been successfully deleted!", "MsgTypeNeedArg": "You need to specify the type name!" } RU: { "MsgNotAllowed": "У вас недостаточно прав для использования этой команды!", "MsgPlayerNotFound": "Указанный игрок не найден!", "MsgPlayerMoreThanOne": "Найдено игроков больше чем один!", "MsgPlayerNoSavedWear": "Игрок не сохранял свою одежду!", "MsgClearAll": "Сохраненная одежда всех игроков и NPC была обнулена!", "MsgClearAllPlayers": "Сохраненная одежда всех игроков была обнулена!", "MsgClearAllTypes": "Сохраненная одежда по типам была обнулена!", "MsgClearPlayer": "Сохраненная одежда игрока {0} была обнулена!", "MsgClearMy": "Ваша сохраненная одежда была обнулена!", "MsgWearSaved": "Ваша одежда была сохранена!", "MsgWearSavedFor": "Одежда для игрока {0} была сохранена!", "MsgWearSavedForType": "Одежда для типа {0} была сохранена!", "MsgWearCopied": "Одежда игрока {0} была успешно скопирована!", "MsgNeedArgToCopy": "Для копирования чьей то одежды, укажите его ИД или имя!", "MsgTypeAdded": "Новый тип {0} был создан! Использовалась ваша одежда.", "MsgTypeRemoved": "Тип {0} был успешно удален!", "MsgTypeNeedArg": "Вам еще нужно указать имя типа!" } clear - Deletes saved clothing. all - Deletes saved clothing for all players and types. Permission "skulltrophy.admin" required; players - Deletes saved clothing for all players. Permission "skulltrophy.admin" required; types - Deletes saved clothing for all types. Permission "skulltrophy.admin" required. save - Saves the worn clothing for display on the hunting trophy. *type name* - Saves the currently worn clothing for display on the trophy for the specified type. Permission "skulltrophy.admin" required; *user name or id* - Saves the currently worn clothing for display on the trophy for the specified player. Permission "skulltrophy.admin" required. copy *user name or id* - Copies the saved clothing of the specified player. add *type name* - Saves clothing for a new type. Permission "skulltrophy.admin" required. remove *type name* - Deletes the type. Permission "skulltrophy.admin" required. Example: /strophy clear all and etc.$4.99 -
Version 0.1.3
64 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 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 resetting reputations upon detecting a wipe?": true, "Use ddraw command, for displaying the rank? 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, "The time of self-defense for a lawman against an attack by another lawman(in seconds)": 900, "Forbid bandits from visiting the SafeZone(except for Banditcamp)?": true, "The time(in seconds) a bandit can stay in the SafeZone before being killed, and anyone can loot their loot": 10.0, "The prefab name of the effect upon killing a bandit in the SafeZone": "assets/prefabs/misc/xmas/advent_calendar/effects/open_advent.prefab", "The minimum value for fake reputation": -10000, "The maximum value for fake reputation": 10000, "Is it worth using the AdvancedStatus plugin?": true, "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": "assets/bundled/prefabs/fx/notice/item.select.fx.prefab", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 3 } } 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", "MinRange": -3.40282347E+38, "MaxRange": -1000.0, "Reward": 20.0, "Penalty": 0.0, "IsLawman": false, "AllowSafeZone": false, "Bar": { "Order": 20, "Height": 30, "Main_Color": "#FF341E", "Main_Transparency": 0.6, "Main_Material": "", "Image_URL": "https://i.imgur.com/CdDKpwv.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#FF341E", "Text_Size": 14, "Text_Color": "#FF341E", "Text_Font": "RobotoCondensed-Bold.ttf", "SubText_Size": 12, "SubText_Color": "#FF341E", "SubText_Font": "RobotoCondensed-Bold.ttf" } }, ... { "Name": "Civilian", "MinRange": -4.99, "MaxRange": 9.99, "Reward": 1.0, "Penalty": -1.0, "IsLawman": true, "AllowSafeZone": true, "Bar": { "Order": 20, "Height": 30, "Main_Color": "#5EC0CA", "Main_Transparency": 0.6, "Main_Material": "", "Image_URL": "https://i.imgur.com/cgi9T1D.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#5EC0CA", "Text_Size": 14, "Text_Color": "#5EC0CA", "Text_Font": "RobotoCondensed-Bold.ttf", "SubText_Size": 12, "SubText_Color": "#5EC0CA", "SubText_Font": "RobotoCondensed-Bold.ttf" } }, ... { "Name": "Paragon", "MinRange": 1000.0, "MaxRange": 3.40282347E+38, "Reward": 20.0, "Penalty": -125.0, "IsLawman": true, "AllowSafeZone": true, "Bar": { "Order": 20, "Height": 30, "Main_Color": "#0AFBFB", "Main_Transparency": 0.6, "Main_Material": "", "Image_URL": "https://i.imgur.com/6yzrXE0.png", "Image_Sprite": "", "Image_IsRawImage": false, "Image_Color": "#0AFBFB", "Text_Size": 14, "Text_Color": "#0AFBFB", "Text_Font": "RobotoCondensed-Bold.ttf", "SubText_Size": 12, "SubText_Color": "#0AFBFB", "SubText_Font": "RobotoCondensed-Bold.ttf" } } ] 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; Penalty - Penalty for a peaceful player of this rank, for killing another peaceful player. If the target did not initiate this pvp first; IsLawman - Does the rank apply to peaceful players? 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\ReputationsData.json EN: { "MsgNotAllowed": "You do not have permissions to use this command!", "MsgPlayerNotFound": "The specified player was not found!", "MsgPlayerMoreThanOne": "More than one player found!", "MsgResetAllValues": "Successfully reset {0} reputations!", "MsgResetPlayerValue": "{0}'s reputation successfully reset!", "MsgFakeValueSucceeded": "Value {0} successfully set as fake!", "MsgFakeValueFailed": "You need to specify a digit value for the fake reputation.", "MsgBanditZoneSet": "Position {0} successfully set for Bandit Camp!", "MsgBanditZoneFailed": "Failed to set {0} as the position for the Bandit Camp!", "MsgPlayerNewValue": "Player {0} assigned a new reputation value: {1}({2})!", "MsgPlayerNewValueWrong": "Incorrect format! Example: '/rep *userNameOrId* *value*'.", "MsgReputation": "Reputation", "MsgNewReputation": "Congratulations! You've reached a new reputation rank {0}!", "MsgKillNoPenalty": "You have killed {0}({1}). However, since he attacked you first, you will not be penalized.", "MsgLawmanToLawman": "You attacked {0}({1}) first. If he kills you within {2} minutes, he will not receive a penalty.", "MsgBanditEnterSafeZone": "You are not welcome here! If you do not leave this place, you will be killed in {0} seconds.", "MsgBanditLeaveSafeZone": "Do not return here anymore! Individuals like you belong in the Bandit Camp!", "MsgLawmanEnterBanditZone": "You've entered the Bandit Camp! Be cautious, there are plenty of outlaws around here!", "MsgLawmanLeaveBanditZone": "You've left the Bandit Camp! We recommend avoiding this place.", "MsgBanditEnterBanditZone": "Welcome to the Bandit Camp! Make yourself at home!", "MsgBanditLeaveBanditZone": "You've left the Bandit Camp! We hope for your swift return!", "MsgShowPlayerReputation": "{0}'s rank is {1}({2})." } RU: { "MsgNotAllowed": "У вас недостаточно прав для использования этой команды!", "MsgPlayerNotFound": "Указанный игрок не найден!", "MsgPlayerMoreThanOne": "Найдено игроков больше чем один!", "MsgResetAllValues": "Успешно сброшено {0} репутаций!", "MsgResetPlayerValue": "Репутация игрока {0} успешно сброшена!", "MsgFakeValueSucceeded": "Ложное значение {0} успешно установлено!", "MsgFakeValueFailed": "Вам необходимо указать числовое значение ложной репутации.", "MsgBanditZoneSet": "Позиция {0}, успешно установлена для Лагеря Бандитов!", "MsgBanditZoneFailed": "{0} не удалось установить как позицию для Лагеря Бандитов!", "MsgPlayerNewValue": "Игроку {0} установлено новое значение репутации: {1}({2})!", "MsgPlayerNewValueWrong": "Не верный формат! Пример: '/rep *имяИлиИд* *значение*'.", "MsgReputation": "Репутация", "MsgNewReputation": "Поздравляем! Вы получили новый ранг репутации {0}!", "MsgKillNoPenalty": "Вы убили {0}({1}). Но так как он первым вас атаковал, вас не накажут.", "MsgLawmanToLawman": "Вы первым атаковали {0}({1}). Если он вас убьет в течении {2} минут, то не получит штрафа.", "MsgBanditEnterSafeZone": "Вам здесь не рады! Если вы не покинете это место, то вас убьет через {0} секунд.", "MsgBanditLeaveSafeZone": "Больше сюда не возвращайтесь! Таким как вы место в Лагере Бандитов!", "MsgLawmanEnterBanditZone": "Вы пришли в Лагерь Бандитов! Будьте бдительны, здесь полно отморозков!", "MsgLawmanLeaveBanditZone": "Вы покинули Лагерь Бандитов! Советуем обходить это место.", "MsgBanditEnterBanditZone": "Добро пожаловать в Лагерь Бандитов! Будьте как дома!", "MsgBanditLeaveBanditZone": "Вы покинули Лагерь Бандитов! Надеемся на скорое ваше возвращение!", "MsgShowPlayerReputation": "Ранг игрока {0}: {1}({2})." } fake *value* - Sets a fake reputation value for display to other players. Permissions "reputationmaster.vip" or "reputationmaster.admin" required. reset *userNameOrID* - Resets the reputation of the specified player. Permission "reputationmaster.admin" required. reset all - Resets the reputation of all players. Permission "reputationmaster.admin" required. *userNameOrID* *value* - Sets a new reputation value for the specified player. Permission "reputationmaster.admin" required. Example: /rep fake 150 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}"); } (float) GetReputationValue(ulong userID) - Returns the reputation value of the specified player. Returns null if the player is not found. (string) GetReputationName(ulong userID) - Returns the reputation name of the specified player. Returns null if the player is not found. (bool) GiveReputationNPC(BasePlayer npc, float value, float fakeValue = 0f) - Sets the reputation for NPCs. Returns true if successful, and false otherwise. 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- 6 comments
-
- 1
-
- #rust
- #reputation
- (and 25 more)
-
Version 0.1.5
156 downloads
Big Wheel Game UI statistics. Collecting statistics of a Big Wheel Game. And abillity to display statistics through UI with scrolling of content. Note: To make players avatars available, in the ImageLibrary config file you need to: set true in the "Avatars - Store player avatars"; set API key in the "Steam API key (get one here https://steamcommunity.com/dev/apikey).". bigwheelstats.use - Provides access to use UI. It works if the parameter "Is it worth checking permissions for using the UI interface?" is enabled in the config file. bigwheelstats.admin - Provides the same permissions as bigwheelstats.use. Additionally, it allows changing the name of the BigWheelGame directly in the UI. { "Is it worth checking permissions for using the UI interface?": false, "Is it worth clearing statistics during a wipe?": true, "Big Wheel Game - Default name": "BIG WHEEL GAME", "Big Wheel Game - New best player announce effect prefab name": "assets/prefabs/misc/xmas/advent_calendar/effects/open_advent.prefab", "UI. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Hud - Icon Url": "https://i.imgur.com/HvoFS7p.png", "Hud - Icon Color": "#808080", "Hud - Icon Transparency": 0.5, "Hud - Icon Is Raw Image": false, "Hud - Icon AnchorMin": "1 0", "Hud - Icon AnchorMax": "1 0", "Hud - Icon OffsetMin": "-250 15", "Hud - Icon OffsetMax": "-220 45", "Panel - Main Background Color": "#1A1A1A", "Panel - Main Background Transparency": 0.95, "Hit - Yellow Color": "#BFBF40", "Hit - Yellow Transparency": 0.4, "Hit - Green Color": "#408C8C", "Hit - Green Transparency": 0.4, "Hit - Blue Color": "#03598C", "Hit - Blue Transparency": 0.4, "Hit - Purple Color": "#8026CC", "Hit - Purple Transparency": 0.4, "Hit - Red Color": "#B24C59", "Hit - Red Transparency": 0.4, "Panel - Close Url": "https://i.imgur.com/O9m6yZF.png", "Panel - Close Color": "#D94026", "Panel - Close Transparency": 0.6, "Panel - Close Is Raw Image": false, "Panel - Close AnchorMin": "1 0", "Panel - Close AnchorMax": "1 0", "Panel - Close OffsetMin": "-250 15", "Panel - Close OffsetMax": "-220 45", "Panel - 404 Image Url": "https://i.imgur.com/ke7jDDm.png", "Panel - 404 Icon Color": "#000000", "Panel - 404 Icon Transparency": 0.5, "Panel - 404 Font Size": 24, "Panel - 404 Font Color": "#CCCCCC", "Panel - 404 Font Transparency": 0.5, "Panel - Background Color": "#4C4C4C", "Panel - Background Transparency": 0.5, "Panel - OffsetMin": "-320 -255", "Panel - OffsetMax": "320 255", "Menu - Font Size": 18, "Menu Buttons - Color": "#808080", "Menu Buttons - Transparency": 0.4, "Menu Buttons - Active Color": "#3380BF", "Menu Buttons - Active Transparency": 0.6, "Menu Buttons - Font Color": "#CCCCCC", "Menu Buttons - Font Transparency": 0.5, "Menu Buttons - Font Active Color": "#FFFFFF", "Menu Buttons - Font Active Transparency": 1.0, "Wheel - Image Url": "https://i.imgur.com/MhW63JV.png", "Wheel Info - Color": "#808080", "Wheel Info - Transparency": 0.4, "Wheel Info - Font Size": 16, "Wheel Info - Font Color": "#FFFFFF", "Wheel Info Card - Background Color": "#808080", "Wheel Info Card - Background Transparency": 0.4, "Wheel Info Card - Title Font Size": 12, "Wheel Info Card - Title Font Color": "#808080", "Wheel Info Card - Value Font Size": 16, "Wheel Info Card - Value Font Color": "#CCCCB2", "Wheel Info Card - Percentage Font Size": 12, "Wheel Info Card - Percentage Font Color": "#808080", "Personal Info - Online Color": "#CCFFB2", "Personal Info - Online Transparency": 0.4, "Personal Info - Offline Color": "#FF0000", "Personal Info - Offline Transparency": 0.4, "Personal Info - Font Size": 16, "Personal Info - Font Color": "#FFFFFF", "Personal Info Card - Background Color": "#808080", "Personal Info Card - Background Transparency": 0.4, "Personal Info Card - Title Font Size": 12, "Personal Info Card - Title Font Color": "#808080", "Personal Info Card - Value Font Size": 16, "Personal Info Card - Value Font Color": "#CCCCB2", "Column Header - Color": "#4C4C4C", "Column Header - Transparency": 1.0, "Column Header - Active Color": "#595959", "Column Header - Active Transparency": 1.0, "Column Header - Font Size": 16, "Column Header - Font Color": "#CCCCB2", "Column Header - Font Active Color": "#FFFFFF", "Column Item - Font Size": 16, "Column Item - Color": "#808080", "Column Item - Transparency": 0.3, "Column Item - Even Color": "#808080", "Column Item - Even Transparency": 0.6, "Column Item - Font Color": "#CCCCB2", "Column Item - Font Active Color": "#FFFFFF", "Wheel HitsList Item - Font Size": 18, "Wheel HitsList Item - Font Color": "#CCCCB2", "Personal HitsList - Win Color": "#CCFFB2", "Personal HitsList - Win Transparency": 0.4, "Personal HitsList - Lose Color": "#E6004C", "Personal HitsList - Lose Transparency": 0.4, "Players List - Name Font Size": 12, "Players List - ID Font Size": 10, "Players List - ID Font Color": "#808080", "BWGs List - Name Font Size": 12, "BWGs List - ID Font Size": 10, "BWGs List - ID Font Color": "#808080", "Footer - Color": "#4C4C4C", "Footer - Transparency": 0.4, "Footer - Font Size": 16, "Footer Buttons - Between Button Text": "...", "Footer Buttons - Color": "#808080", "Footer Buttons - Transparency": 0.4, "Footer Buttons - Active Color": "#3380BF", "Footer Buttons - Active Transparency": 0.6, "Footer Buttons - Font Color": "#CCCCB2", "Footer Buttons - Font Active Color": "#FFFFFF", "Footer Custom Button - Command(Leave empty to disable)": "", "Footer Custom Button - Color": "#808080", "Footer Custom Button - Transparency": 0.4, "Footer Text - Font Size": 12, "Footer Text - Font Color": "#808080", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 5 } } EN: { "MsgMenuPersonal": "My stats", "MsgMenuPlayersList": "Top players", "MsgMenuBWGsList": "Wheel list", "MsgHitYellow": "Yellow", "MsgHitGreen": "Green", "MsgHitBlue": "Blue", "MsgHitPurple": "Purple", "MsgHitRed": "Red", "MsgFooterCustomButton": "My button", "MsgFooterText": "Showing {0} to {1} of {2}", "Msg404Player": "Player {0} not found", "Msg404PlayersList": "Players list is empty", "Msg404BigWheelGame": "Big Wheel Game {0} not found", "Msg404BWGsList": "Big Wheel Games list is empty", "MsgPersonalCardTotalSpins": "Total spins", "MsgPersonalCardWinSpins": "Win spins", "MsgPersonalCardLoseSpins": "Lose spins", "MsgPersonalCardScrapSpend": "Scrap spend", "MsgPersonalCardScrapWin": "Scrap win", "MsgPersonalCardScrapResult": "Scrap result", "MsgPersonalCardScrapRecordBid": "Scrap record bid", "MsgPersonalCardScrapLastBid": "Scrap last bid", "MsgPersonalCardScrapLastWin": "Scrap last win", "MsgPersonalHitsListHeaderItem": "Item", "MsgPersonalHitsListHeaderHit": "Hit", "MsgPersonalHitsListHeaderBidAmount": "Bid amount", "MsgPersonalHitsListHeaderResultAmount": "Result", "MsgPlayersListHeaderPlayer": "Player", "MsgPlayersListHeaderTotal": "Total", "MsgPlayersListHeaderLoses": "Loses", "MsgPlayersListHeaderWins": "Wins", "MsgPlayersListHeaderRecordBid": "Record bid", "MsgPlayersListHeaderRecordWin": "Record win", "MsgPlayersListHeaderResult": "Result", "MsgBWGsListHeaderBigWheelGame": "Big wheel game", "MsgBWGsListHeaderTotalSpins": "Total spins", "MsgBWGsListHeaderCurrentSpins": "Current session spins", "MsgBWGCardBestPlayer": "Best player", "MsgBWGCardDefaultBestPlayer": "Empty", "MsgBWGCardCurrentSpins": "Current session spins", "MsgBWGCardTotalSpins": "Total spins", "MsgBWGCardTotalYellow": "Yellow", "MsgBWGCardTotalGreen": "Green", "MsgBWGCardTotalBlue": "Blue", "MsgBWGCardTotalPurple": "Purple", "MsgBWGCardTotalRed": "Red" } RU: { "MsgMenuPersonal": "Моя статистика", "MsgMenuPlayersList": "Топ игроков", "MsgMenuBWGsList": "Список игр", "MsgHitYellow": "Желтый", "MsgHitGreen": "Зеленый", "MsgHitBlue": "Синий", "MsgHitPurple": "Фиолетовый", "MsgHitRed": "Красный", "MsgFooterCustomButton": "Моя кнопка", "MsgFooterText": "Отображены с {0} по {1} из {2}", "Msg404Player": "Игрок {0} не найден", "Msg404PlayersList": "Список игроков пуст", "Msg404BigWheelGame": "Игра {0} не найдена", "Msg404BWGsList": "Список игр пуст", "MsgPersonalCardTotalSpins": "Всего ставок", "MsgPersonalCardWinSpins": "Выигрышные ставки", "MsgPersonalCardLoseSpins": "Проигрышные ставки", "MsgPersonalCardScrapSpend": "Потрачено скрапа", "MsgPersonalCardScrapWin": "Выиграно скрапа", "MsgPersonalCardScrapResult": "Итог скрапа", "MsgPersonalCardScrapRecordBid": "Рекордная ставка", "MsgPersonalCardScrapLastBid": "Последняя ставка", "MsgPersonalCardScrapLastWin": "Последний выигрыш", "MsgPersonalHitsListHeaderItem": "Предмет", "MsgPersonalHitsListHeaderHit": "Число", "MsgPersonalHitsListHeaderBidAmount": "Ставка", "MsgPersonalHitsListHeaderResultAmount": "Итог", "MsgPlayersListHeaderPlayer": "Игрок", "MsgPlayersListHeaderTotal": "Всего", "MsgPlayersListHeaderLoses": "Проигрышей", "MsgPlayersListHeaderWins": "Выигрышей", "MsgPlayersListHeaderRecordBid": "Рекордная ставка", "MsgPlayersListHeaderRecordWin": "Рекордный выигрыш", "MsgPlayersListHeaderResult": "Итог", "MsgBWGsListHeaderBigWheelGame": "Игра", "MsgBWGsListHeaderTotalSpins": "Всего вращений", "MsgBWGsListHeaderCurrentSpins": "Вращений за сессию", "MsgBWGCardBestPlayer": "Лучший игрок", "MsgBWGCardDefaultBestPlayer": "Пусто", "MsgBWGCardCurrentSpins": "Вращений за сессию", "MsgBWGCardTotalSpins": "Всего вращений", "MsgBWGCardTotalYellow": "Желтый", "MsgBWGCardTotalGreen": "Зеленый", "MsgBWGCardTotalBlue": "Синий", "MsgBWGCardTotalPurple": "Фиолетовый", "MsgBWGCardTotalRed": "Красный" } BWG_HUD_show - Shows HUD. Works only when player is sitting on the game chair. Permission "bigwheelstats.use" required. BWG_Panel_open - Opens UI panel. Works only when player is sitting on the game chair. Permission "bigwheelstats.use" required.$14.99- 15 comments
-
- #rust
- #banditcamp
- (and 22 more)
-
Version 0.1.6
448 downloads
The plugin displays the time until the next wipe in the status bar. Depends on AdvancedStatus plugin. The ability to display the remaining time until the wipe: If there are N days left. Configurable in the configuration file; If player is in a safe zone or building privilege zone; The option to choose between a server wipe and a manually specified wipe; The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text. wipestatus.admin - Provides the ability to set custom date of wipe. { "Chat command": "wipe", "Is it worth enabling GameTips for messages?": true, "Is it worth displaying the wipe timer only when players in the safe zone or building privilege?": false, "The number of days before the wipe when the status bar will start to display. A value of 0 enables constant display": 0, "Status. Bar - Height": 26, "Status. Bar - Order": 10, "Status. Background - Color(Hex or RGBA)": "#0370A4", "Status. Background - Transparency": 0.7, "Status. Background - Material(empty to disable)": "", "Status. Image - Url": "https://i.imgur.com/FKrFYN5.png", "Status. Image - Local(Leave empty to use Image_Url)": "WipeStatus_Wipe", "Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Is raw image": false, "Status. Image - Color(Hex or RGBA)": "#0370A4", "Status. Image - Transparency": 1.0, "Status. Text - Size": 12, "Status. Text - Color(Hex or RGBA)": "#FFFFFF", "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. SubText - Size": 12, "Status. SubText - Color(Hex or RGBA)": "#FFFFFF", "Status. SubText - Font": "RobotoCondensed-Bold.ttf", "Custom wipe dates list(empty to use default). Format: yyyy-MM-dd HH:mm. Example: 2024-10-25 13:00": [], "Version": { "Major": 0, "Minor": 1, "Patch": 6 } } EN: { "MsgText": "WIPE IN", "MsgServerTime": "Current real server time: {0}", "MsgNewDateAdded": "The new date {0} has been successfully added!", "MsgNewDateRangeAdded": "The list of dates was successfully added!", "MsgNewDateAddFailed": "Invalid format or date is earlier than the current one. Date format: yyyy-MM-dd HH:mm", "MsgClearDates": "Custom dates list has been successfully cleared!", "MsgBarEnabled": "Displaying the wipe bar is enabled!", "MsgBarDisabled": "Displaying the wipe bar is disabled!" } RU: { "MsgText": "ВАЙП ЧЕРЕЗ", "MsgServerTime": "Текущее реальное серверное время: {0}", "MsgNewDateAdded": "Новая дата {0} успешно добавлена!", "MsgNewDateRangeAdded": "Список дат был успешно добавлен!", "MsgNewDateAddFailed": "Не верный формат или дата меньше текущей. Формат даты: yyyy-MM-dd HH:mm", "MsgClearDates": "Список дат был успешно очищен!", "MsgBarEnabled": "Отображение вайп бара включено!", "MsgBarDisabled": "Отображение вайп бара выключено!" } bar - Enabling and disabling personal bar display. time - Displays the real time on the server. Sometimes the server's time zone may differ from the expected one. Permission "wipestatus.admin" required. add - Adding a new wipe date. Format: yyyy-MM-dd HH:mm. Permission "wipestatus.admin" required. If you add 2 more parameters, you will be able to specify a list of wipe dates at once. The first parameter(a digit) is the offset(days) from the dates, and the second parameter(a digit) is the number of occurrences. clear - It clears the list of dates. Permission "wipestatus.admin" required. Example: /wipe add "2023-12-28 15:16" /wipe add "2024-07-16 19:00" 7 20 - Starting from the date 2024-07-16 19:00, 7 days will be added 20 times.$3.99 -
Version 0.1.4
152 downloads
The plugin displays the current zone or monument to the player in the status bar. Depends on ZoneManager, MonumentsWatcher and AdvancedStatus plugins. P.S. The settings for each zone or monument are located in the ".\oxide\data\ZoneStatus" folder. The ability to display the player's current monument; The ability to automatically change monuments names when the player switches languages; The ability to display the player's current zone; The ability to enable or disable visibility for each of the zones; The ability to customize the style for each of the zones(in the data file); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text. { "Is it worth deleting all saved Zone bars upon detecting a wipe?": true, "Is it worth deleting all saved Monument bars upon detecting a wipe?": true, "The name of the zone which has no name": "No name zone", "The subtext of the zone with no subtext (leave empty to disable)": "", "Status. Bar - Default Display": true, "Status. Bar - Default Height": 26, "Status. Bar - Default Order": 10, "Status. Background - Default Color": "#A064A0", "Status. Background - Default Transparency": 0.8, "Status. Background - Default Material(empty to disable)": "", "Status. Image - Default Url": "https://i.imgur.com/mn8reWg.png", "Status. Image - Default Local(Leave empty to use Image_Url)": "ZoneStatus_Default", "Status. Image - Default Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Default Is raw image": false, "Status. Image - Default Color": "#A064A0", "Status. Image - Default Transparency": 1.0, "Status. Text - Default Size": 12, "Status. Text - Default Color": "#FFFFFF", "Status. Text - Default Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. SubText - Default Size": 12, "Status. SubText - Default Color": "#FFFFFF", "Status. SubText - Default Font": "RobotoCondensed-Bold.ttf", "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 4 } } [PluginReference] private Plugin ZoneStatus; There is 1 method: UpdateZoneSettings UpdateZoneSettings: Used to change bar settings for zones from ZoneManager. To call the UpdateZoneSettings method, you need to pass 3 parameters, 1 of which is optional: <string>zoneID - The Id of the zone; <object[]>args - Array of objects to update; <bool>redraw - Optional. Is it worth redrawing the status bars for players? Defaults to true. Note: It is not necessary to pass all parameters, but the indices are strictly tied to the parameters. object[] args = new object[] { true, //0. Display - Is it worth displaying the status bar for this zone? "#A064A0", //1. Background_Color - Primary HEX color of the status bar. 0.8f, //2. Background_Transparency - Opacity of the primary status bar color. "https://i.imgur.com/mn8reWg.png", //3. Image_Url - Url of the status bar icon. "ZoneStatus_Default", //4. Image_Local - Name of the local image for the status bar. Note: The image must exist.(Leave empty to use Image_Url). false, //5. Image_IsRawImage - True for multicolored images, false for monochromatic images. "#A064A0", //6. Image_Color - Color of the status bar icon. For Image_IsRawImage = false. 1f, //7. Image_Transparency - Opacity of the status bar icon. For Image_IsRawImage = false. "#FFFFFF", //8. Text_Color - Primary text color. "#FFFFFF" //9. SubText_Color - Subtext color. }; ZoneStatus?.Call("UpdateZoneSettings", zoneID, args, true); //Call the API method UpdateZoneSettings with all necessary arguments for updating. Example with incomplete parameters: object[] args = new object[] { null, //0. Display - Skip index 0, as it is reserved for Display. "#A064A0", //1. Background_Color - Primary HEX color of the status bar. 0.8f, //2. Background_Transparency - Opacity of the primary status bar color. null, //3. Image_Url - Skip index 3, as it is reserved for Image_Url. null, //4. Image_Local - Skip index 4, as it is reserved for Image_Local. false, //5. Image_IsRawImage - True for multicolored images, false for monochromatic images. "#A064A0", //6. Image_Color - Color of the status bar icon. For Image_IsRawImage = false. 1f //7. Image_Transparency - Opacity of the status bar icon. For Image_IsRawImage = false. }; ZoneStatus?.Call("UpdateZoneSettings", zoneID, args, true); //Call the API method UpdateZoneSettings with all necessary arguments for updating.$3.99 -
Version 0.1.3
60 downloads
The plugin displays godmode and noclip indicators in the status bar. Depends on AdvancedStatus plugin. The ability to display godmode and noclip indications in the status bar. The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text. { "Check interval in seconds": 1.0, "Chat command": "fgs", "Use GameTip for messages?": true, "List of status bar settings for each type": { "FlyingGodStatus_God": { "Order": 20, "Height": 26, "Main_Color": "#E3BA2B", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/XmZBOuP.png", "Image_Local(Leave empty to use Image_Url)": "FlyingGodStatus_God", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color": "#FFD33A", "Image_Transparency": 1.0, "Text_Key": "MsgGod", "Text_Size": 12, "Text_Color": "#FFFFFF", "Text_Font": "RobotoCondensed-Bold.ttf" }, "FlyingGodStatus_Noclip": { "Order": 20, "Height": 26, "Main_Color": "#66A4D2", "Main_Transparency": 0.8, "Main_Material": "", "Image_Url": "https://i.imgur.com/LY0AUMG.png", "Image_Local(Leave empty to use Image_Url)": "FlyingGodStatus_Noclip", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color": "#31648B", "Image_Transparency": 1.0, "Text_Key": "MsgNoclip", "Text_Size": 12, "Text_Color": "#FFFFFF", "Text_Font": "RobotoCondensed-Bold.ttf" } }, "Version": { "Major": 0, "Minor": 1, "Patch": 3 } } P.S. List of available fonts. EN: { "MsgGod": "You are immortal", "MsgNoclip": "You are flying", "MsgGodEnabled": "Display of Godmode bar enabled!", "MsgGodDisabled": "Display of Godmode bar disabled!", "MsgNoclipEnabled": "Display of Noclip bar enabled!", "MsgNoclipDisabled": "Display of Noclip bar disabled!" } RU: { "MsgGod": "Вы неуязвимы", "MsgNoclip": "Вы в полете", "MsgGodEnabled": "Отображение Godmode бара включено!", "MsgGodDisabled": "Отображение Godmode бара выключено!", "MsgNoclipEnabled": "Отображение Noclip бара включено!", "MsgNoclipDisabled": "Отображение Noclip бара выключено!" } god - Enabling and disabling personal Godmode bar display. fly - Enabling and disabling personal Noclip bar display. Example: /fgs god$3.99 -
Version 0.1.5
298 downloads
This plugin is designed for the forced decay of Building Blocks with Twigs grade. This plugin will be especially useful for PvE servers. The ability to enable and disable forced decay of Building Blocks with Twigs grade; The ability to specify the type of building block that will decay; The ability to adjust the interval of decay damage; The ability to specify the amount of decay damage; The ability to prevent players and the tool cupboard from repairing Building Blocks with a grade of Twigs; The ability to show warnings when placing/repairing Building Blocks with Twigs grade; The ability to specify the style type for GameTips; The ability to personally enable or disable warnings; The ability to automatically grade Building Blocks from Twig grade to Wood grade upon plugin initialization, if the owner player is offline. This helps to avoid the complete decay of buildings for those players who are offline and unable to upgrade right now; The ability to upgrade only undamaged building blocks during forced upgrades. { "Chat command": "twig", "Is it worth enabling GameTips for messages?": true, "GameTips message style type - Blue_Normal(0), Red_Normal(1), Blue_Long(2), Blue_Short(3), Server_Event(4), Error(5).": 5, "Is it worth upgrading Building Blocks from Twigs grade to Wood grade during plugin initialization if the players are offline?": false, "Is it worth forcing the upgrade to apply only to undamaged blocks? This is an addition to the setting above.": true, "Is it worth disallowing the repair of Building Blocks with Twigs grade?": true, "The interval, in seconds, at which damage is inflicted on the building.": 60.0, "The periodic damage inflicted. Ranges from 0 to 10. Set to 0 to disable.": 1.0, "Is it worth enabling the tracking list? If it's disabled, it will track all types of building blocks without needing to check the list each time.": false, "List of tracked building block types. Leave empty or null to return the default list.": [ "foundation", "foundation.triangle", "foundation.steps", "ramp", "floor", "floor.triangle", "floor.frame", "floor.triangle.frame", "wall", "wall.doorway", "wall.window", "wall.frame", "wall.half", "wall.low", "block.stair.ushape", "block.stair.lshape", "block.stair.spiral", "block.stair.spiral.triangle", "roof", "roof.triangle" ], "Version": { "Major": 0, "Minor": 1, "Patch": 5 } } EN: { "MsgWarningEnabled": "Forced decay warnings are enabled!", "MsgWarningDisabled": "Forced decay warnings are disabled!", "MsgOnTwigsPlace": "On this server, forced decay of Building Blocks with Twigs grade is enabled!\n<size=12><color=#9A9A9A>To toggle notifications, use </color><color=#BBBBBB>/{0} warn</color></size>", "MsgOnTwigsRepair": "Repairing of Building Blocks with Twigs grade is prohibited!\n<size=12><color=#9A9A9A>To toggle notifications, use </color><color=#BBBBBB>/{0} warn</color></size>" } RU: { "MsgWarningEnabled": "Предупреждения принудительного гниения включены!", "MsgWarningDisabled": "Предупреждения принудительного гниения выключены!", "MsgOnTwigsPlace": "На данном сервере включено принудительное гниение построек из соломы!\n<size=12><color=#9A9A9A>Чтобы включить или выключить уведомления, введите </color><color=#BBBBBB>/{0} warn</color></size>", "MsgOnTwigsRepair": "Ремонт построек из соломы запрещен!\n<size=12><color=#9A9A9A>Чтобы включить или выключить уведомления, введите </color><color=#BBBBBB>/{0} warn</color></size>" } warn - Enabling and disabling personal warning. Example: /twig warn$6.99 -
Version 0.1.2
159 downloads
The plugin enables the collection of a vast amount of gaming data with subsequent transmission to a database(MySQL). This functionality empowers website owners to display the desired statistics from the database on their sites. Moreover, it offers the capability to send data via API, which proves highly beneficial in scenarios where your gaming server and database reside on separate machines, and the database restricts connections beyond localhost. Please note that an instruction manual will be included in the downloaded file, and it is imperative for users to read it thoroughly. Collecting(The full list is available below in the section Collected Data) : Server information; Player information; Team information; Clan information(in future); Feedback(F7) information; Report(F7) information. Sending data through: direct MySQL; via API(POST query) to MySQL. { "Current Server ID": 0, "Time in seconds for updating data in the database(0 to disable)": 300.0, "DataBase - Display upload messages": true, "DataBase - Upload method(true for API, false for MySQL)": true, "API - Service URL(Specify the address of your website)": "https://site.com/ExtendedStats/index.php", "API - Service Key(Generate your own API key)": "GlBRw-elM6v-gjko3-cxSDk-Tsy7B", "MySQL - Host": "localhost", "MySQL - Port": 3306, "MySQL - Database name": "db_playrust", "MySQL - Username": "root", "MySQL - Password": "root", "Data Base - Servers Name": "db_servers", "Data Base - Players Name": "db_players", "Data Base - Players Deploys Name": "db_players_deploys", "Data Base - Players Explosions Name": "db_players_explosions", "Data Base - Players Farms Name": "db_players_farms", "Data Base - Players Kills Name": "db_players_kills", "Data Base - Players Raids Name": "db_players_raids", "Data Base - Teams Name": "db_teams", "Data Base - Clans Name": "db_clans", "Data Base - Feedbacks Name": "db_feedbacks", "Data Base - Reports Name": "db_reports", "Wipe - Clear data upon detection of wipe": true, "Wipe - Clear database data upon detection of wipe": true, "Wipe - List of data to clear upon detection of wipe": [ "players", "teams", "clans", "feedbacks", "reports" ], "List of deployed names": {}, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 2 } } ServerData: ServerName ServerIdentity ServerIP ServerPort QueryPort ServerDescription ServerHeader ServerURL ServerTime ServerTags MaxPlayers ServerEntities ServerUptime ServerMap MapSize MapSeed FirstSave LastSave WipeID ServerVersion ServerProtocol RconPort RconPassword PlayersData: Info UserID DisplayName Language UserGroups CurrentTeam CurrentClan Flags - Online/Offline, Banned BanReason Connection Connections - Number of connections to the server Ping PlayedTime - PlaytimeTracker/PlayTimeRewards plugins required IdleTime - PlaytimeTracker/PlayTimeRewards plugins required FirstConnectionIP LastConnectionIP FirstConnectionDate LastConnectionDate FarmStats Balance - Economics plugin required BankBalance - BankSystem plugin required Points - ServerRewards plugin required Experience Reputation - ReputationMaster plugin required Barrels Fish_Attempts Guts Supplies Excavator_Supplies Chinooks Surveys Blueprints CraftList GatherList CratesList - List of open crates with quantities FishList MonumentsList - Number of monument visits. MonumentsWatcher plugin required DeployedsList KillStats InflictedDamage - Damage inflicted exclusively on real players Kills FriendlyKills Deaths Suicides WoundsInflicted - Only real players TimesWounded - Only real players Chickens Boars Stags Wolves Bears Sharks Scientists Patrols Bradleys VehicleStats(kills) Bikes Cars RowBoats RHIBs Submarine_Solos Submarine_Duos Tugs Heli_Minis Heli_Attacks Heli_Scraps Balloons Trains Train_Wagons Train_Wagon_Cabooses HitParts - List of body part hits with quantities, only real players KillParts - List of body part kills with quantities, only real players KillWeapons - List of kills from various weapons with quantities, only real players RaidedDeployableConstructionsList RaidedConstructionsList RaidStats Cupboards Doors Windows Foundations Ceilings Walls Doorways WindowFrames Stairs Hatches External_Wooden_Gates External_Wooden_Walls External_Stone_Gates External_Stone_Walls External_Ice_Walls External_Ice_Short_Walls RBStats - The number of raided bases by difficulty level. RaidableBases plugin required RBEasy RBMedium RBHard RBExpert RBNightmare ExplosionStats Rocket Rocket_HV Rocket_I Rocket_Smoke Rocket_Missile Rocket_MLRS Torpedo Explosive_Ammo Grenade_Explosive_40mm Grenade_Smoke_40mm Nade_F1 Nade_Moly Nade_Flash Nade_Smoke Nade_Bean Satchel C4 TeamsData: TeamID TeamName LeaderID TeamMembers ClansData(temporarily not working) : ClanID ClanName LeaderID ClanMembers FeedbacksData: ID UserID Subject Type Message Time ReportsData: ID UserID TargetID TargetName Subject Type Message Time$19.99- 2 comments
-
- #rust
- #reputation
- (and 26 more)
-
Version 0.1.7
32 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, "Version": { "Major": 0, "Minor": 1, "Patch": 7 } } EN: { "MsgNotAllowed": "You do not have permission to open this door without the card!" } RU: { "MsgNotAllowed": "У вас недостаточно прав для открытия этой двери без карточки!" }Free -
Version 0.1.0
42 downloads
The plugin displays the time until teleportation in the status bar. Depends on NTeleportation and AdvancedStatus plugins. The ability to display bars during teleportation: to a player from a player to a home to a town back The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text; The ability to customize the bar for each type of teleportation. { "Is it worth using a progress bar in the status bar?": true, "Limit name length. 0 disables the limit.": 10, "List of status bar settings for each type": { "TeleportStatus_Player": { "Order": 21, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_URL": "https://i.imgur.com/NuAl6T5.png", "Image_Local(Leave empty to use Image_URL)": "TeleportStatus_Player", "Image_Sprite(Leave empty to use Image_Local or Image_URL)": "", "Image_IsRawImage": false, "Image_Color": "#15AC9D", "Progress_Color": "#009688", "Image_Transparency": 1.0, "Text_Key": "MsgTeleportToPlayer", "Text_Size": 12, "Text_Color": "#15AC9D", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "SubText_Size": 12, "SubText_Color": "#15AC9D", "SubText_Font": "RobotoCondensed-Bold.ttf", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" }, "TeleportStatus_FromPlayer": { "Order": 22, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_URL": "https://i.imgur.com/G3TrHoc.png", "Image_Local(Leave empty to use Image_URL)": "TeleportStatus_FromPlayer", "Image_Sprite(Leave empty to use Image_Local or Image_URL)": "", "Image_IsRawImage": false, "Image_Color": "#E2DBD6", "Progress_Color": "#009688", "Image_Transparency": 0.55, "Text_Key": "MsgTeleportFromPlayer", "Text_Size": 12, "Text_Color": "#15AC9D", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 2, "SubText_Size": 12, "SubText_Color": "#15AC9D", "SubText_Font": "RobotoCondensed-Bold.ttf", "Progress_Transparency": 0.7, "Progress_OffsetMin": "25 0", "Progress_OffsetMax": "0 0" }, "TeleportStatus_Home": { "Order": 23, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_URL": "https://i.imgur.com/3xQmCKv.png", "Image_Local(Leave empty to use Image_URL)": "TeleportStatus_Home", "Image_Sprite(Leave empty to use Image_Local or Image_URL)": "", "Image_IsRawImage": false, "Image_Color": "#E2DBD6", "Progress_Color": "#009688", "Image_Transparency": 0.55, "Text_Key": "MsgTeleportToHome", "Text_Size": 12, "Text_Color": "#E2DBD6", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 2, "SubText_Size": 12, "SubText_Color": "#E2DBD6", "SubText_Font": "RobotoCondensed-Bold.ttf", "Progress_Transparency": 0.7, "Progress_OffsetMin": "25 2.5", "Progress_OffsetMax": "-3.5 -3.5" }, "TeleportStatus_Town": { "Order": 24, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_URL": "https://i.imgur.com/FswyqvJ.png", "Image_Local(Leave empty to use Image_URL)": "TeleportStatus_Town", "Image_Sprite(Leave empty to use Image_Local or Image_URL)": "", "Image_IsRawImage": false, "Image_Color": "#E2DBD6", "Progress_Color": "#009688", "Image_Transparency": 0.55, "Text_Key": "MsgTeleportToTown", "Text_Size": 12, "Text_Color": "#E2DBD6", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "SubText_Size": 12, "SubText_Color": "#E2DBD6", "SubText_Font": "RobotoCondensed-Bold.ttf", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" }, "TeleportStatus_Back": { "Order": 25, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_URL": "https://i.imgur.com/I9B2joa.png", "Image_Local(Leave empty to use Image_URL)": "TeleportStatus_Back", "Image_Sprite(Leave empty to use Image_Local or Image_URL)": "", "Image_IsRawImage": false, "Image_Color": "#E2DBD6", "Progress_Color": "#009688", "Image_Transparency": 0.55, "Text_Key": "MsgTeleportToBack", "Text_Size": 12, "Text_Color": "#E2DBD6", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 2, "SubText_Size": 12, "SubText_Color": "#E2DBD6", "SubText_Font": "RobotoCondensed-Bold.ttf", "Progress_Transparency": 0.7, "Progress_OffsetMin": "25 0", "Progress_OffsetMax": "0 0" } }, "Version": { "Major": 0, "Minor": 1, "Patch": 0 } } EN: { "MsgTeleportToPlayer": "Teleport to {0} in:", "MsgTeleportFromPlayer": "{0} will be at you in:", "MsgTeleportToHome": "Teleport to {0} in:", "MsgTeleportToTown": "Teleport to {0} in:", "MsgTeleportToBack": "Teleport to {0} in:" } RU: { "MsgTeleportToPlayer": "Телепорт к {0} через:", "MsgTeleportFromPlayer": "{0} будет у вас через:", "MsgTeleportToHome": "Телепорт в {0} через:", "MsgTeleportToTown": "Телепорт в {0} через:", "MsgTeleportToBack": "Телепорт в {0} через:" }$3.99 -
Version 0.1.0
13 downloads
The plugin displays the time until the bed cooldown ends in the status bar. Depends on AdvancedStatus plugin. The ability to set a limit on the number of displayed bars; The ability to skip sleeping bags with the same unlockTime; The ability to set the bar's deletion time for each type, earlier than the cooldown time expires; The ability to choose between bar types(TimeCounter and TimeProgressCounter); The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text; The ability to customize the bar for each type of bed. { "Is it worth using a progress bar in the status bar?": true, "Is it worth skipping sleeping bags with the same UnlockTime?": true, "Limit on the simultaneously displayed bars. 0 disables the limit.": 5, "Limit name length. 0 disables the limit.": 20, "List of status bar settings for each type": { "BedStatus_SleepingBag": { "Order": 21, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_Url": "https://i.imgur.com/9kTXWBz.png", "Image_Local(Leave empty to use Image_Url)": "BedStatus_SleepingBag", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": true, "Image_Color": "#FFB200", "Progress_Color": "#F79E61", "Image_Transparency": 1.0, "Text_Size": 12, "Text_Color": "#F79E61", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "SubText_Size": 12, "SubText_Color": "#F79E61", "SubText_Font": "RobotoCondensed-Bold.ttf", "DestroyTime - Time in seconds after which the bar will be destroyed. Leave 0 to destroy the bar when the time expires.": 0, "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" }, "BedStatus_Bed": { "Order": 22, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_Url": "https://i.imgur.com/LXyo8X4.png", "Image_Local(Leave empty to use Image_Url)": "BedStatus_Bed", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": true, "Image_Color": "#FFB200", "Progress_Color": "#F79E61", "Image_Transparency": 1.0, "Text_Size": 12, "Text_Color": "#F79E61", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 2, "SubText_Size": 12, "SubText_Color": "#F79E61", "SubText_Font": "RobotoCondensed-Bold.ttf", "DestroyTime - Time in seconds after which the bar will be destroyed. Leave 0 to destroy the bar when the time expires.": 0, "Progress_Transparency": 0.7, "Progress_OffsetMin": "25 0", "Progress_OffsetMax": "0 0" }, "BedStatus_BeachTowel": { "Order": 23, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_Url": "https://i.imgur.com/hYp0VXa.png", "Image_Local(Leave empty to use Image_Url)": "BedStatus_BeachTowel", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": true, "Image_Color": "#FFB200", "Progress_Color": "#F79E61", "Image_Transparency": 1.0, "Text_Size": 12, "Text_Color": "#E2DBD6", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 2, "SubText_Size": 12, "SubText_Color": "#E2DBD6", "SubText_Font": "RobotoCondensed-Bold.ttf", "DestroyTime - Time in seconds after which the bar will be destroyed. Leave 0 to destroy the bar when the time expires.": 0, "Progress_Transparency": 0.7, "Progress_OffsetMin": "25 2.5", "Progress_OffsetMax": "-3.5 -3.5" }, "BedStatus_Camper": { "Order": 24, "Height": 26, "Main_Color": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_Url": "https://i.imgur.com/PCGeaee.png", "Image_Local(Leave empty to use Image_Url)": "BedStatus_Camper", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": true, "Image_Color": "#FFB200", "Progress_Color": "#F79E61", "Image_Transparency": 1.0, "Text_Size": 12, "Text_Color": "#E2DBD6", "Text_Font": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "SubText_Size": 12, "SubText_Color": "#E2DBD6", "SubText_Font": "RobotoCondensed-Bold.ttf", "DestroyTime - Time in seconds after which the bar will be destroyed. Leave 0 to destroy the bar when the time expires.": 0, "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" } }, "Version": { "Major": 0, "Minor": 1, "Patch": 0 } }$3.99-
- #rust
- #sleepingbag
- (and 21 more)
-
Version 0.1.2
35 downloads
The plugin allows displaying the promo code in the status bar. Depends on AdvancedStatus plugin. P.S. The promo code is set via command. The ability to display the promo code in the status bar. The ability to specify the order of the bar; The ability to change the height of the bar; The abillity to customize the color and transparency of the background; The ability to set a material for the background; The ability to switch between CuiRawImageComponent and CuiImageComponent for the image; The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images); The abillity to set own image and customize the color and transparency of the image; The abillity to set sprite instead of the image; The ability to customize the color, size and font of the text. promostatus.admin - Provides the ability to set or delete promo code. { "Promo command": "promo", "Use GameTip for messages?": true, "Promo code": "", "Expiration date of the promo code. Example: 2023-12-22 18:53": "", "Time in seconds for displaying the promo code in the status bar": 3600, "Status. Bar - Height": 26, "Status. Bar - Order": 10, "Status. Background - Color": "#FFD33A", "Status. Background - Transparency": 0.7, "Status. Background - Material(empty to disable)": "", "Status. Image - Url": "https://i.imgur.com/q15Cmu5.png", "Status. Image - Local(Leave empty to use Image_Url)": "PromoStatus_Promo", "Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "", "Status. Image - Is raw image": false, "Status. Image - Color": "#FFD33A", "Status. Image - Transparency": 1.0, "Status. Text - Size": 12, "Status. Text - Color": "#FFFFFF", "Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Status. SubText - Size": 12, "Status. SubText - Color": "#FFFFFF", "Status. SubText - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Version": { "Major": 0, "Minor": 1, "Patch": 2 } } EN: { "MsgText": "PROMO CODE:", "MsgNotAllowed": "You do not have permissions to use this command!", "MsgAddNewPromo": "Added a new promo code {0}. Valid until {1}.", "MsgAddNewPromoFailed": "An error occurred while adding the promo code. Example: /promo \"test\" \"2024-01-13 09:29\"", "MsgAddNewPromoDateFailed": "Date must be greater than the current date!", "MsgSetNewDisplay": "New display time({0}) for the promo code has been set in the bar.", "MsgSetNewDisplayFailed": "An error occurred while setting a new display time for the promo code. Example: /promo display 3600", "MsgDeletePromo": "The promo code has been deleted!" } RU: { "MsgText": "ПРОМОКОД:", "MsgNotAllowed": "У вас недостаточно прав для использования этой команды!", "MsgAddNewPromo": "Добавлен новый промокод {0}. Действителен до {1}.", "MsgAddNewPromoFailed": "Произошла ошибка при добавлении промокода. Пример: /promo \"test\" \"2024-01-13 09:29\"", "MsgAddNewPromoDateFailed": "Дата должна быть больше текущей!", "MsgSetNewDisplay": "Установлено новое время({0}) отображения промокода в баре.", "MsgSetNewDisplayFailed": "Произошла ошибка при установки нового времени отображения промокода. Пример: /promo display 3600", "MsgDeletePromo": "Промокод был удален!" } display *time* - Sets the display time of the bar in seconds. Permission "promostatus.admin" required. delete - Deletes the promo code. Permission "promostatus.admin" required. *code* *time* - Sets a new promo code. Permission "promostatus.admin" required. Example: /promo display 360 /promo test "2023-12-25 18:53"$3.99