# Targets

## targets.lua

{% hint style="warning" %}
This module provides utility functions for adding and removing interaction targets with entities, models, zones, and coordinates.&#x20;

Supports common targeting frameworks like `ox_target`, `qb-target`
{% endhint %}

###

### **createEntityTarget(entity, opts, dist)**

Adds interaction targets to a specific in-world entity.

**Example:**

```lua
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:**

```lua
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:**

```lua
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:**

```lua
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:**

```lua
removeEntityTarget(vehicle)
```

***

### **removeZoneTarget(target)**

Removes a named zone-based target.

**Example:**

```lua
removeZoneTarget("shop_box")
```

***

### **removeModelTarget(model)**

Removes interactions tied to a model globally.

**Example:**

```lua
removeModelTarget("prop_vend_soda")
```

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jixelpatterns.gitbook.io/docs/dependency/jim_bridge/targets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
