Menu
CoddyTech

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, полностью в нижнем регистре, иначе таблица результатов её игнорирует.

challenge icon

Задание

Средне

Создавай таблицу результатов для каждого игрока, когда он присоединяется.

  1. В обработчике PlayerAdded создай внутри игрока Folder с именем leaderstats.
  2. В папке добавь IntValue с именем Coins и значением 0.
  3. Добавь ещё один 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

Потренируйтесь самостоятельно: Онлайн-компилятор Lua