Client Phone Usage Guide
Client Phone Usage Guide
The client phone addon provides the in-game phone UI for contacts, SMS messages, email, and local utility apps such as notes, calendar events, world clocks, and alarms.
Open Phone UI
call forge_client_phone_fnc_openUI;
The phone UI creates RscPhone, loads ui/_site/index.html, and routes
browser alerts through forge_client_phone_fnc_handleUIEvents.
State Ownership
Contacts, messages, and emails are server-owned and requested through the server phone addon.
Local utility app state is stored in profileNamespace:
- notes
- calendar events
- world clocks
- alarms
- theme/preferences
Phone Class
forge_client_phone_fnc_initClass creates GVAR(PhoneClass).
The phone class currently owns local notes, events, and settings helpers. Contacts, messages, and emails continue to use server-backed request/response events.
Browser Events
Session and Preferences
| Event | Client behavior |
|---|---|
phone::get::player | Send player UID to browser with setPlayerUid. |
phone::get::theme | Send saved light/dark theme to browser. |
phone::set::theme | Save theme preference to profileNamespace. |
Contacts
| Event | Client behavior |
|---|---|
phone::get::contacts | Load cached contacts and request server refresh. |
phone::refresh::contacts | Request contacts from server. |
phone::add::contact | Add contact by phone number. |
phone::add::contact::by::phone | Add contact by phone number. |
phone::add::contact::by::email | Add contact by email. |
phone::remove::contact | Remove contact by UID. |
Messages
| Event | Client behavior |
|---|---|
phone::get::messages | Request messages from server. |
phone::get::message::thread | Request thread with another UID. |
phone::send::message | Send SMS through server. |
phone::mark::message::read | Mark message read on server. |
phone::delete::message | Delete message on server. |
| Event | Client behavior |
|---|---|
phone::get::emails | Request emails from server. |
phone::send::email | Send email through server. |
phone::mark::email::read | Mark email read on server. |
phone::delete::email | Delete email on server. |
Local Utility Apps
| Event | Client behavior |
|---|---|
phone::get::notes | Load local notes. |
phone::save::note | Save local note. |
phone::delete::note | Delete local note. |
phone::get::events | Load local calendar events. |
phone::save::event | Save local calendar event. |
phone::delete::event | Delete local calendar event. |
phone::get::clocks | Load local world clocks. |
phone::save::clock | Save local world clock. |
phone::delete::clock | Delete local world clock. |
phone::get::alarms | Load local alarms. |
phone::save::alarm | Save local alarm. |
phone::delete::alarm | Delete local alarm. |
phone::toggle::alarm | Toggle local alarm enabled state. |
Usage Rules
- Send contact, message, and email mutations to the server phone addon.
- Keep local-only utility apps in
profileNamespaceuntil they are migrated to server-backed storage. - Do not treat local phone utility state as shared multiplayer state.
- Validate required UID, phone, email, subject, and message fields before sending server requests.
Related Guides
Client Main Usage Guide
The client main addon provides the shared mod identity, version metadata, CBA settings, and macro foundation used by the Forge client addons.
Client Store Usage Guide
The client store addon provides the storefront browser UI for catalog browsing, category hydration, payment source display, cart handling, and checkout requests.