Skip to main content
The Targeting system (also called “Third Eye” or “Interaction Menu”) allows players to interact with entities in the world. Point at a vehicle, NPC, or object to see available actions based on job permissions, items held, and distance.

Overview

The targeting system uses raycasting to detect entities and displays context-sensitive interaction menus.

Entity Detection

Ray-based entity detection

Context Menus

Dynamic action menus

Permission System

Job & item-based access

Visual Feedback

On-screen targeting reticle
Client-Side: Targeting is handled client-side but actions are validated server-side for security.

How It Works

Activation

  • Hold Left Alt (default) to activate targeting mode
  • Aim at entities to see available interactions
  • Visual indicator shows what you’re targeting
  • Release to deactivate

Entity Detection

The system detects:
  • Vehicles - Cars, boats, aircraft
  • Peds - NPCs and other players
  • Objects - Props, doors, items
  • Zones - Invisible interaction areas

Permission Checks

Before showing an action, the system validates:
  • Job requirements
  • On-duty status
  • Item possession
  • Distance from entity
  • Entity model/type
  • Character states
  • Reputation levels

Registering Interactions

Interactions are registered in the targeting configuration files:
  • client/targets/ped.lua - NPC/player interactions
  • client/targets/objects.lua - Object interactions
  • client/targets/zones.lua - Zone-based interactions

Basic Interaction

Parameters


Job Permissions

Basic Job Check

Multiple Job Options

Job Permission Fields


Item Requirements

Single Item

Multiple Items (All Required)

Any Item (At Least One)


Dynamic Text

Text Function

Entity Data Access


Conditional Visibility

isEnabled Function

Multiple Conditions


Distance Requirements

Maximum Distance

Notes:
  • Default max distance is unlimited if not specified
  • Distance checked automatically before showing option
  • Distance calculated from entity center point

Vehicle-Specific Interactions

Model-Specific

Vehicle Type Check


State Requirements

Character States

Common States:
  • ARRESTED - Player is under arrest
  • WANTED - Player has active warrant
  • HOSPITAL_PATIENT - In medical care
  • FLEECA_HEIST - Actively in heist

Reputation Requirements

Minimum Level


Temporary Jobs

Temp Job Check


Complete Examples

Police Vehicle Interaction

Medical Revive

Mechanic Repair


Events

Triggering Interactions

When a player selects an interaction, the specified event is triggered:

Targeting:Client:OpenMenu Event

Triggered when targeting menu opens. Parameters: Example:

Targeting:Client:UpdateState Event

Triggered when targeting state changes. Parameters: Example:

Best Practices

Performance

Security


Next Steps

HUD Exports

Main HUD control

Status System

Hunger, thirst, stress

Jobs System

Job permissions

Inventory

Item checks
Dynamic Menus: Use isEnabled and textFunc to create context-aware interactions. The menu adapts based on entity state, player inventory, and permissions.
Server Validation: Always validate permissions and actions server-side. Client checks are for UX only - they can be bypassed.