Troubleshooting
故障排除
常见问题及解决方法。
两个聊天框 / 聊天框重复
Cause: 默认的 chat 资源仍在与 BUPA Chat 一起运行。因为 BUPA Chat 声明了 provide 'chat',两者都会被注册为聊天。
Fix: 停止或移除原版的 chat resource。请不要在你的配置中 ensure chat —— 只能 ensure bupa-chat。
资源无法启动 / UI 是空白的
Cause: 缺少依赖项。BUPA Chat 依赖于 ox_lib、qb-core 并声明了 dependency '/assetpacks'。
Fix: 确保这三个资源在 BUPA Chat 之前启动:
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)、jobs或gangs必须匹配。没有权限的玩家将永远看不到或使用该标签页。 - 检查分类上的
maxLength—— 过长的消息会被截断而不是丢弃,但自定义集成中的不匹配type将被忽略。
建议/联想功能未显示
- 命令建议是根据玩家被允许使用 (ACE-allowed) 的已注册命令构建的 (
command.<name>)。如果某个命令未对该玩家授予 ACE 权限,则不会为其提供建议。 - 建议会在玩家加载以及资源启动/停止时刷新。如果新注册的命令没有出现,请重启提供该命令的资源或重新打开聊天框。
- 对于自定义的帮助文本/参数,请使用
chat:addSuggestion/chat:addSuggestions显式推送它们。
所有内容都是英文(或语言错误)
Cause: 未设置本地化 convar,因此 BUPA Chat 回退到了 en。
Fix: 在 server.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)。机器人发送的消息会被故意忽略。