# Overview

`lwk_phone` is a full phone for FiveM: calls, video calls, texts, a camera, a map of San Andreas, social apps, a wallet, and apps other resources add. It works with Qbox, QBCore, ESX, ox_core, ND_Core and standalone servers, detected automatically.

## Features

- **Calls** with voice through your voice script, video calls, voicemail, Mute and Speaker, and switching between voice and video mid-call.
- **Messages:** texts, photos, locations with a map, voice notes and money, one to one or in groups.
- **Camera and Photos:** photos, selfies and video, a key to walk around with the camera up, albums and favourites.
- **Maps:** the whole of San Andreas as a road map and a satellite view, with places, waypoints and location sharing. No tile server to set up.
- **Wallet and Crypto:** bank balance, transfers and requests, a history of phone payments, and made-up coins bought with bank money.
- **Garage:** every vehicle a player owns and where it is, a valet that brings one to them, and impound fees paid from the phone.
- **Services:** call or message the police, EMS, mechanics and any other job you list. Bosses hire, fire, change grades and move company money.
- **Home:** the houses a player owns, with a waypoint, the door lock and keys, on nine housing scripts.
- **Social apps with accounts:** Flock (short posts), Loop (short videos), Lumen (photos, stories and live video), Ember (swipe and match), Shade (anonymous channels), Mail, Adverts and Market. A player can hold several accounts and sign in from any phone.
- **The phone as an item.** On eight inventories the phone is an item; on seven of them each item is its own phone, and the number and all its data go with whoever holds it.
- **Moving from another phone.** Coming from NPWD or GCPhone, everyone keeps their number and can bring their contacts, texts, calls, photos and notes across.
- **Community apps.** Other resources add apps with one export. Apps written for LB Phone run unchanged.
- **Themes, sounds and translations.** One JSON file restyles it; five ringtones and four text tones; English and French ship.

A new phone starts with fifteen apps: Phone, Messages, Camera, Photos, Settings, App Store, Wallet, Maps, Garage, Services, Clock, Notes, Voice Memos, Flock and Loop.

## On a c3r server

On a standalone server (c3r on its own) there's one phone per player and no item. Apps the server can't back are hidden rather than shown empty: Wallet, Crypto, Garage and Services need a framework, Home needs a housing script, and Music needs songs in the config.

## Compatibility

Everything is detected automatically, and each one can be forced in the config.

| | Supported |
|---|---|
| **Frameworks** | qbox, qb-core, esx, ox_core, ND_Core (2.x and 1.x), standalone |
| **Inventories** (phone as an item) | ox_inventory, qb-inventory, ps-inventory, codem-inventory, core_inventory, jaksam_inventory, tgiann-inventory, ESX's own inventory, or none |
| **Voice** | pma-voice, saltychat, mumble-voip, or none (calls connect without sound) |
| **Banking** (company accounts) | lwk_bank, Renewed-Banking, qb-banking, wasabi_banking, okokBanking, tgg-banking, p_banking, fd_banking, tgiann-bank, qb-management, esx_society, ox_core. Any other bank still works for player balances |

Anything else can be wired up by hand in `config/bridge/` (framework, inventory, voice, banking, one short file each).

## Keys

| Key | Does |
|---|---|
| `` ` `` (under Escape) | Open and close the phone |
| **Left Alt** | Hand the mouse back to the game while the phone stays up, and again to take it back. In the camera it lets the mouse aim |
| **Enter** | Camera shutter |
| **Up** | Flip the camera |
| **Left Ctrl** | Walk around with the camera up. Again to stand still |

Or type `/phone`. On a call, **Mute** stops the other end hearing you, and **Speaker** lets anyone within a few metres hear and join in.

## Checking your setup

A few seconds after it starts, the phone prints a report to the server console: its version and whether a newer one is out, and the framework, inventory, voice, bank, garage, housing, upload storage and database it found. Anything in its way is listed with a `!`, such as another phone script running, no upload token, or OneSync being off. Type `phonecheck` in the console to print it again.
