Jump to content

Search the Community

Showing results for tags 'time'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

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

Forums

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

Product Groups

  • Creator Services
  • Host Services
  • Memberships

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 21 results

  1. Version 0.1.17

    1,584 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
  2. Version 0.1.1

    51 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. { "Chat command": "pstatus", "Is it worth enabling GameTips for messages?": true, "Is it worth clearing saved settings for permissions and groups upon detecting a wipe?": false, "Is it worth copying local images for new permissions or groups? Note: If set to true, it may create a lot of unnecessary images": false, "Is it worth enabling the bar display for new permissions?": true, "Is it worth enabling the bar display for new groups?": true, "Language - Addition languages (except en and ru)": [ "" ], "Type of status bar for permissions. Note: You can only choose between TimeProgressCounter and TimeCounter": "TimeProgressCounter", "Type of status bar for groups. Note: You can only choose between TimeProgressCounter and TimeCounter": "TimeProgressCounter", "Default status bar settings for new permissions and groups": { "BarType - You can choose only between TimeProgressCounter and TimeCounter": "TimeProgressCounter", "Order": 20, "Height": 26, "Main_Color(Hex or RGBA)": "#FFFFFF", "Main_Transparency": 0.15, "Main_Material": "", "Image_Url": "https://i.imgur.com/BtK7YHa.png", "Image_Local(Leave empty to use Image_Url)": "PermissionsStatus_Default", "Image_Sprite(Leave empty to use Image_Local or Image_Url)": "", "Image_IsRawImage": false, "Image_Color(Hex or RGBA)": "#FFF53D", "Image_Transparency": 1.0, "Is it worth enabling an outline for the image?": false, "Image_Outline_Color(Hex or RGBA)": "0.1 0.3 0.8 0.9", "Image_Outline_Transparency": 1.0, "Image_Outline_Distance": "0.75 0.75", "Text_Size": 12, "Text_Color(Hex or RGBA)": "1 1 1 1", "Text_Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf", "Text_Offset_Horizontal": 0, "Is it worth enabling an outline for the text?": false, "Text_Outline_Color(Hex or RGBA)": "#000000", "Text_Outline_Transparency": 1.0, "Text_Outline_Distance": "0.75 0.75", "SubText_Size": 12, "SubText_Color(Hex or RGBA)": "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": 1.0, "SubText_Outline_Distance": "0.75 0.75", "Progress_Reverse": true, "Progress_Color(Hex or RGBA)": "#FFD700", "Progress_Transparency": 0.7, "Progress_OffsetMin": "0 0", "Progress_OffsetMax": "0 0" }, "Wipe ID": null, "Version": { "Major": 0, "Minor": 1, "Patch": 1 } } EN: { "MsgDisplayEnabled": "Displaying the bar is enabled!", "MsgDisplayDisabled": "Displaying the bar is disabled!", "MsgUntilWipe": "Until wipe" } RU: { "MsgDisplayEnabled": "Отображение бара включено!", "MsgDisplayDisabled": "Отображение бара выключено!", "MsgUntilWipe": "До вайпа" } 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
  3. Version 2.3.0

    32 downloads

    Provides timed/manual/disabled unlocking of workbenches. Introduction This plugin will allows the server owner to lock out any or all workbenches from being crafted until specified amounts of time have elapsed since start of wipe, or indefinitely / until manually unlocked. Also optionally supports blocking research of locked workbenches so that players can't then replicate them via industrial crafters. Supports the following notification method(s) on craft/research failure: Chat (up to once every 5 seconds), sound, toast. Tutorial Island players are exempted from lockouts, as completing that requires crafting a Level 1 Workbench. Important This plugin is based on "Timed Workbench" by DizzasTeR, but is a significant overhaul. The two plugins cannot coexist in a single server installation. The plugin will detect map wipes and will automatically refresh the workbench locks. To facilitate other forms of wiping, the server owner/maintainer may manually invoke the `twwipe` command. Permissions * `timedworkbenchunlock.skiplock` — Allows crafting workbenches regardless of lock status * `timedworkbenchunlock.admin` — Gives access to **all** commands below * `timedworkbenchunlock.broadcast` — Gives access to the `twbroadcast` command * `timedworkbenchunlock.info` — Gives access to the `twinfo` command * `timedworkbenchunlock.modify` — Gives access to the `twmodify` command * `timedworkbenchunlock.reload` — Gives access to `twreload` command * `timedworkbenchunlock.reset` — Gives access to `twreset` command * `timedworkbenchunlock.wipe` — Gives access to `twwipe` command Note: No permissions are granted automatically. Commands * `twbroadcast <value>` — Configure global status broadcast period to the specified number of seconds, or specify a non-positive number to disable * `twinfo` — Prints elapsed time since wipe, and unlock status and times for each workbench tier * `twmodify <tier> <value>` — Configure lockout for the given workbench tier, where a negative value is indefinite lockout, zero is unlocked, and a positive value is the number of seconds to unlock after start of wipe * `twreload` — Reload the config file to pick up manual changes while the server is running * `twreset` — Resets config to the default settings (**be careful with this!**) * `twwipe` — Resets the last wipe timestamp to the current time, effectively restarting the lockout timers Configuration Example config file: { "Block crafting of locked workbench(es)": true, "Block researching of locked workbench(es)": true, "Report craft failure as chat message": false, "Report craft failure as sound effect": true, "Report craft failure as toast message": true, "Global status broadcast interval in seconds (0 to disable)": 300, "Time that current wipe started (UTC)": "2024-12-10T01:05:57Z", "Workbench unlock times (seconds from start of wipe, or 0 for unlocked, or -1 for permanently locked)": [ 86400, 172800, 259200 ] } Except for detailed tweaks to wipe time, all of the config settings are modifiable via ingame comands. Credits * DizzasTeR for the original "Timed Workbench" plugin on which this is based * Umod.org documentation/forums/discord * Other plugins as examples of best practices and Oxide API usage * MrBlue for being patient with me lol * misticos for detailed feedback
    Free
  4. Version 1.3.4

    221 downloads

    Introducing Total Control, a comprehensive admin tool designed for Rust game servers. This plugin is built with a full GUI, providing an intuitive and user-friendly interface for server administrators. With Total Control, you can customize every aspect of your Rust server to create a unique gaming experience for your players. Here are some of the features that set Total Control apart: Settings Page (New!): The latest addition to Total Control, the Settings page introduces powerful options for customizing server-wide gameplay systems: Skip Night: Automatically skip night cycles or use a voting system where players can vote to skip night. Time Freeze: Freeze time to any time of the day you choose. Day and Night Settings: Configure the start and end of the day, set the percentage of votes required to pass a day skip, and adjust the delay for voting messages. You can also limit the number of nights players can skip before requiring a full night cycle. Custom Vote Command: Define the vote day command, with /day as the default. PvE/PvP Mode: Set basic PvE or PvP modes, which can be toggled on a timer, or be set to stay permanently on. PvE or PvP mode can be displayed on the player HUD. Raid Protection: Implement raid protection with the same flexible settings as the PvE/PvP modes, including timers and toggles. StackSize Page: A new addition to Total Control, the StackSize page allows you to set up multipliers for individual items or entire categories, offering greater control over item stacking in your server. Item Gather Rate Control: Customize the gather rate for every item in the game to balance resource acquisition and gameplay progression. Smelting and Cooking Control: Adjust the smelting speeds for furnaces, mixing tables, campfires, and oil refineries. You can also control the charcoal output amount, the cooked output amount, and the amount of fuel used. Reward System: Set up rewards for various in-game actions such as killing scientists, and players, or picking up or mining different items. Rewards can be given in the form of economics (if the Economics plugin is installed) or server rewards (if the ServerRewards plugin is installed) or even scrap. Bradley APC and Patrol Heli Rewards: Players can be rewarded for dealing damage to or destroying the Bradley APC and Patrol Heli. There’s also a setting to divide the loot among all players who dealt damage or give all the loot to the player who deals the final blow. Total Control allows you to create a Rust server tailored to your community’s playstyle. Whether you’re looking to create a hardcore survival experience or a more casual, resource-rich environment, Total Control gives you the tools to make it happen. Accessible In-Game: One of the key features of Total Control is its accessibility. Any admin with the correct permissions can alter any settings directly in the game, even if they don’t have access to server files. Simply open the UI using the /tc command and change any settings as needed. Permissions: TotalControl.OpenGui To allow access to the Ui for admin. Chat Commands: /tc To Open the Ui for any player with the correct permission
    $20.00
  5. Version 0.1.1

    176 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, an exact expiration date or until the wipe occurs; The ability to add players to temporary groups by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to grant groups temporary permissions by specifying either the number of seconds, an exact expiration date or until the wipe occurs; The ability to revoke temporary permissions from players and groups prematurely; The ability to remove players from groups prematurely; The ability to perform all the above actions using existing and familiar console commands(e.g., o.grant), simply by adding the number of seconds, the expiration date or the word "wipe" at the end; The ability to perform all the above actions using a chat command (by default /tperm); The ability to perform all the above actions using API methods; The ability to remove all temporary permissions and groups upon wipe detection. temporarypermissions.admin - Grants access to the chat command(by default /tperm). { "Chat command": "tperm", "Interval in seconds for expiration check": 1.0, "Interval in seconds for checking the presence of temporary permissions and temporary groups. There are cases where removal cannot be tracked in the usual way. A value of 0 disables the check": 600.0, "Is it worth restoring removed temporary permissions and temporary groups if the timer hasn't expired?": true, "Is it worth removing temporary permissions and temporary groups when unloading the plugin?": 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": 1 } } 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 wipe - Grants a temporary permission to a player until the next wipe by specifying the player's name or Id, the permission name and the word "wipe"; *NameOrId* realpve.vip 3600 true/false - Grants a temporary permission to a player by specifying the player's name or Id, the permission name, the number of seconds and true/false(optional). If 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 wipe - Grants a temporary permission to a group until the next wipe by specifying the group's name, the permission name and the word "wipe"; *GroupName* realpve.vip 3600 true/false - Grants a temporary permission to a group by specifying the group's name, the permission name, the number of seconds, and true/false(optional). If 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* wipe - Temporary addition of a player to a group until the next wipe by specifying the player's name or Id, the group name and the word "wipe"; *NameOrId* *GroupName* 3600 true/false - Temporary addition of a player to a group by specifying the player's name or Id, the group name, the number of seconds, and true/false(optional). If true, the specified seconds will count from the current moment, otherwise(default), they will be added to the existing time; *NameOrId* *GroupName* "2024-08-19 17:57" "2024-08-19 16:57" - Temporary addition of a player to a group by specifying the player's name or Id, the group name, the expiration date and the assigned date(optional). If not specified, the assigned date will default to the current date, otherwise, it will be set to the provided date. remove *NameOrId* *GroupName* - Removal of a player from a temporary group by specifying the player's name or Id and the group name. Example: /tperm grant user iiiaka realpve.vip wipe /tperm grant user iiiaka realpve.vip 3600 true /tperm grant user iiiaka realpve.vip "2024-08-19 17:57" "2024-08-19 16:57" 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(VersionNumber version = default) { 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 28 methods: IsReady User's Permissions: GrantUserPermission RevokeUserPermission UserHasPermission GrantActiveUsersPermission GrantAllUsersPermission RevokeActiveUsersPermission RevokeAllUsersPermission UserGetAllPermissions ActiveUsersGetAllPermissions AllUsersGetAllPermissions User's Groups: AddUserGroup RemoveUserGroup UserHasGroup AddActiveUsersGroup AddAllUsersGroup RemoveActiveUsersGroup RemoveAllUsersGroup UserGetAllGroups ActiveUsersGetAllGroups AllUsersGetAllGroups Group's Permissions: GrantGroupPermission RevokeGroupPermission GroupHasPermission GrantAllGroupsPermission RevokeAllGroupsPermission GroupGetAllPermissions AllGroupsGetAllPermissions 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, 3 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 - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <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");//Calling the GrantUserPermission method without specifying the third parameter, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantUserPermission", player.UserIDString, "realpve.vip", 0);//Calling the GrantUserPermission method with the specified number less than 1, to grant temporary permission until the wipe. (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, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <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");// Calling the GrantActiveUsersPermission method without specifying the second parameter, to grant all online players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantActiveUsersPermission", "realpve.vip", 0);//Calling the GrantActiveUsersPermission method with the specified number less than 1, to grant all online players temporary permission until the wipe. (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, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <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");//Calling the GrantAllUsersPermission method without specifying the second parameter, to grant all players temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllUsersPermission", "realpve.vip", 0);//Calling the GrantAllUsersPermission method with the specified number less than 1, to grant all players temporary permission until the wipe. (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. If the expiration date is set to default, it means the permission is valid until the wipe. To call the UserGetAllPermissions method, you need to pass 1 parameter: <string>playerID - The player's Id. (Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllPermissions", player.UserIDString); ActiveUsersGetAllPermissions: Used to retrieve all temporary permissions of all online players who have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another 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. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("ActiveUsersGetAllPermissions"); AllUsersGetAllPermissions: Used to retrieve all temporary permissions of all players who have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another 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. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllUsersGetAllPermissions"); 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, 3 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 - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <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");//Calling the AddUserGroup method without specifying the third parameter to temporarily add a player, to a group until the wipe. (bool)TemporaryPermissions?.Call("AddUserGroup", player.UserIDString, "vip", 0);//Calling the AddUserGroup method with the specified number less than 1, to temporarily add a player to a group until the wipe. (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, 2 of which is optional: <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <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");//Calling the AddActiveUsersGroup method without specifying the second parameter to temporarily add all online players to a group until the wipe. (int)TemporaryPermissions?.Call("AddActiveUsersGroup", "vip", 0);//Calling the AddActiveUsersGroup method with the specified number less than 1, to temporarily add all online players to a group until the wipe. (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, 2 of which is optional: <string>groupName - The name of the group; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the group will be valid until the wipe; <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");//Calling the AddAllUsersGroup method without specifying the second parameter to temporarily add all players to a group until the wipe. (int)TemporaryPermissions?.Call("AddAllUsersGroup", "vip", 0);//Calling the AddAllUsersGroup method with the specified number less than 1, to temporarily add all players to a group until the wipe. (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 DateTimes: the first date is the assignment date and the second date is the expiration date of the group. If the expiration date is set to default, it means the group is valid until the wipe. 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); ActiveUsersGetAllGroups: Used to retrieve all temporary groups of all online players who have temporary groups. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the group 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 group. If the expiration date is set to default, it means the group is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("ActiveUsersGetAllGroups"); AllUsersGetAllGroups: Used to retrieve all temporary groups of all players who have temporary groups. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is userID and the value is another Dictionary<string, DateTime[]>, where the key is the group 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 group. If the expiration date is set to default, it means the group is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllUsersGetAllGroups"); 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, 3 of which are optional: <string>groupName - The name of the group; <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <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");//Calling the GrantGroupPermission method without specifying the third parameter, to grant temporary permission until the wipe. (bool)TemporaryPermissions?.Call("GrantGroupPermission", "vip", "realpve.vip", 0);//Calling the GrantGroupPermission method with the specified number less than 1, to grant temporary permission until the wipe. (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, 2 of which is optional: <string>permName - The name of the permission; <int>secondsToAdd or <DateTime>expireDate - Optional. The time in seconds to add, or the end date. If a number less than 1 is specified, or if this parameter is not specified, the permission will be valid until the wipe; <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");//Calling the GrantAllGroupsPermission method without specifying the second parameter, to grant all groups temporary permission until the wipe. (int)TemporaryPermissions?.Call("GrantAllGroupsPermission", "realpve.vip", 0);//Calling the GrantAllGroupsPermission method with the specified number less than 1, to grant all groups temporary permission until the wipe. (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. If the expiration date is set to default, it means the permission is valid until the wipe. 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"); AllGroupsGetAllPermissions: Used to retrieve all temporary permissions of all groups that have temporary permissions. Returns a Dictionary<string, Dictionary<string, DateTime[]>> where the key is the group name and the value is another 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. If the expiration date is set to default, it means the permission is valid until the wipe. (Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllGroupsGetAllPermissions");
    Free
  6. Iftebinjan

    SimplePVE

    Version 1.2.6

    1,779 downloads

    SimplePVE is exactly what it says. An easy simple PVE plugin for your server to modify or change PVE rules individually & now also have a Simple Cui to control PVE rules and Create or edit Schedules. Control PVE Rules from in-game or in the config Easy to understand each individual Rules Create PVP Schedules Discord Embed Messages on PurgeStart or End Many more features are added every update • /simplepve - Use to enable or disable pve toggle • /sprules - Use to Open a Cui to control PVE Rules & Creating Schedules • simplepve.admin - Required to enable or disable SimplePVE • simplepve.adminloot - Required to view Loots • simplepve.admindamage - Required for Admin damages to any entity void OnSPVEPurgeStarted void OnSPVEPurgeEnded TimeSpan GetPVPStartTimeRemaining TimeSpan GetPVPEndTimeRemaining Check Out My Other plugins as Well
    $14.99
  7. Version 1.2.1

    49 downloads

    Video : https://streamable.com/b7vypr Features : - Randomized loot respawn intervals, configurable for each monument. Example: "launch site": "5-10" (in seconds) - Default respawn time is set between 30-60 minutes but can be fully adjusted through the configuration. - Automatically removes monuments that no longer exist after a server wipe, keeping the configuration clean and up-to-date. - Easy customization of allowed crates: You can add new crates to the configuration by modifying the AllowedCrates list in the config file For example : "allowed_crates": [ "crate_elite", "crate_normal", "crate_normal_2", "barrel", "card_green", "card_red", "card_blue" ], Additional Settings : "Direct container removal without dropping loot": false, "Enable When Player Dont Finish Looting Containers Will Drop Loot On Ground": true,
    $19.99
  8. Version 1.0.0

    8 downloads

    Records playtime, with option to separately record AFK time. Includes a reward system to give players points/money/cash for time played or by referring other players to your server. You can also create custom permissions to give VIP players point multipliers either by using the commands or by simply adding in more config options manually. Features: Discord Logging with a simple discord webhook. Last wipe data saving. Currencies. Afk & active tracking. Permissions. Multipliers. UI Leader Board. Cmds. Recommended Rust Settings Due to ImageLibary's cache avatar feature being broke I have coded in my own method to manually have ImageLibrary cache them.. For rust you will need ImageLibrary installed for the avatar images to work. Enable the Avatar Image Patch": true , And throw in your steam API Key " ", Permissions playtimerewards.admin -- Allows players to use ptr command Chat Commands /playtime -- Displays your name and your playtime /playtime Khan -- Display the playtime for the specified player /playtime top -- Display the top 10 play times in chat /playtime lastwipe -- Displays the last time the data was wiped /pt -- Brings up the Rust only UI Leader Board System Admin Commands playtimerewards.admin -- Requires the admin permissions to use /ptr add vip 10 -- Adds a new custom permission with multiplier value /ptr remove vip -- Removes a custom permission /ptr list -- Shows all available permissions Note: Permissions will automatically be prefixed with playtimerewards. Reward System The reward system can be used to issue currency to players based on their playtime. It has 2 reward style plugins to handle them. Permission System The permission system is there to give VIP players a multiplier for the rewards they are issued. The amount of points will be the default amount set in the config, multiplied by the number you set in the permission. For example, if you create a permission called "playtimerewards.vip" with a value of 1.5, and the amount of points is 5 (default amount), the user will get 7.5 points when issued a reward for playtime Referral System The referral system is simple. PlayerA invites PlayerB to the server. For the reward to be Deposited PlayerB simply has to type '/refer PlayerA'. Once he/she has done this PlayerA will be given points for inviting a player and PlayerB will be given points for joining from a referral Referred Player B Joined Server, Deposit Amount": 3, Referral Invite Sent Deposit Amount, After player B has joined is": 5, Once PlayerB has registered his/her referral they can never use the system again, however they can invite as many players as they want to claim referral rewards Developer API double? FetchPlayTime(string playerid) // Returns double playtime in seconds, or null if no data found double? FetchAfkTime(string playerid) // Returns double AFK time in seconds, or null if no data found int? FetchReferral(string playerid) // Returns int number of referrals, or null if no data found Configuration The settings and options can be configured in the PlayTimeRewards file under the config directory. The use of an editor and validator is recommended to avoid formatting issues and syntax errors. { { "1. Don't Edit This": { "LastWipe": "2021-05-29 19:05:14Z", "WasWiped": false, "WipeTime": "2021-05-29 19:05:14Z" }, "2. Discord Settings": { "1. Enable Discord Logging": false, "2. Discord Web Hook Url": "", "3. Embed Message Color": "#483D8B", "4. Include Plugin Image Name in discord messages": true, "5. Discord Plugin Image": "https://assets.umod.org/images/icons/plugin/60b0e6d6c8900.png", "6. Discord Plugin Name": "PlayTimeRewards" }, "3. Track Settings": { "1. Sets the Save Interval Timer": 15, "2. Enable Afk Time Tracking": true, "3. Enable Avatar Image Patch": true, "4. Avatar Image Patch Requires Steam API Key": "", "5. Ignore Specified Oxide Groups from getting rewards": [ "admin" ] }, "4. Reward Settings": { "1. Enable Rewards": true, "2. Use ServerRewards": false, "3. Use Economics": true, "4. Use Cash System": false, "Cash System Currency": "$", "5. Enable Referrals": true, "6. Enable Earning By Referrals": true, "7. Send Deposit Response": true, "8. PlayTime Deposit Timer": 3600, "9. PlayTime Deposit Amount": 5, "10. Referred Player Joined Deposit Amount": 3, "11. Referral Invite Sent Deposit Amount": 5 }, "5. Permission Multipliers": { "Multiplyer": 1.0, "SetPermission": "" } } Localization The default messages are in the PlayTimeRewards file under the lang/en directory. To add support for another language, create a new language folder (e.g. de for German) if not already created, copy the default language file to the new folder and then customize the messages. { "mia": "Unable to find player number or name {0} \n Try there display-name instead.", "playeraccepted": "Your referral has been accepted", "playerread": "{0} has acknowledged a referral from you", "playeraccepteddeposit": "Your referral has been accepted and you have received {0} points", "playeracceptedplayersreferaldeposit": "{0} has acknowledged a referral from you and you have received {1} points", "self": "You can not refer yourself!", "alreadydid": "You have already acknowledged a referral", "refsyntax": "/refer <playername> - Acknowledge a referral from <playername>", "permmultiplier": "permission | multiplier", "notaperm": "The permission {0} does not exist", "permremoved": "You have successfully removed the permission {0}", "missingvalue": "You must enter a multiplier", "alreadyperm": "The permission '{0}' already exists", "permadded": "You have successfully created a new reward multiplier. Permission: {0}, Multiplier {1}", "ptr": "Create custom permissions with reward multipliers for VIP players", "add": "/ptr add <permissionname> <multiplier> - Adds a new reward multiplier", "remove": "/ptr remove <permissionname> - Removes reward multiplier", "list": "/ptr list - List available permissions and their multipliers", "list1": "Permission {0}, multiplier {1} \n", "typo": "Unable to get your playtime", "natime": "Unable to get that players playtime", "sr": "RP", "economics": "Coins", "cash": "Cash", "cashsystem": "custom", "deposit": "{0} {1} have been deposited to your account!", "toptime": "Top Playtimes: ", "topscore": "You can see the top scoring playtimes by typing \n \"/playtime top (optional:number 1, 22, etc)\"", "lastwipe": "{0} Last wipe was {1}" }
    $14.99
  9. Version 1.3.7

    1,372 downloads

    Features: Setting up safe and raid times 6 variations of GUI display for players Ability to configure blocked activities during safe time Ability to set the time for the day of the week (Used by default), and for a specific date Flexible and intuitive plugin settings Real-time UI(Has 6 variations) with date, time and raid/safe time info. A menu where players can find out the safe and raid times for any given day Convenient in-game menu for plugin settings You can set safe days after wipe How to open setup RTM UI Default command for open setup RTM UI: /rtm Configuration: { "Command for open Raid Time Managment UI": "rtm", "Timezone(Difference between UTC and your time)": 60, "Time format for UI(True - 24H format, False - 12H format)": false, "Display UI": true, "Enable Alerts": true, "Allow players to close the UI": true, "[RaidableBases] Allow raiding RB bases in SafeTime": true, "[TruePVE] Safe Time RuleSet": "default", "[TruePVE] Raid Time RuleSet": "default", "[ZoneManager] The plugin will work on entities in the zones": "DISABLED", "[ZoneManager] Zone ID List": [], "UI Position": "UPPER_LEFT", "NPP amount": 0, "Block only offline raids": true, "Add safe days after wipe": 1, "Commands to be executed when raid time starts": [], "Commands to be executed when safe time starts": [], "Forbidden actions during the blocking of the raid": { "Default Raid By Player": true, "Damage Own Buildings": false, "Raid By Patrol Helicopter": true, "Raid By MLRS": true, "Using Ladders In Building Block": true, "Damage By Fire": true, "Build Ceiling In Building Block": true, "Build Turrets In 2x Building Block Radius": true, "Break down twig buildings": false }, "List of prefabs that can always be damaged": [], "Manage raids by day of the week (Used by default)": { "Monday": [ { "Start Raid Block(Hours)": 18, "Start Raid Block(Minutes)": 0, "Stop Raid Block(Hours)": 22, "Stop Raid Block(Minutes)": 0 } ], "Tuesday": [ { "Start Raid Block(Hours)": 14, "Start Raid Block(Minutes)": 0, "Stop Raid Block(Hours)": 22, "Stop Raid Block(Minutes)": 0 } ], "Wednesday": [ { "Start Raid Block(Hours)": 18, "Start Raid Block(Minutes)": 0, "Stop Raid Block(Hours)": 22, "Stop Raid Block(Minutes)": 0 } ], "Thursday": [ { "Start Raid Block(Hours)": 18, "Start Raid Block(Minutes)": 0, "Stop Raid Block(Hours)": 22, "Stop Raid Block(Minutes)": 0 } ], "Friday": [ { "Start Raid Block(Hours)": 18, "Start Raid Block(Minutes)": 0, "Stop Raid Block(Hours)": 22, "Stop Raid Block(Minutes)": 0 } ], "Saturday": [ { "Start Raid Block(Hours)": 10, "Start Raid Block(Minutes)": 0, "Stop Raid Block(Hours)": 22, "Stop Raid Block(Minutes)": 0 } ], "Sunday": [ { "Start Raid Block(Hours)": 8, "Start Raid Block(Minutes)": 0, "Stop Raid Block(Hours)": 22, "Stop Raid Block(Minutes)": 0 } ] }, "Raid management for specific days(Takes precedence over raid management by day of the week)": {} } Explanation of some options: "Default Raid by Player" : players will be able to use items for the raid Lang: { "UI_ALERT": "ALERT", "UI_TURRETBLOCK": "You cannot place turrets in double TC radius during safe time", "UI_LADDERBLOCK": "You may not place ladders in a Building Block during safe times.", "UI_CEILINGBLOCK": "You cannot place ceilings in the Building Block during safe times.", "UI_CANDAMAGE": "You cannot damage other people's buildings during safe times", "UI_CANDAMAGEOWN": "You cannot damage own buildings during safe times", "UI_START_RAID_TIME": "Raid time has begun! All restrictions removed", "UI_STOP_RAID_TIME": "The raid time is over. Restrictions are in effect!", "CM_CLOSE_HUD": "You closed the RTM HUD, to open it again use the /rtm hud command", "UI_RAIDTIMESCHEDULE": "RAID TIME SCHEDULE", "UI_SAFE_TIME": "Safe Time", "UI_RAID_TIME": "Raid Time", "UI_Monday": "Monday", "UI_Tuesday": "Tuesday", "UI_Wednesday": "Wednesday", "UI_Friday": "Friday", "UI_Saturday": "Saturday", "UI_Sunday": "Sunday", "UI_AM": "AM", "UI_PM": "PM", "UI_January": "January", "UI_February": "February", "UI_March": "March", "UI_April": "April", "UI_May": "May", "UI_June": "June", "UI_July": "July", "UI_August": "August", "UI_September": "September", "UI_October": "October", "UI_November": "November", "UI_December": "December", "UI_Thursday": "Thursday" }
    $14.99
  10. Version 0.1.4

    234 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
  11. IIIaKa

    Wipe Status

    Version 0.1.6

    469 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
  12. Version 1.0.3

    25 downloads

    Change the speed, fuel time and resource gained from all quarries and the giant excavator with a simple config. Works with GatherManager. Chat commands (admin only): /qc.data - Displays in chat the values for each of the quarries Config: You can easily configure each quarry type separately: Fuel time - How long does a diesel last (in seconds) Resource tickrate - How often resources are added to the output container (in seconds) Amount of resources - Total amount of resources from each diesel. A value of 1000 means it makes the same amount as vanilla. Changing this value to 2000 means it makes 2 times as much as vanilla, or 500 means half as much as vanilla. (example: in vanilla 1 diesel = 50 hqm at the HQM quarry. Setting the value to 2000 gives you 100 hqm for each diesel, and a value of 500 gives 25 hqm for each diesel. Note: Any GatherManager multipliers are multiplied on top of this setting Excavator fuel time - How long a diesel last for the giant excavator (in seconds) Excavator resource tickrate - How often resources are added to the output container for the giant excavator (in seconds) Excavator resource multiplier - Multiplies the output resource with this value. Note: This multiplier and GatherManager multiplier will stack (if "Use excavator settings if GatherManager exists" is set to true) Use excavator settings if GatherManager exists - If GatherManager is loaded (or reloaded) and this setting is true, it will override GatherManager excavator settings. Note: GatherManager still modifies the output as normal Default config (vanilla values): { "Stone Quarry": { "Fuel time per diesel (seconds)": 120.0, "Resource tickrate (seconds)": 5.0, "Amount of resources per diesel (1000 = vanilla)": 1000.0 }, "Sulfur Quarry": { "Fuel time per diesel (seconds)": 120.0, "Resource tickrate (seconds)": 5.0, "Amount of resources per diesel (1000 = vanilla)": 1000.0 }, "High quality metal Quarry": { "Fuel time per diesel (seconds)": 120.0, "Resource tickrate (seconds)": 5.0, "Amount of resources per diesel (1000 = vanilla)": 1000.0 }, "Pumpjack": { "Fuel time per diesel (seconds)": 120.0, "Resource tickrate (seconds)": 5.0, "Amount of resources per diesel (1000 = vanilla)": 1000.0 }, "Excavator": { "Excavator fuel time per diesel (seconds)": 120.0, "Excavator resource tickrate": 3.0, "Excavator resource multiplier": { "Stone": 1.0, "Sulfur": 1.0, "Metal fragments": 1.0, "High quality metal": 1.0 } }, "Use excavator settings if GatherManager exists": true }
    $7.99
  13. Horse

    SimpleHUD

    Version 1.0.0

    182 downloads

    This plugin adds an extremely simple (non-invasive) ingame hud to the top right of your screen. /showhud - enable/disable the ingame hud (client-side, will only affect player that runs the command) I plan on updating and adding to this over time so feel free to make suggestions!
    Free
  14. Version 1.2.5

    791 downloads

    Description : This plugin allows you to have a graphical interface on your servers which will then give you information on the number of players, my not only that, all that in real time Editor : https://hud-panel.foudugame360.com/ Requires : ImageLibrary Compatible : TimedPermissions Economics TruePVE ServerRewards ZoneManager BuildCost UI Panel function : An ON/OFF button on the panel. A store button/Kits/Info/... An online player counter. An sleeping player counter. An player counter. A clock that gives the time of the match. A dial that gives the player balance. A dial that gives PVP/PVE information. A dial that indicates the time of a leave. A dial that displays your messages. A counter that gives the distance between you and your point. A dial that shows the player’s position on the map in real time. A dial that gives the server’s fps. An icon for the cargo plane event. An icon for freight events. An icon for ch47 events. An icon for attack helicopter events. An icon for tank events. An icon for your custom events via ( hook). Time format : file : /oxide/lang/en/HUDPanel.json for 12h format "Time_Format": "hh:mm tt", for 24h format "Time_Format": "HH:mm", https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1 Themes : HUD BASIC CUBE TRIANGLE Icon ID : Contents : - HUDPanel.cs Install : rust\oxide\plugins\HUDPanel.cs Config : rust\oxide\config\HUDPanel.json { "Scan current map events on reload": true, "Chat command to show/disappear the HUDPanel": "h", "Anti Freeze Server Fps Limit": 15, "Change the overall size of the HUD Panel (30 - 100) Default 48": 48, "Width between icon": 18, "Change the sound of the On/Off button": "assets/prefabs/locks/keypad/effects/lock.code.lock.prefab", "Type the coordinate ( X: 1000 | Z: 1000 : 0 ), ( map : A1 : 1 ), ( Auto : 2 )": 2, "List Messages": { "Messages": { "On/Off (true/false)": true, "How long until the next message": 10, "Messages": [ "Messages 1", "Messages 2", "Messages 3" ], "The order the icon should place": 0, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "CenterTop", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#3f51b5", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 2.1, "Icon ID": "Messages", "URL Custom": null }, "Swich OFF": null, "Position of text in the logo": "20 0 -1 0", "Width BAR SIZE : 1 - 15": 8 } }, "Timed Permissions: Edit 'vip_*' ( Permissions / Groups )": { "vip_1": { "On/Off (true/false)": true, "Reload delay": 5, "Commands (leave blank to disable)": null, "The order the icon should place": 0, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "CenterTop", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff9800", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.5, "Icon ID": "Vip_3", "URL Custom": null }, "Swich OFF": null, "Position of text in the logo": "20 0 -1 0", "Width BAR SIZE : 1 - 15": 7 }, "demo": { "On/Off (true/false)": true, "Reload delay": 5, "Commands (leave blank to disable)": null, "The order the icon should place": 0, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "CenterBottom", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff9800", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.5, "Icon ID": "Vip_1", "URL Custom": null }, "Swich OFF": null, "Position of text in the logo": "20 0 -2 0", "Width BAR SIZE : 1 - 15": 7 } }, "Custom events": { "Sputnik": { "On/Off (true/false)": true, "The order the icon should place": 5, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": "OnSputnikEventStart", "On Event End ( Hook )": "OnSputnikEventStop", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff8100", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.4, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.6, "Icon ID": "Sputnik", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#000000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 1.6, "Icon ID": "Sputnik", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 }, "Convoy": { "On/Off (true/false)": true, "The order the icon should place": 6, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": "OnConvoyStart", "On Event End ( Hook )": "OnConvoyEnd", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff8100", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.4, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.6, "Icon ID": "Convoy", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#000000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 1.6, "Icon ID": "Convoy", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 }, "ArmoredTrain": { "On/Off (true/false)": true, "The order the icon should place": 7, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": "OnArmoredTrainEventStart", "On Event End ( Hook )": "OnArmoredTrainEventStop", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff8100", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.4, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.6, "Icon ID": "Train", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#000000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 1.6, "Icon ID": "Train", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 }, "Harbor": { "On/Off (true/false)": true, "The order the icon should place": 8, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": "OnHarborEventStart", "On Event End ( Hook )": "OnHarborEventEnd", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff8100", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.4, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 2.0, "Icon ID": "Harbor", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#000000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 2.0, "Icon ID": "Harbor", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 } }, "Default events": { "Patrol": { "On/Off (true/false)": true, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "Position of text in the logo": "20 0 -1 0", "The order the icon should place": 2, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": null, "On Event End ( Hook )": null, "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.6, "Icon ID": "Patrol", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 1.6, "Icon ID": "Patrol", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 }, "Ch47": { "On/Off (true/false)": true, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "Position of text in the logo": "20 0 -1 0", "The order the icon should place": 3, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": null, "On Event End ( Hook )": null, "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Ch-47", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Ch-47", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 }, "Plane": { "On/Off (true/false)": true, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "Position of text in the logo": "20 0 -1 0", "The order the icon should place": 10, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": null, "On Event End ( Hook )": null, "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#007f00", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Plane", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Plane", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 2 }, "Cargo": { "On/Off (true/false)": true, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "Position of text in the logo": "20 0 -1 0", "The order the icon should place": 4, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": null, "On Event End ( Hook )": null, "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#007f00", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.5, "Icon ID": "Cargo", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 1.5, "Icon ID": "Cargo", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 }, "BradleyAPC": { "On/Off (true/false)": true, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "Position of text in the logo": "20 0 -1 0", "The order the icon should place": 1, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "On Event start ( Hook )": null, "On Event End ( Hook )": null, "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.4, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.4, "Icon ID": "BradleyAPC", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 0.0, "Opacity 3": 0.1, "Opacity icon": 1.0, "Enlarge icon": 1.4, "Icon ID": "BradleyAPC", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 } }, "Information frame": { "Power": { "On/Off (true/false)": true, "Reload delay": 0, "Commands (leave blank to disable)": null, "The order the icon should place": 1, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "LeftTop", "Position of text in the logo": "0 0 0 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#007f00", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Power", "URL Custom": null }, "Swich OFF": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Power", "URL Custom": null }, "Width BAR SIZE : 1 - 15": 1 }, "Players": { "On/Off (true/false)": true, "Reload delay": 1, "Commands (leave blank to disable)": null, "The order the icon should place": 2, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "LeftTop", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#3d3d44", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Players", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 3 }, "Sleep": { "On/Off (true/false)": true, "Reload delay": 2, "Commands (leave blank to disable)": null, "The order the icon should place": 3, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "LeftTop", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff8100", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Sleep", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 2 }, "Joining": { "On/Off (true/false)": true, "Reload delay": 1, "Commands (leave blank to disable)": null, "The order the icon should place": 4, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "LeftTop", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0000", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Joining", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 2 }, "Times": { "On/Off (true/false)": true, "Reload delay": 5, "Commands (leave blank to disable)": null, "The order the icon should place": 5, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "LeftTop", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#00a7c2", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Times", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 2 }, "ServerRewards": { "On/Off (true/false)": true, "Reload delay": 3, "Commands (leave blank to disable)": null, "The order the icon should place": 1, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightBottom", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff5722", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "ServerRewards", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 5 }, "Economics": { "On/Off (true/false)": true, "Reload delay": 0, "Commands (leave blank to disable)": null, "The order the icon should place": 6, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "LeftTop", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#007f00", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Economics", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 5 }, "FPS": { "On/Off (true/false)": true, "Reload delay": 1, "Commands (leave blank to disable)": null, "The order the icon should place": 2, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "LeftBottom", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0066", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "FPS", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 2 }, "PvpPve": { "On/Off (true/false)": true, "Reload delay": 10, "Commands (leave blank to disable)": null, "The order the icon should place": 1, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "LeftBottom", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#ff0066", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "PvpPve", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 3 }, "Coordinate": { "On/Off (true/false)": false, "Reload delay": 3, "Commands (leave blank to disable)": null, "The order the icon should place": 5, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightTop", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#006bc3", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "Coordinate", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 6 }, "MarkerPos": { "On/Off (true/false)": true, "Reload delay": 1, "Commands (leave blank to disable)": null, "The order the icon should place": 2, "Change text alignment": 4, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "RightBottom", "Position of text in the logo": "20 0 -1 0", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#feab00", "Color 3": null, "Color Icon": "#ffffff", "Opacity 1": 0.3, "Opacity 2": 1.0, "Opacity 3": 0.0, "Opacity icon": 1.0, "Enlarge icon": 1.8, "Icon ID": "MarkerPos", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 2 } }, "Button Custom": { "Shop": { "On/Off (true/false)": true, "Commands (leave blank to disable)": "shop", "The order the icon should place": 6, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "Position of text in the logo": "20 0 -1 0", "Change text alignment": 4, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "CenterBottom", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#000000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.4, "Opacity 2": 0.4, "Opacity 3": 1.0, "Opacity icon": 0.9, "Enlarge icon": 1.7, "Icon ID": "Shop", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 2 }, "Kits": { "On/Off (true/false)": true, "Commands (leave blank to disable)": "chat.say /kit", "The order the icon should place": 6, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "Position of text in the logo": "20 0 -1 0", "Change text alignment": 4, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "CenterBottom", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#000000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.4, "Opacity 2": 0.4, "Opacity 3": 1.0, "Opacity icon": 0.9, "Enlarge icon": 1.7, "Icon ID": "Kits", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 2 }, "Info": { "On/Off (true/false)": true, "Commands (leave blank to disable)": "chat.say /info", "The order the icon should place": 6, "Text size": 11, "Text fonts ( 0 - 3 )": 0, "Color Text ( HEX )": "#ffffff", "Position of text in the logo": "20 0 -1 0", "Change text alignment": 4, "The position on the screen that the icon should be ( LeftTop, CenterTop, RightTop, LeftBottom, CenterBottom, RightBottom)": "CenterBottom", "Swich On": { "Themes ( HUD - BASIC - CUBE - TRIANGLE )": "HUD", "Color 1": "#000000", "Color 2": "#000000", "Color 3": "#ffffff", "Color Icon": "#ffffff", "Opacity 1": 0.4, "Opacity 2": 0.4, "Opacity 3": 1.0, "Opacity icon": 0.9, "Enlarge icon": 1.9, "Icon ID": "Info", "URL Custom": null }, "Swich OFF": null, "Width BAR SIZE : 1 - 15": 1 } } }
    $12.99
  15. botjason

    Always Day

    Version 1.0.0

    48 downloads

    The "AlwaysDay" plugin ensures that your Rust server remains perpetually in daylight. Ideal for maintaining a consistent experience for players or for specific events where continuous daylight is desired. Features- Constant Daylight: Keeps your server in daylight by setting the in-game time to a specified hour. Configurable Time: Adjust the exact time of day through an easy-to-use configuration file. Default is noon (12:00). Automatic Updates: Periodically resets the time to ensure it remains as configured, regardless of in-game events or server restarts. Configuration- The plugin uses a configuration file named AlwaysDay.json. By default, the server time is set to 12:00. This can be adjusted by modifying the Time setting in the configuration file. Valid values are between 0 and 24. Support Server- https://discord.gg/2pFh8CGCCE
    Free
  16. Horse

    Time Check

    Version 2.0

    4 downloads

    Time Check automatically outputs the ingame time as well as real-time minutes until next day/night. Set interval via config file (default every 30m)
    $1.99
  17. kasvoton

    Scheduler

    Version 1.1.1

    192 downloads

    SAVE 13% WHEN BUYING THE BUNDLE This plugin will allow you to run console commands at any given schedule. The syntax was inspired on the Unix's crontab format but ported to json for easy of use. Below you'll find some examples.. but sky is the limit. ┌───────────── minute (0 - 59) │ ┌───────────── hour (0 - 23) │ │ ┌───────────── day of the month (1 - 31) │ │ │ ┌───────────── month (1 - 12) │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday); │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * * * * * <command to execute> { "Minute": "*", "Hour": "*", "Day": "*", "Month": "*", "DoW": "*", "Command": "ai.sleepwakestats" } New features "@forced" and "!forced" to be used on the Command field as conditionals: /* * > minute = 15, hour = 19, DoW = 4, command = @forced restart 60 * > minute = 15, hour = 12, DoW = 4, command = !forced restart 900 * > The special keys "@forced" and "!forced" will allow you to execute commands * > only of forced wipe days or only on non forced wipe days. This example will * > restart the server every thursday at 12:15 except forced wipe days were it * > will only execute at 19:15. */ New features "@wipe" and "!wipe" to be used on the Command field as conditionals: /* * > minute = @restart, command = @wipe my_command * > minute = @restart, command = !wipe my_other_command * > The special keys "@wipe" and "!wipe" will allow you to execute commands * > only if the map was wiped. This example will execute my_command on server * > restart if the map was wiped otherwise will execute my_other_command. */ Execute the command "ai.sleepwakestats" every 3m: { "Minute": "*/3", "Hour": "*", "Day": "*", "Month": "*", "DoW": "*", "Command": "ai.sleepwakestats" }, Execute the command "status" at 15m of every hour: { "Minute": "15", "Hour": "*", "Day": "*", "Month": "*", "DoW": "*", "Command": "status" }, Restart the server every day at 6:45: { "Minute": "45", "Hour": "6", "Day": "*", "Month": "*", "DoW": "4", "Command": "restart 60" }, Have a specific plugin running only during the weekends: { "Minute": "0", "Hour": "0", "Day": "*", "Month": "*", "DoW": "6", "Command": "oxide.load MyWeekEndPlugin" }, { "Minute": "0", "Hour": "0", "Day": "*", "Month": "*", "DoW": "1", "Command": "oxide.unload MyWeekEndPlugin" } Execute the command "oxide.version" every Tuesday between 10:15 to 10:25: { "Minute": "15-25", "Hour": "10", "Day": "*", "Month": "*", "DoW": "3", "Command": "oxide.version" } Sets the fps limit to 30 at every server restart: { "Minute": "@restart", "Hour": "*", "Day": "*", "Month": "*", "DoW": "*", "Command": "fps.limit 30" } Keeps the plugin MyWeekEndPlugin unloaded during weekend restarts: { "Minute": "@restart", "Hour": "*", "Day": "*", "Month": "*", "DoW": "1", "Command": "oxide.unload MyWeekEndPlugin" }, { "Minute": "@restart", "Hour": "*", "Day": "*", "Month": "*", "DoW": "6", "Command": "oxide.unload MyWeekEndPlugin" }
    $4.99
  18. kasvoton

    Clock

    Version 1.3.1

    585 downloads

    This is a dead simple, non-intrusive, HUD based clock which shows in-game time. This plugin has little to none performance impact, even when shorter nights are enabled on the server. No configuration required.
    Free
  19. Version 1.1.3

    166 downloads

    Provides API and Hooks which called when in-game day/night and real second/hour/day/month/year started. Has no functional by itself. Usable only as plugin dependency. Configuration { "Rust day start time (hour)": 7.5, "Rust night start time (hour)": 20.0 } API aTimeAPI.Call<bool>("IsDayInRustNow"); Hooks void OnRealSecond() // called every real second void OnRustDayStarted() // called right arter in-game day was started void OnRustNightStarted() // called right arter in-game night was started void OnNewRealHourStarted(int newHour) // called right arter new real hour was started void OnNewRealDayStarted(int newDay) // called right arter new real day was started void OnNewRealMonthStarted(int newMonth) // called right arter new real month was started void OnNewRealYearStarted(int newYear) // called right arter new real year was started
    Free
  20. Version 1.0.3

    20 downloads

    Adds deployment time on objects, as well as construction and improvement time. INFO - Configurable default deployment time - Configurable time to build or improve buildings - Configurable deployment time for all objects - You can add a percentage reduction to the duration according to the player's oxide permissions on any item, building grade, or by default PREVIEW (v1.0.1) PERMISSION If you want to bypass all construction times ctimetodeploy.bypass CONFIG If you want to bypass all construction times. In the example configuration below. The deployment time of a tool cupboard is not preset so its value will be the default one (5 sec). If a player has the ctimetodeploy.vip permission he will have a 10% shorter time, and 75% with the ctimetodeploy.modo permission. If he wants to put a sleepingbag the time will be 2.5 seconds as it is defined in the config file. The reduction percentages will be applied if they are specified for the item. { "CONFIG": { "» Refresh rate (increase only in case of lag, changes the update frequency of the progress bar)": 0.01, "» Max distance for cancels the construction if the player is too far from the deployment position)": 7.0, "» Default deployment duration (seconds) for all items and grade (building upgrade).": 5.0, "» Default duration reduction percentage": [ { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "ctimetodeploy.vip", "» Percentage of time reduction": 10.0 }, { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "ctimetodeploy.modo", "» Percentage of time reduction": 75.0 } ] }, "BUILDING GRADE": { "twigs": { "» Duration (seconds)": 2.5, "» Duration reduction percentage": null }, "wood": { "» Duration (seconds)": 5.0, "» Duration reduction percentage": [ { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "ctimetodeploy.vip", "» Percentage of time reduction": 18.0 }, { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "ctimetodeploy.vip2", "» Percentage of time reduction": 58.5 } ] }, "stone": { "» Duration (seconds)": 7.5, "» Duration reduction percentage": null }, "metal": { "» Duration (seconds)": 10.0, "» Duration reduction percentage": null }, "toptier": { "» Duration (seconds)": 15.0, "» Duration reduction percentage": null } }, "DEPLOYABLE": { "sleepingbag": { "» Duration (seconds)": 2.5, "» Duration reduction percentage": [ { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "ctimetodeploy.vip", "» Percentage of time reduction": 10.0 }, { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "ctimetodeploy.vip2", "» Percentage of time reduction": 20.0 } ] } }, "VERSION": { "Major": 1, "Minor": 0, "Patch": 1 } } ADD NEW ITEM In the config file add in DEPLOYABLE "sleepingbag": { "» Duration (seconds)": 2.5, "» Duration reduction percentage": null } ADD NEW PERCENTAGE REDUCTION This is a list you can add more. The highest value will be selected according to the player's permissions { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "ctimetodeploy.vip", "» Percentage of time reduction": 10.0 }, or { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "ctimetodeploy.vip", "» Percentage of time reduction": 10.0 }, { "» Name of the oxide permission, use an existing permission or a new one by adding 'ctimetodeploy.'": "kit.vip4", "» Percentage of time reduction": 25.3 }, Future evolution, in-game administration panel to make handling easier
    $25.00
  21. Meyverick

    Real Time

    Version 1.1.0

    7 downloads

    The game time is similar to real time depending of the longitude and latitude of the chosen location. Features: Time is UTC, you can configure your timezone. The sun will rise on the server at the sunrise time of your location. The sun will set on the server at the sunset time of your location. The sun will be at noon when it's noon. ... You can choose the sunrise/sunset time using latitude and longitude of the location you want. The parameter "doClearNight: true" (by default) allows you to freeze the game time a few minutes after sunset and a few minutes before sunrise so you can enjoy a lightly lit night for playing at night AND keep the usefulness of Night Vision Goggles. Live test: You can try all my public plugins on my servers at https://Rust.Maelep.be This plugin is available on the following servers: Maelust: Extended Official, Maelust: Wildman, Maelust: Escape From Rust. Warranty: The customers benefits from a 28-day warranty from the date of the last sell of the plugin. This warranty covers bugs related to the script and, as far as possible, bugs related to Rust and uMod updates. Bugs: Bugs because of my script will always fixed as soon as possible. Bugs because of uMod or Rust changes will be fixed as soon as possible but I'm not responsible for the inability to continue to maintain the plugin due to incompatibility. No refund will be made. Credit: Icon of the plugin by Freepik on flaticon.
    $10.00
1.5m

Downloads

Total number of downloads.

7k

Customers

Total customers served.

105.2k

Files Sold

Total number of files sold.

2.1m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

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