Skip to content

Troubleshooting

故障排除

常见问题及解决方法。

两个聊天框 / 聊天框重复

Cause: 默认的 chat 资源仍在与 BUPA Chat 一起运行。因为 BUPA Chat 声明了 provide 'chat',两者都会被注册为聊天。

Fix: 停止或移除原版的 chat resource。请不要在你的配置中 ensure chat —— 只能 ensure bupa-chat

资源无法启动 / UI 是空白的

Cause: 缺少依赖项。BUPA Chat 依赖于 ox_libqb-core 并声明了 dependency '/assetpacks'

Fix: 确保这三个资源在 BUPA Chat 之前启动:

cfg
ensure ox_lib
ensure qb-core
ensure assetpacks
ensure bupa-chat

如果缺少 assetpacks,打包的 UI 资源将无法加载,聊天框也不会显示。

没有显示任何消息

  • 确保其他资源通过标准 API 发送消息 —— chat:addMessage (event) 或 exports.chat:addMessage(...)。请参阅 Developer API
  • 对于分类 (category) 消息,请确认玩家确实拥有访问权限:该分类上的 permissions (ACE)、jobsgangs 必须匹配。没有权限的玩家将永远看不到或使用该标签页。
  • 检查分类上的 maxLength —— 过长的消息会被截断而不是丢弃,但自定义集成中的不匹配 type 将被忽略。

建议/联想功能未显示

  • 命令建议是根据玩家被允许使用 (ACE-allowed) 的已注册命令构建的 (command.<name>)。如果某个命令未对该玩家授予 ACE 权限,则不会为其提供建议。
  • 建议会在玩家加载以及资源启动/停止时刷新。如果新注册的命令没有出现,请重启提供该命令的资源或重新打开聊天框。
  • 对于自定义的帮助文本/参数,请使用 chat:addSuggestion / chat:addSuggestions 显式推送它们。

所有内容都是英文(或语言错误)

Cause: 未设置本地化 convar,因此 BUPA Chat 回退到了 en

Fix:server.cfg 中设置语言:

cfg
setr ox:locale "tr"
# or force only chat:
setr bupa-chat:locale "tr"

请记住,bupa-chat:locale 会覆盖 ox:locale。若要实时更改,请使用 bupa:changeLanguage 客户端事件。请参阅 Localization

翻译缺失时显示键名

当活动语言文件中缺少某个翻译时,t() 会返回键名(例如 CATEGORY_ADMIN_LABEL)。请将缺失的键添加到对应的 locales/<code>.json 中,或者从 en.json 中复制。

未检测到 qb-core / 框架

Cause: 框架核心在 BUPA Chat 启动之后启动(或者在其引导时未运行)。

Fix: 确保 qb-core(或 qbx_core / es_extended)在 BUPA Chat 之前启动。框架桥接会自动检测 Qbox、QB-Core 和 ESX;你也可以通过 bupa-chat:framework convar 来固定或禁用它(默认值为 qb-core;设置为 false 则以无框架模式运行)。

Discord 日志 / 桥接不工作

  • Webhook 日志未送达: 确认 server/webhook.lua 中的 URL 是真实的 Discord Webhook URL,而不是占位符。
  • Discord → 聊天桥接无响应:shared/config/discord.lua 中,将 active = true,填入 channelId,并提供机器人的 token + guild ID(在 config.discord 中填写,或复用自 config.adminChatName.discord)。机器人发送的消息会被故意忽略。