esx-framework について
FiveM 開発者向けに、ESX Framework(Legacy)のリソース開発指針をまとめたスキルです。主要 API、リソース構成、安全対策を扱います。
主な機能
- 01ESX オブジェクトの取得方法
- 02プレイヤーデータと xPlayer メソッド
- 03サーバー・クライアント間のコールバック
- 04リソース構成の指針
- 05イベント検証と OneSync の実践
活用シーン
- 01ESX リソースの開発開始
- 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 Framework の開発
言語ルール: 内部の推論は簡潔な英語で行います。ユーザーに表示されるすべてのメッセージと出力は、ユーザーの言語で記述します。
このスキルでは、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 対応