{"name":"ropeCreate","operator":null,"title":"ropeCreate","type":"command","url":"https://community.bistudio.com/wiki/ropeCreate","revid":377047,"updated":"2026-01-01T08:54:21Z","groups":["Ropes and Sling Loading"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"1.34"}],"since":{"game":"arma3","name":"Arma 3","version":"1.34"},"arma3_since":"1.34","branch":null,"locality":{"argument":null,"effect":"global","server_exec":false},"exec":null,"description":"Creates a PhysX rope with given params. Since Arma 3 v2.14 the optional arguments can be skipped by setting them to nil.\n\n> [!NOTE]\n> - *fromObject* has to be transport vehicle, alive with rope attachment enabled, *toObject* has to be an entity, alive with rope attachment enabled.\n> - `ropeEndType` is defined in config under `\"CfgNonAIVehicles\" >> \"RopeEnd\"`; see Arma 3: Ropes. Currently this is a hook that will be created on the end of the rope, and `ropeEndDownVector` is its orientation, [0,0,-1] for example. The `\"RopeEnd\"` is only shown when the rope is created object to object, it does not show on the open ended rope for some reason. There is currently no `\"RopeStart\"`.\n> - The rope creation is limited to 63 segments.","syntaxes":[{"syntax":"ropeCreate [fromObject, fromPoint, toObject, toPoint, length, ropeStart, ropeEnd, ropeType, nSegments]","since":null,"effect":null,"exec":null,"params":[{"name":"fromObject","type":"Object","optional":false,"default":null,"description":"transport where the rope originates and which fly behavior will be affected","types":["Object"],"since":null,"text":"fromObject: Object - transport where the rope originates and which fly behavior will be affected"},{"name":"fromPoint","type":"String or Array","optional":false,"default":null,"description":"position for the rope start, either a memory point String or relative offset Array","types":["String","Array"],"since":null,"text":"fromPoint: String or Array - position for the rope start, either a memory point String or relative offset Array"},{"name":"toObject","type":"Object","optional":false,"default":null,"description":"entity which is automatically attached to the end of the rope","types":["Object"],"since":null,"text":"toObject: Object - entity which is automatically attached to the end of the rope"},{"name":"toPoint","type":"String or Array","optional":false,"default":null,"description":"position for the rope end, either a memory point String or relative offset Array","types":["String","Array"],"since":null,"text":"toPoint: String or Array - position for the rope end, either a memory point String or relative offset Array"},{"name":"length","type":"Number","optional":true,"default":"-1","description":"rope length in meters","types":["Number"],"since":null,"text":"length: Number - (Optional, default -1) rope length in meters"},{"name":"ropeStart","type":"Array with [ropeStartType, ropeStartDownVector]","optional":true,"default":"[\"\", [0,0,-1]]","description":"ropeStartType: String - type of the rope start (see description)\n- ropeStartDownVector: String or Array, either a memory point String or relative vector Array. If String is given, then `ropeStartDownVector` is calculated from `fromPoint` towards `ropeStartDownVector` memory point","types":["Array"],"since":null,"text":"ropeStart: Array with [ropeStartType, ropeStartDownVector] - (Optional, default [\"\", [0,0,-1]])\n- ropeStartType: String - type of the rope start (see description)\n- ropeStartDownVector: String or Array, either a memory point String or relative vector Array. If String is given, then `ropeStartDownVector` is calculated from `fromPoint` towards `ropeStartDownVector` memory point"},{"name":"ropeEnd","type":"Array with [ropeEndType, ropeEndDownVector]","optional":true,"default":"[\"\", [0,0,-1]]","description":":\n- ropeEndType: String - type of the rope end (see description)\n- ropeEndDownVector: String or Array, either a memory point String or relative vector Array. If String is given, then `ropeEndDownVector` is calculated from `toPoint` towards `ropeEndDownVector` memory point","types":["Array"],"since":null,"text":"ropeEnd: Array with [ropeEndType, ropeEndDownVector] - (Optional, default [\"\", [0,0,-1]]):\n- ropeEndType: String - type of the rope end (see description)\n- ropeEndDownVector: String or Array, either a memory point String or relative vector Array. If String is given, then `ropeEndDownVector` is calculated from `toPoint` towards `ropeEndDownVector` memory point"},{"name":"ropeType","type":"String","optional":true,"default":"\"Rope\"","description":"rope type, `CfgVehicles`' classname","types":["String"],"since":"arma3 2.06","text":"ropeType: String - (Optional, default \"Rope\") - rope type, `CfgVehicles`' classname"},{"name":"nSegments","type":"Number","optional":true,"default":"-1","description":"number of rope segments (max 63)","types":["Number"],"since":"arma3 2.14","text":"nSegments: Number - (Optional, default -1) - number of rope segments (max 63)"}],"returns":{"type":"Object","types":["Object"],"description":"created rope or objNull on failure","text":"Object - created rope or objNull on failure"},"form":"unary","operator":null,"left":null,"right":{"text":"[fromObject, fromPoint, toObject, toPoint, length, ropeStart, ropeEnd, ropeType, nSegments]","types":["Array"]}},{"syntax":"ropeCreate [fromObject, fromPoint, length, ropeStart, ropeEnd, ropeType, nSegments]","since":null,"effect":null,"exec":null,"params":[{"name":"fromObject","type":"Object","optional":false,"default":null,"description":"transport where the rope originates and which fly behavior will be affected","types":["Object"],"since":null,"text":"fromObject: Object - transport where the rope originates and which fly behavior will be affected"},{"name":"fromPoint","type":"String or Array","optional":false,"default":null,"description":"position for the rope start, either a memory point String or relative offset Array","types":["String","Array"],"since":null,"text":"fromPoint: String or Array - position for the rope start, either a memory point String or relative offset Array"},{"name":"length","type":"Number","optional":false,"default":null,"description":"rope length in meters","types":["Number"],"since":null,"text":"length: Number - rope length in meters"},{"name":"ropeStart","type":"Array with [ropeStartType, ropeStartDownVector]","optional":true,"default":"[\"\", [0,0,-1]]","description":"ropeStartType: String - type of the rope start (see description)\n- ropeStartDownVector: String or Array, either a memory point String or relative vector Array. If String is given, then `ropeStartDownVector` is calculated from `fromPoint` towards `ropeStartDownVector` memory point","types":["Array"],"since":null,"text":"ropeStart: Array with [ropeStartType, ropeStartDownVector] - (Optional, default [\"\", [0,0,-1]])\n- ropeStartType: String - type of the rope start (see description)\n- ropeStartDownVector: String or Array, either a memory point String or relative vector Array. If String is given, then `ropeStartDownVector` is calculated from `fromPoint` towards `ropeStartDownVector` memory point"},{"name":"ropeEnd","type":"Array with [ropeEndType, ropeEndDownVector]","optional":true,"default":"[\"\", [0,0,-1]]","description":"ropeEndType: String - type of the rope end (see description)\n- ropeEndDownVector: Array - relative vector","types":["Array"],"since":null,"text":"ropeEnd: Array with [ropeEndType, ropeEndDownVector] - (Optional, default [\"\", [0,0,-1]])\n- ropeEndType: String - type of the rope end (see description)\n- ropeEndDownVector: Array - relative vector"},{"name":"ropeType","type":"String","optional":true,"default":"\"Rope\"","description":"rope type, `CfgVehicles`' classname","types":["String"],"since":"arma3 2.06","text":"ropeType: String - (Optional, default \"Rope\") - rope type, `CfgVehicles`' classname"},{"name":"nSegments","type":"Number","optional":true,"default":"-1","description":"number of rope segments (max 63)","types":["Number"],"since":"arma3 2.14","text":"nSegments: Number - (Optional, default -1) - number of rope segments (max 63)"}],"returns":{"type":"Object","types":["Object"],"description":"created rope or objNull on failure","text":"Object - created rope or objNull on failure"},"form":"unary","operator":null,"left":null,"right":{"text":"[fromObject, fromPoint, length, ropeStart, ropeEnd, ropeType, nSegments]","types":["Array"]}}],"examples":[{"text":"```sqf\nmyRope = ropeCreate [vehicle player, \"slingload0\", myCargo, [0, 0, 0], 10];\n```","code":["myRope = ropeCreate [vehicle player, \"slingload0\", myCargo, [0, 0, 0], 10];"]},{"text":"```sqf\nmyRope = ropeCreate [veh1, [0, 0, -2], veh2, [0, 0, 0], 10];\n```","code":["myRope = ropeCreate [veh1, [0, 0, -2], veh2, [0, 0, 0], 10];"]},{"text":"Free end rope (Alt Syntax):\n\n```sqf\nmyRope = ropeCreate [vehicle player, [0, 0, 0], 10];\n```","code":["myRope = ropeCreate [vehicle player, [0, 0, 0], 10];"]},{"text":"A rope with a hook on the end:\n\n```sqf\nmyRope = ropeCreate [heli, \"slingload0\", player, [0, 0, 2], 20, [], [\"RopeEnd\", [0, 0, -1]]];\n```","code":["myRope = ropeCreate [heli, \"slingload0\", player, [0, 0, 2], 20, [], [\"RopeEnd\", [0, 0, -1]]];"]},{"text":"Since 2.14:\n\n```sqf\nmyRope = ropeCreate [vehicle player, [0, 0, 0], 10, nil, nil, nil, 50];\n```","code":["myRope = ropeCreate [vehicle player, [0, 0, 0], 10, nil, nil, nil, 50];"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["Arma 3: Ropes","ropeDestroy","ropeDetach","ropes","ropeSegments"],"notes":[{"user":"Tajin","date":"2014-11-08T14:57:00Z","text":"Doesn't work well for towing vehicles on the ground.\n\nTheir wheels don't turn freely and have a LOT of friction. You'll most likely end up flipping the vehicle over if you try to tow it.\n\nAlso note that ropes can be destroyed/cut by shooting at them.\n\n**Edit:** see setTowParent since Arma 3 v2.06!"},{"user":"Feint","date":"2015-01-04T03:24:00Z","text":"Pay special attention to what is your **fromObject** and what is your **toObject** as this will have an impact on the physics of the rope.\n\n*For example:* If you want to tow an Assault CRRC from a heavier Speedboat Minigun, attach two boats together with a rope.  If you drive the Speedboat Minigun and set the CRRC as the fromObject, the rope will have almost no elasticity and the CRRC will yank around as you tow it.  However, if you set the CRRC as the toObject, the rope will have more elasticity and will be a little friendlier for the CRRC when you are towing it."},{"user":"Sa-Matra","date":"2024-05-22T04:20:07Z","text":"Following simulations are considered transports by that transport config list:\n\n```sqf\n\"motorcycle\"\n\"car\"\n\"carx\"\n\"tankx\"\n\"airplanex\"\n\"helicopterrtd\"\n\"shipx\"\n\"submarinex\"\n\"paraglide\"\n\"parachute\"\n```\n\nThere could be more but unlisted there, but these should cover majority of the vehicles in all mods."}],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Ropes and Sling Loading","Introduced with Arma 3 version 1.34","Introduced with Take On Helicopters version 1.00","Scripting Commands","Scripting Commands: Global Effect","Take On Helicopters: New Scripting Commands","Take On Helicopters: Scripting Commands"]}