mcpField
Q
qbcore-framework

qbcore-framework

github.com/proelias7开发783 次安装4 周前更新
代码仓库

关于 qbcore-framework

QBCore Framework Development 提供使用 QBCore Framework 开发资源的指南,面向开发者,涵盖玩家数据、回调、物品、数据库访问和资源结构。

主要功能

  1. 01获取 QBCore Core Object
  2. 02玩家数据与 CitizenID 的使用规范
  3. 03服务器与客户端回调模式
  4. 04注册可使用物品
  5. 05数据库查询模式

适用场景

  1. 01规划 QBCore 资源结构
  2. 02通过服务器验证处理玩家数据
  3. 03添加可使用物品和数据库操作

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/proelias7/fivem-skill --skill qbcore-framework

安装后在 Claude Code 中输入/qbcore-framework确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

best-practices.md
examples.md
reference.md
templates.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. 最佳实践

  1. **缓存核心对象:**不要在循环中调用 exports['qb-core']:GetCoreObject()。
  2. **使用回调获取数据:**如果使用回调更简洁,就避免使用 TriggerClientEvent 获取数据。
  3. **验证输入:**客户端可以发送任何数据。在服务端验证职业、金钱和所有权。
  4. **优化循环:**根据距离动态调整休眠时间(Wait)。
  5. **本地化:**使用 qb-core/shared/locale.lua,或者在可用时使用标准 Lang 对象。

5. 文档

评论

支持 Markdown