---
name: "ropeCreate"
type: command
status: ok
groups: ["Ropes and Sling Loading"]
arma3_since: "1.34"
locality: {"argument": null, "effect": "global", "server_exec": false}
source: https://community.bistudio.com/wiki/ropeCreate
revid: 377047
updated: 2026-01-01T08:54:21Z
---

# ropeCreate

*Command · Ropes and Sling Loading · Arma 3 v1.34*

Locality: effect **global**

## Description

Creates a PhysX rope with given params. Since Arma 3 v2.14 the optional arguments can be skipped by setting them to [nil](../commands/nil.md).

> [!NOTE]
> - *fromObject* has to be transport vehicle, [alive](../commands/alive.md) with [rope attachment](../commands/enableRopeAttach.md) enabled, *toObject* has to be an entity, alive with [rope attachment](../commands/enableRopeAttach.md) enabled.
> - `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"`.
> - The rope creation is limited to 63 segments.

## Syntax

### Syntax 1

```sqf
ropeCreate [fromObject, fromPoint, toObject, toPoint, length, ropeStart, ropeEnd, ropeType, nSegments]
```

**Parameters:**

- `fromObject`: [Object](../topics/Object.md) - transport where the rope originates and which fly behavior will be affected
- `fromPoint`: [String](../topics/String.md) or [Array](../topics/Array.md) - position for the rope start, either a memory point [String](../topics/String.md) or relative offset [Array](../topics/Array.md)
- `toObject`: [Object](../topics/Object.md) - entity which is automatically [attached to](../commands/ropeAttachTo.md) the end of the rope
- `toPoint`: [String](../topics/String.md) or [Array](../topics/Array.md) - position for the rope end, either a memory point [String](../topics/String.md) or relative offset [Array](../topics/Array.md)
- `length`: [Number](../topics/Number.md) - (Optional, default -1) rope length in meters
- `ropeStart`: [Array](../topics/Array.md) with [ropeStartType, ropeStartDownVector] - (Optional, default ["", [0,0,-1]])
  - ropeStartType: [String](../topics/String.md) - type of the rope start (see description)
  - ropeStartDownVector: [String](../topics/String.md) or [Array](../topics/Array.md), either a memory point [String](../topics/String.md) or relative vector [Array](../topics/Array.md). If [String](../topics/String.md) is given, then `ropeStartDownVector` is calculated from `fromPoint` towards `ropeStartDownVector` memory point
- `ropeEnd`: [Array](../topics/Array.md) with [ropeEndType, ropeEndDownVector] - (Optional, default ["", [0,0,-1]]):
  - ropeEndType: [String](../topics/String.md) - type of the rope end (see description)
  - ropeEndDownVector: [String](../topics/String.md) or [Array](../topics/Array.md), either a memory point [String](../topics/String.md) or relative vector [Array](../topics/Array.md). If [String](../topics/String.md) is given, then `ropeEndDownVector` is calculated from `toPoint` towards `ropeEndDownVector` memory point
- `ropeType`: [String](../topics/String.md) - (Optional, default "Rope") - rope type, `CfgVehicles`' classname *(since arma3 2.06)*
- `nSegments`: [Number](../topics/Number.md) - (Optional, default -1) - number of rope segments (max 63) *(since arma3 2.14)*

**Returns:** [Object](../topics/Object.md) - created rope or [objNull](../commands/objNull.md) on failure

### Syntax 2

```sqf
ropeCreate [fromObject, fromPoint, length, ropeStart, ropeEnd, ropeType, nSegments]
```

**Parameters:**

- `fromObject`: [Object](../topics/Object.md) - transport where the rope originates and which fly behavior will be affected
- `fromPoint`: [String](../topics/String.md) or [Array](../topics/Array.md) - position for the rope start, either a memory point [String](../topics/String.md) or relative offset [Array](../topics/Array.md)
- `length`: [Number](../topics/Number.md) - rope length in meters
- `ropeStart`: [Array](../topics/Array.md) with [ropeStartType, ropeStartDownVector] - (Optional, default ["", [0,0,-1]])
  - ropeStartType: [String](../topics/String.md) - type of the rope start (see description)
  - ropeStartDownVector: [String](../topics/String.md) or [Array](../topics/Array.md), either a memory point [String](../topics/String.md) or relative vector [Array](../topics/Array.md). If [String](../topics/String.md) is given, then `ropeStartDownVector` is calculated from `fromPoint` towards `ropeStartDownVector` memory point
- `ropeEnd`: [Array](../topics/Array.md) with [ropeEndType, ropeEndDownVector] - (Optional, default ["", [0,0,-1]])
  - ropeEndType: [String](../topics/String.md) - type of the rope end (see description)
  - ropeEndDownVector: [Array](../topics/Array.md) - relative vector
- `ropeType`: [String](../topics/String.md) - (Optional, default "Rope") - rope type, `CfgVehicles`' classname *(since arma3 2.06)*
- `nSegments`: [Number](../topics/Number.md) - (Optional, default -1) - number of rope segments (max 63) *(since arma3 2.14)*

**Returns:** [Object](../topics/Object.md) - created rope or [objNull](../commands/objNull.md) on failure

## Examples

### Example 1

```sqf
myRope = ropeCreate [vehicle player, "slingload0", myCargo, [0, 0, 0], 10];
```

### Example 2

```sqf
myRope = ropeCreate [veh1, [0, 0, -2], veh2, [0, 0, 0], 10];
```

### Example 3

Free end rope (Alt Syntax):

```sqf
myRope = ropeCreate [vehicle player, [0, 0, 0], 10];
```

### Example 4

A rope with a hook on the end:

```sqf
myRope = ropeCreate [heli, "slingload0", player, [0, 0, 2], 20, [], ["RopeEnd", [0, 0, -1]]];
```

### Example 5

Since 2.14:

```sqf
myRope = ropeCreate [vehicle player, [0, 0, 0], 10, nil, nil, nil, 50];
```

## See also

Arma 3: Ropes · [ropeDestroy](../commands/ropeDestroy.md) · [ropeDetach](../commands/ropeDetach.md) · [ropes](../commands/ropes.md) · [ropeSegments](../commands/ropeSegments.md)

## Community notes

**Tajin** — 2014-11-08

Doesn't work well for towing vehicles on the ground.

Their 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.

Also note that ropes can be destroyed/cut by shooting at them.

**Edit:** see [setTowParent](../commands/setTowParent.md) since Arma 3 v2.06!

---

**Feint** — 2015-01-04

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.

*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.

---

**Sa-Matra** — 2024-05-22

Following simulations are considered transports by that transport config list:

```sqf
"motorcycle"
"car"
"carx"
"tankx"
"airplanex"
"helicopterrtd"
"shipx"
"submarinex"
"paraglide"
"parachute"
```

There could be more but unlisted there, but these should cover majority of the vehicles in all mods.

<sub>Source: [BI Community Wiki — ropeCreate](https://community.bistudio.com/wiki/ropeCreate) (revision 377047).</sub>
