esx-framework
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseESX Framework Development
ESX Framework 开发
This skill provides guidelines and patterns for developing resources using the ESX Framework (Legacy).
本技能提供了使用**ESX Framework(Legacy版本)**开发资源的指南和模式。
1. Core Object Retrieval
1. 核心对象获取
ESX Legacy (New Way):
lua
local ESX = exports["es_extended"]:getSharedObject()Legacy / Backwards Compatible:
lua
local ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)ESX Legacy(新方式):
lua
local ESX = exports["es_extended"]:getSharedObject()兼容旧版本方式:
lua
local ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)2. Key Concepts
2. 核心概念
Player Data (Server-side)
玩家数据(服务器端)
- xPlayer: The main object for player interaction server-side.
- ESX.GetPlayerFromId(source): Retrieves the xPlayer object.
- xPlayer Methods: ,
xPlayer.addMoney,xPlayer.setJob.xPlayer.addInventoryItem
- xPlayer:服务器端用于玩家交互的主要对象。
- ESX.GetPlayerFromId(source):获取xPlayer对象。
- xPlayer方法:,
xPlayer.addMoney,xPlayer.setJob。xPlayer.addInventoryItem
Callbacks (Server -> Client Data)
回调(服务器→客户端数据)
- ESX.RegisterServerCallback (Server): Respond to client requests.
- ESX.TriggerServerCallback (Client): Request data from server.
- ESX.RegisterServerCallback(服务器端):响应客户端请求。
- ESX.TriggerServerCallback(客户端):向服务器请求数据。
Items & Database
物品与数据库
- Items are defined in the database (table) or
items.ox_inventory - Database typically uses oxmysql.
- 物品定义在数据库(表)或
items中。ox_inventory - 数据库通常使用oxmysql。
3. Standard Resource Structure
3. 标准资源结构
my-resource/
├── fxmanifest.lua
├── config.lua
├── client/
│ └── main.lua
├── server/
│ └── main.lua
└── locales/
└── en.luamy-resource/
├── fxmanifest.lua
├── config.lua
├── client/
│ └── main.lua
├── server/
│ └── main.lua
└── locales/
└── en.lua4. Best Practices
4. 最佳实践
- Use New Exports: Prefer over the event trigger.
exports["es_extended"]:getSharedObject() - Validate xPlayer: Always check before using it.
if xPlayer then - Secure Events: Use (if available) or manual checks.
ESX.SecureNetEvent - OneSync: Develop with OneSync Infinity in mind (server-side entity creation).
- 使用新导出方式:优先使用而非事件触发方式。
exports["es_extended"]:getSharedObject() - 验证xPlayer:在使用xPlayer前始终检查。
if xPlayer then - 安全事件:使用(如果可用)或手动检查。
ESX.SecureNetEvent - OneSync:开发时考虑OneSync Infinity(服务器端实体创建)。