Advertisement
Guest User

Untitled

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