Advanced Winch


With this script, you'll be able to attach an entity to any other entity !

✅ Attach vehicles, pedestrians and objects with a rope
✅ Ability to winch yourself (animation to do)
✅ Rope attach point selection uses mouse and left click
✅ Multiple ropes
✅ A crime scene rope type (for LSPD / EMS...)
✅ Control length of individual ropes
✅ Cut ropes
✅ Manage all ropes at the same time
✅ Highly customizable (weapon used, text, controls, lengths, rope type, notification style...)
✅ Network synchronized
✅ Whitelist some users (can be removed, Comes preconfigured for identifiers, ESX, QB-Core and ACE)
✅ Blacklist some entity models or types (peds, other players, vehicles, objects)
✅ Uses RegisterKeyMapping so users can modify their keybinds
⚠️ Uses FiveM Asset Escrow system


✅ Update whitelist to latest ESX


✅ Option to make hook invisible
✅ Option to disable hook collisions


✅ Add job grade permission support
✅ Bugfix GetNetworkObject
✅ Add ACE permission support
✅ Bugfix whitelist


✅ Fix some syncing issues (rope type not synced)


✅ Fix some syncing issues (rope would appear on some client only)


✅ Added a crime scene rope type (for LSPD / EMS...)
✅ Whitelisting of crime scene rope


✅ Optimization (reduce number of events while idle)


✅ Anchor point creation
✅ Automatically create an anchor point if needed
✅ Delete anchor point when rope is removed
✅ Anchor point is synchronized


✅ Bugfix when deleting all ropes and then pressing another keybind


✅ Whitelist can be removed


✅ Add version check


✅ Blacklist some entity models
✅ Blacklist some entity types (peds, other players, vehicles, objects)


✅ Ability to winch yourself (animation to do)
✅ Add color to default strings
✅ Better internal & network management


✅ Bugfix control when no rope is selected
✅ Better length management (possibility to set a minimum length)


✅ Menu strings are now dynamic according to the user control


✅ Commands now use the `RegisterKeyMapping` native (still configurable, but can now be configured by each user individually)
✅ Add whitelist


✅ Rope selection now uses mouse and left click instead of a gun


✅ Attach vehicles, pedestrians and objects with a rope gun
✅ Multiple ropes
✅ Control length of individual ropes
✅ Cut ropes
✅ Manage all ropes at the same time
✅ Highly customizable (weapon used, text, controls, lengths, rope type, notification style...)
✅ Network synchronized

Nabla.LogLevel = Nabla.LogLevels.WARN -- Log levels are ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF (default is WARN)

Config = {

  -- Please check our FAQ if you have any question :

  -- List of players who have access to the rope creation, set WhiteListEnabled = true/false to enable/disable the whitelist
  -- Players with secondary = true will be able to spawn the normal ropes and the "crime" ropes
  WhiteListEnabled = false,
  WhiteList = {
    ['ip:'] = {secondary = true},
    ['steam:12345']       = {secondary = false},
    ['police']            = {secondary = false},
    ['police:3']          = {secondary = false}, -- Job and grade
    ['nabla.winch']       = {secondary = true}, -- To use with ACE, add this to your server.cfg : add_ace identifier.YOURIDENTIFIER nabla.winch allow
    ['nabla.winch_sec']   = {secondary = false},


  -- Keybinds, you can choose from here :
  DefaultControls = function()
    RegisterKeyMapping('+winch_start',  'Winch - Menu',         'KEYBOARD',          'E') -- Start selection (to create rope)
    RegisterKeyMapping('+winch_secon',  'Winch - Secondary',    'KEYBOARD',      'LMENU') -- Secondary selection (see Ropes.RopeTypeSec)
    RegisterKeyMapping('+winch_select', 'Winch - Select',   'MOUSE_BUTTON', 'MOUSE_LEFT') -- Validate selection
    RegisterKeyMapping('+winch_wind',   'Winch - Wind',         'KEYBOARD',     'PAGEUP') -- Retract         rope
    RegisterKeyMapping('+winch_unwind', 'Winch - UnWind',       'KEYBOARD',   'PAGEDOWN') -- Extend          rope
    RegisterKeyMapping('+winch_break',  'Winch - Break',        'KEYBOARD',          'B') -- Cut             rope
    RegisterKeyMapping('+winch_prev',   'Winch - Previous',     'KEYBOARD',       'LEFT') -- Select previous rope
    RegisterKeyMapping('+winch_next',   'Winch - Next',         'KEYBOARD',      'RIGHT') -- Select next     rope
    RegisterKeyMapping('+winch_all',    'Winch - All',          'KEYBOARD',     'LSHIFT') -- Select all      ropes

  -- Maximum number of ropes per user
  MaxRopes = 4,

  -- Configure ropes
  Ropes = {
    MinLength    =  0.5,
    MaxLength    = 15.0,
    RopeType     =    5, -- Primary rope (Normal)
    RopeTypeSec  =    2, -- Secondary rope (Crime)
    WindingSpeed =  0.5,

  -- Can you add a rope on :
  Types = {
    Self = false, -- Yourself ?
    Plys = true, -- Other players ?
    Peds = true, -- Pedestrians (non player) ?
    Vehs = true, -- Vehicles ?
    Objs = true, -- Objects ?
    None = true, -- If no entity is impacted, create a fixed anchor point

  -- If an anchor has to be created, what should it look like ?
  Hook = {
    Model = GetHashKey("prop_v_hook_s"),
    Offset = vector3(0,0,-0.45),
    Translate = 0.0,
    Visible = true,
    Collision = false,

  -- List of model you can't add a rope on (type doesn't matter)
  BlackList = {
    [GetHashKey("POLICE")] = true

  -- Cursor appeareance (
  Cursor = {
    Target = 8,
    NoTarget = 1

  Strings = {
    ["rope1"]      = "~g~ 1~w~/2 point saved",
    ["rope_ok"]    = "~g~ 2~w~/2 point saved\n Winch ~g~created",
    ["too_long"]   = "The two entities are ~r~too far~w~ apart",
    ["no_obj"]     = "~r~No object~w~ to attach",
    ["max_rope"]   = "You reach your ~r~rope limit~w~",
    ['Rope_Menu1'] = '~INPUT_41393B98~ Rope (%d/%d) ~INPUT_6E0EFF32~\n',
    ['Rope_Menu2'] = '~INPUT_F90E6096~ Length ~g~%.1f~w~m ~INPUT_A0C60889~\n',
    ['Rope_Menu3'] = '~INPUT_FD4AFE6D~ Cut rope\n~INPUT_4F7D4317~ Control all',

function DisplayHelpText(lineOne, lineTwo, lineThree)
  AddTextComponentSubstringPlayerName(lineTwo or "")
  AddTextComponentSubstringPlayerName(lineThree or "")
  EndTextCommandDisplayHelp(0, 0, 0, -1)

local prev = nil
function ShowNotification(message)
  if prev ~= nil then
  AddTextEntry(GetCurrentResourceName().."Notif", Config.Strings[message])
  prev = EndTextCommandThefeedPostTicker(false, false)
Keybind / Command Action
EHold to activate the rope point selection press
Left ClickSelect a point for the rope
Page UpWind current rope
Page DownUnwind current rope
BCut current rope
← / →Select rope
Letf ShiftSelect all ropes
  • 9
  • 0
  • 0
  • 0
  • 0
  • The Pusheen Queen™


    Like: Works perfectly for what I am trying to do. If you don't mind, I would love to maybe work with you guys on some wrecker rotators & cranes I have planned. I think this script or something similar would be really cool for the towing companies that never get enough love.

  • NorseLegend


    Like : Both scripts work great and the support is spot on.
    Dislike : Price was a bit more than I wanted to spend but very much worth it.

  • Blake P


    Like : Amazing script, really advanced, and good config.
    Dislike : Price was a little expensive for me, 100% worth it though.

  • Collaze


    Like : Amazing script, really advanced, and good config.
    Dislike : Price was a little expensive for me, 100% worth it though.

  • Deleted User


    Like : Great support team & Product
    Dislike : N/A

  • Joe Chang


    Like : It makes a lot of fun for my server, also the owner of the script help me a lot on solving my problem, very professional!
    Dislike : Of course not!

  • ZUUL


    Like : There are so many things you can do with the script, it is the best winch script out there. The support is quick and to the point.
    Dislike : There's nothing to dislike.

  • FluffyPlays22


    Like : The winch script is the best rope/winch script available on fivem.

  • killbox25


    Like : First and foremost most amazing customer service/dev team, I initially asked if something could be tweaked or added before I purchased an it was updated within a couple hrs and pushed to the test server. The practicality of it is pretty unlimited and executed flawlessly. Simple and very effective to use.
    Dislike : Can’t really say anything bad about it, only thing a bit of inconvenience is if it’s a very steep angle it’s a bit rough to winch/recover cars up hills or ditches… but Its still possible.