Добрый вечер, юзеры форума! Создаю по немногу свой BaseWars сервер и просто решил поделиться прикольной темой для вашего BaseWars.
hook.Add("PlayerDeath", "ProKiller", function(victim, _, attacker)
if (IsValid(victim) and IsValid(attacker) and attacker:IsPlayer()) then
if (victim == attacker) then
return;
end
local lastHit = victim:LastHitGroup(); -- убили ли мы ботиху в голову?
local hModifier = 2; -- модификатор за убийство в голову
local experience = 150; -- сколько дадим XP за убийство ботихи
if (lastHit == HITGROUP_HEAD) then
experience = experience * hModifier; -- ну тут понятно
end
attacker:AddXP(attacker:GetLevel() * 100);
if victim:GetMoney() / 100 >= 500000 then -- если у ботиха дикий фармила, то не будем забирать у него оч много денег
if (lastHit == HITGROUP_HEAD) then
prokiller = 500000 * hModifier -- тоже вроде все понятно
end
else
if (lastHit == HITGROUP_HEAD) then
prokiller = victim:GetMoney() / 100 * hModifier -- тоже понятно
end
prokiller = victim:GetMoney() / 100
end
attacker:GiveMoney(prokiller)
if victim:GetLevel() <= 30 then return end -- до 30 не дропается noice
victim:GiveMoney(-prokiller / 100)
attacker:SendLua("GAMEMODE:AddNotify(\"Вы получили " .. experience .. "XP за убийство игрока!\", NOTIFY_GENERIC, 3)")
end
end);
Я такой себе кодер, поэтому по факту какая-то ху…а, но зато работает