Skip to content

命令与权限 ​

EmakiAttribute 的全部命令和权限如下, 排查问题时先跑哪一条按场景列出

EmakiAttribute 的主命令是 /emakiattribute, 别名为 /eattribute, /ea. 这些命令主要给管理员用: 重载配置, 同步属性, 排查战斗计算. 玩家平时用不到它们

命令列表 ​

命令说明权限
/ea help输出命令帮助; 直接输入 /ea 不带任何参数时结果一样根命令需 emakiattribute.use (默认 true)
/ea reload重载配置, 属性, 条件, 伤害类型等emakiattribute.reload 或 emakiattribute.admin
`/ea resync [playerall]`同步自己, 指定玩家或全部在线玩家的属性状态
/ea preview [player] [slot]预览指定玩家某个装备槽贡献了哪些属性emakiattribute.debug 或 emakiattribute.admin
/ea dump [player] [sources [attribute]|json]输出玩家属性快照与资源状态; 可以是完整的, 也可以只看来源或导出 JSONemakiattribute.debug 或 emakiattribute.admin
/ea debug [player] [toggle/on/off]开关或切换战斗调试输出, 也可转发 status/on/off/player/moduleemakiattribute.debug 或 emakiattribute.admin
/ea source <player> <attribute>查看指定属性的逐条来源贡献, 以及各处条件是否通过emakiattribute.debug 或 emakiattribute.admin
/ea trace last|list|export|clear <player>查看, 导出或清除玩家的伤害结算追踪记录emakiattribute.debug 或 emakiattribute.admin
/ea points view|open|add|reset ...查看 (view, 别名 info), 打开 GUI (open, 别名 gui), 分配或重置自己的父级属性点emakiattribute.points 或 emakiattribute.admin
/ea points add <player> <attribute> [amount]管理员替指定玩家给 (父级属性) 分配属性点emakiattribute.points.admin 或 emakiattribute.admin
/ea points set/grant/setreset <player> <amount>管理员设置可用属性点, 发放属性点或设置重置点数emakiattribute.points.admin 或 emakiattribute.admin
/ea lint检查配置引用, 属性 ID, 格式和条件配置有没有问题emakiattribute.reload 或 emakiattribute.admin

NOTE

/ea 根命令由 emakiattribute.use (默认 true) 统一管着; 命令列表中的子命令权限在通过根命令后再校验一次. points 不写子命令时等价于 view

权限节点 ​

权限默认说明
emakiattribute.usetrue允许使用基础命令
emakiattribute.reloadop允许重载和做配置检查
emakiattribute.resyncop允许同步属性
emakiattribute.debugop允许查看调试信息
emakiattribute.pointstrue允许查看属性点, 打开属性点 GUI, 给自己分配, 或消耗重置点数重置
emakiattribute.points.adminop允许查看或打开他人的属性点, 设置可用点数, 发放点数, 设置重置点数和免费重置
emakiattribute.adminop管理员总权限

先用哪个命令 ​

场景先执行目的
修改了属性, 伤害或条件配置/ea lint, 再 /ea reload先把配置问题挑出来, 再重载
玩家属性没有变化/ea resync <player>重新读取装备, PDC 和资源状态
不确定装备贡献了什么属性/ea preview <player> <slot>看看单件装备贡献了哪些属性
某个属性数值来路不明/ea source <player> <attribute>逐条列出该属性的来源和条件结果
战斗伤害不符合预期/ea debug <player> on查看阶段, 暴击, 防御, 穿透和恢复
需要复盘某一次伤害/ea trace last <player>查看最近一次伤害的分阶段结算记录
玩家状态异常/ea dump <player>输出完整的属性与资源状态
玩家要加点或洗点/ea points open / /ea points reset打开父级属性点 GUI, 或按重置点数规则重置

常用操作示例 ​

重载配置 ​

text
/ea reload

改完 attributes/, conditions/, damage_types/, lore_formats/ 或语言文件后就用它. 如果改动涉及在线玩家当前装备, 重载后再执行一次 resync

同步全部在线玩家 ​

text
/ea resync all

适合一次更新很多玩家的属性状态, 比如你刚调整了属性定义, 默认值或装备解析规则

预览手持装备属性 ​

text
/ea preview Steve main_hand

常用槽位:

  • main_hand
  • off_hand
  • helmet
  • chestplate
  • leggings
  • boots

追踪属性来源 ​

text
/ea source Steve physical_attack
/ea dump Steve sources physical_attack

它会逐条列出该属性的贡献值, 来源类型和来源标签, 条件没通过的贡献还会额外标注. 另外, /ea dump <player> sources 省略属性 ID 时列出全部属性来源, /ea dump <player> json 会额外输出 JSON 形式的来源追踪

复盘一次伤害结算 ​

text
/ea trace last Steve
/ea trace list Steve
/ea trace export Steve
/ea trace clear Steve

last 输出最近一次伤害的摘要和各阶段的输入输出, list 列出已经记录下来的追踪摘要, export 以 JSON 输出最近一条记录, clear 清除该玩家的记录

打开属性点 GUI 与分配点数 ​

text
/ea points open
/ea points view
/ea points add strength 1

记住, points add 只能给已经定义为 parent_attribute: true 的父级属性分点. 三种情况都会失败: 可用点数不足, 属性 ID 不存在, 目标不是父级属性. 另外, 在控制台执行属性点命令时必须指定玩家

管理员发放与重置属性点 ​

text
/ea points add Steve strength 1
/ea points grant Steve 5
/ea points set Steve 10
/ea points setreset Steve 1
/ea points reset Steve free

这四条各管一件事: add <player> <attribute> [amount] 替指定玩家把点数投进某个父级属性 (amount 省略时为 1), grant 增加可用属性点, set 直接设置可用属性点, setreset 设置玩家可以消耗的重置点数. 注意, 管理员对他人执行 reset 或附加 free 时不会消耗玩家自己的重置点数

打开战斗调试 ​

text
/ea debug Steve on

用来排查伤害计算阶段, 暴击, 防御, 穿透, 资源变化等问题. 注意: 生产服不建议长期给大量玩家开着调试