插件介绍
为“权限”添加详细的时间限制并为其提供 GUI
This plug-in provides a new way to give you a permission.
I decided to wrap the "permission" once because I had to add a property value to the existing "permission."It's EffectThread that rapped "permission."
EffectThread has the following properties:
There are three types of EffectThread duration: RealTime, Playtime, and No.
主要用途
主要用于gui、管理、limitation、unmaintained等服务端功能。 本插件由 发布,当前目录记录版本为 v1.1.1,uMod 累计下载 10,401 次。
适用场景
- 需要管理、审计或维护能力的服务器
- 希望改善玩家交互与日常体验的社区服务器
功能分类
查看 uMod 官方英文简介
add a detailed time limit to "permission" and provides a GUI for it
权限节点
permissioneffects.admin
Allows player to use the /eps command
授权示例:oxide.grant user 玩家名 权限节点;撤销使用 oxide.revoke。
指令说明
/eps add <user/group> <playername/groupname> <effectthread>
add effect to player/group
/eps remove <user/group> <playername/groupname> <effectthread>
remove effect from player/group
/eps removeall <user/group> <playername/groupname>
remove all effect from player/group
/eps reset <user/group/all>
reset players/groups thread data
/eps thread add <threadname> <threadcolor> <permission1,permission2,...> <sec> <rt/pt> <DisconnExpireSec>
register thread
/eps thread remove <threadname>
unregister thread
/eps rlist
Check Registered Thread
/eps plist
Check Players Thread
/eps glist
Check Groups Thread
/eps pt <player>
Check Player Thread
Add effectthread examples
ex)/eps thread add "Restore Upon Death" green restoreupondeath.admin 3600 pt 7200
Create EffectThread with restoreupondeath.admin permission of RestoreUponDeath plug-in. Based on playtime(pt) and has a duration of 1hour(3,600 seconds). remove after 2 hours(7200 seconds) of disconnection, GUI shown in green
ex2)/eps thread add "Loot Protection" #FF6C6C sleeperguard.damageprotection,sleeperguard.lootprotection 3600 rt 0
Create EffectThread with sleeperguard.damageprotection and sleeperguard.lootprotection permission of SleeperGuard plug-in. Based on realtime(rt) and has a duration of 1hour(3,600 seconds). Automatic release after certain hours after disconnecting is disabled(0), GUI shown in #FF6C6C(light red)
ex3)/eps thread add "NPC Targeting Disable" blue donttargetme.playernpc,donttargetme.npc 0 rt 0
Create EffectThread with donttargetme.playernpc and donttargetme.npc permission of DontTargetMe plug-in. The time limit is unlimited(0). Automatic release after certain hours after disconnecting is disabled(0), GUI shown in blue
An example of EffectThread applied
相关依赖
- Playtime Tracker
- UI Scale Manager
配置说明
DisconnectDetectTimerInterval
The frequency with which the timer is operated to measure the user's lost connection time (the lower the value, the more accurate it is).
EffectCommand
Modify /effect command
'EPSCommand` -- Modify /eps command
TimeLimitTimerInterval
The frequency with which the timer is operated to measure the time limit of the permission (the lower the value, the more accurate it is).
UIUpdateTimerInterval
The frequency with which the timer update GUI (the lower the value, the more accurate it is).
use_BroadCast
When a user or group receives a "permission" through this plug-in, Decide if you want to broadcast a message that you received "permission"
use_ConsoleMessage
When a user or group receives a "permission" through this plug-in, Decide whether to output messages received "permission" to the console
use_Message
This option determines whether the user is notified by message when the user has permission.
UIPosions
This option is the value of the UI position and the number 10, 8 and 6 means different values depending on UIScale. The UI size is configured to respond to users with different UI sizes, and the basic UI size is 10.
ConfigVersion
It's for config update. Never mind.
{ "DisconnectDetectTimerInterval": 10, "EffectCommand": "effect", "EPSCommand": "eps", "TimeLimitTimerInterval": 4, "UIUpdateTimerInterval": 4, "use_BroadCast": false, "use_ConsoleMessage": true, "use_Message": true, "UIPosions": { "10": { "YAnchorMax": 0.11, "YAnchorMin": 0.11, "XAnchorMax": 0.6395, "XAnchorMin": 0.3445 }, "8": { "YAnchorMax": 0.11, "YAnchorMin": 0.11, "XAnchorMax": 0.6105, "XAnchorMin": 0.375 }, "6": { "YAnchorMax": 0.11, "YAnchorMin": 0.11, "XAnchorMax": 0.5825, "XAnchorMin": 0.4056 } }, "ConfigVersion": { "Major": 1, "Minor": 0, "Patch": 5 } }
官方配置示例
{
"DisconnectDetectTimerInterval": 10,
"EffectCommand": "effect",
"EPSCommand": "eps",
"TimeLimitTimerInterval": 4,
"UIUpdateTimerInterval": 4,
"use_BroadCast": false,
"use_ConsoleMessage": true,
"use_Message": true,
"UIPosions": {
"10": {
"YAnchorMax": 0.11,
"YAnchorMin": 0.11,
"XAnchorMax": 0.6395,
"XAnchorMin": 0.3445
},
"8": {
"YAnchorMax": 0.11,
"YAnchorMin": 0.11,
"XAnchorMax": 0.6105,
"XAnchorMin": 0.375
},
"6": {
"YAnchorMax": 0.11,
"YAnchorMin": 0.11,
"XAnchorMax": 0.5825,
"XAnchorMin": 0.4056
}
},
"ConfigVersion": {
"Major": 1,
"Minor": 0,
"Patch": 5
}
}
{
"No Permission": "You do not have permission to use the '{0}' command.",
"SteamID Not Found": "Could not find this SteamID: {0}.",
"Player Not Found": "Could not find this player: {0}.",
"Multiple Players Found": "Found multiple players!\n\n{0}",
"PlaytimeTracker not Found": "PlaytimeTracker is not Loaded",
"RegisterThread": "Thread '{0}' is Registered",
"OverwriteThread": "Thread '{0}' is Overwritted",
"UnregisterThread": "Thread '{0}' is UnRegistered",
"RegisterThreadPlaytime": "Thread '{0}' is Registered Time Based On Playtime",
"OverwriteThreadPlaytime": "Thread '{0}' is Overwritted Time Based On Playtime",
"EffectAddedConsoleNotice": "Effect '{0}' is Added to {1}",
"EffectOverwrittedConsoleNotice": "Effect '{0}' is Overwritted to {1}",
"EffectRemovedConsoleNotice": "Effect '{0}' is Removed from {1}",
"EffectAddedConsoleNoticeGroup": "Effect '{0}' is Added to {1} Group",
"EffectOverwrittedConsoleNoticeGroup": "Effect '{0}' is Overwritted to {1} Group",
"EffectRemovedConsoleNoticeGroup": "Effect '{0}' is Removed from {1} Group",
"CantAddPlaytimeEffectToGroup": "Playtime-based effects cannot be added to the group",
"Effect Is Not Exist On Player": "Effect '{0}' is not exist on player!",
"Effect Is Not Exist On Group": "Effect '{0}' is not exist on group!",
"Reseted PlayersData": "Players Data has been initialized",
"Reseted GroupsData": "Groups Data has been initialized",
"EffectAddedNotice": "Effect '{0}' is Added",
"EffectOverwrittedNotice": "Effect '{0}' is Overwritted",
"EffectRemovedNotice": "Effect '{0}' is Removed",
"NotEnoughArgument": "to run this command you need {0} arguments, do /eps for more information.",
"Invalid Parameter": "'{0}' is an invalid parameter, do /eps for more information.",
"Effect Is Not Exist": "'{0}' is not exist effect.",
"Permission Is Not Exist": "'{0}' is not exist permission.",
"Permission Is Empty": "'{0}' Effect permission is Empty\nFail to Add Effect!",
"GroupNotExist": "{0} is not Exist Group",
"RegisteredDataList": "EPS Registered Threads\n\n{0}\n",
"RegisteredPermList": "{0}",
"RegisteredThreadList": "======================EffectThread\nThreadName : {0}\nHexThreadColor : {1}\nDisconnectAutoExpireTime : {2}\n-----------Permissions\n{3}\n\n",
"RegisteredRtThreadList": "======================RealTImeEffectThread\nThreadName : {0}\nHexThreadColor : {1}\nDisconnectAutoExpireTime : {2}s\nEffectTime : {3}s\n-----------Permissions\n{4}\n\n",
"RegisteredPtThreadList": "======================PlayTimeEffectThread\nThreadName : {0}\nHexThreadColor : {1}\nDisconnectAutoExpireTime : {2}s\nEffectTime : {3}s\n-----------Permissions\n{4}\n\n",
"SingleThread": "{0} - {1}",
"SinglePlaytimeThread": "{0} - {1} playtime",
"PlayerThreads": "====================={0}\n{1}\n=======Contained In Group\n{2}\n",
"PlayersThreadsHead": "Players EffectThreads\n",
"PlayerThreadsHead": "{0}'s EffectThreads\n",
"GroupsThreadsHead": "Groups EffectThreads\n",
"GroupThreads": "====================={0}\n{1}\n",
"Data Is Empty": "no data",
"CommandHelp": "Permission Effects Commands\n\n---add effect to player/group\n/eps add <user/group> <playername/groupname> <effectthread>\n---remove effect from player/group\n/eps remove <user/group> <playername/groupname> <effectthread>\n---remove all effect from player/group\n/eps removeall <user/group> <playername/groupname>\n\n---reset players/groups thread data\n/eps reset <user/group/all>\n---register thread\n/eps thread add <threadname> <threadcolor> <permission1,permission2,...> <sec> <rt/pt> <DisconnExpireSec>\n---unregister thread\n/eps thread remove <threadname>\n\n---Check Registered Thread\n/eps rlist\n---Check Players Thread\n/eps plist\n---Check Groups Thread\n/eps glist\n---Check Player Thread\n/eps pt <player>\n---Check My Thread\n/effect"
}
更新日志
本站记录 uMod 官方插件信息。完整的历史更新日志请参阅 uMod 官方页面。
安装方法
- 确认服务器已安装 Oxide / uMod 或兼容的 Carbon 框架。
- 登录本站后点击"下载",由本站已校验的本地缓存提供作者发布的文件。
- 将 .cs 文件放入服务器的
oxide/plugins目录。 - 观察服务端控制台,确认插件编译并成功加载。
- 具体配置、权限、指令和依赖请查看原作者的 uMod 页面。
使用前注意
- Rust 更新后,请先确认插件是否仍兼容当前服务端版本。
- 修改配置前建议备份原配置文件,并在测试服验证后再部署到正式服。
- 若插件依赖其他扩展或库,以 uMod 原作者页面的最新说明为准。
- 本站中文内容用于辅助理解,遇到版本差异时以官方英文文档和源码为准。
中文介绍由 uMod 官方简介翻译整理。插件著作权、许可证、完整文档和最新发布状态均以原作者及 uMod 官方页面为准。