For something like that surely simply using entitydistance would be sufficient, and not checking for an actual collision with the gun.
For g.gun = each gun IF EntityDistance(player,g\entityhandle) <= SomeSmallDistanceSpecifiedInYourCode then ;Perform whatevery step you wish for when close to the gun. endif next