Hello. I am making my game with data store to save data and right now it is not going well. For some reason (again) the datastore cannot save 2 values? I have 4 datastores in my game and the others work fine.
CAR CUSTOMISE DATASTORE (NOT WORKING)
game:BindToClose(function() wait(5) end)
local dataStoreService = game:GetService("DataStoreService"):GetDataStore("CarCustomizeDataStore")
local prefix = 'usr_'
game.Players.PlayerAdded:Connect(function(plr)
local key = prefix..plr.userId
local CarCustomizeData = Instance.new('Folder',plr)
CarCustomizeData.Name = "CarCustomizeData"
local LicencePlate = Instance.new('StringValue')
LicencePlate.Name = "LicencePlate"
LicencePlate.Parent = plr.CarCustomizeData
local PrimaryColor = Instance.new("BrickColorValue")
PrimaryColor.Name = "PrimaryColor"
PrimaryColor.Parent = plr.CarCustomizeData
local getSavedData = dataStoreService:GetAsync(key)
for i, v in pairs(getSavedData) do print(i, v) end
if getSavedData then
LicencePlate.Value = getSavedData[1]
PrimaryColor.Value = getSavedData[2]
else
local saving = {LicencePlate.Value, PrimaryColor.Value}
dataStoreService:SetAsync(key,saving)
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local key = prefix..plr.userId
local save = {plr.CarCustomizeData.LicencePlate.Value, plr.CarCustomizeData.PrimaryColor.Value}
for i, v in pairs(save) do print(i, v) end
dataStoreService:SetAsync(key,save)
end)
CAR DATASTORE (WORKS)
game:BindToClose(function() wait(5) end)
local dataStoreService = game:GetService("DataStoreService"):GetDataStore("CarDataStore")
local prefix = 'usr_'
game.Players.PlayerAdded:Connect(function(plr)
local key = prefix..plr.userId
local CamaroOwned = Instance.new('BoolValue',plr)
CamaroOwned.Name = "CamaroSSOwned"
local LamOwned = Instance.new('BoolValue',plr)
LamOwned.Name = "LamborghiniOwned"
local Audi4Owned = Instance.new("BoolValue",plr)
Audi4Owned.Name = "AudiA4Owned"
local One1Owned = Instance.new("BoolValue",plr)
One1Owned.Name = "One1Owned"
local LamHurAc = Instance.new("BoolValue",plr)
LamHurAc.Name = "LamborghiniHuracanAccess"
local Fiat500Own = Instance.new("BoolValue",plr)
Fiat500Own.Name = "Fiat500Owned"
local TeslaMSOwn = Instance.new("BoolValue",plr)
TeslaMSOwn.Name = "TeslaModelSOwned"
local AudiTTRoadOwn = Instance.new("BoolValue",plr)
AudiTTRoadOwn.Name = "AudiTTRoadsterOwned"
local NissanGTROwn = Instance.new("BoolValue",plr)
NissanGTROwn.Name = "NissanGTROwned"
local AudiR8Own = Instance.new("BoolValue",plr)
AudiR8Own.Name = "AudiR8Owned"
local BugattiVeyOwn = Instance.new("BoolValue",plr)
BugattiVeyOwn.Name = "BugattiVeyronOwned"
local Porsche911Own = Instance.new("BoolValue",plr)
Porsche911Own.Name = "Porsche911Owned"
local FordTransitOwn = Instance.new("BoolValue",plr)
FordTransitOwn.Name = "FordTransitVanOwned"
local AudiS5Own = Instance.new("BoolValue",plr)
AudiS5Own.Name = "AudiS5Owned"
local getSavedData = dataStoreService:GetAsync(key)
for i, v in pairs(getSavedData) do print(i, v) end
if getSavedData then
CamaroOwned.Value = getSavedData[1]
LamOwned.Value = getSavedData[2]
Audi4Owned.Value = getSavedData[3]
One1Owned.Value = getSavedData[4]
LamHurAc.Value = getSavedData[5]
Fiat500Own.Value = getSavedData[6]
TeslaMSOwn.Value = getSavedData[7]
AudiTTRoadOwn.Value = getSavedData[8]
NissanGTROwn.Value = getSavedData[9]
AudiR8Own.Value = getSavedData[10]
BugattiVeyOwn.Value = getSavedData[11]
Porsche911Own.Value = getSavedData[12]
FordTransitOwn.Value = getSavedData[13]
AudiS5Own.Value = getSavedData[14]
else
local saving = {CamaroOwned.Value, LamOwned.Value, Audi4Owned.Value, One1Owned.Value, LamHurAc.Value, Fiat500Own.Value, TeslaMSOwn.Value, AudiTTRoadOwn.Value, NissanGTROwn.Value, AudiR8Own.Value, BugattiVeyOwn.Value, Porsche911Own.Value, FordTransitOwn.Value, AudiS5Own.Value}
dataStoreService:SetAsync(key,saving)
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local key = prefix..plr.userId
local save = {plr.CamaroSSOwned.Value, plr.LamborghiniOwned.Value, plr.AudiA4Owned.Value, plr.One1Owned.Value, plr.LamborghiniHuracanAccess.Value, plr.Fiat500Owned.Value, plr.TeslaModelSOwned.Value, plr.AudiTTRoadsterOwned.Value, plr.NissanGTROwned.Value, plr.AudiR8Owned.Value, plr.BugattiVeyronOwned.Value, plr.Porsche911Owned.Value, plr.FordTransitVanOwned.Value, plr.AudiS5Owned.Value}
for i, v in pairs(save) do print(i, v) end
dataStoreService:SetAsync(key,save)
end)
MONEY DATASTORE (WORKS)
game:BindToClose(function() wait(7) end)
local dataStoreService = game:GetService("DataStoreService"):GetDataStore("MainDataStore")
game.Players.PlayerAdded:Connect(function(plr)
local key = 'id-'..plr.UserId
local stats = Instance.new('IntValue',plr)
stats.Name = "leaderstats"
local money = Instance.new('IntValue')
money.Parent = plr.leaderstats
money.Name = "Money"
money.Value = 28000
local fuel = Instance.new("IntValue",plr)
fuel.Name = "CarFuel"
fuel.Value = 100
local electric = Instance.new("IntValue",plr)
electric.Name = "Electric"
electric.Value = 100
local LevelData = Instance.new("Folder",plr)
LevelData.Name = "LevelData"
local XP = Instance.new("IntValue")
XP.Parent = plr
XP.Name = "XP"
local Level = Instance.new("IntValue")
Level.Parent = plr
Level.Name = "Level"
local XPNeed = Instance.new("IntValue")
XPNeed.Parent = plr
XPNeed.Name = "XPNeeded"
local getSavedData = dataStoreService:GetAsync(key)
if getSavedData then
money.Value = getSavedData[1]
fuel.Value = getSavedData[2]
electric.Value = getSavedData[3]
else
local saving = {money.Value, fuel.Value, electric.Value}
dataStoreService:SetAsync(key,saving)
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local key = 'id-'..plr.UserId
local save = {plr.leaderstats.Money.Value, plr.CarFuel.Value, plr.Electric.Value}
dataStoreService:SetAsync(key,save)
end)
POLICE CAR DATASTORE {WORKS}
game:BindToClose(function() wait(5) end)
local dataStoreService = game:GetService("DataStoreService"):GetDataStore("PoliceDataStore")
local prefix = 'usr_'
game.Players.PlayerAdded:Connect(function(plr)
local key = prefix..plr.userId
local AudiA4Police = Instance.new('BoolValue',plr)
AudiA4Police.Name = "AudiA4PoliceOwned"
local getSavedData = dataStoreService:GetAsync(key)
for i, v in pairs(getSavedData) do print(i, v) end
if getSavedData then
AudiA4Police.Value = getSavedData[1]
else
local saving = {AudiA4Police.Value}
dataStoreService:SetAsync(key,saving)
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local key = prefix..plr.userId
local save = {plr.AudiA4PoliceOwned.Value}
for i, v in pairs(save) do print(i, v) end
dataStoreService:SetAsync(key,save)
end)
Those were all the DataStore scripts for the Game. The top script does not work! Please help!
