- 需要插件(必装)
-
DWRole - 身份系统允许您设置一些目标,当玩家完成该目标后即可获得该身份。
当玩家完成这些目标之后就会获得该身份,允许其他插件来判断该玩家是否拥有指定身份来判断有无权限。
更多插件正在接入中……
* 名称或达成条件填入达成要求中的
*
当玩家完成这些目标之后就会获得该身份,允许其他插件来判断该玩家是否拥有指定身份来判断有无权限。
使用DWRole的插件:
插件 | 功能描述 | 备注 |
---|---|---|
DWWeapon - 成长型武器 | 拥有指定身份才能使用该成长型武器或强化石 | |
DWAttire - 成长型服饰 | 拥有指定身份才能使用该成长型服饰、强化石或激活套装 | |
ContinuousRockets - 连发火箭弹 | 拥有指定身份后获得额外的连发火箭弹数量 | |
DWSkinWeapon - 武器增益 | 拥有指定身份才能使用该武器 | |
DWSkinAttrie - 服饰增益 | 拥有指定身份才能使用该服饰 | |
DWMenu - 服务器菜单 | 拥有指定身份才能显示分类或使用该按钮 |
达成要求
名称 | 描述 | 达成条件 | 要求目标 | 要求数值 | 备注 |
---|---|---|---|---|---|
收集 | 收集指定物品 | Gather | 填写物品短名称,或用 * 代表全部物品 | 数量 | |
击杀 | 完成击杀或摧毁 | Kill | 填写实体短名称、特殊NPC名称,玩家填写 player ,或用 * 代表全部 | 数量 | |
钓鱼 | 在游戏内钓鱼 | Fishing | 填写物品短名称,或用 * 代表全部物品 | 数量 | |
死亡次数 | 玩家累计死亡次数 | Death | 无 | 次数 | 自杀不计入次数 |
在线时间 | 累计在线时间 | Online | 无 | 秒数 | |
权限 | 拥有权限 | Permission | 填写权限名 | 无需 | 如果填入不存在的权限插件会自动注册。 忽略要求数值 |
权限组 | 拥有权限组 | Group | 填写权限组名称 | 无需 | |
Economics | Economics插件余额 | Economics | 无 | 余额数量 | |
突袭基地 | 参与完成突袭基地事件次数 | RaidableBase | 填写事件等级(Easy=0以此+1),或用* 代表全部事件等级 | 次数 | |
进服天数 | 累计进服天数 | JoinDays | 无 | 天数 | |
最长离线时间 | 最长有多久时间没有进过服务器 | MaxOffline | 无 | 秒数 | 不会叠加,只会在超过当前时间时刷新 |
算术答题 | 累计达对算术答题事件次数 | DWMath | 无 | 次数 | |
XPerience | 满足XPerience插件数值要求 | XPerience | level(当前等级);xp(当前经验);rank(当前级别ID);rankname(当前级别名称);truexp(累计经验)…… | 对应数值 |
达成条件
里。*
要求目标
根据表格提示填写,如果是无则忽略。配置文件(1.0.1)
JSON:
{
"身份列表": [
{
"身份名称": "杀手",
"身份描述": "累计杀死5名玩家",
"达成要求": [
{
"达成条件": "Kill",
"要求目标": "player",
"要求数值": "5"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "Boss杀手",
"身份描述": "击杀 世界Boss-狼王 一次",
"达成要求": [
{
"达成条件": "Kill",
"要求目标": "世界Boss-狼王",
"要求数值": "1"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "猎人",
"身份描述": "击杀过大部分动物且达一定数量",
"达成要求": [
{
"达成条件": "Kill",
"要求目标": "wolf",
"要求数值": "5"
},
{
"达成条件": "Kill",
"要求目标": "boar",
"要求数值": "5"
},
{
"达成条件": "Kill",
"要求目标": "bear",
"要求数值": "5"
},
{
"达成条件": "Kill",
"要求目标": "chicken",
"要求数值": "5"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "黑奴",
"身份描述": "累计采集物品数量达10万个",
"达成要求": [
{
"达成条件": "Gather",
"要求目标": "*",
"要求数值": "100000"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "高金矿工",
"身份描述": "累计采集高金5000个且累计采集资源数量达1万个",
"达成要求": [
{
"达成条件": "Gather",
"要求目标": "*",
"要求数值": "10000"
},
{
"达成条件": "Gather",
"要求目标": "hq.metal.ore",
"要求数值": "5000"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "渔夫",
"身份描述": "钓鱼100次",
"达成要求": [
{
"达成条件": "Fishing",
"要求目标": "*",
"要求数值": "100"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "肝帝",
"身份描述": "作为服务器的肝帝满足各种的要求吧",
"达成要求": [
{
"达成条件": "Kill",
"要求目标": "*",
"要求数值": "100"
},
{
"达成条件": "Gather",
"要求目标": "*",
"要求数值": "100000"
},
{
"达成条件": "Fishing",
"要求目标": "*",
"要求数值": "100"
},
{
"达成条件": "Online",
"要求目标": "",
"要求数值": "86400"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "首富",
"身份描述": "当前持有金币数量达100万且累计在线时间达24个小时",
"达成要求": [
{
"达成条件": "Economics",
"要求目标": "",
"要求数值": "1000000"
},
{
"达成条件": "Online",
"要求目标": "",
"要求数值": "86400"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "夜行者",
"身份描述": "拥有夜视权限",
"达成要求": [
{
"达成条件": "Permission",
"要求目标": "nightvision.allowed",
"要求数值": ""
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "突袭者",
"身份描述": "累计完成任意等级突袭基地10次",
"达成要求": [
{
"达成条件": "RaidableBase",
"要求目标": "*",
"要求数值": "10"
}
],
"不满足条件后移除身份": true
},
{
"身份名称": "流浪汉",
"身份描述": "在外漂泊的人回到了这里,最长离线时间达30天",
"达成要求": [
{
"达成条件": "MaxOffline",
"要求目标": "",
"要求数值": "2592000"
}
],
"不满足条件后移除身份": true
}
]
}
API
检查玩家是否有指定身份
C#:
private bool HasRole(BasePlayer player, string name)
检查是否存在指定名称的身份
C#:
private bool IsRole(string name)
获取玩家全部身份列表
C#:
private List<string> GetRoles(BasePlayer player)
获取玩家第一次进入服务器时间
C#:
private DateTime GetFristJoinDate(BasePlayer player)
获取玩家指定统计信息
C#:
private object GetStatusData(BasePlayer player, string type, string detail)