> For the complete documentation index, see [llms.txt](https://kazescripts.gitbook.io/kazescripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kazescripts.gitbook.io/kazescripts/kaze_phonepro/configuration.md).

# Configuration

Every option in config.lua and config.server.lua.

Both config files stay open when the resource is escrowed. Restart kaze\_phonepro after a change.

## config.lua

### Phone

| Option                 | Default                                                    | What it does                                                                                |
| ---------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `Config.Debug`         | `false`                                                    | Extra console output                                                                        |
| `Phone.OpenKey`        | `'M'`                                                      | Default key to open the phone. Players can change it in GTA Settings → Key Bindings → FiveM |
| `Phone.WalkWhileUsing` | `true`                                                     | Players can walk with the phone open                                                        |
| `Phone.Water`          | `Enabled, Seconds 20, UnderwaterSeconds 6, DrySeconds 180` | Phones break in water after the set time and need time to dry                               |
| `Phone.Video`          | front / back camera offsets                                | Camera position, field of view and animation for video calls                                |
| `Phone.Models`         | 5 colours                                                  | Item name, label, frame colour and prop for every phone                                     |
| `Phone.Animation`      | text and call anims                                        | Animation and prop placement while texting and in calls                                     |

### Battery

| Option                          | Default         | What it does                                         |
| ------------------------------- | --------------- | ---------------------------------------------------- |
| `Battery.Enabled`               | `true`          | `false` = phones never run out                       |
| `Battery.Drain.Standby`         | `0.10`          | % per minute in the pocket (about 16 h)              |
| `Battery.Drain.Screen`          | `0.50`          | % per minute with the phone open (about 3 h 20 min)  |
| `Battery.Drain.Call`            | `0.80`          | % per minute in a call (about 2 h)                   |
| `Battery.Charge.Station`        | `6.0`           | % per minute at a charging station                   |
| `Battery.StationProp`           | `'kzc_station'` | Charging station prop                                |
| `Battery.Slots` / `SlotOffsets` | `4`             | Phone slots on a station                             |
| `Battery.Stations`              | 1 station       | Where charging stations spawn: `{ coords, heading }` |

### Carrier

| Option                                              | Default         | What it does                                          |
| --------------------------------------------------- | --------------- | ----------------------------------------------------- |
| `Carrier.Name`                                      | `'Kaze Mobile'` | Carrier name on the status bar                        |
| `Carrier.SimItem`                                   | `'sim_card'`    | SIM item name                                         |
| `Carrier.NewPhoneSim`                               | `true`          | A new phone comes with a SIM                          |
| `Carrier.StarterPlan`                               | `'starter'`     | Plan a new SIM starts with                            |
| `Carrier.DataUsage`                                 | per app MB      | Data each app uses per minute, and per download       |
| `Carrier.RequirePlanForCalls` / `RequirePlanForSms` | `true`          | Calls and texts need an active plan                   |
| `Carrier.Plans`                                     | 6 plans         | `{ Id, Label, DataMB, Days, Price, Calls, Sms, Tag }` |

### Sounds

Add your own ringtones and notification tones by URL:

```lua
Config.Sounds = {
    Ringtones = {
        { Id = 'mytone', Label = 'My Tone', Url = 'https://example.com/ringtone.mp3' },
    },
    NotificationTones = {
        { Id = 'ping', Label = 'Ping', Url = 'https://example.com/tone.mp3' },
    },
}
```

### Apps

| Option                                                              | Default                               | What it does                                                       |
| ------------------------------------------------------------------- | ------------------------------------- | ------------------------------------------------------------------ |
| `Apps.Wallet.MaxTransfer`                                           | `1000000`                             | Highest single bank transfer                                       |
| `Apps.Contacts.ShareDistance`                                       | `3.0`                                 | Range for sharing your number with nearby players                  |
| `Apps.Mail.Domain`                                                  | `'kazephone.com'`                     | Mail address domain                                                |
| `Apps.Garage.Valet` / `ValetPrice` / `ValetDriver` / `ValetTimeout` | `true`, `250`, `s_m_y_valet_01`, `90` | Valet that drives your car to you                                  |
| `Apps.Crypto`                                                       | 1 coin                                | Tick rate, price history, fee, min trade, address prefix and coins |
| `Apps.Breeze.Search` / `Favorites`                                  | Google                                | Browser search URL and bookmarks                                   |
| `Apps.DarkChat.AliasPrefix` / `History`                             | `'ghost'`, `150`                      | Anonymous names and message history                                |
| `Apps.News.Jobs`                                                    | `reporter`, `weazel`                  | Jobs that can post news                                            |
| `Apps.Vibe.Songs`                                                   | 1 song                                | Server songs: a file in `music/` or a URL                          |
| `Apps.Gov.Services`                                                 | Police, EMS, Mechanic                 | Service numbers, jobs, anonymous numbers and who sees callers      |

## config.server.lua

Server only. Never shared with players.

| Option                                            | What it does                                 |
| ------------------------------------------------- | -------------------------------------------- |
| `ServerConfig.Upload.Provider`                    | `'fivemanage'` or `'custom'`                 |
| `ServerConfig.Upload.ApiKey`                      | Your Fivemanage key                          |
| `ServerConfig.Upload.CustomUrl` / `CustomHeaders` | Your own upload endpoint (custom only)       |
| `ServerConfig.Discord.<App>.Webhook`              | Discord log webhook. Leave empty to turn off |

Discord logs exist for Camera, Chirp, Pixa, Crypto, DarkChat and Market, each with its own toggles (for example `Posts`, `Replies`, `Trades`).
