> For the complete documentation index, see [llms.txt](https://code-after-sex.gitbook.io/script-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://code-after-sex.gitbook.io/script-documentation/cas-shooting-range/practice.md).

# Solo Practice

Solo practice at the RedM shooting range: setting up a run, personal bests, practice records, the Best Solo Time board and practice settings.

Practice is one shooter, one lane and a clock. No opponent, no wager and no rating at stake. Every cleared run is saved, and the fastest one for each setup is the player's personal best.

## Starting a run

Open practice in any of these ways:

* Hold **G** at the range master.
* **Play > Solo Practice** in the range menu.
* `/shootingrange practice`.

Then set up the run:

| Setting         | Options                                                              |
| --------------- | -------------------------------------------------------------------- |
| **Targets**     | 1 to 20                                                              |
| **Target type** | Any of the six types, or the Mixed Set                               |
| **Distance**    | 5 yards up to the range's maximum                                    |
| **Movement**    | Stationary or Moving                                                 |
| **Weapon**      | Any weapon in the list. It is lent for the run and taken back after. |

The player is moved to a free lane at the nearest range, the targets are set up and a three second countdown runs. There is no hidden pause in practice. The clock runs until every target is down or the player ends the run. Ammunition in reserve never runs out.

| Key   | Hold  | What it does                |
| ----- | ----- | --------------------------- |
| **G** | 0.9 s | End the run                 |
| **H** | 0.9 s | Restart with the same setup |

## The result

After a run the player sees their time, accuracy, shots, hits, misses, fastest and average split, best streak, reloads and targets destroyed. A cleared run is compared with the best earlier run on the **same target count, distance and movement**. A new best is marked, and a **New Record** notice goes out.

The practice screen lists the player's most recent cleared runs (12 by default, `Config.Practice.Records`).

## Where practice counts

* Every cleared **10 target** run counts for the **Best Solo Time** leaderboard and the profile's best solo time.
* Practice counts toward the **Quick Hands** and **Hot Barrel** challenges.
* Practice never touches rating, wins, losses or match history.

## Where practice can be started

A player must be within 60 metres of a range (`Config.Practice.MaxRange`) and the range needs a free lane. Practice shares the range with matches: a four lane range can hold a two shooter match and two practice runs at the same time.

To let players practise anywhere on the map, turn on `Anywhere`. When there is no range nearby, or its lanes are taken, the targets are then set up in front of the player, up to 30 yards away.

```lua
Config.Practice = {
    Anywhere = false,   -- true: set up in front of the player with no range required
    MaxRange = 60.0,    -- metres: how close to the nearest range practice can start
    Records = 12,       -- number of records shown in the menu
}
```
