I'm Trying To Save Multiple Numbers / Bool Value That Arent In The Leader Stats but it Isn't Working Help, THANKS!!.

local DSS = game:GetService("DataStoreService")
local myDataStore = DSS:GetDataStore("myDataStore")

game.Players.PlayerAdded:Connect(function(player)
	local Stats = player:FindFirstChild("Stats")
	local SDone = player:FindFirstChild("SDone")
	local money = Stats.Money
	local stage = Stats.Stage
		
	local done =
		{ 
			SDone.S1
		}
	
	local MoneyData
	local StageData
	local DoneData
	local succes, errormessage = pcall(function()
		 
			MoneyData = myDataStore:GetAsync(player.UserId.."-Money")
		    StageData  =  myDataStore:GetAsync(player.UserId.."-Stage")
		    DoneData =  myDataStore:GetAsync(player.UserId.."-Done")
		
	end)
	if succes then
		money.Value = MoneyData
		stage.Value = StageData
		done.Value = DoneData
	else
		print("Error")
	end
end)

game.Players.PlayerRemoving:Connect(function(player)
	local Stats = player:FindFirstChild("Stats")
	local SDone = player:FindFirstChild("SDone")
	local money = Stats.Money
	local stage = Stats.Stage
	
	local done =
		{ 
			SDone.S1
		}
	local succes, errormessage = pcall(function()
	myDataStore:SetAsync(player.UserId.."-Money",money.Value)
	myDataStore:SetAsync(player.UserId.."-Stage",stage.Value)
		myDataStore:SetAsync(player.UserId.."-Done",done.Value)
	end)
	if succes then
		print("Succes")
	else
		print("Error")
	end
end)