Skip to content

scoreboard

Koukunn_ edited this page Feb 25, 2025 · 2 revisions

GameDataModule (scoreboard)

このモジュールは、Minecraft Bedrock Edition の Script API を使用して、ゲーム内の様々なデータ (プレイヤーの体力、移動速度、TPS、ラグ状況) を取得し、Databaseモジュールを用いてスコアボードに表示・保存するためのモジュールです。

機能概要

  • プレイヤーの体力取得:

    • 各プレイヤーの体力を ws_db_hp データベースに保存します。
    • 20tickごとに更新します
  • プレイヤーの移動速度取得:

    • 各プレイヤーの移動速度を ws_db_speed データベースに保存します (20tickごとの移動距離)。
    • 各プレイヤーの瞬間的な移動速度(1tickごと)をglobalPlayerSpeedsに保存します。
    • 20tick,1tickごとに更新します
  • TPS (Ticks Per Second) 取得:

    • サーバーの TPS を ws_db_tps データベースに保存します。
    • 別のモジュール(tickEvent)からtpsイベントを受け取り、TPSが変化したときに更新します。
  • ラグ状況表示:

    • TPS に基づいてラグの状況を文字列で表し、ws_db_lag データベースに保存します。
      • 20 TPS 以上: "§a通常§r"
      • 15 TPS 超 20 TPS 未満: "§eちょいラグい§r"
      • 10 TPS 超 15 TPS 未満: "§gかなりラグい§r"
      • 5 TPS 超 10 TPS 未満: "§cめちゃラグい§r"
      • 5 TPS 以下: "§dラグさ上限突破!!§r"
      • 現在ラグ状態のもののみ保存され、他は削除されます。
  • プレイヤーの参加/退出処理

    • プレイヤーの参加、退出に合わせて、lastPositionMap,previousPositionMap,globalPlayerSpeedsを更新します
    • プレイヤーの退出時、そのプレイヤーの情報を削除します。

使用するデータベース

このモジュールは、Database モジュールを使用して、以下の4つのデータベースを使用します。

データベース名 説明 キー (Key) 値 (Value)
ws_db_hp プレイヤーの体力を保存します。 Player オブジェクト 体力 (数値)
ws_db_speed プレイヤーの移動速度 (20tick間)を保存します。 Player オブジェクト 速度 (数値)
ws_db_tps サーバーの TPS を保存します。 "tps" (固定文字列) TPS (数値)
ws_db_lag ラグの状況を示す文字列を保存します。 ラグ状況を表す文字列(固定) 常に 0

グローバル変数

export const globalPlayerSpeeds: {
  [playerId: string]: {
    speed: number;
    realtimeSpeed: number;
  };
} = {};
  • プレイヤーの瞬間的な移動速度(1tickごと)を保存します。
    • speed:20tickごとの移動速度
    • realtimeSpeed:1tickごとの移動速度

Clone this wiki locally