
NDPバナナ
リーダーボードって何ですか?



もっけ
プレイヤーのスコアをランキング形式で表示する機能だよ。
スコアは、コインの枚数だったり、勝利数だったりゲームに合わせて用途は色々あるよ。
出来るようになること
- リーダーボードにプレイヤーのスコアを表示することが出来る。
- プレイヤーのデータをセーブ、ロードすることが出来る。(説明の最後に別記事へリンクします。)


リーダーボードを作る
リーダーボードは、ゲーム内での競争や協力、プレイヤー同士でのコミニュケーションを促します。
スクリプトをServerScriptService に置きしました。ServerScriptService に置かれたスクリプトは、プレイヤーがログインすると読み込まれます。スクリプトの内容を記載して解説していきます。


①参加したプレイヤーにリーダーボードを表示するように、プレイヤーが参加したイベントPlayerAdded を呼びます。
local Players = game:GetService("Players") -- Playersサービスを取ります
-- プレイヤーの設定
local function onPlayerJoin(player)
end
Players.PlayerAdded:Connect(onPlayerJoin) --プレイヤーがゲームに参加した時にPlayerAddedイベントが呼ばれます
②リーダボードを追加します。
-- プレイヤーの設定
local function onPlayerJoin(player)
local leaderstats = Instance.new("Folder") -- フォルダを追加します
leaderstats.Name = "leaderstats" -- フォルダの名前を leaderstats にします
leaderstats.Parent = player -- フォルダをplayer の親にして紐づけます
end
③リーダーボードで表示したい項目を設定します。ここでは、勝利数にします。
-- プレイヤーの設定
local function onPlayerJoin(player)
local leaderstats = Instance.new("Folder") -- フォルダを追加します
leaderstats.Name = "leaderstats" -- フォルダの名前を leaderstats にします
leaderstats.Parent = player -- フォルダをplayer の親にして紐づけます
local winCnt = Instance.new('IntValue')
winCnt.Name = "勝利数"
winCnt.Value = winValue
winCnt.Parent = leaderstats
end
ここまでで、リーダーボードへ勝利数という項目を追加することが出来ます。


スクリプトの全体は、こちら。
local Players = game:GetService("Players")
-- プレイヤーの設定
local function onPlayerJoin(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local winCnt = Instance.new('IntValue')
winCnt.Name = "勝利数"
winCnt.Value = winValue
winCnt.Parent = leaderstats
end
Players.PlayerAdded:Connect(onPlayerJoin)



NDPバナナ
でも、これだけだと、表示してるだけじゃん



もっけ
ギクッ!!気がついちゃいましたか。
ここまでの説明ではリーダーボードでの表示だけなので、次の記事で勝利数の上げ方、データのセーブとロードについて説明するよ。



コメント