Leaderstats
Часть раздела Скриптинг игр в Roblox путешествия по Lua на Coddy. Урок 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создай внутри игрокаFolderс именемleaderstats. - В папке добавь
IntValueс именемCoinsи значением0. - Добавь ещё один
IntValueс именемLevelи значением1.
Нажми «Играть»: в таблице результатов отображаются Coins 0 и Level 1. Затем нажми «Проверить».
Попробуйте сами
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
print(player.Name .. " joined")
-- 1. Папка Folder с именем leaderstats внутри player
-- 2. Объект IntValue с именем Coins, начальное значение — 0
-- 3. Объект IntValue с именем Level, начальное значение — 1
end)
Все уроки раздела Скриптинг игр в Roblox
2Циклы и функции
Ряд столбовСтроитель лестницСтроитель башенФабрика монетМигающий светИсчезающий мост5Ваша первая игра
Ваш первый обби3События и игроки
Сенсорная плитаЛавовый полLeaderstatsКто к ней прикоснулся?Сборщик монетПовторное появление монетыДверь за монетыПотренируйтесь самостоятельно: Онлайн-компилятор Lua