Hello there, can someone please help me unite these two script? I tried everything but nothing works for me. The scripts are:

function oa(object)
local player = game.Players:playerFromCharacter(object)
if player ~= nil then
local ls = player.leaderstats
local sl = game.Workspace.Stages:FindFirstChild(ls.Stage.Value)
object.HumanoidRootPart.CFrame = object.HumanoidRootPart.CFrame + Vector3.new(0,3,0)
wait()
object.HumanoidRootPart.CFrame = sl.CFrame + Vector3.new(0,3,0)
end end

function oe(object)
if object.className == "Player" then
local ack = Instance.new("IntValue")
ack.Name = "leaderstats"
local ack2 = Instance.new("IntValue")
ack2.Name = "Stage"
ack2.Value = 1
ack2.Parent = ack
ack.Parent = object
end end

game.Players.ChildAdded:connect(oe)
game.Workspace.ChildAdded:connect(oa)

and

game.Players.PlayerAdded:Connect(function(player)

    -- Detect for leaderstats

    local leaderstats

    if player:FindFirstChild("leaderstats") then
        leaderstats = player.leaderstats
    else
        leaderstats = Instance.new("Folder")
        leaderstats.Name = "leaderstats"
        leaderstats.Parent = player
    end

    -- create deaths value

    local deaths = Instance.new("IntValue")
	deaths.Name = "Deaths"
	deaths.Value = 0
    deaths.Parent = leaderstats

    -- detect character added.

    player.CharacterAdded:Connect(function(char)
    -- detect humanoid died.
        char.Humanoid.Died:Connect(function()
            deaths.Value = deaths.Value + 1 -- add 1 value to values
        end)
    end)
end)