Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local event = game.ReplicatedStorage.DataSave
- local dataStoreService = game:GetService("DataStoreService")
- local levels = dataStoreService:GetDataStore("Level")
- local level
- event.OnServerEvent:Connect(function(player)
- if not game:GetService("RunService"):IsStudio() then
- player.leaderstats.Level.Value = player.leaderstats.Level.Value + 1
- local function updateLevel(currentLevel)
- local level = player.leaderstats.Level.Value
- return level
- end
- local success, data = pcall(function()
- return levels:GetAsync("Player_" .. player.UserId)
- end)
- if not data then
- levels:SetAsync("Player_" .. player.UserId, 1)
- else
- local updateSuccess, updateError = pcall(function()
- return levels:UpdateAsync("Player_" .. player.UserId, updateLevel)
- end)
- if updateSuccess then
- elseif updateError then
- print("Error saving data.")
- end
- end
- if success then
- print("Data successfully saved!")
- end
- end
- end)
- game.Players.PlayerAdded:Connect(function(player)
- player.CharacterAdded:Connect(function(char)
- if not game:GetService("RunService"):IsStudio() then
- local success, data = pcall(function()
- local currentLevel = levels:GetAsync("Player_" .. player.UserId)
- level = currentLevel
- return levels:GetAsync("Player_" .. player.UserId)
- end)
- if data and level ~= 1 then
- print(level)
- player.leaderstats.Level.Value = level
- local spawns = game.Workspace:GetDescendants()
- for index, respawn in pairs(spawns) do
- if respawn:IsA("SpawnLocation") then
- if respawn.Name == "Checkpoint" .. level then
- player.RespawnLocation = respawn
- char:MoveTo(respawn.Position)
- end
- end
- end
- elseif not data or level == 1 then
- player.RespawnLocation = game.Workspace.StartPoint1
- char:MoveTo(game.Workspace.StartPoint1.Position)
- end
- end
- local stats = player:WaitForChild("leaderstats")
- print(stats.Level.Value)
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement