ForeverDev

omg i spent 3 hours on this shit

Oct 4th, 2014
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.56 KB | None | 0 0
  1. local version = Workspace.VERSION.Value
  2.  
  3. local storage = game.ServerStorage
  4. local service = game:GetService("DataStoreService"):GetDataStore("ForeverDevStats" .. version)
  5.  
  6. local default = {
  7.     cash = 10,
  8.     ach_thousandcash = false
  9. }
  10.  
  11. local comma = function(str)
  12.     local formatted = tostring(str)
  13.     while true do  
  14.         formatted, k = formatted:gsub("^(-?%d+)(%d%d%d)", '%1,%2')
  15.                 if k == 0 then
  16.                     break
  17.                 end
  18.     end
  19.     return formatted
  20. end
  21.  
  22. game.Players.PlayerAdded:connect(function(player)
  23.     local data = storage.Data:clone()
  24.     data.Parent = storage
  25.     data.Name = player.Name .. "Data"
  26.     local screen = player.PlayerGui:WaitForChild("ScreenGui")
  27.     for _, store in ipairs(data:GetChildren()) do
  28.         store.Changed:connect(function(value)
  29.             if store:FindFirstChild("DisplayedOnScreen") then
  30.                 screen[store.Name].Output.Text = screen[store.Name].StringOutput.Value:gsub("VALUE", comma(value))
  31.             end
  32.             if store:FindFirstChild("Achievement") then
  33.                 if not service:GetAsync(player.userId .. tostring(store.AchievementKey.Value)) and value then
  34.                     Workspace.Functions.AwardAchievement:Invoke(player, store.AchievementKey.Value)
  35.                 end
  36.             end
  37.         end)
  38.         store.Value = service:GetAsync(tostring(player.userId) .. store.Name:lower()) or default[store.Name:lower()]
  39.     end
  40. end)
  41.  
  42. game.Players.PlayerRemoving:connect(function(player)
  43.     local data = storage:FindFirstChild(player.Name .. "Data")
  44.     if data then
  45.         for _, store in ipairs(data:GetChildren()) do
  46.             service:SetAsync(tostring(player.userId) .. store.Name:lower(), store.Value)
  47.         end
  48.     end
  49. end)
  50.  
  51.  
  52.  
  53.  
  54. --------------------------------------------------------------------------------------------------------------
  55.  
  56.  
  57.  
  58.  
  59.  
  60. local version = Workspace.VERSION.Value
  61.  
  62. local service = game:GetService("DataStoreService"):GetDataStore("ForeverDevStats" .. version)
  63.  
  64. function script.Parent.AwardAchievement.OnInvoke(player, award)
  65.     local frame = game.ReplicatedStorage.Achievement:clone()
  66.     frame.Parent = player.PlayerGui.ScreenGui
  67.     frame.Award.Text = award
  68.     service:SetAsync(player.userId .. award, true)
  69. end
  70.  
  71. function script.Parent.GetData.OnServerInvoke(player, dataName)
  72.     if game.ServerStorage:FindFirstChild(player.Name .. "Data") then
  73.         return game.ServerStorage[player.Name .. "Data"][dataName].Value
  74.     end
  75.     return false
  76. end
  77.  
  78. function script.Parent.ChangeData.OnServerInvoke(player, dataName, value)
  79.     if game.ServerStorage:FindFirstChild(player.Name .. "Data") then
  80.         game.ServerStorage[player.Name .. "Data"][dataName].Value = value
  81.         return true
  82.     end
  83.     return false
  84. end
Advertisement
Add Comment
Please, Sign In to add comment