qbcore-framework について
QBCore Framework Development は、QBCore Framework を使ったリソース開発の指針です。開発者向けに、プレイヤーデータ、コールバック、アイテム、データベースアクセス、リソース構成を説明します。
主な機能
- 01QBCore Core Object の取得
- 02プレイヤーデータと CitizenID の扱い
- 03サーバー・クライアント間のコールバックパターン
- 04使用可能アイテムの登録
- 05データベースクエリのパターン
活用シーン
- 01QBCore リソースの構成
- 02サーバー検証を伴うプレイヤーデータ処理
- 03使用可能アイテムとデータベース操作の追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ proelias7/ fivem-skill --skill qbcore-frameworkインストール後、Claude Code で/qbcore-frameworkを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
best-practices.mdexamples.mdreference.mdtemplates.md詳細
QBCore フレームワークの開発
言語ルール: 内部の推論は簡潔な英語で行います。ユーザーに表示するメッセージと出力はすべて、ユーザーの言語で記述します。
このスキルでは、QBCore Framework を使用したリソース開発のガイドラインとパターンを説明します。
1. コアオブジェクトの取得
QBCore と連携するには、コアオブジェクトを取得する必要があります。スクリプトの先頭で、必ずローカル変数にキャッシュしてください。
クライアントとサーバー:
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. ベストプラクティス
- コアオブジェクトをキャッシュする: ループ内で
exports['qb-core']:GetCoreObject()を呼び出さないでください。 - データにはコールバックを使用する: コールバックのほうが適切な場合は、データ取得に
TriggerClientEventを使用しないでください。 - 入力を検証する: クライアントは任意のデータを送信できます。サーバー側でジョブ、所持金、所有権を確認してください。
- ループを最適化する: 距離に応じて動的に待機時間(Wait)を設定してください。
- ローカライズ: 利用できる場合は、
qb-core/shared/locale.luaまたは標準のLangオブジェクトを使用してください。
5. ドキュメント
- 公式ドキュメント:https://docs.qbcore.org/
- Github:https://github.com/qbcore-framework/qb-core
コメント
Markdown 対応