关于 qbcore-framework
QBCore Framework Development 提供使用 QBCore Framework 开发资源的指南,面向开发者,涵盖玩家数据、回调、物品、数据库访问和资源结构。
主要功能
- 01获取 QBCore Core Object
- 02玩家数据与 CitizenID 的使用规范
- 03服务器与客户端回调模式
- 04注册可使用物品
- 05数据库查询模式
适用场景
- 01规划 QBCore 资源结构
- 02通过服务器验证处理玩家数据
- 03添加可使用物品和数据库操作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proelias7/ fivem-skill --skill qbcore-framework安装后在 Claude Code 中输入/qbcore-framework确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
best-practices.mdexamples.mdreference.mdtemplates.md详细介绍
QBCore 框架开发
**语言规则:**内部推理使用简洁的英语。所有向用户显示的消息和输出都必须使用用户的语言。
本技能提供使用 QBCore Framework 开发资源的指南和模式。
1. 获取核心对象
要与 QBCore 交互,必须获取 Core Object。始终在脚本顶部将其缓存到局部变量中。
客户端和服务端:
local QBCore = exports['qb-core']:GetCoreObject()
2. 核心概念
玩家数据(服务端)
- 临时使用 Source 标识玩家,但数据库持久化时使用 CitizenID。
- QBCore.Functions.GetPlayer(source):返回包含所有数据的 Player 对象。
- Player.PlayerData:包含
job、gang、money、items、metadata等。
回调(服务端 -> 客户端数据)
- 使用 QBCore.Functions.CreateCallback(服务端)向客户端发送数据。
- 使用 QBCore.Functions.TriggerCallback(客户端)从服务端请求数据。
- **规则:**切勿盲目信任回调中的客户端数据。始终在服务端进行验证。
物品
- 使用 QBCore.Functions.CreateUseableItem(服务端)注册物品。
- 物品定义在
qb-core/shared/items.lua(或qb-inventory)中。
数据库
- QBCore 默认使用 oxmysql。
- 使用
MySQL.query、MySQL.insert、MySQL.update、MySQL.scalar。
3. 标准资源结构
my-resource/
├── fxmanifest.lua
├── config.lua
├── client/
│ └── main.lua
└── server/
└── main.lua
4. 最佳实践
- **缓存核心对象:**不要在循环中调用
exports['qb-core']:GetCoreObject()。 - **使用回调获取数据:**如果使用回调更简洁,就避免使用
TriggerClientEvent获取数据。 - **验证输入:**客户端可以发送任何数据。在服务端验证职业、金钱和所有权。
- **优化循环:**根据距离动态调整休眠时间(Wait)。
- **本地化:**使用
qb-core/shared/locale.lua,或者在可用时使用标准Lang对象。
5. 文档
评论
支持 Markdown