DWRole - 身份系统

原创 DWRole - 身份系统 1.0.4

需要插件(必装)
DWRole - 身份系统允许您设置一些目标,当玩家完成该目标后即可获得该身份。

当玩家完成这些目标之后就会获得该身份,允许其他插件来判断该玩家是否拥有指定身份来判断有无权限。

使用DWRole的插件:​

插件功能描述备注
DWWeapon - 成长型武器拥有指定身份才能使用该成长型武器或强化石
DWAttire - 成长型服饰拥有指定身份才能使用该成长型服饰、强化石或激活套装
ContinuousRockets - 连发火箭弹拥有指定身份后获得额外的连发火箭弹数量
DWSkinWeapon - 武器增益拥有指定身份才能使用该武器
DWSkinAttrie - 服饰增益拥有指定身份才能使用该服饰
更多插件正在接入中……

达成要求​

名称描述达成条件要求目标要求数值备注
收集收集指定物品Gather填写物品短名称,或用 * 代表全部物品数量
击杀完成击杀或摧毁Kill填写实体短名称、特殊NPC名称,玩家填写 player ,或用 * 代表全部数量
钓鱼在游戏内钓鱼Fishing填写物品短名称,或用 * 代表全部物品数量
死亡次数玩家累计死亡次数Death次数自杀不计入次数
在线时间累计在线时间Online秒数
权限拥有权限Permission填写权限名无需如果填入不存在的权限插件会自动注册。
忽略要求数值
权限组拥有权限组Group填写权限组名称无需
EconomicsEconomics插件余额Economics余额数量
突袭基地参与完成突袭基地事件次数RaidableBase填写事件等级(Easy=0以此+1),或用*代表全部事件等级次数
进服天数累计进服天数JoinDays天数
最长离线时间最长有多久时间没有进过服务器MaxOffline秒数不会叠加,只会在超过当前时间时刷新
算术答题累计达对算术答题事件次数DWMath次数
XPerience满足XPerience插件数值要求XPeriencelevel(当前等级);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)
作者
对味
下载
1
类型
数字产品
有效期
无限
价格
138.00 CNY
查看
498
文件类型
cs
文件大小
35.8 KB
文件Hash
b21b8644dea60d989a02c9969dfa1fc4
首次发布
最后更新
评分
0.00 星 0评价

来自对味的更多资源

分享资源

最新更新

  1. 1.0.4 更新

    [新增] 死亡次数 要求,要求玩家达到指定的死亡次数。 [改进] XPerience相关的判断。 [改进] 权限注册相关的问题。 [改进] 权限监测未实时更新的问题。 [修复]...
  2. 1.0.3 更新

    [新增] 权限组要求,要求玩家拥有指定的权限组。 [改进] XPerience相关的判断。 [改进] 插件初始化加载顺序。 [改进] 权限进度判断。
  3. 1.0.2 更新

    [新增] 算术答题要求,使用累计答对算术答题活动次数作为判断。 [新增] XPerience要求,使用XPerience插件的数值作为判断。 [改进] 默认配置文件新增学霸身份。 [改进]...
标签
api 权限 身份