关于临时权限
用于管理临时权限、临时组和组的临时权限的有用插件。这是通过聊天命令、内置 Oxide 命令和 API 方法完成的。
注意:日期采用 UTC 格式。
- 能够通过指定秒数、确切的到期日期或直到擦除发生来授予玩家临时权限;
- 能够通过指定秒数、确切的到期日期或直到擦除发生来将玩家添加到临时组;
- 能够通过指定秒数、确切的到期日期或直到擦除发生来授予组临时权限;
- 能够提前撤销玩家和组的临时权限;
- 能够提前从组中删除玩家;
- 能够使用现有和熟悉的控制台命令(例如 o.grant)执行上述所有作,只需在末尾添加秒数、到期日期或单词 “wipe” 即可;
- 使用 chat 命令执行上述所有作的能力(默认为 /tperm);
- 使用 API 方法执行上述所有作的能力;
- 在检测到擦除时删除所有临时权限和组的功能。
- temporarypermissions.admin – 授予对 admin 命令(默认为 /tperm)的访问权限。
{
"Chat command": "myperm",
"Chat admin command": "tperm",
"Is it worth enabling GameTips for messages?": true,
"Is it worth saving logs to a file?": true,
"Is it worth using console logging?": true,
"List of language keys for creating language files": [
"en"
],
"Interval in seconds for expiration check": 1.0,
"Interval in seconds for checking the presence of temporary permissions and temporary groups. A value of 0 disables the check": 600.0,
"Is it worth restoring removed temporary permissions and temporary groups if the timer hasn't expired? There are cases where removal cannot be tracked in the usual way": true,
"Is it worth revoking temporary permissions and temporary groups when unloading the plugin, without removing them from the data file?": true,
"Is it worth revoking temporary permissions and temporary groups that haven't expired yet upon detecting a wipe?": false,
"Custom wipe date(detected only during initialization). Only required if you're experiencing issues with the Wipe ID. Leave empty to use the Wipe ID. Example: 2025-06-25 13:00": "",
"Wipe ID": null,
"Version": {
"Major": 0,
"Minor": 1,
"Patch": 5
}
}
EN: { "CmdAdmin": "Available admin commands:\n\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip wipe</color> - Grants or extends the specified permission for the specified player until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip *intValue* *boolValue*(optional)</color> - Grants or extends the specified permission for the specified player for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *nameOrId* realpve.vip *expirationDate* *assignmentDate*(optional)</color> - Grants or extends the specified permission for the specified player until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip wipe</color> - Grants or extends the specified permission for the specified group until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip *intValue* *boolValue*(optional)</color> - Grants or extends the specified permission for the specified group for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *groupName* realpve.vip *expirationDate* *assignmentDate*(optional)</color> - Grants or extends the specified permission for the specified group until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke user *nameOrId* realpve.vip</color> - Revokes the specified permission from the specified player\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke group *groupName* realpve.vip</color> - Revokes the specified permission from the specified group\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* wipe</color> - Adds or extends the specified player's membership in the specified group until the end of the current wipe\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* *intValue* *boolValue*(optional)</color> - Adds or extends the specified player's membership in the specified group for the given number of seconds\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *nameOrId* *groupName* *expirationDate* *assignmentDate*(optional)</color> - Adds or extends the specified player's membership in the specified group until the given date\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>remove *nameOrId* *groupName*</color> - Removes the specified player from the specified group\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe *wipeDate*</color> - Set a custom wipe date. Used in case of issues with the Wipe ID. Format: yyyy-MM-dd HH:mm\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe reset</color> - Reset the custom wipe date\n\n<color=#D1CBCB>Optional values:</color>\n*boolValue* - If false(default) and an existing permission or group membership has not expired, the specified time will be added to the existing time. Otherwise, including when true, the specified time will be counted from the current time\n*assignmentDate* - If the assignment date is not specified and there is no existing permission or group membership, the assignment date will be set to the current time. If the assignment date is specified, it will be applied regardless of existing permissions or group memberships\n\n--------------------------------------------------", "CmdPermissionNotFound": "Permission '{0}' not found!", "CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.", "CmdMultiplePlayers": "Multiple players found for '{0}': {1}", "CmdGroupNotFound": "Group '{0}' not found!", "CmdGrantWrongFormat": "Incorrect command format! Example: /tperm grant user/group *nameOrId* realpve.vip *secondsOrDateTime*", "CmdRevokeWrongFormat": "Incorrect command format! Example: /tperm revoke user/group *nameOrId* realpve.vip", "CmdUserGroupWrongFormat": "Incorrect command format! Example: /tperm group add/remove *nameOrId* *groupName*", "CmdUserGranted": "Permission '{0}' granted to player '{1}'.", "CmdGroupGranted": "Permission '{0}' granted to group '{1}'.", "CmdUserGroupAdded": "Player '{0}' has been added to group '{1}'.", "CmdUserRevoked": "Permission '{0}' has been revoked for player '{1}'.", "CmdGroupRevoked": "Permission '{0}' has been revoked for group '{1}'.", "CmdUserGroupRemoved": "Player '{0}' has been removed from group '{1}'.", "CmdWipeNew": "New wipe date successfully set to '{0}'. The wipe will take effect only after the plugin is loaded following this date.", "CmdWipeReset": "The custom wipe date has been reset. The wipe is now determined by the Wipe ID.", "CmdWipeFailed": "The specified date '{0}' has an invalid format(yyyy-MM-dd HH:mm) or has already passed. Example: '{1}'.", "CmdCheckNoActive": "You have no active temporary permissions or temporary groups!", "CmdCheckTargetNoActive": "Player '{0}' has no active temporary permissions or temporary groups!", "CmdCheckPermissions": "<color=#D1AB9A>You have {0} temporary permissions(time in UTC):</color>\n{1}", "CmdCheckGroups": "<color=#D1AB9A>You have {0} temporary groups(time in UTC):</color>\n{1}", "CmdCheckTargetPermissions": "<color=#D1AB9A>Player '{2}' has {0} temporary permissions(time in UTC):</color>\n{1}", "CmdCheckTargetGroups": "<color=#D1AB9A>Player '{2}' has {0} temporary groups(time in UTC):</color>\n{1}", "CmdCheckFormatPermissions": "'{0}' - {1}({2})", "CmdCheckFormatGroups": "'{0}' - {1}({2})", "CmdUntilWipe": "Until Wipe" } RU: { "CmdAdmin": "Доступные админ команды:\n\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip wipe</color> - Выдать или продлить указанный пермишен указанному игроку до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Выдать или продлить указанный пермишен указанному игроку на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant user *имяИлиАйди* realpve.vip *датаИстечения* *датаНазначения*(опционально)</color> - Выдать или продлить указанный пермишен указанному игроку до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip wipe</color> - Выдать или продлить указанный пермишен указанной группе до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Выдать или продлить указанный пермишен указанной группе на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>grant group *имяГруппы* realpve.vip *датаИстечения* *датаНазначения*(опционально)</color> - Выдать или продлить указанный пермишен указанной группе до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke user *имяИлиАйди* realpve.vip</color> - Снять указанный пермишен у указанного игрока\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>revoke group *имяГруппы* realpve.vip</color> - Снять указанный пермишен у указанной группы\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* wipe</color> - Добавить или продлить пребывание в указанной группе указанному игроку до конца текущего вайпа\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* *числовоеЗначение* *булевоеЗначение*(опционально)</color> - Добавить или продлить пребывание в указанной группе указанному игроку на указанное количество секунд\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>add *имяИлиАйди* *имяГруппы* *датаИстечения* *датаНазначения*(опционально)</color> - Добавить или продлить пребывание в указанной группе указанному игроку до указанной даты\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>remove *имяИлиАйди* *имяГруппы*</color> - Отменить пребывание в указанной группе указанному игроку\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe *датаВайпа*</color> - Установка кастомной даты вайпа. Используется при проблемах с Wipe ID. Формат: yyyy-MM-dd HH:mm\n<color=#D1CBCB>/tperm</color> <color=#D1AB9A>wipe reset</color> - Сброс кастомной даты вайпа\n\n<color=#D1CBCB>Опциональные значения:</color>\n*булевоеЗначение* - Если false(по умолчанию) и существующий пермишен или группа не истекли, указанное время будет добавлено к существующему времени. В противном случае, в т.ч. при true, указанное время будет отсчитываться от текущего времени\n*датаНазначения* - Если дата назначения не указана и нет существующего пермишена или группы, дата назначения будет равна текущей. Если дата назначения указана, то вне зависимости от существования пермишенов или групп, присвоится указанная дата\n\n--------------------------------------------------", "CmdPermissionNotFound": "Пермишен '{0}' не найден!", "CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.", "CmdMultiplePlayers": "По значению '{0}' найдено несколько игроков: {1}", "CmdGroupNotFound": "Группа '{0}' не найдена!", "CmdGrantWrongFormat": "Не верный формат команды! Пример: /tperm grant user/group *имяИлиАйди* realpve.vip *секундыИлиДата*", "CmdRevokeWrongFormat": "Не верный формат команды! Пример: /tperm revoke user/group *имяИлиАйди* realpve.vip", "CmdUserGroupWrongFormat": "Не верный формат команды! Пример: /tperm group add/remove *имяИлиАйди* *имяГруппы*", "CmdUserGranted": "Пермишен '{0}' выдан игроку '{1}'.", "CmdGroupGranted": "Пермишен '{0}' выдан группе '{1}'.", "CmdUserGroupAdded": "Игрок '{0}' был добавлен в группу '{1}'.", "CmdUserRevoked": "Пермишен '{0}' был удален для игрока '{1}'.", "CmdGroupRevoked": "Пермишен '{0}' был удален для группы '{1}'.", "CmdUserGroupRemoved": "Игрок '{0}' был удален из группы '{1}'.", "CmdWipeNew": "Новая дата вайпа успешно установлена на '{0}'. Вайп вступит в силу только при загрузке плагина после этой даты.", "CmdWipeReset": "Кастомная дата вайпа была сброшена. Вайп снова определяется по Wipe ID.", "CmdWipeFailed": "Указанная дата '{0}' имеет неверный формат(yyyy-MM-dd HH:mm) или уже прошла. Пример: '{1}'.", "CmdCheckFormatGroups": "'{0}' - {1}({2})", "CmdCheckNoActive": "У вас нет активных временных пермишенов или временных групп!", "CmdCheckTargetNoActive": "У игрока '{0}' нет активных временных пермишенов или временных групп!", "CmdCheckPermissions": "<color=#D1AB9A>У вас есть {0} временных пермишенов(время по UTC):</color>\n{1}", "CmdCheckGroups": "<color=#D1AB9A>У вас есть {0} временных групп(время по UTC):</color>\n{1}", "CmdCheckTargetPermissions": "<color=#D1AB9A>У игрока '{2}' есть {0} временных пермишенов(время по UTC):</color>\n{1}", "CmdCheckTargetGroups": "<color=#D1AB9A>У игрока '{2}' есть {0} временных групп(время по UTC):</color>\n{1}", "CmdCheckFormatPermissions": "'{0}' - {1}({2})", "CmdUntilWipe": "До вайпа" }
- /myperm – 显示所有临时权限和临时组的列表;
- /myperm NameOrId* – 显示指定玩家的所有临时权限和临时组的列表。需要 “temporarypermissions.admin” 权限。
管理员命令 (/tperm)。需要 “temporarypermissions.admin” 权限:
- grant – 向玩家或组授予临时权限。
- 用户
- realpve.vip 擦除 – 通过指定玩家的名称或 Id、权限名称和单词 “wipe” 向玩家授予临时权限,直到下次擦除;
- *NameOrId* realpve.vip 3600 true/false – 通过指定玩家的名称或 Id、权限名称、秒数和 true/false(可选)来授予玩家临时权限。
如果 false(默认)且现有权限尚未过期,则指定的时间将添加到现有时间中。否则,包括 true 时,指定的时间将从当前时间开始计算; - realpve.vip “2024-08-19 17:57” “2024-08-19 16:57” – 通过指定玩家的姓名或 Id、权限名称、到期日期和分配日期(可选)来向玩家授予临时权限。
如果未指定分配日期且没有现有权限,则分配日期将设置为当前时间。如果指定了分配日期,则无论现有权限如何,都将应用该日期。
- 群
- realpve.vip 擦除 – 通过指定组的名称、权限名称和单词 “擦除” 向组授予临时权限,直到下次擦除;
- *GroupName* realpve.vip 3600 true/false – 通过指定组的名称、权限名称、秒数和 true/false(可选)来授予对组的临时权限。
如果 false(默认)且现有组成员资格尚未过期,则指定的时间将添加到现有时间。否则,包括 true 时,指定的时间将从当前时间开始计算; - *GroupName* realpve.vip “2024-08-19 17:57” “2024-08-19 16:57” – 通过指定组的名称、权限名称、到期日期和分配日期(可选)来授予对组的临时权限。
如果未指定分配日期,并且没有现有的组成员身份,则分配日期将设置为当前时间。如果指定了分配日期,则无论现有组成员身份如何,都将应用该日期。
- 用户
- revoke – 撤销玩家或组的临时权限。
- user *NameOrId* realpve.vip – 通过指定玩家的名称或 Id 以及权限名称来撤销玩家的临时权限;
- group *GroupName* realpve.vip – 通过指定组的名称和权限名称来撤销组的临时权限。
- add – 将玩家临时添加到组。
- NameOrId – 通过指定玩家的名称或 Id、组名和 “wipe” 一词,将玩家临时添加到组中,直到下次擦除;
- *NameOrId* *GroupName* 3600 true/false – 通过指定玩家的姓名或 Id、群组名称、秒数和 true/false(可选)来临时将玩家添加到群组中。
如果为 true,则指定的秒数将从当前时刻开始计算,否则(默认)将添加到现有时间中; - “2024-08-19 17:57” “2024-08-19 16:57” – 通过指定玩家的姓名或Id、群组名称、到期日期和分配日期(可选),临时将玩家添加到群组中。
如果未指定,则分配的日期将默认为当前日期,否则,它将设置为提供的日期。
- remove NameOrId GroupName – 通过指定玩家的名称或 Id 和组名称,从临时组中删除玩家。
- wipe – 设置自定义擦除日期。如果您在使用 Wipe ID 时遇到问题,则使用此选项。
- wipeDate – 设置自定义擦除日期 (yyyy-MM-dd HH:mm)。在擦除 ID 出现问题时使用;
- reset – 重置自定义擦除日期。
例:
- /tperm grant user iiiaka realpve.vip 擦除
- /tperm grant user iiiaka realpve.vip 3600 true
- /tperm grant user iiiaka realpve.vip “2024-08-19 17:57” “2024-08-19 16:57”
- /tperm wipe “2025-06-25 13:00”
注意:要访问这些命令,玩家必须是管理员(控制台或所有者)或具有 temporarypermissions.admin 权限。
附言上述命令的模板也可以与现有的控制台命令一起使用。例如:o.grant user iiiaka realpve.vip 3600 true
- OnTemporaryPermissionsLoaded 中:
- 在 TemporaryPermissions 插件完全加载并准备就绪后调用。
- OnTemporaryPermissionGranted 的
- 在向玩家授予临时权限后调用。
- OnTemporaryPermissionUpdated 的
- 在更新玩家的临时权限后调用。
- OnTemporaryPermissionRevoked 上:
- 在玩家的临时权限过期或被撤销后调用。
- OnTemporaryGroup已添加:
- 在将玩家临时添加到组后调用。
- OnTemporaryGroupUpdated 的更新:
- 在更新玩家的临时组后调用。
- OnTemporaryGroupRemoved 的
- 在玩家的临时组过期或删除后调用。
- OnGroupTemporaryPermissionGranted 的
- 在向组授予临时权限后调用。
- OnGroupTemporaryPermissionUpdated 的
- 在更新组的临时权限后调用。
- OnGroupTemporaryPermissionRevoked 上:
- 在组的临时权限过期或被撤销后。
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;
有 30 种方法:
- 已准备就绪
- 用户权限:
- GrantUserPermission 权限
- 撤销用户权限
- UserHasPermission
- 授予ActiveUsersPermission
- 授予所有用户权限
- 撤销ActiveUsersPermission
- 撤销所有用户权限
- UserGetAll权限
- UserGetPermissionByExpiry
- UserGetAllPermissionsByExpiry
- ActiveUsersGetAll权限
- AllUsersGetAll权限
- 用户组:
- 添加用户组
- 删除用户组
- UserHasGroup 用户
- AddActiveUsersGroup
- AddAllUsersGroup
- 删除ActiveUsersGroup
- 删除所有用户组
- 用户GetAll组
- ActiveUsersGetAll组
- AllUsersGetAllGroups
- 组的权限:
- GrantGroupPermission 权限
- 撤销组权限
- GroupHasPermission 组
- GrantAllGroups权限
- 撤销所有组权限
- GroupGetAll权限
- AllGroupsGetAllPermissions
IsReady:
用于检查 TemporaryPermissions 插件是否已加载并准备好工作。
IsReady 方法如果准备就绪,则返回 true,如果尚未准备就绪,则返回 null。
(bool)TemporaryPermissions?.Call("IsReady");//Calling the IsReady method. If the result is not null(bool true), the plugin is ready.
GrantUserPermission:
用于向玩家授予临时权限。
如果授权成功,则返回 true。
调用 GrantUserPermission 方法需要传递 5 个参数,其中 3 个参数是可选的:
- IPlayer 或 BasePlayer 或 <string>playerID – 玩家对象或其 ID;
- <string>permName – 权限的名称;
- <int>secondsToAdd 或 <DateTime>expireDate – 可选。添加时间(以秒为单位)或结束日期。如果指定了小于 1 的数字,或者未指定此参数,则权限将一直有效,直到擦除;
- <bool>fromNow 或 <DateTime>assignedDate – 可选。true/false 指定是将秒数添加到当前日期还是现有时间,还是确切的分配日期。默认为当前日期;
- <bool>checkExistence – 可选。是否检查权限是否存在。
(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:
用于撤销玩家的临时权限。
如果撤销成功,则返回 true。
调用 RevokeUserPermission 方法需要传入 2 个参数:
- IPlayer 或 BasePlayer 或 <string>playerID – 玩家对象或其 ID;
- <string>permName – 权限的名称。
(bool)TemporaryPermissions?.Call("RevokeUserPermission", player.UserIDString, "realpve.vip");
UserHasPermission:
用于检查玩家是否具有临时权限。
如果玩家具有指定的临时权限,则返回 true。
要调用 UserHasPermission 方法,您需要传递 2 个参数:
- IPlayer 或 BasePlayer 或 <string>playerID – 玩家对象或其 ID;
- <string>permName – 权限的名称。
(bool)TemporaryPermissions?.Call("UserHasPermission", player.UserIDString, "realpve.vip");
GrantActiveUsersPermission:
用于临时向所有在线玩家授予权限。
返回 <int>number 成功授予玩家临时权限。
要调用 GrantActiveUsersPermission 方法,您需要传递 3 个参数,其中 2 个参数是可选的:
- <string>permName – 权限的名称;
- <int>secondsToAdd 或 <DateTime>expireDate – 可选。添加时间(以秒为单位)或结束日期。如果指定了小于 1 的数字,或者未指定此参数,则权限将一直有效,直到擦除;
- <bool>fromNow 或 <DateTime>assignedDate – 可选。true/false 指定是将秒数添加到当前日期还是现有时间,还是确切的分配日期。默认为当前日期。
(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:
用于向所有玩家授予临时权限。
返回 <int>number 成功授予玩家临时权限。
要调用 GrantAllUsersPermission 方法,您需要传递 3 个参数,其中 2 个是可选的:
- <string>permName – 权限的名称;
- <int>secondsToAdd 或 <DateTime>expireDate – 可选。添加时间(以秒为单位)或结束日期。如果指定了小于 1 的数字,或者未指定此参数,则权限将一直有效,直到擦除;
- <bool>fromNow 或 <DateTime>assignedDate – 可选。true/false 指定是将秒数添加到当前日期还是现有时间,还是确切的分配日期。默认为当前日期。
(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:
用于撤销所有在线玩家的临时权限。
返回成功撤销玩家临时权限的 <int>number。
调用 RevokeActiveUsersPermission 方法时,需要传入 1 个参数:
- <string>permName – 权限的名称。
(int)TemporaryPermissions?.Call("RevokeActiveUsersPermission", "realpve.vip");
RevokeAllUsersPermission:
用于撤销所有玩家的临时权限。
返回成功撤销玩家临时权限的 <int>number。
调用 RevokeAllUsersPermission 方法需要传入 1 个参数:
- <string>permName – 权限的名称。
(int)TemporaryPermissions?.Call("RevokeAllUsersPermission", "realpve.vip");
UserGetAllPermissions:
用于检索玩家的所有临时权限。
返回一个 Dictionary<string, DateTime[]>其中 key 是权限名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是权限的到期日期。
如果到期日期设置为默认值,则表示权限在擦除之前有效。
要调用 UserGetAllPermissions 方法,您需要传递 1 个参数:
- <string>playerID – 玩家的 ID。
(Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllPermissions", player.UserIDString);
UserGetPermissionByExpiry:
用于获取玩家临时权限的到期日期,考虑玩家可能属于的组的临时权限。采用最晚日期。
返回 DateTime[]:第一个日期是分配日期,第二个日期是权限的到期日期。
如果到期日期设置为默认值,则表示权限在擦除之前有效。
要调用 UserGetPermissionByExpiry 方法,您需要传递 2 个参数:
- IPlayer 或 BasePlayer 或 <string>playerID – 玩家对象或其 ID;
- <string>permName – 权限的名称。
(DateTime[])TemporaryPermissions?.Call("UserGetPermissionByExpiry", player.UserIDString, "realpve.vip");
UserGetAllPermissionsByExpiry:
用于获取玩家的所有临时权限的到期日期,考虑玩家可能属于的组的临时权限。采用最晚日期。
返回一个 Dictionary<string, DateTime[]>其中 key 是权限名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是权限的到期日期。
如果到期日期设置为默认值,则表示权限在擦除之前有效。
要调用 UserGetAllPermissionsByExpiry 方法,您需要传递 1 个参数:
- IPlayer 或 BasePlayer 或 <string>playerID – 玩家对象或其 ID。
(Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllPermissionsByExpiry", player.UserIDString);
ActiveUsersGetAllPermissions:
用于检索所有具有临时权限的在线玩家的所有临时权限。
返回一个 Dictionary<string, Dictionary<string, DateTime[]>>其中键是 userID,值是另一个 Dictionary<string, DateTime[]>,其中键是权限名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是权限的到期日期。
如果到期日期设置为默认值,则表示权限在擦除之前有效。
(Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("ActiveUsersGetAllPermissions");
AllUsersGetAllPermissions:
用于检索具有临时权限的所有玩家的所有临时权限。
返回一个 Dictionary<string, Dictionary<string, DateTime[]>>其中键是 userID,值是另一个 Dictionary<string, DateTime[]>,其中键是权限名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是权限的到期日期。
如果到期日期设置为默认值,则表示权限在擦除之前有效。
(Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllUsersGetAllPermissions");
AddUserGroup:
用于临时将玩家添加到组。
如果添加成功,则返回 true。
要调用 AddUserGroup 方法,您需要传递 5 个参数,其中 3 个是可选的:
- IPlayer 或 BasePlayer 或 <string>playerID – 玩家对象或其 ID;
- <string>groupName – 组的名称;
- <int>secondsToAdd 或 <DateTime>expireDate – 可选。添加时间(以秒为单位)或结束日期。如果指定了小于 1 的数字,或者未指定此参数,则该组将在擦除之前有效;
- <bool>fromNow 或 <DateTime>assignedDate – 可选。true/false 指定是将秒数添加到当前日期还是现有时间,还是确切的分配日期。默认为当前日期;
- <bool>checkExistence – 可选。是否检查组是否存在。
(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:
用于从玩家中删除临时组。
如果删除成功,则返回 true。
要调用 RemoveUserGroup 方法,您需要传递 2 个参数:
- IPlayer 或 BasePlayer 或 <string>playerID – 玩家对象或其 ID;
- <string>groupName – 组的名称。
(bool)TemporaryPermissions?.Call("RemoveUserGroup", player.UserIDString, "vip");
UserHasGroup:
用于检查玩家是否有临时组。
如果玩家具有指定的临时组,则返回 true。
要调用 UserHasGroup 方法,您需要传递 2 个参数:
- IPlayer 或 BasePlayer 或 <string>playerID – 玩家对象或其 ID;
- <string>groupName – 组的名称。
(bool)TemporaryPermissions?.Call("UserHasGroup", player.UserIDString, "vip");
AddActiveUsersGroup:
用于临时向所有在线玩家添加组。
返回 <int>number 成功将临时组添加到玩家的数量。
若要调用 AddActiveUsersGroup 方法,需要传递 3 个参数,其中 2 个参数是可选的:
- <string>groupName – 组的名称;
- <int>secondsToAdd 或 <DateTime>expireDate – 可选。添加时间(以秒为单位)或结束日期。如果指定了小于 1 的数字,或者未指定此参数,则该组将在擦除之前有效;
- <bool>fromNow 或 <DateTime>assignedDate – 可选。true/false 指定是将秒数添加到当前日期还是现有时间,还是确切的分配日期。默认为当前日期。
(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:
用于临时向所有玩家添加组。
返回 <int>number 成功将临时组添加到玩家的数量。
若要调用 AddAllUsersGroup 方法,需要传递 3 个参数,其中 2 个参数是可选的:
- <string>groupName – 组的名称;
- <int>secondsToAdd 或 <DateTime>expireDate – 可选。添加时间(以秒为单位)或结束日期。如果指定了小于 1 的数字,或者未指定此参数,则该组将在擦除之前有效;
- <bool>fromNow 或 <DateTime>assignedDate – 可选。true/false 指定是将秒数添加到当前日期还是现有时间,还是确切的分配日期。默认为当前日期。
(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:
用于从所有在线玩家中删除临时组。
返回从玩家中成功删除临时组的 <int>number。
要调用 RemoveActiveUsersGroup 方法,您需要传递 1 个参数:
- <string>groupName – 组的名称。
(int)TemporaryPermissions?.Call("RemoveActiveUsersGroup", "vip");
RemoveAllUsersGroup:
用于从所有玩家中删除临时组。
返回从玩家中成功删除临时组的 <int>number。
要调用 RemoveAllUsersGroup 方法,您需要传递 1 个参数:
- <string>permName – 权限的名称。
(int)TemporaryPermissions?.Call("RemoveAllUsersGroup", "vip");
UserGetAllGroups:
用于检索玩家的所有临时组。
返回 Dictionary<string DateTime[]>其中键是组名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是组的到期日期。
如果过期日期设置为默认值,则表示该组在擦除之前有效。
要调用 UserGetAllGroups 方法,您需要传递 1 个参数:
- <string>permName – 权限的名称。
(Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("UserGetAllGroups", player.UserIDString);
ActiveUsersGetAllGroups:
用于检索具有临时组的所有在线玩家的所有临时组。
返回 Dictionary<string, Dictionary<string, DateTime[]>>其中键是 userID,值是另一个 Dictionary<string, DateTime[]>,其中键是组名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是组的到期日期。
如果过期日期设置为默认值,则表示该组在擦除之前有效。
(Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("ActiveUsersGetAllGroups");
AllUsersGetAllGroups:
用于检索具有临时组的所有玩家的所有临时组。
返回 Dictionary<string, Dictionary<string, DateTime[]>>其中键是 userID,值是另一个 Dictionary<string, DateTime[]>,其中键是组名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是组的到期日期。
如果过期日期设置为默认值,则表示该组在擦除之前有效。
(Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllUsersGetAllGroups");
GrantGroupPermission:
用于授予组的临时权限。
如果授权成功,则返回 true。
调用 GrantGroupPermission 方法时,您需要传入 5 个参数,其中 3 个参数是可选的:
- <string>groupName – 组的名称;
- <string>permName – 权限的名称;
- <int>secondsToAdd 或 <DateTime>expireDate – 可选。添加时间(以秒为单位)或结束日期。如果指定了小于 1 的数字,或者未指定此参数,则权限将一直有效,直到擦除;
- <bool>fromNow 或 <DateTime>assignedDate – 可选。true/false 指定是将秒数添加到当前日期还是现有时间,还是确切的分配日期。默认为当前日期;
- <bool>checkExistence – 可选。是否检查权限是否存在。
(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:
用于撤销组的临时权限。
如果撤销成功,则返回 true。
调用 RevokeGroupPermission 方法需要传入 2 个参数:
- <string>groupName – 组的名称;
- <string>permName – 权限的名称。
(bool)TemporaryPermissions?.Call("RevokeGroupPermission", "vip", "realpve.vip");
GroupHasPermission:
用于检查组是否具有临时权限。
如果组具有指定的临时权限,则返回 true。
要调用 GroupHasPermission 方法,您需要传递 2 个参数:
- <string>groupName – 组的名称;
- <string>permName – 权限的名称。
(bool)TemporaryPermissions?.Call("GroupHasPermission", "vip", "realpve.vip");
GrantAllGroupsPermission:
用于临时向所有组授予权限。
返回成功向组授予临时权限的 <int>number。
要调用 GrantAllGroupsPermission 方法,您需要传递 3 个参数,其中 2 个参数是可选的:
- <string>permName – 权限的名称;
- <int>secondsToAdd 或 <DateTime>expireDate – 可选。添加时间(以秒为单位)或结束日期。如果指定了小于 1 的数字,或者未指定此参数,则权限将一直有效,直到擦除;
- <bool>fromNow 或 <DateTime>assignedDate – 可选。true/false 指定是将秒数添加到当前日期还是现有时间,还是确切的分配日期。默认为当前日期。
(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:
用于撤销所有组的临时权限。
返回成功撤销组临时权限的 <int>number。
调用 RevokeAllGroupsPermission 方法时,需要传入 1 个参数:
- <string>permName – 权限的名称。
(int)TemporaryPermissions?.Call("RevokeAllGroupsPermission", "realpve.vip");
GroupGetAllPermissions:
用于检索组的所有临时权限。
返回一个 Dictionary<string, DateTime[]>其中 key 是权限名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是权限的到期日期。
如果到期日期设置为默认值,则表示权限在擦除之前有效。
要调用 GroupGetAllPermissions 方法,您需要传递 1 个参数:
- <string>groupName – 组的名称。
(Dictionary<string, DateTime[]>)TemporaryPermissions?.Call("GroupGetAllPermissions", "vip");
AllGroupsGetAllPermissions:
用于检索具有临时权限的所有组的所有临时权限。
返回 Dictionary<string, Dictionary<string, DateTime[]>>其中键是组名称,值是另一个 Dictionary<string, DateTime[]>,其中键是权限名称,值是 2 个 DateTimes 的数组:第一个日期是分配日期,第二个日期是权限的到期日期。
如果到期日期设置为默认值,则表示权限在擦除之前有效。
(Dictionary<string, Dictionary<string, DateTime[]>>)TemporaryPermissions?.Call("AllGroupsGetAllPermissions");
暂无评论内容