Can someone help me? im new in LUA programming this is the script: local RS = game:GetService("ReplicatedStorage") local bags = RS.Bags local Dss = game:GetService("DataStoreService") local DS = Dss:GetDataStore("BackpackDataStore1")
game.Players.PlayerAdded:Connect(function(player) local leaderstats = Instance.new("Folder", player) leaderstats.Name = "leaderstats"
local dribbles = Instance.new("NumberValue", leaderstats)
dribbles.Name = "Dribbles"
dribbles.Value = 0
local coins = Instance.new("NumberValue", leaderstats)
coins.Name = "Coins"
coins.Value = 0
-----------------------------------------------------------
local datafolder = Instance.new("Folder", player)
datafolder.Name = "Data"
local rebirthsfolder = Instance.new("Folder", datafolder)
rebirthsfolder.Name = "RebirthsData"
local basketballsfolder = Instance.new("Folder", datafolder)
basketballsfolder.Name = "BasketballsData"
local backpackfolder = Instance.new("Folder", datafolder)
backpackfolder.Name = "BackpackData"
-----------------------------------------------------------
local ownedbasketballsfolder = Instance.new("Folder", basketballsfolder)
ownedbasketballsfolder.Name = "OwnedBasketballs"
local ownedrebirthsfolder = Instance.new("Folder", rebirthsfolder)
ownedrebirthsfolder.Name = "OwnedRebirths"
local ownedbagsfolder = Instance.new("Folder", backpackfolder)
ownedbagsfolder.Name = "OwnedBags"
-----------------------------------------------------------
local equipedbag = Instance.new("StringValue", backpackfolder)
equipedbag.Name = "EquippedBag"
equipedbag.Value = "StarterBag"
local equippedrebirth = Instance.new("StringValue", rebirthsfolder)
equippedrebirth.Name = "EquippedRebirth"
equippedrebirth.Value = "StarterRebirth"
local equippedbasketball = Instance.new("StringValue", basketballsfolder)
equippedbasketball.Name = "EquippedBasketball"
equippedbasketball.Value = "StarterBasketball"
local Insert = Instance.new("StringValue", ownedbagsfolder)
Insert.Name = "StarterBag"
for i, bag in pairs(bags:GetChildren()) do
if bag:FindFirstChild("isInfinitebag") then
bag.bagStorage.Value = math.huge
end
end
-- Data Stores
local Key = player.UserId
local dribblesData, coinsData, ownedBagsData, ownedrebirthsData, ownedbasketballsData, equippedBagData, equippedRebirthData , equippedBasketballData
local succ, err = pcall(function()
dribblesData = DS:GetAsync(Key.."-Dribbles")
coinsData = DS:GetAsync(Key.."-Coins")
ownedBagsData = DS:GetAsync(Key.."-OwnedBags")
equippedBagData = DS:GetAsync(Key.."-Equippedbag")
ownedrebirthsData = DS:GetAsync(Key.."-OwnedRebirths")
equippedRebirthData = DS:GetAsync(Key.."-EquippedRebirth")
ownedbasketballsData = DS:GetAsync(Key.."-OwnedBasketballs")
equippedBasketballData = DS:GetAsync(Key.."-EquippedBasketball")
end)
if succ then
if dribblesData then
dribbles.Value = dribblesData
if coinsData then
coins.Value = coinsData
end
if ownedBagsData then
for v, bag in pairs(ownedBagsData) do
if bag ~= "StarterBag" then
local Insert = Instance.new("StringValue", ownedbagsfolder)
Insert.Name = bag
end
end
end
if equippedBagData then
equipedbag.Value = equippedBagData
end
end
end
-------------------------------------------------------------
if ownedrebirthsData then
for c, reb in pairs(ownedrebirthsData) do
if reb ~= "StarterRebirth" then
local Insert2 = Instance.new("StringValue", ownedrebirthsfolder)
Insert2.Name = reb
end
end
end
if equippedRebirthData then
equippedrebirth.Value = equippedRebirthData
end
------------------------------------------------------------
if ownedbasketballsData then
for d, bkb in pairs(ownedbasketballsData) do
if bkb ~= "StarterBag" then
local Insert3 = Instance.new("StringValue", ownedbasketballsfolder)
Insert3.Name = bkb
end
end
end
if equippedBasketballData then
equipedbag.Value = equippedBasketballData
end
end)
game.Players.PlayerRemoving:Connect(function(player) local Key = player.UserId
local savedOwnedBags = {}
local savedOwnedRebirths = {}
local savedOwnedBasketballs = {}
local succ, err = pcall(function()
DS:SetAsync(Key.."-Dribbles",player.leaderstats.Dribbles.Value)
DS:SetAsync(Key.."-Coins",player.leaderstats.Coins.Value)
DS:SetAsync(Key.."-OwnedBags",player.Data.BackpackData.EquippedBag.Value)
DS:SetAsync(Key.."-EquippedBag",player.Data.Dribbles.Value)
DS:SetAsync(Key.."-OwnedRebirths",player.leaderstats.Coins.Value)
DS:SetAsync(Key.."-EquippedRebirth",player.Data.BackpackData.EquippedBag.Value)
DS:SetAsync(Key.."-OwnedBasketballs",player.leaderstats.Coins.Value)
DS:SetAsync(Key.."-EquippedBasketball",player.Data.BackpackData.EquippedBag.Value)
for i, n in pairs(player.Data.BackpackData.OwnedBags:GetChildren()) do
table.insert(savedOwnedBags,n.Name)
end
DS:SetAsync(Key.."-OwnedBags",savedOwnedBags)
for i, v in pairs(player.Data.RebirthsData.OwnedRebirths:GetChildren()) do
table.insert(savedOwnedRebirths,v.Name)
end
DS:SetAsync(Key.."-OwnedRebirths",savedOwnedBags)
for i, c in pairs(player.Data.BackpackData.OwnedBasketballs:GetChildren()) do
table.insert(savedOwnedBasketballs,c.Name)
end
DS:SetAsync(Key.."-OwnedBasketballs",savedOwnedBags)
end)
if succ then
print("Success while saving Data!")
else
print("Something went wrong while saving Data! "..err)
end
end)
what is wrong?
