Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local module = {}
- local DataStoreService = game:GetService("DataStoreService")
- local InventoryItems = DataStoreService:GetDataStore("ToolDataStore")
- AUTOSAVE_INTERVAL = 120
- game.Players.PlayerAdded:Connect(function(Player)
- local Key = "PlayerIdNum-"..Player.UserId.."_ToolItems"
- local function createdata(num ,val, setval, table1, table2) --create function to take up less space
- table2[num] = val
- val = setval
- table.insert(table1, table2[num])
- end
- local function getdata(num, val, table1, table2)
- val = table2[num]
- table.insert(table1, table2[num])
- end
- --leaderstats
- local inew = Instance.new
- local ls = inew("Folder")
- ls.Name = "leaderstats"
- ls.Parent = Player
- local points = inew("IntValue")
- points.Name = "Points"
- points.Parent = ls
- local experience = inew("IntValue")
- experience.Name = "Experience"
- experience.Parent = ls
- local wins = inew("IntValue")
- wins.Name = "Wins"
- wins.Parent = ls
- local kills = inew("IntValue")
- kills.Name = "Kills"
- kills.Parent = ls
- local level = inew("IntValue")
- level.Name = "Level"
- level.Parent = ls
- local heropoints = inew("IntValue")
- heropoints.Name = "HeroPoints"
- heropoints.Parent = ls
- local raidwins = inew("IntValue")
- raidwins.Name = "RaidWins"
- raidwins.Parent = ls
- --Inventory
- local InvData = Player:WaitForChild("Backpack"):WaitForChild("Inventory")
- local HasM9 = InvData:WaitForChild("HasM9")
- local HasPistol = InvData:WaitForChild("HasPistol")
- local HasM4 = InvData:WaitForChild("HasM4")
- local HasShotgun = InvData:WaitForChild("HasShotgun")
- local HasSuperball = InvData:WaitForChild("HasSuperball")
- local HasRocketLauncher = InvData:WaitForChild("HasRocketLauncher")
- local HasGoldenGun = InvData:WaitForChild("HasGoldenGun")
- local HasBombthrower = InvData:WaitForChild("HasBombthrower")
- local HasAK = InvData:WaitForChild("HasAK")
- local HasFireball = InvData:WaitForChild("HasFireball")
- --Saving Data
- local StoreToSet = {}
- local DataToGet = InventoryItems:GetAsync(Key)
- if DataToGet ~= nil then
- if #DataToGet >= 1 then
- if DataToGet[1] ~= nil then
- getdata(1, HasM9.Value, StoreToSet, DataToGet)
- else
- createdata(1, HasM9.Value, false, StoreToSet, DataToGet)
- end
- if DataToGet[2] ~= nil then
- getdata(2, HasPistol.Value, StoreToSet, DataToGet)
- else
- createdata(2, HasPistol.Value, false, StoreToSet, DataToGet)
- end
- if DataToGet[3] ~= nil then
- getdata(3, HasM4.Value, StoreToSet, DataToGet)
- else
- createdata(3, HasM4.Value, false, StoreToSet, DataToGet)
- end
- --ect
- end
- else
- DataToGet = {}
- createdata(1, HasM9.Value, false, StoreToSet, DataToGet)
- createdata(2, HasPistol.Value, false, StoreToSet, DataToGet)
- createdata(3, HasM4.Value, false, StoreToSet, DataToGet)
- --ect
- print("New Data")
- end
- InventoryItems:SetAsync(Key, StoreToSet)
- repeat wait() until Player.Character
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.MaxHealth = 100 + (level.Value*10)
- end
- level.Changed:Connect(function(value)
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.MaxHealth = 100 + (level.Value*10)
- end
- end)
- Player.CharacterAdded:Connect(function(character)
- character:WaitForChild("Humanoid").MaxHealth = 100 + (level.Value*10)
- end)
- local required = (level.Value*70)
- experience.Changed:Connect(function()
- if experience.Value >= required then
- level.Value=level.Value+1
- experience.Value = experience.Value-required
- end
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment