Targets
targets.lua
This module provides utility functions for adding and removing interaction targets with entities, models, zones, and coordinates.
Supports common targeting frameworks like ox_target
, qb-target
createEntityTarget(entity, opts, dist)
Adds interaction targets to a specific in-world entity.
Example:
createEntityTarget(entityId, {
{
action = function()
openStorage()
end,
icon = "fas fa-box",
job = "police",
label = "Open Storage",
},
}, 2.0)
createBoxTarget(data, opts, dist)
Creates an interactable box zone with configurable options.
Example:
createBoxTarget(
{
'storageBox',
vector3(100.0, 200.0, 30.0),
2.0,
2.0,
{
name = 'storageBox',
heading = 100.0,
debugPoly = true,
minZ = 27.0,
maxZ = 32.0,
},
},
{
{
action = function()
openStorage()
end,
icon = "fas fa-box",
job = "police",
label = "Open Storage",
},
}, 2.0)
createCircleTarget(data, opts, dist)
Creates an interactable circular zone.
Example:
createCircleTarget({
name = 'centralPark',
coords = vector3(200.0, 300.0, 40.0),
radius = 50.0,
options = { debugPoly = false }
}, {
{ icon = "fas fa-tree", label = "Relax", action = relaxAction }
}, 2.0)
createModelTarget(models, opts, dist)
Adds interactions to all matching models globally.
Example:
createModelTarget({ model1, model2 },
{
{
action = function()
openStorage()
end,
icon = "fas fa-box",
job = "police",
label = "Open Storage",
},
}, 2.0)
removeEntityTarget(entity)
Removes all targets linked to the specified entity.
Example:
removeEntityTarget(vehicle)
removeZoneTarget(target)
Removes a named zone-based target.
Example:
removeZoneTarget("shop_box")
removeModelTarget(model)
Removes interactions tied to a model globally.
Example:
removeModelTarget("prop_vend_soda")
Last updated