> 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-redm-cars/fuel.md).

# Fuel Pumps

CAS RedM Cars fuel pumps. Vintage curb, visible, cabinet and barrel pumps with a hose, nozzle, filler caps and mechanical counters. Filling a car, prices and adding pumps.

`cas-fuel` puts vintage fuel pumps in the world. Every pump is custom built:

| Pump               | How it pumps                                         |
| ------------------ | ---------------------------------------------------- |
| **Curb pump**      | Turn the crank                                       |
| **Visible pump**   | Work the lever. The glass cylinder shows the fuel    |
| **Cabinet pump**   | Turn the crank                                       |
| **Barrel pump**    | Work the lever                                       |
| **Station island** | Two curb pumps on a concrete island with a sign post |

Each pump has mechanical counters that roll with the gallons and dollars of the sale.

## Filling a car

1. Stop next to a pump and get out.
2. At the pump, press **R**: **Take Nozzle**. The hose follows your hand.
3. At the car's filler, press **R**: **Open Filler Cap**, then **R** again: **Insert Nozzle**. Every car has a brass filler neck and cap.
4. Back at the pump, hold **R** to **Turn the Crank** or **Work the Lever**. Fuel flows while you hold it (half a gallon a second).
5. Take the nozzle out, close the cap and hang the nozzle back up.

Each whole gallon is paid in cash as it flows, and the rest when the sale ends. The notice shows what you paid.

{% hint style="info" %}
The hose is 4 m long. Walk too far and the nozzle goes back to the pump. One player uses a pump at a time.
{% endhint %}

## Sites and prices

| Site        | Pump           | Price per gallon | Shipped              |
| ----------- | -------------- | ---------------- | -------------------- |
| Saint Denis | Station island | $0.25            | On                   |
| Blackwater  | Visible pump   | $0.25            | On                   |
| Valentine   | Cabinet pump   | $0.28            | On                   |
| Rhodes      | Curb pump      | $0.27            | Off (place it first) |
| Strawberry  | Barrel pump    | $0.32            | Off (place it first) |
| Annesburg   | Barrel pump    | $0.30            | Off (place it first) |
| Armadillo   | Visible pump   | $0.35            | Off (place it first) |

### Adding or moving a pump

1. Stand where the pump should stand, with your back to the road (the pump's front faces the way your back does).
2. Run `/fuelpos [curb / visible / cabinet / barrel / island]`. It prints a `Config.Sites` line to the F8 console.
3. Put it in the site's `pumps` (or as its `island`) and set `enabled = true`.

## Settings (`cas-fuel/shared/config.lua`)

| Setting                              | Default           | What it does                                                                      |
| ------------------------------------ | ----------------- | --------------------------------------------------------------------------------- |
| `Config.Framework` / `Config.Locale` | `"auto"` / `"en"` | Framework and language                                                            |
| `Config.Radius`                      | 100 m             | Pumps within this are built on a player's game                                    |
| `Config.HoseLength`                  | 4 m               | How far the nozzle reaches                                                        |
| `Config.Flow`                        | 0.5               | Gallons per second while pumping                                                  |
| `Config.Keys.Use`                    | R                 | The pump key                                                                      |
| `Config.Reach`                       |                   | How close to the pump and to the filler                                           |
| `Config.Sites`                       | 7                 | Each site: `id`, `label`, `price`, `colour`, an optional `island` and its `pumps` |
