I'm trying to fix this datastore script I created but I cant fix it if their is no error. Does anyone know what I'm doing wrong or what I'm missing? How could it be more efficient?
local DataStore1 = Game:GetService("DataStoreService"):GetDataStore("Killed") local DataStore2 = Game:GetService("DataStoreService"):GetDataStore("Currency") local DataStore3 = Game:GetService("DataStoreService"):GetDataStore("Level") local DataStore4 = Game:GetService("DataStoreService"):GetDataStore("Experience") Game.Players.ChildAdded:connect(function(Player) repeat wait() until Player:FindFirstChild("leaderstats") local Storage = Player.leaderstats Storage:FindFirstChild("Killed").Value = DataStore1:GetAsync("UserKILLED_"..Player.userId) or 0 Storage:FindFirstChild("Currency").Value = DataStore2:GetAsync("UserCASH_"..Player.userId) or 0 Storage:FindFirstChild("Level").Value = DataStore3:GetAsync("UserLEVEL_"..Player.userId) or 0 Storage:FindFirstChild("Experience").Value = DataStore4:GetAsync("UserEXPERIENCE_"..Player.userId) or 0 DataStore1:OnUpdate("UserKILLED_"..Player.userId,function(New) Storage:FindFirstChild("Killed").Value = New end) DataStore2:OnUpdate("UserCASH_"..Player.userId,function(New) Storage:FindFirstChild("Currency").Value = New end) DataStore3:OnUpdate("UserLEVEL_"..Player.userId,function(New) Storage:FindFirstChild("Level").Value = New end) DataStore4:OnUpdate("UserEXPERIENCE_"..Player.userId,function(New) Storage:FindFirstChild("Experience").Value = New end) DataStore1:UpdateAsync("UserKILLED_"..Player.userId,function(Current) local Base1 = Current or 0 return Base1 end) DataStore2:UpdateAsync("UserCASH_"..Player.userId,function(Current) local Base2 = Current or 0 return Base2 end) DataStore3:UpdateAsync("UserLEVEL_"..Player.userId,function(Current) local Base3 = Current or 0 return Base3 end) DataStore4:UpdateAsync("UserEXPERIENCE_"..Player.userId,function(Current) local Base4 = Current or 0 return Base4 end) end)