FiveM Prospecting / Metal Detecting システム

Other

概要

FiveM Prospecting/Metal Detecting System は、FiveMサーバーに導入できるスタンドアロンの金属探知/発掘スクリプトです。プレイヤーは設定ファイルで定義されたゾーンを探索し、金属探知機を使ってランダムな報酬を発見、取得したアイテムは売却して報酬に変換できます。通知には Ox Lib を利用し、インベントリ管理は任意で Ox Inventory と統合可能。クライアント側で探索挙動とエフェクトを処理し、サーバー側で報酬付与や売却の整合性を担保する設計になっています。導入やカスタマイズがしやすく、ゾーン定義や報酬テーブルの編集でゲームプレイに合わせた調整が可能です。

GitHub

リポジトリの統計情報

  • スター数: 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字)。

リポジトリ情報:

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.