AddCSLuaFile("cl_init.lua") AddCSLuaFile("shared.lua") include("shared.lua") if file.Exists("../lua/entities/base_wire_entity/init.lua") then include("entities/base_wire_entity/init.lua") end function ENT:KeyValue( key, value ) if ( key == "size" ) then self.Radius=tonumber(value) end if ( key == "do" ) then self.Do=tonumber(value) end if ( key == "los" ) then self.LOS=tonumber(value) end end function ENT:Initialize() self.Entity:PhysicsInit(SOLID_VPHYSICS) self.Entity:SetMoveType(MOVETYPE_VPHYSICS) self.Entity:SetSolid(SOLID_VPHYSICS) self.Entity:SetCollisionGroup(COLLISION_GROUP_DEBRIS_TRIGGER) if WireAddon then self.Inputs = Wire_CreateInputs(self.Entity, { "toggle" }) end self.Entity:SetNetworkedBool("on",false) self.sEnt=nil end function ENT:Toggle(wirefail) if self.Entity:GetNetworkedBool("on") or wirefail and wirefail==0 then self.Entity:SetNetworkedBool("on",false) if self.sEnt and self.sEnt:IsValid() then self.sEnt:Remove() end elseif self.Entity:GetNetworkedBool("on")==false or wirefail and wirefail==1 then self.Entity:SetNetworkedBool("on",true) if self.sEnt and self.sEnt:IsValid() then self.sEnt:Remove() end self.sEnt=ents.Create( "ws_stripradius" ) if !self.sEnt:IsValid() then return end self.sEnt:SetPos(self.Entity:GetPos()) self.sEnt:SetParent(self.Entity) self.sEnt:SetKeyValue("size",self.Radius) self.sEnt:SetKeyValue("do",self.Do) self.sEnt:SetKeyValue("los",self.LOS) self.sEnt:Spawn() end end function ENT:TriggerInput(input,value) if input=="toggle" then self.Entity:Toggle(value) end end function ENT:AcceptInput(name,activator,caller) if name=="toggle" then self.Entity:Toggle() end end