Search the Community
Showing results for tags 'perm'.
-
Version 0.1.1
47 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 -
Version 0.1.1
174 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 -
Version 2.2.0
325 downloads
VIP Status is a powerful plugin that shows custom status messages for VIP players (3 different groups) on your Rust server. With the user-friendly configuration options, you can customise the colours, icons and text of the VIP status message of all 3 VIP groups to suit your individual needs. Plus, the plugin comes with a fully customizable language file, so you can translate the status message and other plugin texts into your preferred language. But that's not all: VIP Status is designed to be stable and reliable. Unlike other plugins that use countdown timers to display the remaining time of a VIP status, VIP Status simply shows the expiration date and checks it against the player's permissions file at fixed intervals. This approach ensures that the plugin operates smoothly without causing any lags or performance issues. Many other plugins that constantly perform countdown calculations can be processor-intensive and lead to performance drops. That's why we opt for static end times, eliminating the need for resource-heavy calculations every minute. If you want to enhance the VIP experience on your Rust server and offer your players a premium status that stands out, VIP Status is the plugin for you. Try it out today and see how it can elevate your server to the next level! Please note that VIP Status requires the Free TimedPermissions plugin to function, as it relies on TimedPermissions to set and track the VIP expiration time. If a player is a member of the VIP group but not listed in the TimedPermission file, the VIP status is now displayed without an expiry date. vip groups now possible for a maximum of 3 groups with different settings (pictures, colour etc.) as well as long file for all 3 groups Toggle the visibility of your VIP status. Added new configuration option to display a custom status when the player does not belong to any group, as an example: no vip Commands: /vip - List of Commands /vt - Toggle the visibility of your VIP status. /vi - Shows how long you have left on your VIP status Config: { "VIPGroups": [ { "Color": "0.66 0.66 0.66 0.8", "IconColor": "1.5 0.8 0.0 0.9", "ImageUrl": "https://i.ibb.co/hmC7s0y/vip1.png", "SubTextColor": "1 1 1 0.7", "TextColor": "1.5 0.8 0.0 0.8", "VipStatusId": "vip1" ///name of the vip group 1 }, { "Color": "0.30 0.66 0.66 0.8", "IconColor": "1.5 0.8 0.0 0.9", "ImageUrl": "https://i.ibb.co/yN18d6h/vip2.png", "SubTextColor": "1 1 1 0.7", "TextColor": "1.5 0.8 0.0 0.8", "VipStatusId": "vip2" ///name of the vip group 2 }, { "Color": "1.0 0.0 0.0 0.4", "IconColor": "1.5 0.0 0.0 0.9", "ImageUrl": "https://i.ibb.co/py0GJpj/vip3.png", "SubTextColor": "1 1 1 0.7", "TextColor": "1.5 0.8 0.0 0.8", "VipStatusId": "vip3" ///name of the vip group 3 } ], "ShowCustomStatusWhenNoGroup": false, ///set true to display a custom status when the player does not belong to any group. "NoGroupConfig": { "Color": "1.0 0.0 0.0 0.4", "TextColor": "1.5 0.8 0.0 0.8", "SubTextColor": "1 1 1 0.7", "IconColor": "1.5 0.8 0.0 0.8", "ImageUrl": "https://i.ibb.co/hmC7s0y/vip1.png" } } Lang: { "VIPStatusText_group1": "GROUP1", ///visible name of the vip group 1 "UntilText_group1": "until {0}", ///subtext for Group 1 with expire time "NoExpireText_group1": "Unlimited", ///subtext for Group 1 without an expiry date. "VIPStatusText_group2": "GROUP2", ///visible name of the vip group 2 "UntilText_group2": "until {0}", ///subtext for Group 2 with expire time "NoExpireText_group2": "Unlimited",///subtext for Group 2 without an expiry date. "VIPStatusText_group3": "GROUP3", ///visible name of the vip group 3 "UntilText_group3": "until {0}",///subtext for Group 3 with expire time "NoExpireText_group3": "Unlimited", ///subtext for Group 3 without an expiry date. "VIPStatusOn": "VIP status display turned on.", "VIPStatusOff": "VIP status display turned off.", "VIPStatusExpiration": "{0} expires on: {1}", "VIPStatusUnlimited": "{0} has unlimited VIP status.", "MessageCommandsListTitle": "List of Commands:", "MessageCommandVT": "/vt - Toggle the visibility of your VIP status.", "MessageCommandVIPInfo": "/vi - Shows how long you have left on your VIP status.", "NoGroupStatus": "No VIPs" /// text for the custom status when the player does not belong to any group. }$15.00 -
Version 1.4.7
569 downloads
The plugin allows you to display time to expiration for permissions or groups. Features: Detailed and elegant display of your permissions and groups. Detailed customization of everything Ability to customize text for different languages to reach players from different countries. Ability to enable status display only in the authorized area of the cabinet Ability for a player to disable status display Optimized (static) status mode available Automatically generate language files for all languages, you just need to write your text. Permissions: permissionstatus.hide - this permission is used for status switching by the player. IMPORTANT: If you give this to any group, the statuses will not work. Chat Commands: ps.toggle - status display switch for a player Default Config { "ExampleGroupOrPerm": { "true - Group | false - Permission": true, "Display Mode (0 - Time, 1 - Static)": 0, "[Time display mode] Update Interval (in seconds)": 60.0, "Only show in authorized cupboard area": false, "Icon Url": "default", "Time Format": "d\\d\\ hh\\h\\ mm\\m", "Background Color": "0.16 0.44 0.63 0.85", "Icon Color": "0.22 0.63 0.90 0.9", "Title Color": "1 1 1 1", "Text Color": "1 1 1 1" } } Default Lang: { "HideMessage": "You have hidden the statuses of timed permissions.", "ShowMessage": "You have enabled the display of timed permissions statuses.", "ExampleGroupOrPerm": "ExampleGroupOrPerm" } Example Config: { "Elite": { "true - Group | false - Permission": true, "Display Mode (0 - Time, 1 - Static)": 0, "Only show in authorized cupboard area": false, "Icon Url": "default", "Time Format": "d\\d\\ hh\\h\\ mm\\m", "Color": "0.85 0.52 0.17 1", "Icon Color": "1 0.8 0 1", "Text Color": "1 1 1 1", "Subtext Color": "1 1 1 1" }, "backpackpro.size42": { "true - Group | false - Permission": false, "Display Mode (0 - Time, 1 - Static)": 0, "Only show in authorized cupboard area": false, "Icon Url": "https://static.thenounproject.com/png/74337-200.png", "Time Format": "d\\d\\ hh\\h\\ mm\\m", "Color": "0.16 0.44 0.63 1", "Icon Color": "0.22 0.63 0.90 1", "Text Color": "1 1 1 1", "Subtext Color": "1 1 1 1" } } Example Lang: { "Elite": "Elite", "backpackpro.size42": "Ext. backpack" }$15.00- 46 comments
- 3 reviews
-
- 4
-
- #timedpermissions
- #statusbar
-
(and 7 more)
Tagged with: