Torture System

Torture System

$24.99

Add to Basket

TORTURE SYSTEM

VIDEO (PREVIEW SOON)

2a2db5164ab60bf05013dc659aeacf163cb44dcc.png

A placeable interrogation chair with a tool trolley and fully synced scenes: secure a player in the chair, pick a tool from the trolley (wrench,  pliers, jerry can, battery, syringe) and play each interrogation as a cinematic scene both players see.

Requirements:
- One of: Qbox, QBCore, ESX (or none - standalone)
- An inventory: ox_inventory, qs-inventory, qb-inventory or the ESX inventory
- A target: ox_target or qb-target
- Optional: xmmx_essentials (the syringe then puts the victim in a coma instead of killing them)

Install:
1. Put xmmx_torture in your resources and add `ensure xmmx_torture` after your framework, inventory and target.
2. Add the items:
ox_inventory copy the entries from items_ox.lua into ox_inventory/data/items.lua
qb-inventory copy the entries from items_qb.lua into qb-core/shared/items.lua
qs-inventory add the same items to qs-inventory's items list (see items_qb.lua)
ESX run items_esx.sql on your database

3. Copy the item images from _INSTALL/images into your inventory's image folder:
ox_inventory ox_inventory/web/images
qb-inventory qb-inventory/html/images
      qs-inventory   qs-inventory/html/images

4. Restart the server.

Items:
xmmx_tchair: the chair: use it to place it (arrow keys move, scroll rotates, E confirms, X cancels)
xmmx_twrench: wrench
xmmx_tpliers: pliers
xmmx_tjerrycan: jerry can (waterboarding)
xmmx_tbattery: battery (electrocution)
xmmx_tsyringe: syringe (finishes the interrogation, see FinishVictim below)

Config:
• Framework 'auto' detects your framework. Or 'qbox', 'qbcore', 'esx' or 'standalone'.
• Inventory 'auto' uses ox_inventory, else qs-inventory, else your framework's. Or set 'ox_inventory', 'qs-inventory' or 'framework'.
• Target 'auto' uses ox_target, else qb-target. Or set 'ox_target' or 'qb-target'.
• Placement chair placement (distance, controls, interior only, whether the item is used up).
• Chairs optional fixed chairs at set locations.
• Tools each tool's item, damage and whether it is used up.
• VictimRequirements require the victim to be handcuffed / downed / restrained first.
• ToolDamage false: tools never hurt the victim (the scenes still play).AllowTortureDeath false: damage can never kill the victim directly.

Logs:
Discord webhook URLs for: a chair placed, a victim secured, and FinishVictim run on a player. Each log shows the player and the victim (character name and id, server id, FiveM name, license, Discord) and where it happened. Leave a URL '' to switch that log off. The file is server only, so the URLs are never sent to players.

Framework Code:
Everything framework specific is in bridge/ (open source, not escrowed):

• bridge/shared.lua: picks the framework, inventory and target
• bridge/server/framework.lua: player lookup and the identifier that owns a placed chair
• bridge/server/inventory.lua: items, and the chair as a usable item (non-ox inventories)
• bridge/server/status.lua: handcuffed / downed checks (QBCore/Qbox metadata, else state bags)
• bridge/server/logs.lua: the Discord webhook logs (swap in your own logger here)
• bridge/server/lethal.lua: FinishVictim: what the syringe does (default: the victim dies) - put your own logic here
• bridge/client/notify.lua: notifications (Qbox, QBCore, ESX, ox_lib or the GTA feed)
• bridge/client/target.lua: ox_target / qb-target
• bridge/client/items.lua: chair item use (non-ox inventories) and FinishVictim's default
• bridge/client/showhud.lua: optional hook to hide / show your HUD
• bridge/client/controls.lua: raw key input