Teleport from Lobby to game

I recently created two games in which you can choose a character in one game (in the lobby) and use him in the other game (the main game). the only problem is when players select a morph and they are teleported to the other game, they don’t keep the morph character.if anyone knows what’s wrong with this script please write me the correct script asap, thanks for yours Attention.

here is the script:

local morphPart = game.Workspace.PartName – Das Teil, das berührt werden soll
local destinationPlaceId = 123456789 – Die ID des Ziel-Spiels
local catalogIds = {123456, 789012} – Die IDs der Kataloggegenstände, die dem Spieler angelegt werden sollen

morphPart.Touched:Connect(function(hit)
local character = hit.Parent
local humanoid = character:FindFirstChildOfClass(“Humanoid”)

if humanoid and character == game.Players.LocalPlayer.Character then
    -- Teleportieren in das Ziel-Spiel
    game:GetService("TeleportService"):Teleport(destinationPlaceId)

    -- Warten bis der Spieler im Ziel-Spiel geladen ist
    game.Players.PlayerAdded:Wait()

    -- Wiederherstellen der Kleidung im Ziel-Spiel
    local player = game.Players.LocalPlayer
    player.CharacterAdded:Connect(function(char)
        for _, id in ipairs(catalogIds) do
            local asset = game:GetService("InsertService"):LoadAsset(id)
            local accessories = asset:GetChildren()
            for _, accessory in ipairs(accessories) do
                accessory.Parent = char
            end
            asset:Destroy()
        end
    end)

    -- Warten bis der Spieler sich wieder eingeloggt hat
    player.CharacterAdded:Wait()
end

end)