Есть часть кода:
hook.Add("EntityTakeDamage", "SuitDamageReduction", function(target, dmginfo)
if not IsValid(target) or not target:IsPlayer() then return end
local hasSuit = target:GetPData("hasSuit", "0") == "1"
if not hasSuit then return end
local dmgType = dmginfo:GetDamageType()
local damage = dmginfo:GetDamage()
-- Коэффициенты уменьшения урона для разных типов
local bulletReduction = 0.01 -- Пули
local fireReduction = 0.01 -- Огонь
local shockReduction = 0.01 -- Электричество
local blastReduction = 0.01 -- Взрыв
if bit.band(dmgType, DMG_BULLET) ~= 0 then
dmginfo:SetDamage(damage * bulletReduction)
elseif bit.band(dmgType, DMG_FIRE) ~= 0 then
dmginfo:SetDamage(damage * fireReduction)
elseif bit.band(dmgType, DMG_SHOCK) ~= 0 then
dmginfo:SetDamage(damage * shockReduction)
elseif bit.band(dmgType, DMG_BLAST) ~= 0 then
dmginfo:SetDamage(damage * blastReduction)
end
end)
Так вот при уроне огнем не снижается нанесенный урон, а в консоле ошибка -
addons/bronka/lua/entities/seva.lua:84: bad argument #2 to 'band' (number expected, got nil)
1. band - [C]:-1
2. v - addons/bronka/lua/entities/seva.lua:84
3. unknown - lua/includes/modules/hook.lua:102
Помогите решить вопросик)