Guest User

datastore

a guest
Sep 5th, 2017
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.55 KB | None | 0 0
  1. local module = {}
  2. local DataStoreService = game:GetService("DataStoreService")
  3. local InventoryItems = DataStoreService:GetDataStore("ToolDataStore")
  4. AUTOSAVE_INTERVAL = 120
  5.  
  6. game.Players.PlayerAdded:Connect(function(Player)
  7.     local Key = "PlayerIdNum-"..Player.UserId.."_ToolItems"
  8.    
  9.     local function createdata(num ,val, setval, table1, table2) --create function to take up less space
  10.         table2[num] = val
  11.         val = setval
  12.         table.insert(table1, table2[num])
  13.     end
  14.     local function getdata(num, val, table1, table2)
  15.         val = table2[num]
  16.         table.insert(table1, table2[num])
  17.     end
  18.     --leaderstats
  19.     local inew = Instance.new
  20.    
  21.     local ls = inew("Folder")
  22.     ls.Name = "leaderstats"
  23.     ls.Parent = Player
  24.    
  25.     local points = inew("IntValue")
  26.     points.Name = "Points"
  27.     points.Parent = ls
  28.    
  29.     local experience = inew("IntValue")
  30.     experience.Name = "Experience"
  31.     experience.Parent = ls
  32.    
  33.     local wins = inew("IntValue")
  34.     wins.Name = "Wins"
  35.     wins.Parent = ls
  36.    
  37.     local kills = inew("IntValue")
  38.     kills.Name = "Kills"
  39.     kills.Parent = ls
  40.    
  41.     local level = inew("IntValue")
  42.     level.Name = "Level"
  43.     level.Parent = ls
  44.    
  45.     local heropoints = inew("IntValue")
  46.     heropoints.Name = "HeroPoints"
  47.     heropoints.Parent = ls
  48.    
  49.     local raidwins = inew("IntValue")
  50.     raidwins.Name = "RaidWins"
  51.     raidwins.Parent = ls
  52.     --Inventory
  53.     local InvData = Player:WaitForChild("Backpack"):WaitForChild("Inventory")
  54.     local HasM9 = InvData:WaitForChild("HasM9")
  55.     local HasPistol = InvData:WaitForChild("HasPistol")
  56.     local HasM4 = InvData:WaitForChild("HasM4")
  57.     local HasShotgun = InvData:WaitForChild("HasShotgun")
  58.     local HasSuperball = InvData:WaitForChild("HasSuperball")
  59.     local HasRocketLauncher = InvData:WaitForChild("HasRocketLauncher")
  60.     local HasGoldenGun = InvData:WaitForChild("HasGoldenGun")
  61.     local HasBombthrower = InvData:WaitForChild("HasBombthrower")
  62.     local HasAK = InvData:WaitForChild("HasAK")
  63.     local HasFireball = InvData:WaitForChild("HasFireball")
  64.     --Saving Data
  65.     local StoreToSet = {}
  66.     local DataToGet = InventoryItems:GetAsync(Key)
  67.     if DataToGet ~= nil then
  68.         if #DataToGet >= 1 then
  69.             if DataToGet[1] ~= nil then
  70.                 getdata(1, HasM9.Value, StoreToSet, DataToGet)
  71.             else
  72.                 createdata(1, HasM9.Value, false, StoreToSet, DataToGet)
  73.             end
  74.             if DataToGet[2] ~= nil then
  75.                 getdata(2, HasPistol.Value, StoreToSet, DataToGet)
  76.             else
  77.                 createdata(2, HasPistol.Value, false, StoreToSet, DataToGet)
  78.             end
  79.             if DataToGet[3] ~= nil then
  80.                 getdata(3, HasM4.Value, StoreToSet, DataToGet)
  81.             else
  82.                 createdata(3, HasM4.Value, false, StoreToSet, DataToGet)
  83.             end
  84.             --ect
  85.         end
  86.     else
  87.         DataToGet = {}
  88.         createdata(1, HasM9.Value, false, StoreToSet, DataToGet)
  89.         createdata(2, HasPistol.Value, false, StoreToSet, DataToGet)
  90.         createdata(3, HasM4.Value, false, StoreToSet, DataToGet)
  91.         --ect
  92.         print("New Data")
  93.     end
  94.     InventoryItems:SetAsync(Key, StoreToSet)
  95.     repeat wait() until Player.Character
  96.     if Player.Character and Player.Character:FindFirstChild("Humanoid") then
  97.         Player.Character.Humanoid.MaxHealth = 100 + (level.Value*10)
  98.     end
  99.     level.Changed:Connect(function(value)
  100.         if Player.Character and Player.Character:FindFirstChild("Humanoid") then
  101.             Player.Character.Humanoid.MaxHealth = 100 + (level.Value*10)
  102.         end
  103.     end)
  104.     Player.CharacterAdded:Connect(function(character)
  105.         character:WaitForChild("Humanoid").MaxHealth = 100 + (level.Value*10)
  106.     end)
  107.     local required = (level.Value*70)
  108.     experience.Changed:Connect(function()
  109.         if experience.Value >= required then
  110.             level.Value=level.Value+1
  111.             experience.Value = experience.Value-required
  112.         end
  113.     end)
  114. end)
Advertisement
Add Comment
Please, Sign In to add comment