排行榜数据
本课属于 Coddy Lua 学习旅程的“Roblox 游戏脚本编写”单元。第 13 课,共 25 课。
Roblox 游戏右上角的记分板由每位玩家内部一个名为 leaderstats 的文件夹创建。该文件夹中的每个数字值都会变成一列。
玩家会在游戏开始后加入,因此你要在 Players 服务触发 PlayerAdded 时创建这个文件夹:
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local gems = Instance.new("IntValue")
gems.Name = "Gems"
gems.Value = 5
gems.Parent = leaderstats
end)game:GetService("Players") 会获取 Players 服务。IntValue 会在其 Value 属性中保存一个整数,而它的 Name 是列标题。文件夹名称必须恰好是 leaderstats,且全部使用小写字母,否则记分板会忽略它。
挑战
中等每位玩家加入时,都为他们创建一个排行榜。
- 在
PlayerAdded中,在玩家对象内创建一个名为leaderstats的Folder。 - 在文件夹中,添加一个名为
Coins、值为0的IntValue。 - 再添加一个名为
Level、值为1的IntValue。
按“运行”:排行榜会显示 Coins 0 和 Level 1。然后按“检查”。
亲手试试
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
print(player.Name .. " joined")
-- 1. 在 player 中创建一个名为 leaderstats 的 Folder
-- 2. 创建一个名为 Coins 的 IntValue,初始值为 0
-- 3. 创建一个名为 Level 的 IntValue,初始值为 1
end)
Roblox 游戏脚本编写中的所有课
自己练习: Lua 在线编译器