SuperAPI AI 工具集

qbcore-framework

编程与开发

查看项目

更新于 10-15 09:10

技能介绍

QBCore Framework 是一个针对 FiveM 服务器 qb-core 框架的开发技能,用于在创建或编辑 qb-core 资源、涉及 Player / QBCore.PlayerData、需要通过 QBCore 处理职业、帮派、金钱、物品或元数据,以及询问 QBCore 回调、事件或最佳实践时加载。

用途 该技能面向 qb-core(qbcore-framework)的服务器端与客户端 API 开发,帮助开发者正确使用 Player 对象、PlayerData、回调、职业、帮派、金钱和元数据。它明确说明:如果用户使用的是 Qbox(qbx_core、exports.qbx_core),API 存在差异,应指出这一点,不能盲目套用本技能。

主要能力 技能提供了一套硬性规则:核心对象只获取一次,使用 local QBCore = exports['qb-core']:GetCoreObject(),不要在每个函数内重复调用;Player 仅存在于服务器端(QBCore.Functions.GetPlayer(source)),QBCore.PlayerData 仅存在于客户端,并在 QBCore:Client:OnPlayerLoaded 之后填充;调用任何方法前必须做 nil 检查(if not Player then return end);金钱、职业、帮派、物品和元数据只能在服务器端通过 Player.Functions.* 修改,绝不能从客户端修改;AddMoney、RemoveMoney、SetMoney 必须传入原因;同一状态只能使用 state bag 或事件之一,不能同时使用;服务器端必须校验所有客户端提供的参数,绝不能信任客户端发送的金额、价格或物品名;UI 优先使用 ox_lib 处理通知、菜单、对话框和进度条;循环中使用动态 Wait() 值,除非需要逐帧工作,否则避免 Wait(0)。

使用方式 技能提供决策表,按需求选择 API:客户端向服务器请求数据时使用 QBCore.Functions.CreateCallback 与 QBCore.Functions.TriggerCallback;金钱操作使用 Player.Functions.AddMoney/RemoveMoney/SetMoney/GetMoney(moneyType, ...);职业、值班、帮派使用 Player.Functions.SetJob、SetJobDuty、SetGang;持久化每玩家标记使用 Player.Functions.SetMetaData / GetMetaData;物品(qb-inventory)使用 Player.Functions.AddItem/RemoveItem/GetItemByName/GetItemBySlot;共享运行时状态使用 state bags。执行步骤包括:确认 qb-core 在资源之前启动,并在每一侧缓存 QBCore;决定侧别,变更与校验在服务器端,显示在客户端;获取 Player、做 nil 检查,然后校验所有客户端提供的参数;从决策表选择调用,并阅读匹配的规则文件获取签名;通过回调返回数据,而不是成对事件。输出契约要求返回可运行的 Lua,明确客户端/服务器拆分,对 Player 做 nil 检查,金钱操作带原因,除非用户另有要求,否则使用 ox_lib 处理 UI。

适用场景 适用于创建或编辑 qb-core 资源、处理 Player / QBCore.PlayerData、通过 QBCore 管理职业、帮派、金钱、物品或元数据,以及询问 QBCore 回调、事件或最佳实践的场景。

限制 该技能仅针对 qb-core,不适用于 Qbox(qbx_core、exports.qbx_core),因为两者 API 存在差异。资料中未提供收费、价格、平台或效果等信息。