• SWep: apc_missile problem.
    2 replies, posted
Hi, I scripted it: [code] if !IsValid(self.rocket) then return end for k, v in pairs(ents.FindInSphere(self.rocket:GetPos(), 10)) do if (v:GetClass() == "npc_gunship" || "npc_strider" || "npc_helicopter") then self.rocket:SetHealth(0); self.rocket:EmitSound("") end end [/code] but when the rocket hitting these npcs it's not falling down! help!
Im not really experienced with lua but you can use [url]http://wiki.garrysmod.com/page/ENTITY/PhysicsCollide[/url] this to detect if its colliding with anything then just use the FindInSphere to find players/ents/npcs and damaging them i hope thats what your asking becuase i dont really get the "rocket hitting these npc's its not falling down"I hope this helped :)
That's not how you use 'or' (||), it is only actually checking against "npc_gunship" [lua]if (v:GetClass() == "npc_gunship" || "npc_strider" || "npc_helicopter") then[/lua] would need to be [lua]if (v:GetClass() == "npc_gunship" || v:GetClass() == "npc_strider" || v:GetClass() == "npc_helicopter") then[/lua] For readability my personal preference is: [lua] local class = v:GetClass() if (class=="npc_gunship") or (class=="npc_strider") or (class=="npc_helicopter") then[/lua] although if you are going to ever add more classes it might be better to store them as keys in a table and check for their existence.
Sorry, you need to Log In to post a reply to this thread.