Skip to content

Installation

Five minutes. One folder, one item, one line in config.lua.


You needWhy
ESX, QBCore or QBox, runningThe rope item is registered through your framework
An inventory that can hold a rope itemox_inventory, qb-inventory or the ESX default all work
ox_target or qb-target (optional)Only if you want the target menu instead of 3D text

Drop mic_drag into your resources, for example inside resources/[mic]/. Keep the stream/ folder that comes with it: it holds the rope prop (prop_stag_do_rope) and its texture, and without it the rope never appears in the player’s hand.


In server.cfg, put ensure mic_drag below your framework (es_extended, qb-core or qbx_core) and below your inventory. If you use a target, start it before mic_drag too — although the rope will pick the target up by itself if it starts later.

It worked when the server console shows no red line from mic_drag on start. The one you do not want to see is “Config.Framework must be esx or qbcore”.


mic_drag stores nothing. The only database step is the ESX item row in step 4, and only if you use the default ESX inventory.


The item name is rope (set by Config.Item).

ItemWhat it does
ropeUse it to take the rope into your hand or put it away. Needed in the inventory to start a drag. Never consumed

The ready-made definitions ship in the resource’s inventory/ folder:

InventoryFile in mic_drag/inventory/Where it goes
ox_inventoryox_inventory.mdAdd the entry to ox_inventory/data/items.lua
QBCore / qb-inventoryqb_inventory.mdAdd the entry to qb-core/shared/items.lua
ESX default inventoryesx_inventory.sqlImport it once into your database

No item image ships with the resource. If your inventory shows a blank icon, drop any rope.png into your inventory’s image folder (ox_inventory/web/images/ or qb-inventory/html/images/).

It worked when you give yourself a rope and it appears in your inventory with its label.


5. Tell it your framework and your interaction

Section titled “5. Tell it your framework and your interaction”

Open config.lua:

  • Config.Framework — esx (the default) or qbcore. There is no auto-detect; this has to match. On QBox, choose qbcore: QBox runs QBCore resources through its compatibility layer.
  • Config.InteractionSystem — ox_target (the default), qb-target or drawtext.

If you pick a target that is not running, you will see “ox_target is not started; using drawtext until it starts” in the client console (F8) and the rope works with 3D text in the meantime.


You need a second player for this — the rope only grabs players.

  1. Use the rope item. The rope appears in your right hand.
  2. Walk up to the other player (within 2 m). With a target, look at them and pick Drag with rope. With drawtext, press E when the prompt shows.
  3. Walk away. They follow on the line. Hold Arrow Up / Arrow Down to change the length.
  4. Stand near a car and pick Tie to vehicle (or press Y with drawtext). Drive off.

It worked when the other player ragdolls on the end of a visible rope, and the rope moves from your hand to the back of the car when you tie it.


  • Config.Framework matches the framework you actually run (qbcore on QBox).
  • QBCore: the item name is rope, lowercase.
  • Labels in Config.Labels are in your server’s language — they are the only text players see.
  • Config.KeyLabels still matches the keys if you changed Config.AttachKey or Config.AttachToVehicleKey.
  • Decide on Config.EnableMaxDragTime. Off, a rope lasts until someone lets go.