Entity
The entity library allows you to interface with entities in the game. This includes the player, cameras, triggers, orbs, turrets, and more. You can use this library to get information about entities, like their position, or to modify them, like changing their position.
Example
local entity = entity.from_id(37)
console.msg("Entity 37 is at position %s\n", entity:get_pos())
entity:set_pos(vec3(0, 0, 0))
local closest = entity.closest("prop_energy_ball")
if closest ~= nil then
console.msg("The closest energy ball to the player is at position %s\n", closest:get_pos())
end
Documentation
entity.from_id(id)
Creates an entity instance from an entity index.
Parameters
id
(number): Entity index.
Returns
entity
(Entity instance): The created entity instance.
Example
local ent = entity.from_id(123)
entity.from_hammer_id(hammer_id)
Creates an entity instance from an entity hammer ID.
Parameters
hammer_id
(number): Entity hammer ID.
Returns
entity
(Entity instance): The created entity instance.
Example
local ent = entity.from_hammer_id(456)
entity.list(filter)
Returns a list of all entities.
Parameters
filter
(function|nil|string): Filter function, a string class name, ornil
to not filter.
Overloads
entity.list()
- Returns all entities.
entity.list(filter)
filter
(function): Filter function that takes an entity instance as a parameter and returns a boolean.
Returns
entity[]
(List of entities): List of all entities that match the filter.
Example
local allEntities = entity.list()
local function filterFunc(entity)
return entity:get_class_name() == "prop_physics"
end
local physicsEntities = entity.list(filterFunc)
entity.closest(filter)
Returns the closest entity based on a filter.
Parameters
filter
(function|string|nil): Filter function, a string class name, ornil
to not filter.
Overloads
entity.closest()
- Returns the closest entity without any filtering.
entity.closest(filter)
filter
(function): Filter function that takes an entity instance as a parameter and returns a boolean.filter
(string): Class name of the entity to filter.
Returns
entity?
(Entity instance): The closest entity that matches the filter, ornil
if none is found.
Example
local closestEntity = entity.closest()
local function filterFunc(entity)
return entity:get_class_name() == "npc_zombie"
end
local closestZombie = entity.closest(filterFunc)
local closestProp = entity.closest("prop_physics")
entity:get_id()
Returns the entity ID.
Returns
number
(Entity ID): The entity ID.
Example
local id = ent:get_id()
entity:get_hammer_id()
Returns the entity hammer ID.
Returns
number
(Entity hammer ID): The entity hammer ID.
Example
local hammerID = ent:get_hammer_id()
entity:get_name()
Returns the entity name.
Returns
string?
(Entity name): The entity name, ornil
if the entity does not have a name.
Example
local name = ent:get_name()
entity:get_model_name()
Returns the entity model name.
Returns
string?
(Entity model name): The entity model name, ornil
if the entity does not have a model name.
Example
local modelName = ent:get_model_name()
entity:get_class_name()
Returns the entity class name.
Returns
string
(Entity class name): The entity class name.
Example
local className = ent:get_class_name()
entity:get_internal_class_name()
Returns the entity internal class name
.
Returns
string
(Entity internal class name): The entity internal class name, or what the C++ code would know it as.
Example
local internalClassName = ent:get_internal_class_name()
entity:get_pos()
Returns the entity position.
Returns
vec3
(Entity position): The entity position.
Example
local pos = ent:get_pos()
entity:set_pos(pos)
Sets the entity position.
Parameters
pos
(vec3): The entity position to set.
Example
ent:set_pos(vec3(10, 20, 30))
entity:get_rot()
Returns the entity rotation.
Returns
vec3
(Entity rotation): The entity rotation.
Example
local rot = ent:get_rot()
entity:set_rot(rot)
Sets the entity rotation.
Parameters
rot
(vec3): The entity rotation to set.
Example
ent:set_rot(vec3(0, 90, 0))
entity:get_vel()
Returns the entity velocity.
Returns
vec3
(Entity velocity): The entity velocity.
Example
local vel = ent:get_vel()
entity:set_vel(vel)
Sets the entity velocity.
Parameters
vel
(vec3): The entity velocity to set.
Example
ent:set_vel(vec3(0, 0, 10))