Advertisement
SxScripting

Power System Script [Updated]

Feb 16th, 2021
1,823
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. local RS = game:GetService("ReplicatedStorage")
  2. local SaveData = game:GetService("DataStoreService"):GetDataStore("NewSystem")
  3. local Debounce = {}
  4.  
  5. game.Players.PlayerAdded:Connect(function(Player)
  6.  
  7. local PowerFolder = Instance.new("Folder",Player)
  8. PowerFolder.Name = "PowerFolder"
  9.  
  10. local Strength = Instance.new("IntValue",PowerFolder)
  11. Strength.Value = 0
  12. Strength.Name = "Strength"
  13.  
  14. local Defense = Instance.new("IntValue",PowerFolder)
  15. Defense.Value = 0
  16. Defense.Name = "Defense"
  17.  
  18. local Success, Value = pcall(function()
  19. return SaveData:GetAsync(Player.UserId)
  20. end)
  21.  
  22. if Success then
  23. if Value then
  24. Strength.Value = Value[1]
  25. Defense.Value = Value[2]
  26. end
  27. else
  28. Strength.Value = 0
  29. Defense.Value = 0
  30. end
  31.  
  32. end)
  33.  
  34. game.Players.PlayerRemoving:Connect(function(Player)
  35.  
  36. local StatTable = {
  37. Player:WaitForChild("PowerFolder").Strength.Value,
  38. Player:WaitForChild("PowerFolder").Defense.Value,
  39. }
  40.  
  41. local Success, Error = pcall(function()
  42. return SaveData:SetAsync(Player.UserId, StatTable)
  43. end)
  44.  
  45. if Error then
  46. print(Error)
  47. end
  48.  
  49. end)
  50.  
  51.  
  52. game:BindToClose(function()
  53. for i,players in pairs(game.Players:GetPlayers()) do
  54.  
  55. local StatTable = {
  56. players:WaitForChild("PowerFolder").Strength.Value,
  57. players:WaitForChild("PowerFolder").Defense.Value,
  58. }
  59.  
  60. local Success, Error = pcall(function()
  61. return SaveData:SetAsync(players.UserId, StatTable)
  62. end)
  63.  
  64. if Error then
  65. print(Error)
  66. end
  67.  
  68. end
  69. end)
  70.  
  71. RS.PowerSystem.OnServerEvent:Connect(function(Player, Statement, Adjust)
  72. if Debounce[Player] then return end
  73. Debounce[Player] = true
  74.  
  75. local Character = Player.Character
  76. local Strength = Player:WaitForChild("PowerFolder").Strength
  77. local Defense = Player:WaitForChild("PowerFolder").Defense
  78.  
  79. if Statement == "PushUp" then
  80. Strength.Value += 2
  81. elseif Statement == "SitUp" then
  82. Strength.Value += 1.5
  83. Defense.Value += 1
  84. elseif Statement == "PullUp" then
  85. Strength.Value += 3
  86. Defense.Value += 1
  87. elseif Statement == "On" then
  88. Character.HumanoidRootPart.Anchored = true
  89. Character.HumanoidRootPart.CFrame = game.Workspace.PullUpBar.MainPart.CFrame * CFrame.new(0,-2.5,.3)
  90. elseif Statement == "Off" then
  91. Character.HumanoidRootPart.Anchored = false
  92. end
  93.  
  94. wait(1)
  95. Debounce[Player] = nil
  96. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement