So, I have this script that changed the text to what your lvl is, and it says leader stats is not a valid member of player. my text changing script:

while true do
	script.Parent.Text = "Lvl: "..script.Parent.Parent.Parent.Parent.Parent.leaderstats.Lvl.Value
	wait(0.1)
end

My leaderstats script:

lvlkey = "lv"
rankkey = "rnk"

game.Players.PlayerAdded:connect(function(player)
local l = Instance.new("IntValue")
l.Name = "leaderstats"

local lv = Instance.new("IntValue", l)
lv.Name = "Lvl"
lv.Value = 1

local rnk = Instance.new("StringValue", l)
rnk.Name = "Rank"
rnk.Value = "New"

player:WaitForDataReady()
lv.Value = player:LoadNumber(lvlkey)
rnk.Value = player:LoadString(rankkey)
end)
game.Players.PlayerRemoving:connect(function(player)
	player:SaveNumber(lvlkey, player.leaderstats.Lvl.Value)
	player:SaveString(rankkey, player.leaderstats.Rank.Value)
end)