> For the complete documentation index, see [llms.txt](https://xeavin.gitbook.io/the-insurgents-handbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xeavin.gitbook.io/the-insurgents-handbook/scripts/vm-call-targets/motion-loop-preset.md).

# Motion Loop Preset

### Signature

```c
void motionlooppreset(int preset); //id:0x04b4
```

### Description

Used before functions like [Motion Play](/the-insurgents-handbook/scripts/vm-call-targets/motion-play.md) to only play parts of the next motion of a character (current script).

Some motions are split into several parts. For example, in a motion where a character sits down, waits a bit and then gets up again, the motion would usually be split into the following parts:

1. Move from a standing to a sitting position.
2. Idle a bit (e.g. look around).
3. Move from a sitting to a standing position.

All of these parts can be played (and looped) separately with this function if needed.

Generally, this function is used after the [Motion Loop](/the-insurgents-handbook/scripts/vm-call-targets/motion-loop.md) function which then sets the actual loop. However, in some cases this isn't technically required as the motion itself can be a looped one by default.

### Augments

#### Preset

The preset which determines the start and end frame of the motion.
