はじめてのObby
CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 24/24。
obby(障害物コース)は、Robloxの定番の初めてのゲームです。何も危険なものに触れずに、スタートからゴールまで進みます。これは空に浮かんでいます。
Start:スポーン地点LavaFloor:幅の広い灰色の足場。その上にある2本の溶岩の帯は、workspace内のLavaフォルダーにあります。Checkpoint:中間地点にあるSpawnLocationPath:細い通路Finish:金色の足場
ServerScriptServiceにある1つのスクリプトが、このコースで学んだすべてを使ってゲーム全体を動かします。新しいポイントが1つあります。
2つのSpawnLocation(スタート地点とチェックポイント)がある場合、LoadCharacterAsyncは勝者をそのRespawnLocationにリスポーンさせます。そのため、勝者をそこへ送る前に、RespawnLocationをスタート地点に戻してください。
チャレンジ
難しい1つのスクリプトでオビー全体を動作させましょう。
- 各プレイヤーに
leaderstatsと、値が0の IntValueWinsを用意し、RespawnLocationをworkspace.Startに設定します。 workspace.Lava内の各パーツに触れたプレイヤーを倒します。workspace.Checkpointに触れると、その場所がプレイヤーのリスポーン地点になります。workspace.Finishに触れると、Winsにちょうど1を加算し、プレイヤーのRespawnLocationをworkspace.Startに設定して、LoadCharacterAsync()でそこへ移動させます。その後、もう一度ゴールすると、さらに1勝が加算されます。
プレイを押してオビーをクリアし、それからチェックを押しましょう。テストプレイヤーは2回プレイします。
自分で試してみよう
local Players = game:GetService("Players")
-- 1. すべてのプレイヤーに Wins = 0 の leaderstats を与え、スタート地点から開始する
Players.PlayerAdded:Connect(function(player)
end)
-- 2. workspace.Lava 内のすべてのパーツに触れるとプレイヤーが死亡する
-- 3. チェックポイントがプレイヤーのリスポーン地点になる
-- 4. ゴール:勝利数を +1 し、スタート地点に戻る
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Robloxゲームのスクリプティングのすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ