Как сделать чтобы при убийстве игрока Наемником у него слетала профа. Помогите пожалуйста!!!
Замени профессии: 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
})
Слушай вот еще вопрос, а как сделать так чтобы 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