Skip to content

Controls

A full player interaction system built into Core Gangs. Zip-tie, escort, carry, trunk, hostage, rope pull, tackle, and rob — all server-authoritative with anti-cheat validation and full state sync.

All controls are primarily used through the target system (ox_target / qb-target). Look at a player and the available options appear based on their current state. Commands exist as fallbacks if no target system is running.

INFO

The global toggle Config.EnableGangControls disables the entire system. Each feature also has its own Enabled flag. Target system is auto-detected — if neither ox_target nor qb-target is running, commands are the only way to use controls.

Features at a Glance

FeatureTarget OptionFallback CommandConfig Key
Restrain / Zip-tieRestrain/ziptieRestrain.Enabled
Escort / DragEscort/escortRestrain.Enabled
Carry (Fireman)Carry/carryCarry.Enabled
Put in Trunk/trunkTrunk.Enabled
Take HostageTake Hostage/takehostage /thHostage.Enabled
Rope PullRope Pull/ropepullRope.Enabled
Search / RobSearch/search /robSearch.Enabled
Tackle/tackle or Sprint+ETackle.Enabled
Escape/escapeRestrain.EscapeEnabled

Restrain / Zip-Tie

Restrains a player with a custom zip-tie prop attached to their wrist. Toggle — using it on an already-restrained player frees them.

  • Optionally requires a ziptie item (consumed on use)
  • Custom prop ba_prop_battle_cuffs synced to all clients
  • Full input lockdown: no attack, aim, jump, weapon select, enter vehicle, phone, inventory
  • Only look around, push to talk, and chat are allowed

Escape Mechanic

Restrained players can attempt escape with /escape:

  • Mash backspace 80 times in 15 seconds
  • 30-second cooldown between attempts
  • Cannot escape while: in trunk, being carried, hostage, or rope-pulled
  • Progress notifications every 10 presses
lua
Restrain = {
    Enabled = true,
    RequireItem = true,
    ItemName = 'ziptie',
    MaxDistance = 2.0,
    EscapeEnabled = true,
    EscapeKeyPresses = 80,
    EscapeTimeLimit = 15000,
    EscapeCooldown = 30000,
    CanRestrainAnyone = true,
}

Escort / Drag

Walk-drags a restrained player behind you. Target is attached to your character and follows your movement.

  • Target must be restrained first
  • Toggle on/off
  • Full input lockdown on escorted player

Carry (Fireman Carry)

Pick up a player over your shoulder in a fireman carry.

  • Target must be restrained (configurable with RequireRestrained)
  • Automatically breaks any active escort on the target
  • Toggle on/off
lua
Carry = {
    Enabled = true,
    MaxDistance = 2.5,
    RequireRestrained = true,
}

Put in Trunk

Place a carried player into a nearby vehicle's trunk.

  • Must be carrying someone first (/carry)
  • Target must be restrained
  • Vehicle must be nearby and unlocked
  • Player hidden when trunk lid is closed, visible when open

Trunk Escape

  • Press E when trunk lid is open and not restrained
  • If restrained: no escape possible
  • Auto-ejects if vehicle is destroyed or player dies
lua
Trunk = {
    Enabled = true,
    MaxDistance = 3.0,
    EscapeEnabled = true,
    EscapeKey = 38,       -- E
    HideWhenClosed = true,
}

Take Hostage

Hold a player at gunpoint with a pistol.

  • Requires a pistol with ammo (14 weapon types supported)
  • Victim attached to aggressor with gun animation
  • Breaks any active escort/carry on the target
  • Cannot take hostage of someone in trunk or being carried

Controls

KeyAction
GRelease hostage (shove animation)
HExecute hostage (if KillEnabled = true)

Sprint, attack, and aim are disabled while holding a hostage. If the aggressor dies, the hostage is auto-released.

lua
Hostage = {
    Enabled = true,
    MaxDistance = 2.5,
    RequireWeapon = true,
    ReleaseKey = 47,     -- G
    KillKey = 74,        -- H
    KillEnabled = true,
}

Rope Pull

Drag a restrained player with a visible physics rope. Works on foot and behind vehicles.

  • Uses GTA V native rope physics
  • Target must be restrained
  • Breaks any active escort/carry

On Foot

Target is dragged behind you with a thick rope. Partial input lockdown (no attack, aim, jump, weapon, phone, inventory).

Vehicle Drag

When the puller enters a vehicle, the rope re-attaches from the vehicle's rear to the target:

  • Road burn damage: 5 HP every 2 seconds when vehicle speed > 5 m/s
  • When puller exits vehicle, rope re-attaches back to ped
  • Damage is configurable or can be disabled

Press G to release the rope.

lua
Rope = {
    Enabled = true,
    MaxDistance = 3.0,
    RequireRestrained = true,
    RopeLength = 5.0,
    RopeType = 4,        -- thick rope
    VehicleDragEnabled = true,
    VehicleDragDamage = true,
    VehicleDragDamageInterval = 2000,
    VehicleDragDamageAmount = 5,
    DetachKey = 47,      -- G
}

Search / Rob

Open a target player's inventory.

  • Target must be restrained, have hands up, or be dead
  • 5-second search animation before inventory opens
  • Distance checked during search — interrupts if target moves away
  • Cannot search someone in trunk or being carried
lua
Search = {
    Enabled = true,
    MaxDistance = 2.5,
    RequireRestrainedOrHandsUp = true,
    SearchTime = 5000,
}

Tackle

Sprint into a nearby player to knock them to the ground.

  • Sprint + press E, or use /tackle
  • Victim ragdolls for 5 seconds, tackler stunned for 2 seconds
  • 10-second cooldown between tackles
  • Cannot tackle someone in trunk, being carried, or held hostage

Side Effects on Victim

If the victim was performing another action, it's automatically interrupted:

  • Carrying someone → auto-drops them
  • Escorting someone → auto-stops escort
  • Holding a hostage → auto-releases hostage
  • Rope-pulling → auto-detaches rope
lua
Tackle = {
    Enabled = true,
    MaxDistance = 3.0,
    RequireSprinting = true,
    ActionKey = 38,      -- E
    Cooldown = 10000,
    StunDuration = 5000,
    TacklerStunDuration = 2000,
    VictimRagdoll = true,
}

State Interaction Rules

The system prevents conflicting states. All validation is server-side:

SituationResult
Restrained + in trunkNo escape possible
Restrained + being carried/escape blocked
Restrained + rope pulled/escape blocked
Hostage victim/escape blocked
Tackled while carryingAuto-drops carried player
Tackled while escortingAuto-stops escort
Tackled while holding hostageAuto-releases hostage
Tackled while rope-pullingAuto-detaches rope
Try to restrain someone in trunkBlocked
Take hostage breaks escort/carryAuto-cleaned
Rope pull breaks escort/carryAuto-cleaned

Admin Command

admin/freePlayer
qb-coreesx

Free a player from all control states (restrained, escorted, carried, trunked, hostage, roped). Requires ACE permission command.freePlayer.

ArgumentTypeDescription
idPlayer server ID
Usage
lua
/freePlayer 1