Skip to content

BUPA Sync Status

BUPA Sync Status

BUPA Sync Status は、医療ロールプレイ向けの身体アノテーションシステムです。プレイヤーが /status と入力すると、実際のキャラクターの上にパネルが開きます。スクリプト化されたカメラが服装、髪型、タトゥー、小道具を身につけたライブペッドを捉え、クリック可能な領域マーカーが毎フレームペッドの骨から投影されるため、身体が回転してもしっかりと追従します。

領域をクリックすると、短いメモを入力できます。そのメモは実際のワールド内に描画され、あなたの体のその正確な部分に浮かび上がり、近くにいるすべてのプレイヤーに表示されます。救急隊員も /status <id> を使用して患者に対して同様の操作を行います。怪我を記録し、記録の持続時間を選択すると、患者が期限切れ前に勝手に剥がすことができないよう、メモがロックされます。

/status で自分自身のパネルを開きます。医療従事者は /status 12 で患者を診察します。/statusclear は自分が削除を許可されているすべてのものを消去します。

Key features

  • ライブキャラクタープレビュー — マネキンや人形の描画はありません。カメラがプレイヤー自身のペッドを捉え、AutoFrame が頭からつま先までを測定するためすべてのモデルが正しくフレームに収まり、マーカーは実際のボーン座標に配置されます。
  • 16の身体部位 — 頭部、首、胸、腹部、腕、前腕、手、太もそれぞれGTAのペッドのボーンに紐づけられており、設定から個別に削除可能です。
  • ワールド内フローティングテキスト — 他のプレイヤーは身体そのものに表示されるアノテーションを読み取ることができます。深刻度に応じて色が変わり、フレームごとのネットワーク通信は不要で、アノテーションはプレイヤーのstatebagを介して同期されます。
  • 医療従事者による記録 — 設定されたジョブ(またはACE権限)を持つプレイヤーは、一定の距離内で他のプレイヤーにアノテーションを追加し、プリセットリストから持続時間を選択して、削除できないようにロックされたメモを作成できます。
  • 自動有効期限切れ — サーバーがタイマーで期限切れのアノテーションを定期的に一掃し、手動でのクリーンアップなしにすべての場所から消去されます。
  • タイプと深刻度 — 怪我 / 軽傷 / メモ、軽度 / 中等度 / 重度。これらはすべて通常のコン設定リストとして定義されています。
  • 不正防止制限 — キャラクターごとの上限、1つの領域につき1つのアノテーション、文字数制限、書き込みクールダウン、すべての操作における距離チェック。
  • Discord logging — アノテーションの追加、削除、クリア時のカラーコード付き埋め込みメッセージ。誰が、誰に対して、どれだけの期間書き込んだかを記録します。
  • 10言語対応ox_lib のロケールシステムを使用しており、デフォルトは英語です。

Frameworks

フレームワークは shared/bridge.lua によって自動検知されます。設定は必要ありません:

Framework Detected resource
QBox qbx_core
QB-Core qb-core
ESX es_extended
Standalone なし — license: 識別子にフォールバックします

フレームワークが提供するのは次の2点のみです:データベースキーとして使用されるキャラクターごとの安定したID、および医療従事者の権限チェック用のプレイヤーのジョブ名とグレード。

How the data flows

  1. 書き込みリクエストは ox_lib のコールバックを通じてサーバーに送信されます。クライアント側が信頼されることは一切ありません — 身元、権限、制限、持続時間、テキストのサニタイジングはすべてサーバー側で処理されます。
  2. アノテーションはキャラクターの市民IDに紐づいてMySQLに保存されます。
  3. キャラクターの全リストが bupaStatuses プレイヤーstatebagにプッシュされます。
  4. 近くにいるすべてのクライアントがそのstatebagを読み取り、対応するボーンにテキストを描画します。

Dependencies

Resource Required Purpose
ox_lib Yes コールバック、通知、ロケールシステム
oxmysql Yes キャラクターごとのアノテーションの保存

データベーステーブルは初回起動時に自動的に作成されます — インポートするSQLはありません。