Chapter 3.2: Finding Entities (Advanced)
Beyond finding by name or class, you can also find entities based on their location.
Entities.FindByClassnameWithin(start_ent, classname, origin, radius): Finds all entities of a type within a certain radius of a point.Entities.FindInSphere(start_ent, origin, radius): Finds any entity within a radius.
Example: Activating nearby turrets.
// This script is on an entity that will be our activation point
local activationPoint = self.GetOrigin()
local activationRadius = 512.0
local turret = null
while(turret = Entities.FindByClassnameWithin(turret, "npc_portal_turret_floor", activationPoint, activationRadius)) {
EntFireByHandle(turret, "Enable", "", 0, null, null)
}