forge/docs/CLIENT_LOCKER_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.3 KiB

Client Locker Usage Guide

The client locker addon manages personal locker display state, local locker container behavior, and virtual arsenal unlock state.

Repositories

forge_client_locker_fnc_initRepository creates GVAR(LockerRepository).

forge_client_locker_fnc_initVARepository creates GVAR(VARepository).

Initialize locker state:

GVAR(LockerRepository) call ["init", []];
GVAR(VARepository) call ["init", []];

Locker Container Flow

The repository searches mission namespace variables whose names contain locker and refer to objects. For each server/mission locker object, it creates a local Box_NATO_Equip_F at the same position and attaches container event handlers.

On container open:

  • the local container is cleared
  • cached locker items are inserted into the container
  • over-capacity warnings are emitted when the item count is above 25

On container close:

  • cargo, nested container items, and weapon attachments are read back
  • the new locker map is sent to the server with the override request
  • the local repository cache is updated

Virtual Arsenal Flow

The virtual arsenal repository creates a local FORGE_Locker_Box and requests virtual arsenal unlocks from the server.

As sync data arrives, it applies unlocks through ACE Arsenal:

Data key Client behavior
items Add virtual items.
weapons Add virtual weapons.
magazines Add virtual magazines.
backpacks Add virtual backpacks.

The actor menu opens the virtual locker with:

[FORGE_Locker_Box, player, false] spawn ace_arsenal_fnc_openBox;

Server Events

The client repository sends requests for:

  • locker initialization
  • locker save
  • locker override after container close
  • virtual arsenal initialization
  • virtual arsenal save

The server locker addon and extension own the saved locker and virtual arsenal state.

Mission Setup

Mission locker objects must be placed into missionNamespace with a variable name containing locker. The client creates local interactive containers from those authoritative mission objects.

Example:

missionNamespace setVariable ["forge_locker_alpha", _lockerObject, true];