[STANDALONE] Ankle Monitor System

A script by Eviate

No reviews yet.
[STANDALONE] Ankle Monitor System main image

Price

Unknown

Full Description

Ankle Monitor System

Keep offenders under watch and elevate your law enforcement roleplay with this advanced ankle monitor system. It allows officers to fit offenders with tracking devices and monitor their movements in real time, adding immersive detail to criminal and police interactions. Whether you’re enforcing parole conditions or managing restricted areas, this script brings depth and authenticity to every encounter on your server.

:shopping_cart: Get it here: gamzkystore.com

:question: Support: Discord

:movie_camera: Detailed preview: Youtube

Features

  • The ankle monitor prop is included with the files.
  • Can be run f͟u͟l͟l͟y͟ s͟t͟a͟n͟d͟a͟l͟o͟n͟e͟ through commands, but also supports job/item requirements as well as target-based interactions.
  • The positions of the tracked players update at an interval, to focus on performance optimalization (interval can be configured).
  • The option to lockpick the ankle monitor of another player, promoting teamwork among criminals (can also be fully disabled).
  • Fully synchronized between players.
  • The option to save the ankle monitor to the database. Players who disconnect whilst wearing an ankle monitor will keep it when reconnecting.
  • Animations are present to enhance immersion.
  • Highly configurable, see the code-snippet below for more details.

How it works

  • Use either a target-system or a command to apply the ankle monitor to a player.
  • Observe their live location on the map and enforce law accordingly.
  • Either let the ankle monitor be removed by law enforcement, or let someone lockpick the ankle monitor for you.

Resmon: Idle: 0.00ms - When wearing tracker: ~0.00ms

Update 1.1.0

  • Added a command to toggle all ankle monitor blips on/off.
  • Added a command to ‘whitelist’ specific players from this toggle, such that they are always displayed.
  • These commands can be configured at the bottom of the config.lua file, a short showcase video can be viewed on streamable.
Config
Config = {}

-- This command toggles the ankle monitor on a specified player (usage: /CommandName <player-id> ). Set "Config.CommandName = nil" to disasble the command.
Config.CommandName = 'toggle_monitor'

-- The maximum distance at which an ankle monitor can be applied to someone (so if someone walks away, you cannot apply the ankle monitor)
Config.MaxInteractDistance = 5

-- The required jobs which can apply the ankle monitor. Set "Config.RequiredJobs = {'police', 'ambulance'}" to allow police and ambulance to use the ankle monitor.
Config.RequiredJobs = nil

-- The required item needed to apply the ankle monitor. This can for instance be 'ankle_monitor' if you added the item to your inventory.
Config.RequiredItem = nil

-- The prop model of the ankle monitor
Config.PropModelName = 'ankle_monitor'

-- The bone to which the ankle monitor attaches, 63931 = SKEL_L_Ankle (left ankle)
Config.AttachBone = 63931

-- The position/rotation offset with respect to the Config.AttachBone where the prop will be attached
Config.AttachOffset = { x = 0.35, y = 0.01, z = -0.01, rx = 8.00, ry = -95.50, rz = 10.50 }

-- The frequency at which the blips are updated, decreasing this value will be more demanding w.r.t. performance.
Config.BlipUpdateInterval = 5000

-- Configuration of the blip
Config.Blip = {
    Label = 'Ankle Monitor',
    Sprite = 480,
    Scale = 0.85,
    Colour = 1,
}

-- Configuration for target systems (ox-target and qb-target supported by default)
Config.Target = {
    Enabled = true,                       -- Set to false to disable target options (you can only use Config.CommandName in this case)
    AddLabel = 'Add ankle monitor',       -- The target label to add the monitor
    RemoveLabel = 'Remove ankle monitor', -- The target label to remove the monitor
    Distance = 1.5,                       -- The maximum interaction distanc
}

-- Configuration for the lockpicking
Config.Lockpick = {
    Enabled = true,                   -- Set false to disable lockpicking (lockpicking can only be done through targeting)
    Label = 'Lockpick ankle monitor', -- The target label
    RequiredItem = 'lockpick',        -- The required item, set to RequiredItem = nil, to disable item requirement
    RemoveItemOnSucces = false,       -- Remove the item when lockpick was successful
    RemoveItemOnFail = true,          -- Remove the item when lockpick failed

    -- Minigame configuration
    AmountOfMinigames = 3,        -- The amount of successful minigames required to lockpick the wheel clamp (only for servers with ox_lib installed)
    MinigameAreaSize = 35,        -- The area size of the lockpick minigame, smaller value is more difficult (only for servers with ox_lib installed)
    MinigameSpeedMultiplier = 1.3 -- The speed multiplier for the lockpick minigame, larger value is more difficult (only for servers with ox_lib installed)
}

-- Configure any animation below
Config.Animation = {
    ['add_monitor'] = {
        Dict = 'anim@amb@clubhouse@tutorial@bkr_tut_ig3@',
        Anim = 'machinic_loop_mechandplayer',
        Flag = 1,
        Duration = 1200,
    },
    ['remove_monitor'] = {
        Dict = 'anim@amb@clubhouse@tutorial@bkr_tut_ig3@',
        Anim = 'machinic_loop_mechandplayer',
        Flag = 1,
        Duration = 1200,
    },
    ['lockpicking'] = {
        Dict = 'anim@amb@clubhouse@tutorial@bkr_tut_ig3@',
        Anim = 'machinic_loop_mechandplayer',
        Flag = 1,
        Duration = 3000, -- When using the lockpicking minigame, the duration is not applicable.
    },
}

-- Configuration of the notification text
Config.Locales = {
    ['player_not_online'] = 'This player is not online',
    ['missing_required_job'] = 'You do not have the required job',
    ['missing_required_item'] = 'You do not have the required item',
    ['target_to_far_away'] = 'The target is to far away',
    ['lockpick_prepare'] = 'Preparing lockpick',
    ['missing_player_name'] = 'Provide the name of the player',
}

-- Extra features from update 1.1.0 --

-- With the command below you can toggle the blips on/off for all the ankle monitors. Set to nil to disable the command.
Config.ToggleAllBlipsCommand = nil -- 'toggle_monitor_blips'

-- With the command below you can toggle the blips on/off for a specific player. Set to nil to disable the command.
-- You should pass the name of the player as an argument, so if the player is named 'John Doe', you can toggle the blip through </toggle_monitor_blips_player John Doe>
Config.TogglePlayerBlipsCommand = nil -- 'toggle_monitor_blips_player'

Code is accessible Partially, fully unencrypted version also available
Subscription-based No
Lines (approximately) ~900
Requirements None, can be run as standalone
Support Yes