Skip to content

龙核资源

LyDragonSkillView 提供基于 DragonCore 的技能菜单、技能栏 HUD 和读条 HUD 配置。资源包中包含对应的服务端界面配置与客户端贴图,用于显示技能列表、技能详情、技能升级、技能降级、技能绑定、技能冷却、充能、蓝量、公共冷却和读条进度。

插件的 DragonCore 交互依赖 DragonCore 与 LyDragonSkillView 正常加载。若配置启用了 MySQL 存储,还必须安装 LyMySQLCore 并成功连接数据库,相关玩家数据读写功能才会生效。

文件放置

压缩包目录放置位置说明
龙核服务端配置文件/*.ymlplugins/DragonCore/Gui/DragonCore 服务端界面配置。
龙核客户端贴图文件/gui/LyDragonSkillView/客户端 DragonCore/gui/LyDragonSkillView/技能菜单、技能栏和读条 HUD 使用的贴图。

文件需要分别放置到服务端和客户端对应目录。只复制服务端 YAML 文件而不复制客户端贴图时,界面可能可以打开,但会出现贴图缺失、显示异常或组件无法正常操作。

放置完成后,建议重启客户端资源包,并重载或重启服务端 DragonCore,使界面配置和贴图重新生效。

服务端界面文件

文件用途
LyDragonSkillView_Gui.yml技能菜单主界面,包含技能列表、技能详情、升级、降级、绑定和解绑等交互。
LyDragonSkillView_SkillBar.yml技能栏 HUD,显示绑定技能图标、充能层数、技能冷却、蓝量和公共冷却。
LyDragonSkillView_BootBar.yml读条 HUD,显示当前读条技能、读条进度、已用时间、总时间和读条段数。

主界面发包

DragonCore 自定义数据包标识使用 LyDragonSkillView。主界面通过以下数据包完成初始化和交互:

数据包参数作用
LyDragonSkillView / 初始化初始化技能菜单,拉取技能列表、技能分类和玩家相关数据。
LyDragonSkillView / 点击技能 / 技能ID技能 ID选中技能并刷新右侧技能详情。技能 ID 必须是已成功加载的技能配置 ID。
LyDragonSkillView / 升级技能 / 技能ID技能 ID尝试升级指定技能,并刷新技能列表、详情和绑定状态。
LyDragonSkillView / 降级技能 / 技能ID技能 ID尝试降级指定技能,并按配置返还技能点。是否允许降级由 level-down-enable 控制。
LyDragonSkillView / 绑定技能 / 键位 / 技能ID键位、技能 ID将已学习且允许绑定的技能绑定到指定键位。
LyDragonSkillView / 解绑技能 / 键位键位清空指定键位上的技能绑定。

插件会根据 packet-interval 对 DragonCore 交互数据包进行间隔限制,用于减少短时间内重复点击造成的重复处理。该限制不会改变界面初始化数据包的用途。

HUD 初始化

HUD初始化数据包说明
技能栏 HUDLyDragonSkillView / 初始化技能栏HUD初始化技能栏界面及绑定技能显示。
读条 HUDLyDragonSkillView / 初始化读条HUD初始化读条界面,并根据读条相关变量控制显示和进度。

玩家进入服务器后,插件会尝试打开技能栏 HUD 和读条 HUD。DragonCore 配置文件重新加载时,对应 HUD 也会重新初始化。

如果需要在自定义界面中主动初始化 HUD,应发送对应的数据包:

text
LyDragonSkillView / 初始化技能栏HUD
LyDragonSkillView / 初始化读条HUD

技能栏变量

技能栏 HUD 通过 PlaceholderAPI 变量读取玩家当前资源、公共冷却和各键位技能状态。变量刷新间隔由 dragon-placeholder-interval 控制,单位为 tick,最低值为 1。

玩家资源与公共冷却

变量返回值
%ldsv_mana_now%玩家当前蓝量。
%ldsv_mana_max%玩家最大蓝量。
%ldsv_gcd%玩家全局公共冷却剩余时间,单位为秒,保留 1 位小数。
%ldsv_gcdScale%玩家全局公共冷却剩余比例,范围为 0~1
%ldsv_skill_point%玩家当前技能点数量。

键位技能状态

以下变量中的 {键位} 必须替换为 bind-key 中配置的键位名,例如 QRZ

变量返回值
%ldsv_skillbar_icon_{键位}%指定键位技能的贴图路径或裁剪值。
%ldsv_skillbar_charge_{键位}%指定键位技能当前可用的充能层数。
%ldsv_skillbar_skill_id_{键位}%指定键位绑定的技能 ID。
%ldsv_skillbar_skill_name_{键位}%指定键位绑定的技能显示名称。
%ldsv_skillbar_cooldown_{键位}%指定键位技能下次恢复的剩余时间,单位为秒,保留 1 位小数。
%ldsv_skillbar_cooldownScale_{键位}%指定键位技能下次恢复的剩余比例,范围为 0~1

修改 bind-key 后,DragonCore 技能栏中的键位组件也需要同步调整。组件名称、键位文本和对应变量中的键位名必须保持一致。

读条 HUD 变量

读条 HUD 使用以下变量显示当前正在释放的读条技能及其进度:

变量返回值
%ldsv_boot_skill%当前读条技能名称。没有正在读条的技能时不返回有效的读条技能名称。
%ldsv_boot_scale%当前读条进度比例,范围为 0~1
%ldsv_boot_elapsed%当前读条已用时间,单位为秒,保留 1 位小数。
%ldsv_boot_total%当前读条总时间,单位为秒,保留 1 位小数。
%ldsv_boot_trigger_count%当前读条总段数。
%ldsv_boot_count%当前读条总段数。

常见显示逻辑是使用 %ldsv_boot_skill% 判断当前是否存在读条技能,再使用 %ldsv_boot_scale% 控制进度组件。读条技能的总段数来自技能等级中的 cast-trigger-count

技能释放与键位事件

技能栏中的绑定键位由 DragonCore 按键事件触发:

  • 按下绑定键位时,插件尝试释放该键位绑定的技能。
  • 同一键位在按下到抬起期间只处理一次按下事件,避免长按造成重复释放。
  • 使用 hold_casthold_release_cast 时,抬起键位会参与读条结算。
  • 读条未完成就抬起键位时,会按提前松开处理为读条中断。
  • 读条完成后抬起键位时,会触发技能释放成功事件。
  • instant 技能不会产生读条进度;tap_casthold_casthold_release_cast 可使用读条 HUD 显示释放进度。

主动技能的读条中断场景可在技能配置的 interrupt-when 中设置,当前代码支持的场景包括:

说明
move移动时中断读条。
attack造成伤害时中断读条。
damaged受到伤害时中断读条。

技能栏显示内容

技能栏 HUD 可根据变量显示以下内容:

  • 每个开放键位绑定的技能图标和技能名称。
  • 技能当前充能层数。
  • 技能下次恢复时间和恢复比例。
  • 玩家当前蓝量与最大蓝量。
  • 玩家全局公共冷却剩余时间和比例。
  • 技能冷却完成或充能达到满层时的图标闪烁动画。

技能是否可以绑定到技能栏,还会受到技能类型和配置限制:

  • 主动技能固定要求绑定技能栏后释放。
  • 被动技能是否要求绑定技能栏,由技能配置中的 require-bind-slot 控制。
  • 未学习的技能不能绑定。
  • 不要求绑定技能栏即可生效的被动技能不能绑定到技能栏。
  • max-active-skill-amountmax-passive-skill-amount 可以限制绑定的主动、被动技能数量;配置值小于等于 0 时不限制。

技能菜单显示内容

技能菜单从技能配置读取以下内容:

配置字段用途
name技能显示名称。
texture技能图标贴图路径。
simple-description技能列表中的简要描述。
max-level技能菜单显示的等级上限。
show-condition技能是否显示在技能菜单中的条件列表。
skill-level.<等级>.description指定技能等级的详情描述。
skill-level.<等级>.upgrade-list升级到指定等级时需要满足的条件和消耗。

技能详情中的描述通常会显示当前等级、额外等级、最终等级、等级上限、冷却、蓝耗和升级条件。DragonCore 界面只负责展示这些数据,实际升级条件由服务端技能配置和插件逻辑判断。

技能分类与职业菜单

插件支持通过 skill-class 将技能分配到不同的技能菜单分类。分类可以配置打开条件,并指定该分类显示的技能 ID。玩家职业相关数据使用 class-setting 配置,技能菜单中的 class 条件会读取玩家当前职业。

DragonCore 自定义界面打开某个分类时,应使用项目中对应的分类数据结构,不要将显示名称误当作技能 ID。技能 ID 必须与 skills 目录中技能配置的顶层节点名称一致。

贴图目录

客户端贴图需要保留以下目录结构:

text
DragonCore/
└── gui/
    └── LyDragonSkillView/
        ├── 技能菜单贴图
        ├── 技能列表贴图
        ├── 按钮贴图
        ├── 技能栏贴图
        ├── 公共冷却贴图
        └── 读条贴图

技能配置中的 texture 使用相对于 DragonCore 资源目录的路径,例如:

yaml
texture: "gui/LyDragonSkillView/skill.png"

如果技能图标或 HUD 贴图显示异常,优先检查以下内容:

  1. 客户端目录是否为 DragonCore/gui/LyDragonSkillView/
  2. 技能配置中的 texture 路径是否与实际文件名一致。
  3. 是否只复制了服务端 YAML,而没有复制客户端贴图。
  4. 客户端是否重新加载了 DragonCore 资源包。
  5. 服务端 DragonCore 是否重新加载了对应 GUI 文件。

MySQL 数据存储

LyDragonSkillView 可以将玩家技能等级、技能点、蓝量、职业和技能绑定等数据保存到 MySQL。

启用 mysql.enable: true 后,必须同时满足以下条件:

  • 已安装 LyMySQLCore 插件。
  • LyMySQLCore 已成功连接配置的数据库。
  • LyDragonSkillView 能够正常获取数据库连接。

如果数据库未成功连接,相关功能不会正常生效。插件在数据库模式下会通过 LyMySQLCore 的玩家数据加载和保存事件读取、保存玩家数据;数据库连接未完成时,玩家登录可能会被阻止。

常见问题

界面可以打开,但没有贴图

检查客户端是否完整放置了 DragonCore/gui/LyDragonSkillView/ 目录。服务端的 plugins/DragonCore/Gui/ 只存放界面 YAML,不能替代客户端贴图。

技能栏没有显示绑定技能

检查以下内容:

  • 是否发送了 LyDragonSkillView / 初始化技能栏HUD
  • bind-key 中是否配置了该键位。
  • DragonCore 技能栏组件使用的键位名是否与 bind-key 完全一致。
  • 玩家是否已经学习技能。
  • 技能是否允许绑定技能栏。
  • 是否超过主动或被动技能的绑定数量上限。

读条 HUD 没有显示进度

检查是否发送了 LyDragonSkillView / 初始化读条HUD,并确认读条 HUD 使用了 %ldsv_boot_skill%%ldsv_boot_scale%%ldsv_boot_elapsed%%ldsv_boot_total% 等变量。技能等级中的 cast-time-tick 不能为有效的零时长配置,否则不会产生正常的读条进度。

点击升级或绑定没有反应

确认发送的数据包标识为 LyDragonSkillView,并检查参数顺序是否正确。技能 ID 必须是已加载的技能配置 ID,键位必须是 bind-key 中注册的键位名。

修改键位后 HUD 显示错位

修改 bind-key 后,需要同步修改 DragonCore 技能栏中对应键位的组件、文本和变量引用。仅修改服务端 config.yml 不会自动重命名已有的 DragonCore 组件。

开启 MySQL 后玩家数据没有保存

确认已经安装 LyMySQLCore,并检查 LyMySQLCore 是否成功连接数据库。只有数据库连接成功时,MySQL 相关玩家数据加载、自动保存和退出保存才会生效。