关于 esx-framework
面向 FiveM 开发者的 ESX Framework(Legacy)资源开发技能,涵盖核心 API、资源结构与安全实践。
主要功能
- 01ESX 对象获取方式
- 02玩家数据与 xPlayer 方法
- 03服务端与客户端回调
- 04资源结构指导
- 05事件校验与 OneSync 实践
适用场景
- 01开始开发 ESX 资源
- 02处理玩家数据与物品栏
- 03通过回调交换数据
- 04检查服务端事件安全性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proelias7/ fivem-skill --skill esx-framework安装后在 Claude Code 中输入/esx-framework确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
best-practices.mdexamples.mdreference.mdtemplates.md详细介绍
ESX 框架开发
**语言规则:**内部推理使用精简的英语。所有向用户展示的消息和输出都必须使用用户的语言。
本技能提供使用 ESX Framework (Legacy) 开发资源的指南和模式。
1. 获取核心对象
ESX Legacy(新方式):
local ESX = exports["es_extended"]:getSharedObject()
旧版 / 向后兼容:
local ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
2. 核心概念
玩家数据(服务端)
- xPlayer:用于在服务端与玩家交互的主要对象。
- ESX.GetPlayerFromId(source):获取 xPlayer 对象。
- xPlayer 方法:
xPlayer.addMoney、xPlayer.setJob、xPlayer.addInventoryItem。
回调(服务端 -> 客户端数据)
- ESX.RegisterServerCallback(服务端):响应客户端请求。
- ESX.TriggerServerCallback(客户端):从服务端请求数据。
物品和数据库
- 物品定义在数据库(
items表)或ox_inventory中。 - 数据库通常使用 oxmysql。
3. 标准资源结构
my-resource/
├── fxmanifest.lua
├── config.lua
├── client/
│ └── main.lua
├── server/
│ └── main.lua
└── locales/
└── en.lua
4. 最佳实践
- 使用新的导出接口:优先使用
exports["es_extended"]:getSharedObject(),而不是触发事件。 - 验证 xPlayer:使用前务必检查
if xPlayer then。 - 保护事件:使用
ESX.SecureNetEvent(如果可用)或手动检查。 - OneSync:开发时应考虑 OneSync Infinity(服务端实体创建)。
5. 文档
评论
支持 Markdown