Скрипт: leaderstats и таблица очков
Roblox сам рисует таблицу игроков, если у игрока есть папка leaderstats со значениями. Скрипт создаёт её при входе и даёт серверной функции менять очки.
Куда положить
ServerScriptService, тип объекта Script
Что должно быть в проекте
- Ничего дополнительно — таблица появляется сама
Код
local Players = game:GetService("Players")local function setup(player)local stats = Instance.new("Folder")stats.Name = "leaderstats"stats.Parent = playerlocal coins = Instance.new("IntValue")coins.Name = "Coins"coins.Value = 0coins.Parent = statslocal level = Instance.new("IntValue")level.Name = "Level"level.Value = 1level.Parent = statsendlocal function addCoins(player, amount: number)if typeof(amount) ~= "number" or amount <= 0 thenreturnendlocal stats = player:FindFirstChild("leaderstats")local coins = stats and stats:FindFirstChild("Coins")if not coins thenreturnendcoins.Value += amountlocal level = stats:FindFirstChild("Level")if level thenlevel.Value = 1 + math.floor(coins.Value / 100)endendPlayers.PlayerAdded:Connect(setup)return { addCoins = addCoins }
Функция addCoins проверяет тип и знак: отрицательная «награда» ничего не сломает.
На что обратить внимание
- Папка обязана называться именно leaderstats — по этому имени её ищет движок
- В таблицу попадают только IntValue, NumberValue и StringValue внутри папки
- Значения меняет сервер: IntValue на клиенте изменится только у самого игрока и ни на что не повлияет