ゲームスクリプト
Coddyの「Robloxゲーム:災害サバイバル」コースのレッスン 1/18。
このコースでは、レッスンごとに1つのゲームを作ります。Disaster Survivalです。プレイヤーはロビーで待機し、島にテレポートされ、洪水、流星群、または縮小する床を生き延びようとします。時間切れになったときに立っているプレイヤーが勝ちです。
このようなゲーム全体は、ServerScriptService内の1つのScriptで動作します。あなたのものはRoundManagerという名前で、レッスンごとに機能が追加されます。
ラウンドの長さなど、ゲームデザイナーが調整する数値はModuleScriptに保存されています。この場所には、ReplicatedStorage内にSettingsという名前のものがあります。ModuleScriptは1つの値(ここではテーブル)を返します。requireはそれを実行し、その値を渡します。
local Settings = require(game.ReplicatedStorage.Settings)
print(Settings.Intermission) --> 5設定を1つのモジュールにまとめることで、1か所の変更でゲーム全体を調整でき、設定を必要とするすべてのスクリプトが同じテーブルを読み取ります。
チャレンジ
簡単RoundManagerスクリプトはServerScriptServiceにあります。
- 設定を読み込みます:
local Settings = require(game.ReplicatedStorage.Settings)。 Settings.RoundLengthを使って、ラウンドの長さを出力します。OutputにはRounds last 15 secondsと表示されます。- プレイヤーが参加したとき、
leaderstatsという名前のFolderを作成し、その中にWinsという名前のIntValueを入れます。
Playを押してリーダーボードにWinsが表示されることを確認し、その後Checkを押します。
自分で試してみよう
-- RoundManager: ゲーム全体を動かすScript。
local Players = game:GetService("Players")
-- 1. ゲームの設定を読み込む: ModuleScriptをrequireする
-- game.ReplicatedStorage.Settings
-- 2. Settings.RoundLengthを使って、ラウンドの長さを出力する
-- 3. すべてのプレイヤーのリーダーボードにWinsの値を追加する
-- (leaderstatsという名前のFolderに、Winsという名前のIntValueを格納する)
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。