# `QuakeServer.Cheats`
[🔗](https://github.com/jaman/quake_server/blob/v0.1.0/lib/quake_server/cheats.ex#L1)

FTE's player cheat commands, for the host's player (entity 1), allowed as FTE's
`SV_MayCheat` allows them: with `sv_cheats` set, or always on a single-player server.

  * `setpos/2` (`Cmd_SetPos_f`) — with no position, prints the player's place as a
    `setpos x y z pitch yaw roll` line (origin and view angles); with `x y z`, moves the
    player there, stopped and in noclip (printing `noclip on` when it was off), and with
    `x y z pitch yaw roll` also turns the player (`fixangle` set)
  * `noclip/1` (`Cmd_Noclip_f`) — noclip on (`MOVETYPE_NOCLIP`, `SOLID_TRIGGER`) or off
    (`MOVETYPE_WALK`, `SOLID_SLIDEBOX`, or `SOLID_NOT` when dead), printing
    `noclip ON` or `noclip OFF`

Prints reach the player as `svc_print` at level 2 (`QuakeServer.Outbox`) and the
server's events.

    server = QuakeServer.Cheats.setpos(server, ["-1250", "-718", "40"])

# `noclip`

```elixir
@spec noclip(QuakeServer.Server.t()) :: QuakeServer.Server.t()
```

Run FTE's `noclip` for the player.

# `setpos`

```elixir
@spec setpos(QuakeServer.Server.t(), [String.t()]) :: QuakeServer.Server.t()
```

Run FTE's `setpos` with the command's arguments (the words after `setpos`).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
