Kartik Scripts

Ankle Monitor

A GPS ankle monitor an officer attaches to a person (not a vehicle). Once attached, the wearer appears as a live blip on every on-duty LEO map until an officer removes it, the in-game equivalent of a court-ordered ankle bracelet.


How It Works

  • Attach: Aim the target eye at a nearby person and choose Attach Ankle Monitor. A short kneeling animation plays, one ankle_tracker item is consumed, and the person becomes a tracked blip.
  • Live Tracking: The wearer's position is broadcast to all on-duty LEOs every couple of seconds. Blips are labelled with the suspect's name.
  • Remove (officer): Target the wearer and choose Remove Ankle Monitor.
  • Remove (suspect): If enabled, the wearer can run /removeankle to attempt to pry it off via a timed animation and skill-check. Success alerts all officers.

Requirements

  • The attaching officer needs the Ankle Monitor permission (ankletracker) and must be on duty.
  • By default the officer must carry the ankle_tracker inventory item (one is consumed per attach). Add this item to your inventory resource's item list.

Configuration

All options live in shared/config_ankle.lua:

KeyDefaultPurpose
item / requireItem'ankle_tracker' / falseItem consumed on attach
requireCuffedfalseRequire the target to be restrained first
perm'ankletracker'Permission key gating attach/remove
durationMs0Auto-expiry; 0 = stays until removed
updateInterval2000ms between live position broadcasts
blipSprite / blipColor280 / 40Map blip appearance
allowSuspectRemovaltrueLets the wearer attempt /removeankle
suspectSkillCheck{'easy', 'easy', 'medium'}ox_lib skill-check steps to remove

Tamper Alert (Last Known Location)

When a wearer cuts their monitor off, a dispatch call goes out with the spot where it happened:

  • With kartik-mdt running: a normal MDT dispatch call (10-99 - Ankle Monitor Tampered) with sound and a map blip at the last known location.
  • Without kartik-mdt: every on-duty officer gets a flashing blip at the last known location, a GPS route to it, an alert sound and a notification. The blip disappears after blipTime seconds.

An officer removing the monitor does not send an alert.

Options, under tamperAlert in shared/config_ankle.lua:

KeyDefaultPurpose
enabledtrueTurn the tamper alert on or off
code'10-99'Call code shown on the alert
title'Ankle Monitor Tampered'Alert title
jobsnilJobs that receive the MDT call, e.g. { 'police', 'sheriff' }. nil = the jobs of the officers on duty
blipTime180Seconds the last known location blip stays (built-in alert)
blip{ sprite = 280, color = 1, scale = 1.0 }Blip look
routetrueSet a GPS route to the blip (built-in alert)
soundtruePlay an alert sound

Using another dispatch script

Open bridge/dispatch/server/ankle_tamper.lua and send the alert to your dispatch inside AnkleTamperDispatch(alert). Return true when your dispatch handled it, false to fall back to the built-in blip alert. See Events for the alert fields.

function AnkleTamperDispatch(alert)
    -- your dispatch here, using alert.code, alert.title, alert.description, alert.coords, alert.jobs
    return true
end

Other scripts can also listen for the server event kartik-policejob:ankleTampered.

On this page