Skip to content

玩法机制

这一页说明 LyCamp 的实际运行规则。配置时建议先看完这里,再回到 配置说明 调整参数。

阵营战斗规则

阵营 PVP 只在 pvp-world 配置的世界中生效。

一次玩家攻击会按顺序检查:

  1. 攻击者所在世界是否是 PVP 世界。
  2. 攻击者和目标是否都有玩家数据。
  3. 攻击者是否已加入有效阵营。
  4. 目标是否已加入有效阵营。
  5. 目标阵营是否在攻击者阵营的 hostiles 列表内。
  6. 当前时间是否处于该世界 PVP 开放时间内。

任意一步不满足,伤害会被取消。

PVP 时间

每个 PVP 世界都有独立的开始和结束时间:

yaml
pvp-start-time: "0 0 9 * * ?"
pvp-end-time: "0 0 18 * * ?"

这里使用 cron 表达式。默认示例表示每天 9 点开始,18 点结束。不在开放时间内攻击玩家,会发送 not-pvp-message

进入和离开 PVP 世界

must-have-camp-to-teleport: true 时,玩家传送进 PVP 世界前必须满足:

条件说明
已加载玩家数据玩家在线并完成数据读取
已加入阵营camp 不为空
该世界有阵营重生点respawn-location 中存在玩家阵营名

非 OP 玩家从 PVP 世界传送到其它世界会被阻止。默认配置建议通过 OP 指令或菜单逻辑把玩家送出 PVP 世界。

声望变化

场景当前声望累计声望每日剩余额度
击杀敌对阵营玩家增加增加扣除本次获得量
被玩家击杀扣除不变不变
非玩家击杀死亡扣除不变不变
管理指令 given增加增加扣除本次获得量
管理指令 givec不变增加不变
退出阵营清空清空清空

当前声望和累计声望不会超过该阵营最高声望区间的上限,也不会低于 0

每日刷新

玩家每日可获得声望会在跨日后刷新为阵营配置的上限。

刷新来源有两种:

来源说明
玩家数据读取时玩家上线读取数据后会检查是否跨日
在线定时检查插件每秒检查一次整秒时刻,并对在线玩家执行跨日刷新判断

每日首杀状态按 last-kill-time 判断。当天还没击杀过敌对玩家时,%lyzy_first_kill% 返回未完成文本。

称号和属性

玩家加入阵营后,属性由两部分组成:

  1. 阵营基础属性:camp.<阵营>.attribute
  2. 当前累计声望命中的称号属性:camp.<阵营>.prestige.<区间>.attribute

属性会在玩家数据加载后刷新,也会在玩家关闭背包界面后刷新。

死亡掉落

PVP 世界内,且处于 PVP 开放时间时,会处理掉落。

场景是否处理掉落
被玩家击杀
非玩家击杀死亡
PVP 世界内退出
非 PVP 世界死亡
非 PVP 时间死亡

掉落分两类:

类型说明
随机掉落背包前 36 格中,lore 命中 force-drop-item-lore 的物品进入掉落池,再按 force-drop-item-amount 随机掉落
必定掉落背包前 36 格中,lore 命中 independent-of-the-world-force-drop-item-lore 的物品直接掉落

掉落后,物品会从玩家背包移除,并在玩家死亡位置自然掉落。

命令限制

在 PVP 世界内,非 OP 玩家默认不能执行命令。allow-command 中写入的是命令前缀。

yaml
allow-command:
  - "/say"

例如允许 /spawn,则 /spawn/spawn test 都会放行。没有匹配前缀时会取消命令并发送禁止提示。