forge/docs/CLIENT_ACTOR_USAGE_GUIDE.md
Jacob Schmidt 89169f1e84 Update documentation and add new client usage guides
- 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.
2026-04-18 13:04:01 -05:00

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.