Как сделать чтобы при убийстве игрока Наемником у него слетала профа

Как сделать чтобы при убийстве игрока Наемником у него слетала профа. Помогите пожалуйста!!!

Замени профессии: TEAM_MERC и TEAM_CITIZEN на свои, должно помочь. Это SV часть!

hook.Add( "PlayerDeath", "GlobalDeathMessage", function( victim, inflictor, attacker )
   if IsValid(victim) and IsValid(attacker) and attacker:IsPlayer() and attacker:Team() == TEAM_MECR then
      victim:changeTeam(TEAM_CITIZEN, true, false)
   end
end)

Лучше использовать этот вариант

это куда засовывать?

Смотри если брать мой пример то тебе нужно создать sv-lua файл. Примерно такой: sv_example.lua и поместить в папку по такому пути lua/autorun/server.
Если брать пример который предоставил @tehya, он на самом деле даже проще будет. Все что тебе нужно сделать, так это прописать этот код в профессию которая будет сбрасываться при смерти от наемника, пример:

PlayerDeath = function(ply, weapon, killer)
   ply:changeTeam(GAMEMODE.DefaultTeam, true) -- Сбрасывает на профессию по умолчанию
   if (killer:IsPlayer() and killer:Team() == TEAM_MECR) then -- Вместо TEAM_MECR впиши свою профессию
      DarkRP.notifyAll(0, 4, "Был убит и потерял профессию") -- Оповещает всех игроков!
   end
end
-- Пример с профессией!
TEAM_MAYOR = DarkRP.createJob("Mayor", {
   color = Color(150, 20, 20, 255),
   model = "models/player/breen.mdl",
   description = [[The Mayor of the city creates laws to serve the greater good
   of the people.
   If you are the mayor you may create and accept warrants.
   Type /wanted <name>  to warrant a player
   Type /jailpos to set the Jail Position
   Type /lockdown initiate a lockdown of the city.
   Everyone must be inside during a lockdown.
   The cops patrol the area
   /unlockdown to end a lockdown]],
   weapons = {},
   command = "mayor",
   max = 1,
   salary = GAMEMODE.Config.normalsalary * 1.89,
   admin = 0,
   vote = true,
   hasLicense = false,
   mayor = true,
   category = "Civil Protection",
   PlayerDeath = function(ply, weapon, killer)
      ply:changeTeam(GAMEMODE.DefaultTeam, true) -- Сбрасывает на профессию по умолчанию
      if (killer:IsPlayer() and killer:Team() == TEAM_MECR) then -- Вместо TEAM_MECR впиши свою профессию
         DarkRP.notifyAll(0, 4, "Был убит и потерял профессию") -- Оповещает всех игроков!
      end
   end
})
1 лайк

Слушай вот еще вопрос, а как сделать так чтобы comple employer выдавал профессию через F4, а нпс вообще убрать

Не легкий вопрос. Если система изначально задумывалась как выдача профессий через систему NPC, то в таком случае только если попробовать вызвать Панель-меню данной системы в F4 вместо текущего F4. То есть: 1)Нужно отключить текущее F4, 2)Взять Панель-меню из данной системы и привязать на функцию вызова при нажатии клавиши F4. Если тебе сложно это сделать, то чтобы можно было тебе помочь с этим, нужно предоставить либо код, либо файл системы

Я вроде перевел на F4 , но не работает метод закрытия(

if job.team ~= LocalPlayer():Team() then
//LocalPlayer():ConCommand( "Comlex.ChangeJob "… job.team )
RunConsoleCommand(“Comlex.ChangeJob”, job.team)
local parent = self:GetParent():GetParent()
if IsValid(parent) then parent:Close() end
RunConsoleCommand(“f4menu_close”)
//RunConsoleCommand(“say”, “/”…tostring(job.command))
end

Чтобы это работало правильно тебе нужно получить vgui системы и потом сделать что-то типа этого:

if (!IsValid(panel)) then
   panel = vgui.Create("Название VGUI этой системы")
else
   panel:Remove()
end