插件功能
- 支持设置无限个奖励,并设置领取权限。
- 支持为单个奖励设置多个领取口令,还支持设置该口令使用过后就自动移除的设定(即CDK模式)。
- 支持设置可领取的次数与总共可领取的次数,可领取的次数为当前档期可领取的次数,总共可领取的次数为一直以来可领取的次数。
- 支持设置领取冷却时间。
- 支持发放物品和指令。
- 指令支持%STEAMID%变量,插件会自动替换该变量为玩家的steamid。
- 支持领取后发送全服广播、提示和为玩家执行效果。
- 支持清档后重置领取次数。
- 支持联动签到插件,在UI界面使用cdk兑换!
权限&指令
权限
给权限:oxide.grant user 玩家STEAMID DWCommandRewards.xx删权限:oxide.revoke user 玩家STEAMID DWCommandRewards.xx
给玩家:oxide.grant group default DWCommandRewards.xx
给管理:oxide.grant group admin DWCommandRewards.xx
领取口令支持设置使用权限,如果玩家没有权限则无法领取对应的口令。
您可以在
"领取权限 (留空无需)": "",
中设置使用权限,如果留空则代表所有人都能领取该奖励。权限必须以DWCommandRewards.
开始,例如DWCommandRewards.use
。聊天指令
- /ling 口令 - 领取指定奖励。
控制台指令
- dcr.newsave - 重置领取状态(不含总领取次数)。
- dcr.fill 奖励名称 数量 - 填充指定奖励的领取口令列表。
配置文件
默认配置文件
JSON:
{
"基础设置": {
"聊天提示前缀": "[BLGA · 提示]\n",
"领取基础指令设置(/ling 领取口令)": "ling",
"启用日志文件": true,
"日志输出控制台": true
},
"奖励列表": [
{
"奖励名称": "加群奖励",
"领取口令": [
"加群奖励",
"jqjl"
],
"移除已使用的口令": false,
"领取权限 (留空无需)": "",
"可领取的次数": 1,
"总可领取的次数": -1,
"领取冷却": 3600.0,
"奖励的物品列表": [
{
"物品名称": "硬币",
"物品短名": "paper",
"皮肤ID": 2403087319,
"物品数量": 100,
"物品文字内容": "显示在便签等物品中的文字"
},
{
"物品名称": "欢迎来到本服务器!",
"物品短名": "note",
"皮肤ID": 0,
"物品数量": 1,
"物品文字内容": "欢迎来到本服务器,希望你能够在本服务器中持续生存下去!如遇问题可在群内反馈。"
}
],
"执行全部指令(false=随机一条)": false,
"执行的指令列表": [
"say %玩家名称%刚刚领取了加群奖励!",
"o.grant user %STEAMID% vip"
],
"每次清档后重置领取次数": true,
"领取后广播 (留空无)": "",
"领取后提示 (留空无)": "",
"领取后执行效果 (留空无)": ""
}
]
}
开发者
API
C#:
int IsValidCode(BasePlayer player, string cdk)
//验证该CDK是否可供该玩家兑换。
//返回int值:200=可用,404=无效,401=无权
bool UseCDK(BasePlayer player, string cdk)
//尝试为玩家使用CDK
//返回bool值:true=使用成功,false=使用失败
Hook
C#:
void OnDWCommandRewards(ulong playerId, string rewardName)
//当玩家成功兑换奖励时调用。