Physgun Wiki

PLAYER:DemoteOnDeath

 PLAYER:DemoteOnDeath()

Сбрасывает профессию игрока на дефолтную (Config.Defaults.Job), если у текущей есть флаг JOB_FLAG_DEMOTE_ON_DEATH. Без флага не делает ничего; если игрок и так на дефолтной работе — тоже.

Вызывается из roleplay.Death.Handle последним шагом, уже после списания денег.

Класс ставится напрямую через player_manager.SetPlayerClass, поэтому команда переключается сама (через DEF_PLY:Init), а модель новой профессии применяется при возрождении. Уведомляющий хук PlayerBecameJob вызывается, разрешающий OnPlayerBecomeJob — нет: это принудительное увольнение, а не заявка.

Здесь намеренно не используется PLAYER:SetJob: он внутри вызывает Spawn() и возродил бы игрока мгновенно, мимо отсчёта возрождения.

Пример

JOB.Flags = { JOB_FLAG_NEED_VOTE, JOB_FLAG_DEMOTE_ON_DEATH }