mcpField
O
oxlib

oxlib

github.com/germanfndez開発1971 回インストール2 週間前に更新
リポジトリ

oxlib について

oxlibは、FiveMリソースで共有ライブラリox_libを使うためのスキルです。LuaでUI、コールバック、コマンド、ゾーンを実装する方法を、クライアントとサーバーの役割や設定要件とともに案内します。

主な機能

  1. 01通知、ダイアログ、メニュー
  2. 02プログレスUIとTextUI
  3. 03クライアント・サーバー間コールバック
  4. 04型付きサーバーコマンド
  5. 05クライアント側のゾーンとキー割り当て
  6. 06セットアップとモジュール読み込みのガイド

活用シーン

  1. 01リソースへの通知や入力ダイアログの追加
  2. 02クライアントとサーバー間のデータ要求
  3. 03権限を制限したコマンドの作成
  4. 04プレイヤーのエリア進入・退出時の処理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/germanfndez/fiveai-skills --skill oxlib

インストール後、Claude Code で/oxlibを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

rules/
addCommand.md
callback.md
init.md
interface.md
zones.md

詳細

ox_lib

共有 FiveM ライブラリ:グローバルな lib を介した UI(通知、ダイアログ、メニュー、進行状況)、クライアント/サーバー間のコールバック、コマンド、ゾーンを提供します。

有効化の条件

ユーザーが通知、アラートまたは入力ダイアログ、メニュー、進行状況バー、TextUI、クライアントとサーバー間のリクエスト/レスポンス、型指定されたサーバーコマンド、ゾーン(「プレイヤーがエリアに入る/出る」)、キー割り当て、または ox_lib に依存するリソースを必要としている場合に、このスキルを読み込みます。

厳守事項

  • fxmanifest.lua に shared_scripts { '@ox_lib/init.lua' } を追加し、リソースより先に ox_lib が起動するようにします。そうしないと lib は nil になります。
  • ネットワーク越しにデータをやり取りする場合は、イベントのペアやフレームワーク固有のコールバックよりも lib.callback/lib.callback.await を優先します。
  • サーバー側の lib.callback.register(name, function(source, ...)) では、最初の引数として source を受け取ります。そこで引数を検証してください。
  • コールバック名は一意にします(resourcename:action)。
  • UI 関数(lib.notify、lib.alertDialog、lib.inputDialog、lib.progress、lib.context、lib.menu、lib.showTextUI)はクライアントで描画されます。サーバーから呼び出す場合は、クライアント側で実行するようトリガーしてください。
  • アイコンは Font Awesome 6 を使用し、デフォルトのスタイルは solid です。ブランドアイコンには {'fab', 'name'} を使用します。
  • lib.addCommand はサーバー側で使用します。権限には restricted を、型指定された params には number、playerId、string、longString を使用します。
  • ゾーンの onEnter、onExit、inside はサーバーでは動作しません。ゾーンはクライアントで作成します。zone:remove() を呼び出せるよう、返されたゾーンを保持してください。
  • モジュールは初回使用時、または ox_libs { ... }/lib.require によって読み込まれます。

判断基準

必要な機能呼び出し
トースト通知lib.notify({ title, description, type })
確認/OK ダイアログlib.alertDialog({ header, content, centered, cancel })
フォーム入力lib.inputDialog(title, rows)
クライアントからサーバーへのリクエストlib.callback.await(name, false, ...) + サーバー側の lib.callback.register
サーバーからクライアントへのリクエストlib.callback.await(name, source, ...) + クライアント側の lib.callback.register
引数付きチャットコマンドlib.addCommand(name, { help, params, restricted }, cb)
エリアのトリガーlib.zones.poly/lib.zones.box/lib.zones.sphere

実行手順

  1. マニフェストの行と起動順序を設定します(rules/init.md を参照)。
  2. 判断基準から呼び出しを選び、オプションの一覧について対応するルールファイルを読みます。
  3. リクエスト処理はサーバー側のコールバックに配置し、UI はクライアント側に配置します。
  4. コールバックとコマンドにはリソースのプレフィックスを付けます。
  5. 削除できるよう、ゾーンのハンドルを保持します。

出力条件

グローバルな lib を使用した実行可能な Lua コードを返します。新しいリソースの場合は、クライアント側/サーバー側を明示したうえでマニフェストの行も含めます。

参考資料

  • rules/init.md — fxmanifest、shared_script、ox_libs、lib.require。
  • rules/callback.md — 両側での lib.callback、await、register。
  • rules/interface.md — notify、alertDialog、inputDialog、その他の UI モジュール、アイコン。
  • rules/addCommand.md — help、params、restricted を使ったサーバーコマンド。
  • rules/zones.md — poly、box、sphere ゾーン、メソッド、ユーティリティ。

上流のドキュメント:https://overextended.dev/ox_lib

コメント