Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. local event = game.ReplicatedStorage.DataSave
  2. local dataStoreService = game:GetService("DataStoreService")
  3. local levels = dataStoreService:GetDataStore("Level")
  4. local level
  5.  
  6. event.OnServerEvent:Connect(function(player)
  7. if not game:GetService("RunService"):IsStudio() then
  8. player.leaderstats.Level.Value = player.leaderstats.Level.Value + 1
  9. local function updateLevel(currentLevel)
  10. local level = player.leaderstats.Level.Value
  11. return level
  12. end
  13. local success, data = pcall(function()
  14. return levels:GetAsync("Player_" .. player.UserId)
  15. end)
  16. if not data then
  17. levels:SetAsync("Player_" .. player.UserId, 1)
  18. else
  19. local updateSuccess, updateError = pcall(function()
  20. return levels:UpdateAsync("Player_" .. player.UserId, updateLevel)
  21. end)
  22. if updateSuccess then
  23. elseif updateError then
  24. print("Error saving data.")
  25. end
  26. end
  27. if success then
  28. print("Data successfully saved!")
  29. end
  30. end
  31. end)
  32.  
  33. game.Players.PlayerAdded:Connect(function(player)
  34. player.CharacterAdded:Connect(function(char)
  35. if not game:GetService("RunService"):IsStudio() then
  36. local success, data = pcall(function()
  37. local currentLevel = levels:GetAsync("Player_" .. player.UserId)
  38. level = currentLevel
  39. return levels:GetAsync("Player_" .. player.UserId)
  40. end)
  41. if data and level ~= 1 then
  42. print(level)
  43. player.leaderstats.Level.Value = level
  44. local spawns = game.Workspace:GetDescendants()
  45. for index, respawn in pairs(spawns) do
  46. if respawn:IsA("SpawnLocation") then
  47. if respawn.Name == "Checkpoint" .. level then
  48. player.RespawnLocation = respawn
  49. char:MoveTo(respawn.Position)
  50. end
  51. end
  52. end
  53. elseif not data or level == 1 then
  54. player.RespawnLocation = game.Workspace.StartPoint1
  55. char:MoveTo(game.Workspace.StartPoint1.Position)
  56. end
  57. end
  58. local stats = player:WaitForChild("leaderstats")
  59. print(stats.Level.Value)
  60. end)
  61. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement