game.Players.PlayerAdded:Connect(function(player)
local stats = Instance.new("Folder")
stats.Name = "leaderstats"
stats.Parent = player
local level = Instance.new("IntValue")
level.Name = "Level"
level.Value = 1
level.Parent = stats
local xp = Instance.new("IntValue")
xp.Name = "XP"
xp.Value = 0
xp.Parent = player
end)local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if player then
player.XP.Value += 50
endlocal function checkLevel(player)
local xp = player.XP
local level = player.leaderstats.Level
local requiredXP = level.Value * 100
if xp.Value >= requiredXP then
xp.Value -= requiredXP
level.Value += 1
print(player.Name .. " достиг уровня " .. level.Value)
end
endlocal function checkLevel(player)
local xp = player.XP
local level = player.leaderstats.Level
local requiredXP = level.Value * 100
while xp.Value >= requiredXP do
xp.Value -= requiredXP
level.Value += 1
requiredXP = level.Value * 100
end
end
game.Players.PlayerAdded:Connect(function(player)
local stats = Instance.new("Folder")
stats.Name = "leaderstats"
stats.Parent = player
local level = Instance.new("IntValue")
level.Name = "Level"
level.Value = 1
level.Parent = stats
local xp = Instance.new("IntValue")
xp.Name = "XP"
xp.Value = 0
xp.Parent = player
xp.Changed:Connect(function()
checkLevel(player)
end)
end)player.XP.Value += 50if level.Value == 5 then
print("Открыта новая зона!")
endlocal player = game.Players.LocalPlayer
local label = script.Parent
local level = player:WaitForChild("leaderstats"):WaitForChild("Level")
local function update()
label.Text = "Уровень: " .. level.Value
end
update()
level.Changed:Connect(update)local progress = xp.Value / requiredXP
xpBar.Size = UDim2.new(progress, 0, 1, 0)