FiveM Prospecting / Metal Detecting システム
概要
FiveM Prospecting/Metal Detecting System は、FiveMサーバーに導入できるスタンドアロンの金属探知/発掘スクリプトです。プレイヤーは設定ファイルで定義されたゾーンを探索し、金属探知機を使ってランダムな報酬を発見、取得したアイテムは売却して報酬に変換できます。通知には Ox Lib を利用し、インベントリ管理は任意で Ox Inventory と統合可能。クライアント側で探索挙動とエフェクトを処理し、サーバー側で報酬付与や売却の整合性を担保する設計になっています。導入やカスタマイズがしやすく、ゾーン定義や報酬テーブルの編集でゲームプレイに合わせた調整が可能です。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 2
- ファイル数: 6
- メインの言語: Lua
主な特徴
- スタンドアロンで導入可能:既存のフレームワークに強く依存せず動作。
- 設定可能な検索ゾーン:ゾーンごとに出現率や報酬を細かく設定可能。
- Ox Lib による通知対応:軽量で統一されたUI通知を利用。
- オプションで Ox Inventory と連携:アイテムとして扱うか通貨直結かを選択可能。
技術的なポイント
このプロジェクトは典型的なFiveMスクリプトの構成(fxmanifest.lua + client/server スクリプト + 設定ファイル)に従っています。fxmanifest.lua にはリソース名や依存(ox_lib など)の宣言があり、サーバーとクライアントのエントリーポイントを定義しています。prospecting_cfg.lua はゾーン定義・報酬テーブル・確率や売却価格などのパラメータを集中管理することで、ゲームバランス調整を容易にしています。
クライアント側(prospecting_cl.lua)は金属探知機の動作や探索アニメーション、プレイヤー入力の監視、探索成功時のエフェクト表示などを担当します。探索イベントを発生させる際はサーバーへ RPC(イベント)を送信し、直接クライアントで報酬付与しないことでチート対策と整合性を確保します。サーバー側(prospecting_sv.lua)は報酬付与、アイテム生成、売却処理、プレイヤーの権限チェックを行います。ここで Ox Inventory 連携がオプション実装されているため、アイテム化する場合はインベントリAPIを通じて付与し、通貨化する場合は資金付与イベントを呼ぶよう分岐しています。
設計上の注目点としては、ネットワーク負荷軽減のためクライアントは探索のトリガーと演出に限定し、報酬判定や価格計算はサーバーで一括処理する点です。さらに、設定ファイルでゾーンを座標リストや半径で定義できれば、動的に探索エリアを増減させやすく、イベントベースでの拡張(例:限定イベントや季節アイテム)にも対応しやすくなります。通知とUIは Ox Lib に依存しているため、導入先で別の通知ライブラリを使う場合はラッパー関数を作るなどの移植工夫が必要です。また、セキュリティ面ではサーバー側で重複取得防止や速攻売却のレートチェックを行うことが重要です。
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file(導入手順・説明)
- fxmanifest.lua: file(リソース定義・依存)
- prospecting_cfg.lua: file(ゾーン・報酬・価格などの設定)
- prospecting_cl.lua: file(クライアント側ロジック:探索入力、演出、エフェクト)
- prospecting_sv.lua: file(サーバー側ロジック:報酬付与、売却、検証) …他 1 ファイル
各ファイルは責務が明確に分かれており、設定ファイルを編集するだけで報酬やゾーンをカスタマイズできる点が導入のハードルを下げます。拡張ポイントとしては、ターゲットシステム(ox_target / qb-target)や UI 表示の差し替え、報酬テーブルのJSON化による外部管理などが挙げられます。
まとめ
シンプルで導入しやすい金属探知システム。カスタマイズ性とサーバー側検証が丁寧に分けられている点が良いです(約50字)。
リポジトリ情報:
- 名前: FiveM-Prospecting-Metal-Detecting-System
- 説明: A standalone FiveM script that adds a functional metal detector system with configurable search zones, rewards, and sales. Built using Ox Lib for notifications and optional Ox Inventory integration.
- スター数: 1
- 言語: Lua
- URL: https://github.com/Nick-TheDev/FiveM-Prospecting-Metal-Detecting-System
- オーナー: Nick-TheDev
- アバター: https://avatars.githubusercontent.com/u/182970428?v=4
READMEの抜粋:
FiveM Prospecting/Metal Detecting System
A standalone FiveM script that adds a functional metal detector system with configurable search zones, rewards, and sales. Built using Ox Lib for notifications and optional Ox Inventory integration.