This only loads some of the cash that the player had
local DataStoreService = game:GetService("DataStoreService")
local Money = DataStoreService:GetDataStore("Money") --
game.Players.PlayerAdded:connect(function(plr)
local key = "user_"..plr.userId
local stats = Instance.new("IntValue",plr)
stats.Name = "leaderstats"
local level = Instance.new("StringValue",stats)
level.Name = "Mode"
level.Value = "Choosing"
local money = Instance.new("IntValue",stats)
money.Name = "Cash"
money.Value = Money:GetAsync(key) or 0
money.Changed:connect(function() Money:SetAsync(key, money.Value) end)
end)

3 comments
This makes the value 0 every time someone joins.
k lemme test it
oh, i know why. give me a sec.