This is my script I been trying to find different ways to make multiple value data stores and I came up with this.
local ds = game:GetService(“DataStoreService”):GetDataStore(“1ja91j210na0m01ma91”)
game.Players.PlayerAdded:Connect(function(player)
– creats a basic leaderboard
local leaderstats = Instance.new(“Folder”)
leaderstats.Name = “leaderstats”
leaderstats.Parent = playerlocal Level = Instance.new(‘IntValue’)
Level.Name = ‘Level’
Level.Parent = leaderstatslocal Exp = Instance.new(‘IntValue’)
Exp.Name = ‘Exp’
Exp.Parent = leaderstatslocal Dragons = Instance.new(‘IntValue’)
Dragons.Name = ‘DragonCoins’
Dragons.Parent = leaderstatslocal Potions = Instance.new(‘IntValue’)
Potions.Name = ‘Potions’
Potions.Parent = leaderstatslocal MainQuest = Instance.new(‘IntValue’)
MainQuest.Name = ‘MainQuest’
MainQuest.Parent = leaderstatslocal HP = Instance.new(‘IntValue’)
HP.Name = ‘Hp’
HP.Parent = leaderstatslocal ST = Instance.new(‘IntValue’)
ST.Name = ‘StrengthPoints’
ST.Parent = leaderstatslocal DP = Instance.new(‘IntValue’)
DP.Name = ‘DodgePoints’
DP.Parent = leaderstatslocal SkillPoints = Instance.new(‘IntValue’)
SkillPoints.Name = ‘SkillPoints’
SkillPoints.Parent = leaderstatslocal SideQuest1 = Instance.new(‘IntValue’)
SideQuest1.Name = ‘Side1’
SideQuest1.Parent = leaderstatslocal SideQuest2 = Instance.new(‘IntValue’)
SideQuest2.Name = ‘Side2’
SideQuest2.Parent = leaderstatslocal SideQuest3 = Instance.new(‘IntValue’)
SideQuest3.Name = ‘Side3’
SideQuest3.Parent = leaderstatslocal SideQuest4 = Instance.new(‘IntValue’)
SideQuest4.Name = ‘Side4’
SideQuest4.Parent = leaderstatslocal SideQuest5 = Instance.new(‘IntValue’)
SideQuest5.Name = ‘Side5’
SideQuest5.Parent = leaderstatslocal SideQuest6 = Instance.new(‘IntValue’)
SideQuest6.Name = ‘Side6’
SideQuest6.Parent = leaderstatslocal SideQuest7 = Instance.new(‘IntValue’)
SideQuest7.Name = ‘Side7’
SideQuest7.Parent = leaderstatslocal SideQuest8 = Instance.new(‘IntValue’)
SideQuest8.Name = ‘Side8’
SideQuest8.Parent = leaderstatslocal SideQuest9 = Instance.new(‘IntValue’)
SideQuest9.Name = ‘Side9’
SideQuest9.Parent = leaderstatslocal SideQuest10 = Instance.new(‘IntValue’)
SideQuest10.Name = ‘Side10’
SideQuest10.Parent = leaderstatslocal stats = ds:GetAsync(player.UserId)
if stats ~= nil then
Level.Value = stats[1]
Exp.Value = stats[2]
Dragons.Value = stats[3]
Potions.Value = stats[4]
MainQuest.Value = stats[5]
HP.Value = stats[6]
ST.Value = stats[7]
DP.Value = stats[8]
SkillPoints.Value = stats[9]
SideQuest1.Value = stats[10]
SideQuest2.Value = stats[11]
SideQuest3.Value = stats[12]
SideQuest4.Value = stats[13]
SideQuest5.Value = stats[14]
SideQuest6.Value = stats[15]
SideQuest7.Value = stats[16]
SideQuest8.Value = stats[17]
SideQuest9.Value = stats[18]
SideQuest10.Value = stats[19]
print(“Loaded data”)
else
Level.Value = 0
Exp.Value = 0
Dragons.Value = 0
Potions.Value = 0
MainQuest.Value = 1
HP.Value = 0
ST.Value = 0
DP.Value = 0
SkillPoints.Value = 0
SideQuest1.Value = 0
SideQuest2.Value = 0
SideQuest3.Value = 0
SideQuest4.Value = 0
SideQuest5.Value = 0
SideQuest6.Value = 0
SideQuest7.Value = 0
SideQuest8.Value = 0
SideQuest9.Value = 0
SideQuest10.Value = 0
print(“No data found”)
end
end)game.Players.PlayerRemoving:Connect(function(player)
local save = {}table.insert(save, player.leaderstats.Level.Value)
table.insert(save, player.leaderstats.Exp.Value)
table.insert(save, player.leaderstats.DragonCoins.Value)
table.insert(save, player.leaderstats.Potions.Value)
table.insert(save, player.leaderstats.MainQuest.Value)
table.insert(save, player.leaderstats.Hp.Value)
table.insert(save, player.leaderstats.StrengthPoints.Value)
table.insert(save, player.leaderstats.DodgePoints.Value)
table.insert(save, player.leaderstats.SkillPoints.Value)
table.insert(save, player.leaderstats.Side1.Value)
table.insert(save, player.leaderstats.Side2.Value)
table.insert(save, player.leaderstats.Side3.Value)
table.insert(save, player.leaderstats.Side4.Value)
table.insert(save, player.leaderstats.Side5.Value)
table.insert(save, player.leaderstats.Side6.Value)
table.insert(save, player.leaderstats.Side7.Value)
table.insert(save, player.leaderstats.Side8.Value)
table.insert(save, player.leaderstats.Side9.Value)
table.insert(save, player.leaderstats.Side10.Value)ds:SetAsync(player.UserId, save)
print(“Game successfully saved”)
end)