gui

Returns what the game’s interface is showing. Call it when health reports mode gui, or when the game seems to be waiting on something. Works in any mode. The answer includes:

  • screens: the screens shown now, top first, each with its name (Inventory, Store, WorldMap, PartyPicker, CharacterRecord, Map, Journal, Skills, Options; Main is the HUD), movie and layer.
  • fullScreen: the name of the full-screen screen that is open (inventory, map, journal…), or null.
  • fullScreenHidden: present when a full-screen screen is still open in the game but not drawn, e.g. after WorldMap.WorldMapClosed alone. Clear it with input {“message”: “GUI.HideFullScreenGUI”}, as a Close button does.
  • popup: the game’s message box, with its text and each button’s label and what pressing it sends. A message box blocks the game until answered, and nothing else reports it, so check here when a load or an order was accepted but nothing happened.
  • loot: the loot panel a container opens (a chest, remains, a pile of bones), part of the Inventory screen: its container, the items in it, the backpack’s item count and limit, and its buttons, Take All and Close, with what each does.
  • store: with a merchant’s Store screen open, the stock with each item’s price, your pack with what each item sellsFor, the money (in copper) and the markups.

To act on these: press presses a message box or loot panel button; loot walks to a container, opens it and takes everything in one call; store buys and sells.

Read-only: it changes nothing in the game.

Arguments

None.

Call it as gui over MCP, or POST /api/tool/gui with the arguments as JSON.