Repository navigation
scoreboard
Koukunn_ edited this page Feb 25, 2025
·
2 revisions
このモジュールは、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 を
-
ラグ状況表示:
- 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"
- 現在ラグ状態のもののみ保存され、他は削除されます。
- TPS に基づいてラグの状況を文字列で表し、
-
プレイヤーの参加/退出処理
- プレイヤーの参加、退出に合わせて、
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ごとの移動速度
-