ゲーム内で、プレイヤーは収集したアイテムのように見る必要のある重要な統計を持つでしょう。これらの数字はリーダーボードを使用して表示されます。 リーダーボード は、スクリプトを有効にしてカスタマイズする必要がある Roblox の組み込み機能です。

リーダーボードを設定する
プレイヤーがエクスペリエンスに追加されるたびに、個々の統計を追跡するためのコードとともにリーダーボードに追加する必要があります。
エクスプローラーで、 ServerScriptService の下で、PlayerSetup という名前の新しいスクリプトを作成します。そのスクリプトでは、hello world 行を削除し、説明的なコメントをコメントするきます。
コメンコメントするの後、パラメータ player で名前付きのカスタム関数を onPlayerプレイヤーoin という名前で作成します。
-- プレイヤー変数を表示するリーダーボードを作成local function onPlayerJoin(player)endIn onPlayerJoin , create a variable named leaderstats , and have it create a new フォルダー instance.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")end新しい フォルダ インスタンス leaderstats に名前を付け、プレイヤーに親を付けるフォルダの名前を leaderstats 指定すると、Roblox Studio はリーダーボードを作成することを知ります。
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerend機能の終了後、OnPlayerJoin をPlayerAddedイベントに接続します。プレイヤーがエクスペリエンスに参加するたびに、各プレイヤーにリーダーボードがスコアボード供されます。
local Players = game:GetService("Players")local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(onPlayerJoin)
プレイヤーの統計を追跡
リーダーボードが作成されたので、プレイヤーにこれらの数字を表示する必要があります:
- ゴールド - プレイヤーが持っているお金の量。
- アイテム - プレイヤーが世界から集めたアイテムの数
- スペース - プレイヤーが一度に保持できる最も多くのアイテム。
これらの数のそれぞれが、番号のプレースホルダーオブジェクトである IntValue になります。
コードプレイヤーゴールド
ゴールドのステートをコード化して開始します。
In OnPlayerJoin , under leaderstats.Parent = player , type local gold = Instance.new("IntValue") . これは新しい IntValue を作成し、変数 gold に保存します。
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerlocal gold = Instance.new("IntValue")end次に、gold.Name = "Gold" を入力します。これにより、IntValue に名前が付与され、他のスクリプトで使用できます。名前はリーダーボード上のプレイヤーにも表示されます。
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"end新しい行で gold.Value = 0 をタイプします。これにより、プレイヤーの開始値が設定されます。
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0endタイプ gold.Parent = leaderstats 。これは、ゴールドの IntValue を leaderstats に親和します。IntValue が leaderstats に親和されていない場合、プレイヤーは見ることができません。
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0gold.Parent = leaderstatsendプロジェクトを再生し、右上にリーダーボードが表示されることに気づきます。
トラブルシュートのヒント
リーダーボードが表示されない場合は、フォロー中のことを試してください:
- Make sure that .Value が大文字であることを確認してください。
- IntValue の変数がリーダーボードに親属していることを確認してください、例えば gold.Parent = leaderstats 。
コードアイテムとスペース
ステート名はゲームデザインドキュメントに基づいて何でもあり得ることを覚えてください。言い換えれば、"Items" は代わりに "Crystals" になる可能性があります。
次の統計を区別するために空行を追加し、次の統計を作成するには、ゴールドと同じ方法で新しい IntValue を設定してアイテム統計を設定します。
local function onPlayerJoin(player)gold.Parent = leaderstats-- アイテムステートを作成local items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsendプレイヤーのバッグスペース用の新しいステータスを作成する。 を に設定して、プレイヤーがエクスペリエンスを開始するときに 2つのアイテムしか持てず、できるだけ早く新しいバッグを購入するように促す。
local function onPlayerJoin(player)items.Parent = leaderstats-- スペースステートを作成local spaces = Instance.new("IntValue")spaces.Name = "Spaces"spaces.Value = 2spaces.Parent = leaderstatsendプロジェクトをテストします。プレイヤーは、ゴールド、アイテム、スペースを示すリーダーボードを持つべきです。
リーダーボードが表示されない場合は、以下をチェックしてみてください。
- リーダーボードにスコアボード号が表示できない場合は、各 IntValue が leaderstats に親属しているかどうかを確認してください。
- それぞれの IntValue が示されたように正確にスペルされていることを確認する
- PlayerAdded イベントがスクリプトの最下部にあるかどうかをチェック
プレイヤー設定スクリプトを完了する
スクリプトの完了したバージョンは以下で参照できます。
local Players = game:GetService("Players")
-- プレイヤー変数を表示するリーダーボードを作成
local function onPlayerJoin(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Value = 0
gold.Parent = leaderstats
local items = Instance.new("IntValue")
items.Name = "Items"
items.Value = 0
items.Parent = leaderstats
local spaces = Instance.new("IntValue")
spaces.Name = "Spaces"
spaces.Value = 2
spaces.Parent = leaderstats
end
-- プレイヤー追加イベントが発動したときに onPlayerJoin を実行
Players.PlayerAdded:Connect(onPlayerJoin)