径向菜单上的热键名称

径向菜单上的热键名称

Native Hotkey API 的一个附加组件,使其注册的热键在径向(罗盘)菜单上显示真实名称。

径向菜单中的热键名称

该插件为原生热键 API 提供支持,使其注册的热键在径向(罗盘)菜单中显示真实名称,而非内部 (Debug)A 风格的占位符。

概述

X4 的 INPUT_ACTION_* 列表是编译进游戏且无法扩展的,因此 Native Hotkey API 会将未使用的调试操作槽位分配给注册它的模组。游戏中任何通过自身文本数据库查找控件名称的部分,都会以内置占位符名称显示这些槽位——例如 (Debug)A(Debug)F12 等。

在正常游戏中,径向菜单是唯一能看到此现象的地方。将模组热键分配到径向菜单位置后,轮盘会将其标记为 (Debug)A,完全无法得知其实际触发的操作。

本模组修复了径向菜单标签问题。轮盘由 ui/core/lua/compass.lua 绘制,该文件运行在游戏隔离的核心 UI 环境中——它既无法访问 Native Hotkey API 的注册表,也无法访问任何其他模组的 Lua 代码。此插件替换了该文件,并为其提供了一条查询渠道,使每个径向位置都能显示注册模组实际选择的名称。

由于本模组需要替换核心 UI 文件,因此以独立扩展包的形式分发,对于在游戏中积极使用径向菜单的玩家(尤其是使用手柄的玩家)最为实用。

无需任何配置。安装后,径向菜单即会显示真实名称。

需求

安装方法

使用方法

  1. 像往常一样注册热键——任何基于 Native Hotkey API 构建的模组都会为你完成此操作。

  2. 打开 选项 > 热键管理,找到该热键,并使用其行末的径向菜单下拉菜单将其分配到两个轮盘之一的位置上。

    分配径向菜单位置

  3. 在飞行中打开该轮盘。该位置现在会显示热键自身的名称。

    径向菜单

每当已注册的热键集合发生变化时,名称都会重新读取,因此安装、移除或禁用热键模组的操作会在下次打开轮盘时反映出来。

限制

  • 本模组替换了整个 ui/core/lua/compass.lua 文件,因为游戏不提供扩展核心 UI 脚本的方法。它与任何替换相同文件的其他模组不兼容。
  • 每个主要游戏版本都需要单独的构建版本。
  • 仅影响径向菜单。游戏中其他从自身文本数据库命名这些槽位的地方仍会显示内置占位符。

鸣谢

致谢

  • EGOSOFT - 感谢他们制作了 X 系列游戏。
  • Nistur 和 Egosoft 官方 Discord 上一位不知名的 Egosoft UI 开发者,感谢他们指导我找到将数据传输到核心 UI 环境的正确方向。

更新日志

[9.00.01] / [8.00.01] - 2026-08-09

  • 新增
    • 首次发布。