EntityInRange
---@type EntityInRangeApi
local EntityInRangeApi = exports.nss_libs:getEntityInRangeApi(GetCurrentResourceName())
-- For more vegetation texture names see https://github.com/OpenIV-Team/RAGE-StringsDatabase/tree/fc6bcdfdda9d79afb4571c35bc4db730b42dc0f4/RDR2/ArchiveItems/hd_0/hd/levels/rdr3/props/vegetation
local tree_texture_names = {
"p_tree_birch_03",
"p_tree_birch_03b",
"p_tree_birch_03_lg",
"p_tree_birch_03_md",
"p_tree_birch_03_md_a"
}
---@type EntityInRangeListener
local listener
---@param nearest_entity EntityInRangeData
---@param listener_id number
local on_reach_tree = function(nearest_entity, listener_id)
print('Reached tree', nearest_entity.entity, listener_id)
end
---@param nearest_entity EntityInRangeData
---@param listener_id number
local on_leave_tree = function(nearest_entity, listener_id)
print('Left tree', nearest_entity.entity, listener_id)
-- If declared lister variable is not available you can get listener by given listener_id from event like the
-- following example:
local event_listener = EntityInRangeApi.getListenerById(listener_id)
-- Example for one time only: We remove the listener after tree was left
event_listener.remove()
end
listener = EntityInRangeApi.create(tree_texture_names, on_reach_tree, on_leave_tree)Public interface methods
create(texture_names, on_reach_callback, on_leave_callback):EntityInRangeListener
create(texture_names, on_reach_callback, on_leave_callback):EntityInRangeListenergetListenerById(listener_id):EntityInRangeListener
getListenerById(listener_id):EntityInRangeListenergetEntitiesNearby(x, y, z, radius, model_name_or_hash, entity_type, filter_func):EntityInRangeData[]|nil
getEntitiesNearby(x, y, z, radius, model_name_or_hash, entity_type, filter_func):EntityInRangeData[]|nilgetNearestObjectEntity(x, y, z, texture_name, range, entity_type):EntityInRangeData|nil
getNearestObjectEntity(x, y, z, texture_name, range, entity_type):EntityInRangeData|nilENTITY_TYPE_OBJECT number, static
ENTITY_TYPE_OBJECT number, staticENTITY_TYPE_PLAYER number, static
ENTITY_TYPE_PLAYER number, staticENTITY_TYPE_VEHICLE number, static
ENTITY_TYPE_VEHICLE number, staticPublic methods of EntityInRangeListener
EntityInRangeListenerremove():EntityInRangeListener
remove():EntityInRangeListeneroff():EntityInRangeListener
off():EntityInRangeListeneron():EntityInRangeListener
on():EntityInRangeListenerDevelopment notes
Open todos
Known issues
Performance issues with classes/functions as callback arguments
Last updated
Was this helpful?