MSK Handcuffs

Description
- Cuff and uncuff players with animations and props
- Hardcuff a player (player can't move)
- Drag and undrag / escort a player
- Put a player in/out of a vehicle
- AnkleTracker — a specific job can track a player's position (live blips)
- Headbag — the player gets a blackscreen and a bag on their head
- Tape — the player gets tape on their mouth and can't talk
- Trigger actions via items, commands, exports or the target menu — new in v3, for ox_target (recommended) and qb-target
- Server-side timer for automatic uncuff
- Admin commands and an in-game admin dashboard
- Discord logs
- Status (cuffed, ankletracker, …) is persisted in MySQL and restored after relog
What's new in v3.0.0
| Area | v2.x | v3.0.0 |
|---|---|---|
| Framework | ESX only | ESX & QBCore (auto-detected via msk_core) |
| Configuration | config.lua, restart required | In-game admin dashboard — settings live in the database and apply instantly |
| Persistence | flat database.json | oxmysql (msk_handcuffs table) with automatic one-time migration from database.json |
| Trust model | client-driven | server-authoritative — the server validates distance, item possession and job for every action |
| Status | events + callbacks | replicated statebags (single source of truth, readable by any resource) |
| Targeting | none (Config.Target only bound the undrag key) | ox_target (recommended) & qb-target — auto-detected, translated and state-aware labels |
| Auto-uncuff timer / death | client-side (exploitable) | server-driven |
The dashboard opens with /handcuffadmin and gives you live player actions, the item
config, the job restriction matrix, every setting (including the Discord webhook and the
UI colours) and a permission system with 10 separate rights.
See Migration from v2 for renamed/removed exports & events, and the changelog for the full list.
Requirements
- msk_core 3.0.0+
- oxmysql
- A framework: ESX Legacy or QBCore
Optional Requirements
- ox_target (recommended) or qb-target — for the target menu. Without one of them, only items, commands and exports are available.
- pma-voice or saltychat — for the Tape mute feature