Ошибка: attempt to call method ‘IsDoor’ (a nil value)

if SERVER then
AddCSLuaFile()
end

SWEP.PrintName = “Дверной разрушитель”
SWEP.Author = “VERTGON”
SWEP.Category = “scpgun”
SWEP.Spawnable = true
SWEP.AdminOnly = false
SWEP.ViewModel = “models/weapons/v_pistol.mdl”
SWEP.WorldModel = “models/weapons/w_pistol.mdl”

SWEP.Primary.ClipSize = -1
SWEP.Primary.DefaultClip = -1
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = “none”

SWEP.Secondary.ClipSize = -1
SWEP.Secondary.DefaultClip = -1
SWEP.Secondary.Automatic = false
SWEP.Secondary.Ammo = “none”

function SWEP:PrimaryAttack()
if not IsFirstTimePredicted() then return end
local ply = self:GetOwner()
local tr = ply:GetEyeTrace()
local ent = tr.Entity

if IsValid(ent) then
    if ent:IsDoor() then
        ent:Fire("unlock", "", 0)
        ent:Fire("open", "", 0.1)
        ent:Fire("setanimation", "open", 0.1)
        ent:Fire("break", "", 0.2)
    else
        print("Объект не является дверью")
    end
else
    print("Недопустимый объект")
end

self:SetNextPrimaryFire(CurTime() + 1)

end

function SWEP:SecondaryAttack()
– Дополнительная функция для вторичной атаки, если нужна
end

function SWEP:Reload()
– Функция для перезарядки, если нужна
end

function SWEP:Think()
– Функция для обновления состояния оружия, если нужна
end

function SWEP:Deploy()
– Функция для развертывания оружия, если нужна
end

function SWEP:Holster()
– Функция для убирания оружия, если нужна
return true
end

function SWEP:OnRemove()
– Функция, вызываемая при удалении оружия, если нужна
end

addons/scpbreak/lua/weapons/weapon_scpbreak.lua:30: attempt to call method ‘IsDoor’ (a nil value)

unknown - addons/scpbreak/lua/weapons/weapon_scpbreak.lua:30 (x25)
Quick Search

local doorClasses = {
    ['func_door'] = true,
    ['func_door_rotating'] = true,
    ['prop_door_rotating'] = true,
}

function ENTITY:IsDoor()
    return (doorClasses[self:GetClass()] == true)
end
1 лайк