Advertisement
SxScripting

PowerSystem Script Updated[2021]

Apr 5th, 2021
2,218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. local RS = game:GetService("ReplicatedStorage")
  2. local SaveData = game:GetService("DataStoreService"):GetDataStore("NWS1")
  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 ClanName = Instance.new("StringValue",PowerFolder)
  19. ClanName.Value = "None"
  20. ClanName.Name = "ClanName"
  21.  
  22. local function Update()
  23. Player:WaitForChild("PlayerGui").ClanUI.ClanDisplay.Text = "Clan: "..ClanName.Value
  24. end
  25. ClanName.Changed:Connect(Update)
  26.  
  27. local Success, Value = pcall(function()
  28. return SaveData:GetAsync(Player.UserId)
  29. end)
  30.  
  31. if Success then
  32. if Value then
  33. Strength.Value = Value[1]
  34. Defense.Value = Value[2]
  35. ClanName.Value = Value[3]
  36. end
  37. else
  38. Strength.Value = 0
  39. Defense.Value = 0
  40. ClanName.Value = "None"
  41. end
  42.  
  43. end)
  44.  
  45. game.Players.PlayerRemoving:Connect(function(Player)
  46.  
  47. local StatTable = {
  48. Player:WaitForChild("PowerFolder").Strength.Value,
  49. Player:WaitForChild("PowerFolder").Defense.Value,
  50. Player:WaitForChild("PowerFolder").ClanName.Value,
  51. }
  52.  
  53. local Success, Error = pcall(function()
  54. return SaveData:SetAsync(Player.UserId, StatTable)
  55. end)
  56.  
  57. if Error then
  58. print(Error)
  59. end
  60.  
  61. end)
  62.  
  63.  
  64. game:BindToClose(function()
  65. for i,players in pairs(game.Players:GetPlayers()) do
  66.  
  67. local StatTable = {
  68. players:WaitForChild("PowerFolder").Strength.Value,
  69. players:WaitForChild("PowerFolder").Defense.Value,
  70. players:WaitForChild("PowerFolder").ClanName.Value,
  71. }
  72.  
  73. local Success, Error = pcall(function()
  74. return SaveData:SetAsync(players.UserId, StatTable)
  75. end)
  76.  
  77. if Error then
  78. print(Error)
  79. end
  80.  
  81. end
  82. end)
  83.  
  84. RS.PowerSystem.OnServerEvent:Connect(function(Player, Statement, Adjust)
  85. if Debounce[Player] then return end
  86. Debounce[Player] = true
  87.  
  88. local Character = Player.Character
  89. local Strength = Player:WaitForChild("PowerFolder").Strength
  90. local Defense = Player:WaitForChild("PowerFolder").Defense
  91.  
  92. if Statement == "PushUp" then
  93. Strength.Value += 2
  94. elseif Statement == "SitUp" then
  95. Strength.Value += 1.5
  96. Defense.Value += 1
  97. elseif Statement == "PullUp" then
  98. Strength.Value += 3
  99. Defense.Value += 1
  100. elseif Statement == "On" then
  101. Character.HumanoidRootPart.Anchored = true
  102. Character.HumanoidRootPart.CFrame = game.Workspace.PullUpBar.MainPart.CFrame * CFrame.new(0,-2.5,.3)
  103. elseif Statement == "Off" then
  104. Character.HumanoidRootPart.Anchored = false
  105. end
  106.  
  107. wait(1)
  108. Debounce[Player] = nil
  109. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement