Как сделать спавн профессиям

Как сделать, что бы при выборе профессии игрок появлялся в задонном месте.

/addspawn “название профессии”

А чтобы сразу, а не после смерти или при заходе?

пробуй

if SERVER then
    util.AddNetworkString("SetSpawnJob")
    local jobSpawns = {}

    local function setJobSpawn(ply, jobName, pos)
        if not ply:IsAdmin() then return end  -- Проверка на администратора
        jobSpawns[jobName] = pos
        ply:ChatPrint("Точка появления для профессии " .. jobName .. " установлена.")
    end

    concommand.Add("set_spawn_job", function(ply, cmd, args)
        if not args[1] then return end
        local jobName = args[1]
        local pos = ply:GetEyeTrace().HitPos
        setJobSpawn(ply, jobName, pos)
    end)

    hook.Add("PlayerSay", function(ply, text)
        local cmd = string.Explode(" ", text)
        if cmd[1] == "!set_spawn_job" and cmd[2] then
            local jobName = cmd[2]
            local pos = ply:GetEyeTrace().HitPos
            setJobSpawn(ply, jobName, pos)
            return ""
        end
    end)

    local function changeJobAndTeleport(ply, jobName)
        local jobIndex = nil
        for k, v in pairs(RPExtraTeams) do
            if v.name == jobName then
                jobIndex = k
                break
            end
        end

        if jobIndex and ply:changeTeam(jobIndex, true) then
            if jobSpawns[jobName] then
                ply:SetPos(jobSpawns[jobName])
                ply:ChatPrint("Вы теперь " .. jobName .. " и были перемещены.")
            else
                ply:ChatPrint("Точка появления для этой профессии не установлена.")
            end
        else
            ply:ChatPrint("Не удалось сменить профессию.")
        end
    end

    concommand.Add("change_job", function(ply, cmd, args)
        if not args[1] then return end
        local jobName = args[1]
        changeJobAndTeleport(ply, jobName)
    end)

    hook.Add("PlayerSay", function(ply, text)
        local cmd = string.Explode(" ", text)
        if cmd[1] == "!change_job" and cmd[2] then
            local jobName = cmd[2]
            changeJobAndTeleport(ply, jobName)
            return ""
        end
    end)
end

Куда кидать скрипт? А то я забыл

Разве этот код не бессмысленный? Он не запоминает спавны после рестарта сервера