- Revised README.md for the Forge Client Example Addon to clarify its purpose as a template. - Enhanced MODULE_REFERENCE.md to categorize guides into Server and Extension guides and Client guides. - Created detailed usage guides for various client addons including Actor, Bank, CAD, Garage, Locker, Notifications, Organization, Phone, and Store. - Added a Client Common Usage Guide to outline shared browser UI bridge patterns. - Introduced a Client Main Usage Guide to define the foundational elements for client addons. - Established authoritative state notes and usage rules across new guides to ensure clarity on server ownership and client responsibilities.
2.9 KiB
Client Actor Usage Guide
The client actor addon owns the player interaction menu and client-side actor repository. It is the main launcher for nearby player actions and other Forge client UIs.
Open the Actor Menu
call forge_client_actor_fnc_openUI;
The actor menu opens RscActorMenu, loads ui/_site/index.html, and routes
browser alerts through forge_client_actor_fnc_handleUIEvents.
Repository
forge_client_actor_fnc_initRepository creates GVAR(ActorRepository).
The repository:
- requests actor initialization from the server
- saves actor state through the server actor addon
- caches client-visible actor fields
- applies position, direction, stance, rank, and loadout on JIP sync when the relevant settings allow it
- provides nearby interaction actions to the browser UI
Initialize actor state through the repository:
GVAR(ActorRepository) call ["init", []];
Save actor state through the server:
GVAR(ActorRepository) call ["save", [true]];
Nearby Actions
The menu asks for nearby actions with:
actor::get::actions
The repository scans objects within 5 meters and returns actions based on mission object variables:
| Variable | Action |
|---|---|
storeType |
store |
isAtm |
ATM |
isBank |
bank |
isGarage |
garage |
garageType |
garage subtype |
isLocker |
virtual arsenal action when VA is enabled |
deviceType |
device action placeholder |
| nearby player unit | player interaction placeholder |
The response is pushed into the browser with updateAvailableActions(...).
Browser Events
| Event | Client behavior |
|---|---|
actor::get::actions |
Refresh nearby actions. |
actor::close::menu |
Close actor menu. |
actor::open::atm |
Open bank UI in ATM mode. |
actor::open::bank |
Open bank UI in bank mode. |
actor::open::cad |
Open CAD UI. |
actor::open::garage |
Open garage UI. |
actor::open::vgarage |
Open virtual garage. |
actor::open::org |
Open organization UI. |
actor::open::vlocker |
Open ACE arsenal on FORGE_Locker_Box. |
actor::open::phone |
Open phone UI. |
actor::open::store |
Open store UI. |
Device and player interaction events currently display placeholder feedback.
Authoritative State
Actor persistence is server-owned. The client repository requests and displays actor data, but actor creation, durable updates, and hot-state behavior are handled by the server actor addon and extension.