---
name: "setWaypointType"
type: command
status: ok
groups: ["Waypoints"]
arma3_since: "0.50"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/setWaypointType
revid: 377747
updated: 2026-01-03T00:58:00Z
---

# setWaypointType

*Command · Waypoints · Arma 3 v0.50 · introduced in Armed Assault v1.00*

## Description

Sets the waypoint type of given waypoint.

More details at Waypoints.

## Syntax

```sqf
waypoint setWaypointType type
```

**Parameters:**

- `waypoint`: Waypoint
- `type`: [String](../topics/String.md) - waypoint type. Can be:
  - `"MOVE"`
  - `"DESTROY"`
  - `"GETIN"`
  - `"SAD"` *(Seek And Destroy)*
  - `"JOIN"`
  - `"LEADER"`
  - `"GETOUT"`
  - `"CYCLE"`
  - `"LOAD"`
  - `"UNLOAD"`
  - `"TR UNLOAD"`
  - `"HOLD"`
  - `"SENTRY"`
  - `"GUARD"` (used with GUARDED BY trigger or [createGuardedPoint](../commands/createGuardedPoint.md))
  - `"TALK"`
  - `"SCRIPTED"`
  - `"SUPPORT"`
  - `"GETIN NEAREST"`
  - `"DISMISS"`
  - `"LOITER"` (Arma 3)
  - Arma 3 v1.34 `"HOOK"` (slingload object)
  - Arma 3 v1.34 `"UNHOOK"` (slingload drop)
  - `"AND"` (only for game logics)
  - `"OR"` (only for game logics)

**Returns:** [Nothing](../topics/Nothing.md)

## Examples

### Example 1

```sqf
_myWaypoint setWaypointType "HOLD";
```

## See also

2D Editor: Waypoints · [waypointType](../commands/waypointType.md)

## Community notes

**ArmAtec** — 2007-11-23

Using **MOVE** on a game logic group will move the logic to the set location just like [setPos](../commands/setPos.md). In the editor, only **AND** and **OR** type of waypoints are available for GAME LOGICS but you can use CYCLE type as well with [setWaypointType](../commands/setWaypointType.md).

---

**RHfront** — 2017-05-06

To use the **LAND** function in a waypoint, you must set *"A3\functions_f\waypoints\fn_wpLand.sqf"* as the script for that waypoint.

---

**Nelis75733126** — 2017-05-30

In **Arma 3 v1.70**, if you add a **MOVE** waypoint very soon after a **LOITER** waypoint, (assuming that the index of the MOVE waypoint is HIGHER than the index of the LOITER waypoint) then the LOITER waypoint will be considered as a MOVE waypoint.

And, if you add another waypoint after ( for example ) more than 1 second after adding the LOITER waypoint,
then the LOITER waypoint will never complete even when its condition has been met.

There are two ways to quit an existing LOITER waypoint that was added more than about 1 second before adding a MOVE waypoint:
- use the [setCurrentWaypoint](../commands/setCurrentWaypoint.md) command
- create a waypoint that has the same ID as the LOITER waypoint.
The difference between those two methods is that the latter prevents the LOITER waypoint from executing its statement.

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