[DarkRP] Выдача профессии по кнопке

Есть панелька, есть кнопка, нужно сделать так, чтобы игрок, который нажал на эту кнопку получал определённую профессию (Не через консольную команду с аргументами say / job.command!)
Грубо говоря, чтобы сервер выдавал игроку профессию

1 лайк
-- Создаем клиентскую панель с кнопкой
hook.Add("OnPlayerChat", "OpenCustomJobMenu", function(ply, text)
    if ply == LocalPlayer() and text == "!jobmenu" then
        local frame = vgui.Create("DFrame")
        frame:SetSize(300, 150)
        frame:Center()
        frame:SetTitle("Выбор профессии")
        frame:MakePopup()

        local button = vgui.Create("DButton", frame)
        button:SetText("Стать полицейским")
        button:SetPos(50, 50)
        button:SetSize(200, 50)
        button.DoClick = function()
            net.Start("SetPlayerJob")
            net.SendToServer()
        end

        return true
    end
end)

concommand.Add("open_job_menu", function()
    local frame = vgui.Create("DFrame")
    frame:SetSize(300, 150)
    frame:Center()
    frame:SetTitle("Выбор профессии")
    frame:MakePopup()

    local button = vgui.Create("DButton", frame)
    button:SetText("Стать полицейским")
    button:SetPos(50, 50)
    button:SetSize(200, 50)
    button.DoClick = function()
        net.Start("SetPlayerJob")
        net.SendToServer()
    end
end)

if SERVER then
    util.AddNetworkString("SetPlayerJob")

    net.Receive("SetPlayerJob", function(len, ply)
        local jobIndex = TEAM_POLICE -- Индекс профессии, TEAM_POLICE должен быть определен в вашем скрипте профессий
        ply:setDarkRPVar("job", team.GetName(jobIndex))
        ply:changeTeam(jobIndex, true)
    end)
end