Skip to content

Client

This page documents the functions and methods in the meta table.


Overview

Client-side hooks in the Lilia framework handle UI, rendering, input, and other client-specific functionality; they can be used to customize the user experience and can be overridden or extended by addons and modules.

AddBarField(sectionName, fieldName, labelText, minFunc, maxFunc, valueFunc)

Purpose

Register a dynamic bar entry to show in the character information panel (e.g., stamina or custom stats).

When Called

During character info build, before the F1 menu renders the bar sections.

Parameters

string sectionName Localized or raw section label to group the bar under.

string fieldName Unique key for the bar entry.

string labelText Text shown next to the bar.

function minFunc Callback returning the minimum numeric value.

function maxFunc Callback returning the maximum numeric value.

function valueFunc Callback returning the current numeric value to display.

Example Usage

  hook.Add("AddBarField", "ExampleAddBarField", function(...)
      -- add custom client-side behavior
  end)

AddSection(sectionName, color, priority, location)

Purpose

Ensure a character information section exists and optionally override its styling and position.

When Called

When the F1 character info UI is initialized or refreshed.

Parameters

string sectionName Localized or raw name of the section (e.g., “generalInfo”).

Color color Accent color used for the section header.

number priority Sort order; lower numbers appear first.

number location Column index in the character info layout.

Example Usage

  hook.Add("AddSection", "ExampleAddSection", function(...)
      -- add custom client-side behavior
  end)

AddTextField(sectionName, fieldName, labelText, valueFunc)

Purpose

Register a text field for the character information panel.

When Called

While building character info just before the F1 menu renders.

Parameters

string sectionName Target section to append the field to.

string fieldName Unique identifier for the field.

string labelText Caption displayed before the value.

function valueFunc Callback that returns the string to render.

Example Usage

  hook.Add("AddTextField", "ExampleAddTextField", function(...)
      -- add custom client-side behavior
  end)

AddToAdminStickHUD(client, target, information)

Purpose

Add extra lines to the on-screen admin-stick HUD that appears while aiming with the admin stick.

When Called

Each HUDPaint tick when the admin stick is active and a target is valid.

Parameters

Player client Local player using the admin stick.

Entity target Entity currently traced by the admin stick.

table information Table of strings; insert new lines to show additional info.

Example Usage

  hook.Add("AddToAdminStickHUD", "ExampleAddToAdminStickHUD", function(...)
      -- add custom client-side behavior
  end)

AdminPrivilegesUpdated()

Purpose

React to privilege list updates pushed from the server (used by the admin stick UI).

When Called

After the server syncs admin privilege changes to the client.

Example Usage

  hook.Add("AdminPrivilegesUpdated", "ExampleAdminPrivilegesUpdated", function(...)
      -- add custom client-side behavior
  end)

AdminStickAddModels(allModList, tgt)

Purpose

Provide model and icon overrides for the admin stick spawn menu list.

When Called

When the admin stick UI collects available models and props to display.

Parameters

table allModList Table of model entries to be displayed; append or modify entries here.

Entity tgt Entity currently targeted by the admin stick.

Example Usage

  hook.Add("AdminStickAddModels", "ExampleAdminStickAddModels", function(...)
      -- add custom client-side behavior
  end)

CanDeleteChar(client, character)

Purpose

Decide whether a client is allowed to delete a specific character.

When Called

When the delete character button is pressed in the character menu.

Parameters

Player client Player requesting the deletion.

Character|table character Character object slated for deletion.

Returns

boolean false to block deletion; nil/true to allow.

Example Usage

  hook.Add("CanDeleteChar", "ExampleCanDeleteChar", function(...)
      -- add custom client-side behavior
  end)

CanDisplayCharInfo(name)

Purpose

Control whether the name above a character can be shown to the local player.

When Called

Before drawing a player’s overhead information.

Parameters

string name The formatted name that would be displayed.

Returns

boolean false to hide the name; nil/true to show.

Example Usage

  hook.Add("CanDisplayCharInfo", "ExampleCanDisplayCharInfo", function(...)
      -- add custom client-side behavior
  end)

CanOpenBagPanel(item)

Purpose

Allow or block opening the bag inventory panel for a specific item.

When Called

When a bag or storage item icon is activated to open its contents.

Parameters

Item item The bag item whose inventory is being opened.

Returns

boolean false to prevent opening; nil/true to allow.

Example Usage

  hook.Add("CanOpenBagPanel", "ExampleCanOpenBagPanel", function(...)
      -- add custom client-side behavior
  end)

CanPlayerOpenScoreboard(arg1)

Purpose

Decide whether the scoreboard should open for the requesting client.

When Called

When the scoreboard key is pressed and before building the panel.

Parameters

Player arg1 Player attempting to open the scoreboard.

Returns

boolean false to block; nil/true to show.

Example Usage

  hook.Add("CanPlayerOpenScoreboard", "ExampleCanPlayerOpenScoreboard", function(...)
      -- add custom client-side behavior
  end)

CanTakeEntity(client, targetEntity, itemUniqueID)

Purpose

Determines if a player can take/convert an entity into an item.

When Called

Before attempting to convert an entity into an item using the take entity keybind.

Parameters

Player client The player attempting to take the entity.

Entity targetEntity The entity being targeted for conversion.

string itemUniqueID The unique ID of the item that would be created.

Returns

boolean False to prevent taking the entity; nil/true to allow.

Example Usage

  hook.Add("CanTakeEntity", "RestrictEntityTaking", function(client, targetEntity, itemUniqueID)
      if targetEntity:IsPlayer() then return false end
      return true
  end)

CanPlayerViewInventory()

Purpose

Determine if the local player can open their inventory UI.

When Called

Before spawning any inventory window.

Returns

boolean false to stop the inventory from opening; nil/true to allow.

Example Usage

  hook.Add("CanPlayerViewInventory", "ExampleCanPlayerViewInventory", function(...)
      -- add custom client-side behavior
  end)

CharListColumns(columns)

Purpose

Add or adjust columns in the character list panel.

When Called

Right before the character selection table is rendered.

Parameters

table columns Table of column definitions; modify in place to add/remove columns.

Example Usage

  hook.Add("CharListColumns", "ExampleCharListColumns", function(...)
      -- add custom client-side behavior
  end)

CharListEntry(entry, row)

Purpose

Modify how each character entry renders in the character list.

When Called

For every row when the character list is constructed.

Parameters

table entry Data for the character (id, name, faction, etc.).

Panel row The row panel being built.

Example Usage

  hook.Add("CharListEntry", "ExampleCharListEntry", function(...)
      -- add custom client-side behavior
  end)

CharListLoaded(newCharList)

Purpose

Seed character info sections and fields after the client receives the character list.

When Called

Once the client finishes downloading the character list from the server.

Parameters

table newCharList Array of character summaries.

Example Usage

  hook.Add("CharListLoaded", "ExampleCharListLoaded", function(...)
      -- add custom client-side behavior
  end)

CharListUpdated(oldCharList, newCharList)

Purpose

React to changes between the old and new character lists.

When Called

After the server sends an updated character list (e.g., after delete/create).

Parameters

table oldCharList Previous list snapshot.

table newCharList Updated list snapshot.

Example Usage

  hook.Add("CharListUpdated", "ExampleCharListUpdated", function(...)
      -- add custom client-side behavior
  end)

CharLoaded(character)

Purpose

Handle local initialization once a character has fully loaded on the client.

When Called

After the server confirms the character load and sets netvars.

Parameters

Character|number character Character object or id that was loaded.

Example Usage

  hook.Add("CharLoaded", "ExampleCharLoaded", function(...)
      -- add custom client-side behavior
  end)

CharMenuClosed()

Purpose

Cleanup or state changes when the character menu is closed.

When Called

Right after the character menu panel is removed.

Example Usage

  hook.Add("CharMenuClosed", "ExampleCharMenuClosed", function(...)
      -- add custom client-side behavior
  end)

CharMenuOpened(charMenu)

Purpose

Perform setup each time the character menu is opened.

When Called

Immediately after constructing the character menu panel.

Parameters

Panel charMenu The created menu panel.

Example Usage

  hook.Add("CharMenuOpened", "ExampleCharMenuOpened", function(...)
      -- add custom client-side behavior
  end)

CharRestored(character)

Purpose

Handle client-side work after a character is restored from deletion.

When Called

When the server finishes restoring a deleted character.

Parameters

Character|number character The restored character object or id.

Example Usage

  hook.Add("CharRestored", "ExampleCharRestored", function(...)
      -- add custom client-side behavior
  end)

ChatAddText(text)

Purpose

Override how chat text is appended to the chat box.

When Called

Whenever chat text is about to be printed locally.

Parameters

any text First argument passed to chat.AddText.

Example Usage

  hook.Add("ChatAddText", "ExampleChatAddText", function(...)
      -- add custom client-side behavior
  end)

ChatboxPanelCreated(arg1)

Purpose

Adjust the chatbox panel right after it is created.

When Called

Once the chat UI instance is built client-side.

Parameters

Panel arg1 The chatbox panel instance.

Example Usage

  hook.Add("ChatboxPanelCreated", "ExampleChatboxPanelCreated", function(...)
      -- add custom client-side behavior
  end)

ChatboxTextAdded(arg1)

Purpose

Intercept a newly added chat line before it renders in the chatbox.

When Called

After chat text is parsed but before it is drawn in the panel.

Parameters

Panel arg1 Chat panel or message object being added.

Example Usage

  hook.Add("ChatboxTextAdded", "ExampleChatboxTextAdded", function(...)
      -- add custom client-side behavior
  end)

ChooseCharacter(id)

Purpose

Respond to character selection from the list.

When Called

When a user clicks the play button on a character slot.

Parameters

number id The selected character’s id.

Example Usage

  hook.Add("ChooseCharacter", "ExampleChooseCharacter", function(...)
      -- add custom client-side behavior
  end)

CommandRan(client, command, arg3, results)

Purpose

React after a command finishes executing client-side.

When Called

Immediately after a console/chat command is processed on the client.

Parameters

Player client Player who ran the command.

string command Command name.

table|string arg3 Arguments or raw text passed.

any results Return data from the command handler, if any.

Example Usage

  hook.Add("CommandRan", "ExampleCommandRan", function(...)
      -- add custom client-side behavior
  end)

ConfigureCharacterCreationSteps(creationPanel)

Purpose

Reorder or add steps to the character creation wizard.

When Called

When the creation UI is building its step list.

Parameters

Panel creationPanel The root creation panel containing step definitions.

Example Usage

  hook.Add("ConfigureCharacterCreationSteps", "ExampleConfigureCharacterCreationSteps", function(...)
      -- add custom client-side behavior
  end)

CreateCharacter(data)

Purpose

Validate or mutate character data immediately before it is submitted to the server.

When Called

When the user presses the final create/submit button.

Parameters

table data Character creation payload (name, model, faction, etc.).

Returns

boolean false to abort submission; nil/true to continue.

Example Usage

  hook.Add("CreateCharacter", "ExampleCreateCharacter", function(...)
      -- add custom client-side behavior
  end)

CreateChatboxPanel()

Purpose

Called when the chatbox panel needs to be created or recreated.

When Called

When the chatbox module initializes, when the chatbox panel is closed and needs to be reopened, or when certain chat-related events occur.

Example Usage

  hook.Add("CreateChatboxPanel", "ExampleCreateChatboxPanel", function(...)
      -- add custom client-side behavior
  end)

CreateDefaultInventory(character)

Purpose

Choose what inventory implementation to instantiate for a newly created character.

When Called

After the client finishes character creation but before the inventory is built.

Parameters

Character character The character being initialized.

Returns

string Inventory type id to create (e.g., “GridInv”).

Example Usage

  hook.Add("CreateDefaultInventory", "ExampleCreateDefaultInventory", function(...)
      -- add custom client-side behavior
  end)

CreateInformationButtons(pages)

Purpose

Populate the list of buttons for the Information tab in the F1 menu.

When Called

When the Information tab is created and ready to collect pages.

Parameters

table pages Table of page descriptors; insert entries with name/icon/build function.

Example Usage

  hook.Add("CreateInformationButtons", "ExampleCreateInformationButtons", function(...)
      -- add custom client-side behavior
  end)

CreateInventoryPanel(inventory, parent)

Purpose

Build the root panel used for displaying an inventory instance.

When Called

Each time an inventory needs a panel representation.

Parameters

Inventory inventory Inventory object to show.

Panel parent Parent UI element the panel should attach to.

Returns

Panel The created inventory panel.

Example Usage

  hook.Add("CreateInventoryPanel", "ExampleCreateInventoryPanel", function(...)
      -- add custom client-side behavior
  end)

CreateMenuButtons(tabs)

Purpose

Register custom tabs for the F1 menu.

When Called

When the F1 menu initializes its tab definitions.

Parameters

table tabs Table of tab constructors keyed by tab id; add new entries to inject tabs.

Example Usage

  hook.Add("CreateMenuButtons", "ExampleCreateMenuButtons", function(...)
      -- add custom client-side behavior
  end)

DeleteCharacter(id)

Purpose

Handle client-side removal of a character slot.

When Called

After a deletion request succeeds.

Parameters

number id ID of the character that was removed.

Example Usage

  hook.Add("DeleteCharacter", "ExampleDeleteCharacter", function(...)
      -- add custom client-side behavior
  end)

DermaSkinChanged(newSkin)

Purpose

React when the active Derma skin changes client-side.

When Called

Immediately after the skin is switched.

Parameters

string newSkin Name of the newly applied skin.

Example Usage

  hook.Add("DermaSkinChanged", "ExampleDermaSkinChanged", function(...)
      -- add custom client-side behavior
  end)

DisplayPlayerHUDInformation(client, hudInfos)

Purpose

Inject custom HUD info boxes into the player HUD.

When Called

Every HUDPaint frame while the player is alive and has a character.

Parameters

Player client Local player.

table hudInfos Array to be filled with info tables (text, position, styling).

Example Usage

  hook.Add("DisplayPlayerHUDInformation", "ExampleDisplayPlayerHUDInformation", function(...)
      -- add custom client-side behavior
  end)

DoorDataReceived(door, syncData)

Purpose

Handle incoming door synchronization data from the server.

When Called

When the server sends door ownership or data updates.

Parameters

Entity door Door entity being updated.

table syncData Data payload containing door state/owners.

Example Usage

  hook.Add("DoorDataReceived", "ExampleDoorDataReceived", function(...)
      -- add custom client-side behavior
  end)

DrawCharInfo(client, character, info)

Purpose

Add custom lines to the character info overlay drawn above players.

When Called

Right before drawing info for a player (name/description).

Parameters

Player client Player whose info is being drawn.

Character character Character belonging to the player.

table info Array of `{text, color}` rows; append to extend display.

Example Usage

  hook.Add("DrawCharInfo", "ExampleDrawCharInfo", function(...)
      -- add custom client-side behavior
  end)

DrawEntityInfo(e, a, pos)

Purpose

Customize how entity information panels render in the world.

When Called

When an entity has been marked to display info and is being drawn.

Parameters

Entity e Target entity.

number a Alpha value (0-255) for fade in/out.

table|Vector pos Screen position for the info panel (optional).

Example Usage

  hook.Add("DrawEntityInfo", "ExampleDrawEntityInfo", function(...)
      -- add custom client-side behavior
  end)

DrawItemEntityInfo(itemEntity, item, infoTable, alpha)

Purpose

Adjust or add lines for dropped item entity info.

When Called

When hovering/aiming at a dropped item that is rendering its info.

Parameters

Entity itemEntity World entity representing the item.

Item item Item table attached to the entity.

table infoTable Lines describing the item; modify to add details.

number alpha Current alpha used for drawing.

Example Usage

  hook.Add("DrawItemEntityInfo", "ExampleDrawItemEntityInfo", function(...)
      -- add custom client-side behavior
  end)

DrawLiliaModelView(client, entity)

Purpose

Draw extra elements in the character preview model (e.g., held weapon).

When Called

When the character model view panel paints.

Parameters

Player client Local player being previewed.

Entity entity The model panel entity.

Example Usage

  hook.Add("DrawLiliaModelView", "ExampleDrawLiliaModelView", function(...)
      -- add custom client-side behavior
  end)

DrawPlayerRagdoll(entity)

Purpose

Draw attachments or cosmetics on a player’s ragdoll entity.

When Called

During ragdoll RenderOverride when a player’s corpse is rendered.

Parameters

Entity entity The ragdoll entity being drawn.

Example Usage

  hook.Add("DrawPlayerRagdoll", "ExampleDrawPlayerRagdoll", function(...)
      -- add custom client-side behavior
  end)

F1MenuClosed()

Purpose

React to the F1 menu closing.

When Called

Immediately after the F1 menu panel is removed.

Example Usage

  hook.Add("F1MenuClosed", "ExampleF1MenuClosed", function(...)
      -- add custom client-side behavior
  end)

F1MenuOpened(f1MenuPanel)

Purpose

Perform setup when the F1 menu opens.

When Called

Immediately after the F1 menu is created.

Parameters

Panel f1MenuPanel The opened menu panel.

Example Usage

  hook.Add("F1MenuOpened", "ExampleF1MenuOpened", function(...)
      -- add custom client-side behavior
  end)

FilterCharModels(arg1)

Purpose

Whitelist or blacklist models shown in the character creation model list.

When Called

While building the selectable model list for character creation.

Parameters

table arg1 Table of available model paths; mutate to filter.

Example Usage

  hook.Add("FilterCharModels", "ExampleFilterCharModels", function(...)
      -- add custom client-side behavior
  end)

FilterDoorInfo(entity, doorData, doorInfo)

Purpose

Adjust door information before it is shown on the HUD.

When Called

After door data is prepared for display but before drawing text.

Parameters

Entity entity The door being inspected.

table doorData Raw door data (owners, title, etc.).

table doorInfo Table of display lines; mutate to change output.

Example Usage

  hook.Add("FilterDoorInfo", "ExampleFilterDoorInfo", function(...)
      -- add custom client-side behavior
  end)

GetAdjustedPartData(wearer, id)

Purpose

Provide PAC part data overrides before parts attach to a player.

When Called

When a PAC part is requested for attachment.

Parameters

Player wearer Player the part will attach to.

string id Identifier for the part/item.

Returns

table Adjusted part data; return nil to use cached defaults.

Example Usage

  hook.Add("GetAdjustedPartData", "ExampleGetAdjustedPartData", function(...)
      -- add custom client-side behavior
  end)

GetCharacterCreateButtonTooltip(client, currentChars, maxChars)

Purpose

Allows overriding the tooltip text for the character creation button.

When Called

When the character creation button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

number currentChars Number of characters the player currently has.

number maxChars Maximum number of characters allowed.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterCreateButtonTooltip", "ExampleGetCharacterCreateButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetCharacterDisconnectButtonTooltip(client)

Purpose

Allows overriding the tooltip text for the character disconnect button.

When Called

When the character disconnect button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterDisconnectButtonTooltip", "ExampleGetCharacterDisconnectButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetCharacterDiscordButtonTooltip(client, discordURL)

Purpose

Allows overriding the tooltip text for the Discord button.

When Called

When the Discord button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

string discordURL The Discord server URL.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterDiscordButtonTooltip", "ExampleGetCharacterDiscordButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetCharacterLoadButtonTooltip(client)

Purpose

Allows overriding the tooltip text for the character load button.

When Called

When the character load button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterLoadButtonTooltip", "ExampleGetCharacterLoadButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetCharacterLoadMainButtonTooltip(client)

Purpose

Allows overriding the tooltip text for the main character load button.

When Called

When the main character load button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterLoadMainButtonTooltip", "ExampleGetCharacterLoadMainButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetCharacterMountButtonTooltip(client)

Purpose

Allows overriding the tooltip text for the character mount button.

When Called

When the character mount button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterMountButtonTooltip", "ExampleGetCharacterMountButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetCharacterReturnButtonTooltip(client)

Purpose

Allows overriding the tooltip text for the character return button.

When Called

When the character return button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterReturnButtonTooltip", "ExampleGetCharacterReturnButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetCharacterStaffButtonTooltip(client, hasStaffChar)

Purpose

Allows overriding the tooltip text for the staff character button.

When Called

When the staff character button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

boolean hasStaffChar Whether the player has a staff character.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterStaffButtonTooltip", "ExampleGetCharacterStaffButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetCharacterWorkshopButtonTooltip(client, workshopURL)

Purpose

Allows overriding the tooltip text for the workshop button.

When Called

When the workshop button tooltip is being determined in the main menu.

Parameters

Player client The player viewing the menu.

string workshopURL The workshop URL.

Returns

string|nil Custom tooltip text, or nil to use default tooltip.

Example Usage

  hook.Add("GetCharacterWorkshopButtonTooltip", "ExampleGetCharacterWorkshopButtonTooltip", function(...)
      -- add custom client-side behavior
  end)

GetAdminESPTarget(ent, client)

Purpose

Choose the entity that admin ESP should highlight.

When Called

When the admin ESP overlay evaluates the current trace target.

Parameters

Entity ent Entity under the admin’s crosshair.

Player client Admin requesting the ESP target.

Returns

Entity|nil Replacement target entity, or nil to use the traced entity.

Example Usage

  hook.Add("GetAdminESPTarget", "ExampleGetAdminESPTarget", function(...)
      -- add custom client-side behavior
  end)

GetAdminStickLists(tgt, lists)

Purpose

Contribute additional tab lists for the admin stick menu.

When Called

While compiling list definitions for the admin stick UI.

Parameters

Entity tgt Current admin stick target.

table lists Table of list definitions; append your own entries.

Example Usage

  hook.Add("GetAdminStickLists", "ExampleGetAdminStickLists", function(...)
      -- add custom client-side behavior
  end)

GetDisplayedDescription(client, isHUD)

Purpose

Override the description text shown for a player.

When Called

When building a player’s info panel for HUD or menus.

Parameters

Player client Player being described.

boolean isHUD True when drawing the 3D HUD info; false for menus.

Returns

string Description to display; return nil to use default.

Example Usage

  hook.Add("GetDisplayedDescription", "ExampleGetDisplayedDescription", function(...)
      -- add custom client-side behavior
  end)

GetDoorInfo(entity, doorData, doorInfo)

Purpose

Build or modify door info data before it is shown to players.

When Called

When a door is targeted and info lines are generated.

Parameters

Entity entity Door entity.

table doorData Data about owners, titles, etc.

table doorInfo Display lines; modify to add/remove fields.

Example Usage

  hook.Add("GetDoorInfo", "ExampleGetDoorInfo", function(...)
      -- add custom client-side behavior
  end)

GetDoorInfoForAdminStick(target, extraInfo)

Purpose

Supply extra admin-only door info shown in the admin stick UI.

When Called

When the admin stick inspects a door and builds its detail view.

Parameters

Entity target Door or entity being inspected.

table extraInfo Table of strings to display; append data here.

Example Usage

  hook.Add("GetDoorInfoForAdminStick", "ExampleGetDoorInfoForAdminStick", function(...)
      -- add custom client-side behavior
  end)

GetInjuredText(c)

Purpose

Return the localized injury descriptor and color for a player.

When Called

When drawing player info overlays that show health status.

Parameters

Player c Target player.

Returns

table `{text, color}` describing injury level, or nil to skip.

Example Usage

  hook.Add("GetInjuredText", "ExampleGetInjuredText", function(...)
      -- add custom client-side behavior
  end)

GetMainCharacterID()

Purpose

Decide which character ID should be treated as the “main” one for menus.

When Called

Before selecting or loading the default character in the main menu.

Returns

number Character ID to treat as primary, or nil for default logic.

Example Usage

  hook.Add("GetMainCharacterID", "ExampleGetMainCharacterID", function(...)
      -- add custom client-side behavior
  end)

GetMainMenuPosition(character)

Purpose

Provide camera position/angles for the 3D main menu scene.

When Called

Each time the main menu loads and needs a camera transform.

Parameters

Character character Character to base the position on.

Returns

Vector, Angle Position and angle to use; return nils to use defaults.

Example Usage

  hook.Add("GetMainMenuPosition", "ExampleGetMainMenuPosition", function(...)
      -- add custom client-side behavior
  end)

InteractionMenuClosed()

Purpose

Handle logic when the interaction menu (context quick menu) closes.

When Called

Right after the interaction menu panel is removed.

Example Usage

  hook.Add("InteractionMenuClosed", "ExampleInteractionMenuClosed", function(...)
      -- add custom client-side behavior
  end)

InteractionMenuOpened(frame)

Purpose

Set up the interaction menu when it is created.

When Called

Immediately after the interaction menu frame is instantiated.

Parameters

Panel frame The interaction menu frame.

Example Usage

  hook.Add("InteractionMenuOpened", "ExampleInteractionMenuOpened", function(...)
      -- add custom client-side behavior
  end)

InterceptClickItemIcon(inventoryPanel, itemIcon, keyCode)

Purpose

Intercept mouse/keyboard clicks on an inventory item icon.

When Called

Whenever an inventory icon receives an input event.

Parameters

Panel inventoryPanel Panel hosting the inventory grid.

Panel itemIcon Icon that was clicked.

number keyCode Mouse or keyboard code that triggered the event.

Returns

boolean true to consume the click and prevent default behavior.

Example Usage

  hook.Add("InterceptClickItemIcon", "ExampleInterceptClickItemIcon", function(...)
      -- add custom client-side behavior
  end)

InventoryClosed(inventoryPanel, inventory)

Purpose

React when an inventory window is closed.

When Called

Immediately after an inventory panel is removed.

Parameters

Panel inventoryPanel The panel that was closed.

Inventory inventory Inventory instance tied to the panel.

Example Usage

  hook.Add("InventoryClosed", "ExampleInventoryClosed", function(...)
      -- add custom client-side behavior
  end)

InventoryItemDataChanged(item, key, oldValue, newValue, inventory)

Purpose

Respond to item data changes that arrive on the client.

When Called

After an item’s data table updates (networked from the server).

Parameters

Item item The item that changed.

string key Data key that changed.

any oldValue Previous value.

any newValue New value.

Inventory inventory Inventory containing the item.

Example Usage

  hook.Add("InventoryItemDataChanged", "ExampleInventoryItemDataChanged", function(...)
      -- add custom client-side behavior
  end)

InventoryItemIconCreated(icon, item, inventoryPanel)

Purpose

Customize an inventory item icon immediately after it is created.

When Called

When a new icon panel is spawned for an item.

Parameters

Panel icon Icon panel.

Item item Item represented by the icon.

Panel inventoryPanel Parent inventory panel.

Example Usage

  hook.Add("InventoryItemIconCreated", "ExampleInventoryItemIconCreated", function(...)
      -- add custom client-side behavior
  end)

InventoryOpened(panel, inventory)

Purpose

Handle logic after an inventory panel is opened.

When Called

When an inventory is displayed on screen.

Parameters

Panel panel Inventory panel.

Inventory inventory Inventory instance.

Example Usage

  hook.Add("InventoryOpened", "ExampleInventoryOpened", function(...)
      -- add custom client-side behavior
  end)

InventoryPanelCreated(panel, inventory, parent)

Purpose

Customize the inventory panel when it is created.

When Called

Immediately after constructing a panel for an inventory.

Parameters

Panel panel The new inventory panel.

Inventory inventory Inventory the panel represents.

Panel parent Parent container.

Example Usage

  hook.Add("InventoryPanelCreated", "ExampleInventoryPanelCreated", function(...)
      -- add custom client-side behavior
  end)

ItemDraggedOutOfInventory(client, item)

Purpose

Handle dragging an item outside of an inventory grid.

When Called

When an item is released outside valid slots.

Parameters

Player client Local player performing the drag.

Item item Item being dragged.

Example Usage

  hook.Add("ItemDraggedOutOfInventory", "ExampleItemDraggedOutOfInventory", function(...)
      -- add custom client-side behavior
  end)

ItemPaintOver(itemIcon, itemTable, w, h)

Purpose

Draw overlays on an item’s icon (e.g., status markers).

When Called

During icon paint for each inventory slot.

Parameters

Panel itemIcon Icon panel being drawn.

Item itemTable Item represented.

number w Icon width.

number h Icon height.

Example Usage

  hook.Add("ItemPaintOver", "ExampleItemPaintOver", function(...)
      -- add custom client-side behavior
  end)

ItemShowEntityMenu(entity)

Purpose

Show a context menu for a world item entity.

When Called

When the use key/menu key is pressed on a dropped item with actions.

Parameters

Entity entity Item entity in the world.

Example Usage

  hook.Add("ItemShowEntityMenu", "ExampleItemShowEntityMenu", function(...)
      -- add custom client-side behavior
  end)

LoadCharInformation()

Purpose

Seed the character information sections for the F1 menu.

When Called

When the character info is about to be populated.

Example Usage

  hook.Add("LoadCharInformation", "ExampleLoadCharInformation", function(...)
      -- add custom client-side behavior
  end)

LoadMainCharacter()

Purpose

Select and load the player’s main character when the menu opens.

When Called

During main menu initialization if a saved main character exists.

Example Usage

  hook.Add("LoadMainCharacter", "ExampleLoadMainCharacter", function(...)
      -- add custom client-side behavior
  end)

LoadMainMenuInformation(info, character)

Purpose

Populate informational text and preview for the main menu character card.

When Called

When the main menu needs to show summary info for a character.

Parameters

table info Table to fill with display fields.

Character character Character being previewed.

Example Usage

  hook.Add("LoadMainMenuInformation", "ExampleLoadMainMenuInformation", function(...)
      -- add custom client-side behavior
  end)

ModifyScoreboardModel(arg1, ply)

Purpose

Adjust the 3D model used in the scoreboard (pose, skin, etc.).

When Called

When a scoreboard slot builds its player model preview.

Parameters

Panel arg1 Model panel or data table for the slot.

Player ply Player represented by the slot.

Example Usage

  hook.Add("ModifyScoreboardModel", "ExampleModifyScoreboardModel", function(...)
      -- add custom client-side behavior
  end)

ModifyVoiceIndicatorText(client, voiceText, voiceType)

Purpose

Override the string shown in the voice indicator HUD.

When Called

Each frame the local player is speaking.

Parameters

Player client Speaking player (local).

string voiceText Default text to display.

string voiceType Current voice range (“whispering”, “talking”, “yelling”).

Returns

string Replacement text; return nil to keep default.

Example Usage

  hook.Add("ModifyVoiceIndicatorText", "ExampleModifyVoiceIndicatorText", function(...)
      -- add custom client-side behavior
  end)

DrawPlayerInfoBackground()

Purpose

Draw the background panel behind player info overlays.

When Called

Just before drawing wrapped player info text in the HUD.

Returns

boolean Return false to suppress the default blurred background.

Example Usage

  hook.Add("DrawPlayerInfoBackground", "ExampleDrawPlayerInfoBackground", function(...)
      -- add custom client-side behavior
  end)

OnAdminStickMenuClosed()

Purpose

Handle state cleanup when the admin stick menu closes.

When Called

When the admin stick UI window is removed.

Example Usage

  hook.Add("OnAdminStickMenuClosed", "ExampleOnAdminStickMenuClosed", function(...)
      -- add custom client-side behavior
  end)

OnChatReceived(client, chatType, text, anonymous)

Purpose

React to chat messages received by the local client.

When Called

After a chat message is parsed and before it is displayed.

Parameters

Player client Sender of the message.

string chatType Chat channel identifier.

string text Message content.

boolean anonymous Whether the message should hide the sender.

Example Usage

  hook.Add("OnChatReceived", "ExampleOnChatReceived", function(...)
      -- add custom client-side behavior
  end)

OnCreateDualInventoryPanels(panel1, panel2, inventory1, inventory2)

Purpose

Customize paired inventory panels when two inventories are shown side by side.

When Called

Right after both inventory panels are created (e.g., player + storage).

Parameters

Panel panel1 First inventory panel.

Panel panel2 Second inventory panel.

Inventory inventory1 Inventory bound to panel1.

Inventory inventory2 Inventory bound to panel2.

Example Usage

  hook.Add("OnCreateDualInventoryPanels", "ExampleOnCreateDualInventoryPanels", function(...)
      -- add custom client-side behavior
  end)

OnCreateItemInteractionMenu(itemIcon, menu, itemTable)

Purpose

Augment the context menu shown when right-clicking an inventory item icon.

When Called

Immediately after the interaction menu for an item icon is built.

Parameters

Panel itemIcon The icon being interacted with.

Panel menu The context menu object.

Item itemTable Item associated with the icon.

Example Usage

  hook.Add("OnCreateItemInteractionMenu", "ExampleOnCreateItemInteractionMenu", function(...)
      -- add custom client-side behavior
  end)

OnCreateStoragePanel(localInvPanel, storageInvPanel, storage)

Purpose

Customize the dual-inventory storage panel layout.

When Called

After the local and storage inventory panels are created for a storage entity.

Parameters

Panel localInvPanel Panel showing the player inventory.

Panel storageInvPanel Panel showing the storage inventory.

Entity|table storage Storage object or entity.

Example Usage

  hook.Add("OnCreateStoragePanel", "ExampleOnCreateStoragePanel", function(...)
      -- add custom client-side behavior
  end)

OnLocalVarSet(key, value)

Purpose

React to a local networked variable being set.

When Called

Whenever a net var assigned to the local player changes.

Parameters

string key Variable name.

any value New value.

Example Usage

  hook.Add("OnLocalVarSet", "ExampleOnLocalVarSet", function(...)
      -- add custom client-side behavior
  end)

OnOpenVendorMenu(vendorPanel, vendor)

Purpose

Populate the vendor UI when it opens.

When Called

After the vendor panel is created client-side.

Parameters

Panel vendorPanel Panel used to display vendor goods.

Entity vendor Vendor entity interacted with.

Example Usage

  hook.Add("OnOpenVendorMenu", "ExampleOnOpenVendorMenu", function(...)
      -- add custom client-side behavior
  end)

OnlineStaffDataReceived(staffData)

Purpose

Handle the list of online staff received from the server.

When Called

When staff data is synchronized to the client.

Parameters

table staffData Array of staff entries (name, steamID, duty status).

Example Usage

  hook.Add("OnlineStaffDataReceived", "ExampleOnlineStaffDataReceived", function(...)
      -- add custom client-side behavior
  end)

OpenAdminStickUI(tgt)

Purpose

Open the admin stick interface for a target entity or player.

When Called

When the admin stick weapon requests to show its UI.

Parameters

Entity tgt Target entity/player selected by the admin stick.

Example Usage

  hook.Add("OpenAdminStickUI", "ExampleOpenAdminStickUI", function(...)
      -- add custom client-side behavior
  end)

PaintItem(item)

Purpose

Draw or tint an item icon before it is painted to the grid.

When Called

Prior to rendering each item icon surface.

Parameters

Item item Item being drawn.

Example Usage

  hook.Add("PaintItem", "ExamplePaintItem", function(...)
      -- add custom client-side behavior
  end)

PopulateAdminStick(currentMenu, currentTarget, currentStores)

Purpose

Add tabs and actions to the admin stick UI.

When Called

While constructing the admin stick menu for the current target.

Parameters

Panel currentMenu Root menu panel.

Entity currentTarget Entity being acted upon.

table currentStores Cached admin stick data (lists, categories).

Example Usage

  hook.Add("PopulateAdminStick", "ExamplePopulateAdminStick", function(...)
      -- add custom client-side behavior
  end)

PopulateAdminTabs(pages)

Purpose

Register admin tabs for the F1 administration menu.

When Called

When building the admin tab list.

Parameters

table pages Table to append tab definitions `{name, icon, build=function}`.

Example Usage

  hook.Add("PopulateAdminTabs", "ExamplePopulateAdminTabs", function(...)
      -- add custom client-side behavior
  end)

PopulateConfigurationButtons(pages)

Purpose

Add configuration buttons for the options/configuration tab.

When Called

When creating the configuration pages in the menu.

Parameters

table pages Collection of page descriptors to populate.

Example Usage

  hook.Add("PopulateConfigurationButtons", "ExamplePopulateConfigurationButtons", function(...)
      -- add custom client-side behavior
  end)

PopulateFactionRosterOptions(list, members)

Purpose

Add custom menu options to the faction roster table.

When Called

When the faction roster UI is being populated with member data.

Parameters

Panel list The liaTable panel that displays the roster. Use list:AddMenuOption() to add right-click menu options.

table members Array of member data tables containing name, charID, steamID, and lastOnline fields.

Example Usage

  hook.Add("PopulateFactionRosterOptions", "MyCustomRosterOptions", function(list, members)
      list:AddMenuOption("View Profile", function(rowData)
          if rowData and rowData.charID then
              print("Viewing profile for character ID:", rowData.charID)
          end
      end, "icon16/user.png")
  end)

PopulateInventoryItems(pnlContent, tree)

Purpose

Populate the inventory items tree used in the admin menu.

When Called

When the inventory item browser is built.

Parameters

Panel pnlContent Content panel to fill.

Panel tree Tree/list control to populate.

Example Usage

  hook.Add("PopulateInventoryItems", "ExamplePopulateInventoryItems", function(...)
      -- add custom client-side behavior
  end)

PostDrawInventory(mainPanel, parentPanel)

Purpose

Draw additional UI after the main inventory panels are painted.

When Called

After inventory drawing completes.

Parameters

Panel mainPanel Primary inventory panel.

Panel parentPanel Parent container.

Example Usage

  hook.Add("PostDrawInventory", "ExamplePostDrawInventory", function(...)
      -- add custom client-side behavior
  end)

PostLoadFonts(mainFont, mainFont)

Purpose

Adjust fonts after they are loaded.

When Called

Immediately after main fonts are initialized.

Parameters

string mainFont Primary font name (duplicate parameter kept for API compatibility).

string mainFont Alias of the same font name.

Example Usage

  hook.Add("PostLoadFonts", "ExamplePostLoadFonts", function(...)
      -- add custom client-side behavior
  end)

DrawPhysgunBeam()

Purpose

Decide whether to draw the physgun beam for the local player.

When Called

During physgun render.

Returns

boolean false to suppress the beam; nil/true to allow.

Example Usage

  hook.Add("DrawPhysgunBeam", "ExampleDrawPhysgunBeam", function(...)
      -- add custom client-side behavior
  end)

RefreshFonts()

Purpose

Recreate or refresh fonts when settings change.

When Called

After option changes that impact font sizes or faces.

Example Usage

  hook.Add("RefreshFonts", "ExampleRefreshFonts", function(...)
      -- add custom client-side behavior
  end)

RegisterAdminStickSubcategories(categories)

Purpose

Register admin stick subcategories used to group commands.

When Called

When assembling the category tree for the admin stick.

Parameters

table categories Table of category -> subcategory mappings; modify in place.

Example Usage

  hook.Add("RegisterAdminStickSubcategories", "ExampleRegisterAdminStickSubcategories", function(...)
      -- add custom client-side behavior
  end)

ResetCharacterPanel()

Purpose

Reset the character panel to its initial state.

When Called

When the character menu needs to clear cached data/layout.

Example Usage

  hook.Add("ResetCharacterPanel", "ExampleResetCharacterPanel", function(...)
      -- add custom client-side behavior
  end)

RunAdminSystemCommand(cmd, admin, victim, dur, reason)

Purpose

Execute an admin-system command initiated from the UI.

When Called

When the admin stick or admin menu triggers a command.

Parameters

string cmd Command identifier.

Player admin Admin issuing the command.

Entity|Player victim Target of the command.

number|string dur Duration parameter if applicable.

string reason Optional reason text.

Example Usage

  hook.Add("RunAdminSystemCommand", "ExampleRunAdminSystemCommand", function(...)
      -- add custom client-side behavior
  end)

ScoreboardClosed(scoreboardPanel)

Purpose

Perform teardown when the scoreboard closes.

When Called

After the scoreboard panel is hidden or destroyed.

Parameters

Panel scoreboardPanel The scoreboard instance that was closed.

Example Usage

  hook.Add("ScoreboardClosed", "ExampleScoreboardClosed", function(...)
      -- add custom client-side behavior
  end)

ScoreboardOpened(scoreboardPanel)

Purpose

Initialize the scoreboard after it is created.

When Called

Right after the scoreboard panel is shown.

Parameters

Panel scoreboardPanel The scoreboard instance that opened.

Example Usage

  hook.Add("ScoreboardOpened", "ExampleScoreboardOpened", function(...)
      -- add custom client-side behavior
  end)

ScoreboardRowCreated(slot, ply)

Purpose

Customize a newly created scoreboard row.

When Called

When a player slot is added to the scoreboard.

Parameters

Panel slot Scoreboard row panel.

Player ply Player represented by the row.

Example Usage

  hook.Add("ScoreboardRowCreated", "ExampleScoreboardRowCreated", function(...)
      -- add custom client-side behavior
  end)

ScoreboardRowRemoved(scoreboardPanel, ply)

Purpose

React when a scoreboard row is removed.

When Called

When a player leaves or is otherwise removed from the scoreboard.

Parameters

Panel scoreboardPanel Scoreboard instance.

Player ply Player whose row was removed.

Example Usage

  hook.Add("ScoreboardRowRemoved", "ExampleScoreboardRowRemoved", function(...)
      -- add custom client-side behavior
  end)

SetMainCharacter(charID)

Purpose

Set the main character ID for future automatic selection.

When Called

When the player chooses a character to become their main.

Parameters

number charID Chosen character ID.

Example Usage

  hook.Add("SetMainCharacter", "ExampleSetMainCharacter", function(...)
      -- add custom client-side behavior
  end)

SetupQuickMenu(quickMenuPanel)

Purpose

Build the quick access menu when the context menu opens.

When Called

After the quick menu panel is created.

Parameters

Panel quickMenuPanel Panel that holds quick actions.

Example Usage

  hook.Add("SetupQuickMenu", "ExampleSetupQuickMenu", function(...)
      -- add custom client-side behavior
  end)

ShouldAllowScoreboardOverride(client, var)

Purpose

Decide if a player is permitted to override the scoreboard UI.

When Called

Before applying any scoreboard override logic.

Parameters

Player client Player requesting the override.

any var Additional context or override data.

Returns

boolean false to deny override; nil/true to allow.

Example Usage

  hook.Add("ShouldAllowScoreboardOverride", "ExampleShouldAllowScoreboardOverride", function(...)
      -- add custom client-side behavior
  end)

ShouldBarDraw(bar)

Purpose

Determine whether a HUD bar should render.

When Called

When evaluating each registered bar before drawing.

Parameters

table bar Bar definition.

Returns

boolean false to hide the bar; nil/true to show.

Example Usage

  hook.Add("ShouldBarDraw", "ExampleShouldBarDraw", function(...)
      -- add custom client-side behavior
  end)

ShouldDisableThirdperson(client)

Purpose

Decide whether third-person mode should be forcibly disabled.

When Called

When the third-person toggle state changes.

Parameters

Player client Local player toggling third person.

Returns

boolean false to block third-person; nil/true to allow.

Example Usage

  hook.Add("ShouldDisableThirdperson", "ExampleShouldDisableThirdperson", function(...)
      -- add custom client-side behavior
  end)

ShouldDrawAmmo(wpn)

Purpose

Let modules veto drawing the ammo HUD for a weapon.

When Called

Each HUDPaint frame before ammo boxes render.

Parameters

Weapon wpn Active weapon.

Returns

boolean false to hide ammo; nil/true to show.

Example Usage

  hook.Add("ShouldDrawAmmo", "ExampleShouldDrawAmmo", function(...)
      -- add custom client-side behavior
  end)

ShouldDrawEntityInfo(e)

Purpose

Control whether an entity should display info when looked at.

When Called

When deciding if entity info overlays should be generated.

Parameters

Entity e Entity under consideration.

Returns

boolean false to prevent info; nil/true to allow.

Example Usage

  hook.Add("ShouldDrawEntityInfo", "ExampleShouldDrawEntityInfo", function(...)
      -- add custom client-side behavior
  end)

ShouldDrawPlayerInfo(e)

Purpose

Decide whether player-specific info should be drawn for a target.

When Called

Before rendering the player info panel above a player.

Parameters

Player e Player entity being drawn.

Returns

boolean false to hide info; nil/true to draw.

Example Usage

  hook.Add("ShouldDrawPlayerInfo", "ExampleShouldDrawPlayerInfo", function(...)
      -- add custom client-side behavior
  end)

ShouldDrawWepSelect(client)

Purpose

Decide if the custom weapon selector should draw for a player.

When Called

Each frame the selector evaluates visibility.

Parameters

Player client Local player.

Returns

boolean false to hide the selector; nil/true to allow.

Example Usage

  hook.Add("ShouldDrawWepSelect", "ExampleShouldDrawWepSelect", function(...)
      -- add custom client-side behavior
  end)

ShouldHideBars()

Purpose

Hide all HUD bars based on external conditions.

When Called

Before drawing any bars on the HUD.

Returns

boolean true to hide all bars; nil/false to render them.

Example Usage

  hook.Add("ShouldHideBars", "ExampleShouldHideBars", function(...)
      -- add custom client-side behavior
  end)

ShouldMenuButtonShow(arg1)

Purpose

Decide whether a button should appear in the menu bar.

When Called

When building quick menu buttons.

Parameters

table|string arg1 Button identifier or data.

Returns

boolean false to hide; nil/true to show.

Example Usage

  hook.Add("ShouldMenuButtonShow", "ExampleShouldMenuButtonShow", function(...)
      -- add custom client-side behavior
  end)

ShouldRespawnScreenAppear()

Purpose

Control whether the respawn screen should be displayed.

When Called

When the client dies and the respawn UI might show.

Returns

boolean false to suppress; nil/true to display.

Example Usage

  hook.Add("ShouldRespawnScreenAppear", "ExampleShouldRespawnScreenAppear", function(...)
      -- add custom client-side behavior
  end)

ShouldShowCharVarInCreation(key)

Purpose

Determine if a character variable should appear in the creation form.

When Called

While assembling the list of editable character variables.

Parameters

string key Character variable identifier.

Returns

boolean false to hide; nil/true to show.

Example Usage

  hook.Add("ShouldShowCharVarInCreation", "ExampleShouldShowCharVarInCreation", function(...)
      -- add custom client-side behavior
  end)

ShouldShowClassOnScoreboard(clsData)

Purpose

Decide whether to display a player’s class on the scoreboard.

When Called

When rendering scoreboard rows that include class info.

Parameters

table clsData Class data table for the player.

Returns

boolean false to hide class; nil/true to show.

Example Usage

  hook.Add("ShouldShowClassOnScoreboard", "ExampleShouldShowClassOnScoreboard", function(...)
      -- add custom client-side behavior
  end)

ShouldShowFactionOnScoreboard(ply)

Purpose

Decide whether to display a player’s faction on the scoreboard.

When Called

When rendering a scoreboard row.

Parameters

Player ply Player being displayed.

Returns

boolean false to hide faction; nil/true to show.

Example Usage

  hook.Add("ShouldShowFactionOnScoreboard", "ExampleShouldShowFactionOnScoreboard", function(...)
      -- add custom client-side behavior
  end)

ShouldShowPlayerOnScoreboard(ply)

Purpose

Decide whether a player should appear on the scoreboard at all.

When Called

Before adding a player row to the scoreboard.

Parameters

Player ply Player under consideration.

Returns

boolean false to omit the player; nil/true to include.

Example Usage

  hook.Add("ShouldShowPlayerOnScoreboard", "ExampleShouldShowPlayerOnScoreboard", function(...)
      -- add custom client-side behavior
  end)

ShouldShowQuickMenu()

Purpose

Control whether the quick menu should open when the context menu is toggled.

When Called

When the context menu is opened.

Returns

boolean false to prevent quick menu creation; nil/true to allow.

Example Usage

  hook.Add("ShouldShowQuickMenu", "ExampleShouldShowQuickMenu", function(...)
      -- add custom client-side behavior
  end)

ShowPlayerOptions(target, options)

Purpose

Populate the options menu for a specific player (e.g., mute, profile).

When Called

When opening a player interaction context menu.

Parameters

Player target Player the options apply to.

table options Table of options to display; modify in place.

Example Usage

  hook.Add("ShowPlayerOptions", "ExampleShowPlayerOptions", function(...)
      -- add custom client-side behavior
  end)

StorageOpen(storage, isCar)

Purpose

Handle the client opening a storage entity inventory.

When Called

When storage access is approved and panels are about to show.

Parameters

Entity|table storage Storage entity or custom storage table.

boolean isCar True if the storage is a vehicle trunk.

Example Usage

  hook.Add("StorageOpen", "ExampleStorageOpen", function(...)
      -- add custom client-side behavior
  end)

StorageUnlockPrompt(entity)

Purpose

Prompt the player to unlock a locked storage entity.

When Called

When the client interacts with a locked storage container.

Parameters

Entity entity Storage entity requiring an unlock prompt.

Example Usage

  hook.Add("StorageUnlockPrompt", "ExampleStorageUnlockPrompt", function(...)
      -- add custom client-side behavior
  end)

ThirdPersonToggled(arg1)

Purpose

React when the third-person toggle state changes.

When Called

After third-person mode is turned on or off.

Parameters

boolean arg1 New third-person enabled state.

Example Usage

  hook.Add("ThirdPersonToggled", "ExampleThirdPersonToggled", function(...)
      -- add custom client-side behavior
  end)

TooltipInitialize(var, panel)

Purpose

Initialize tooltip contents and sizing for Lilia tooltips.

When Called

When a tooltip panel is created.

Parameters

Panel var Tooltip panel.

Panel panel Source panel that spawned the tooltip.

Example Usage

  hook.Add("TooltipInitialize", "ExampleTooltipInitialize", function(...)
      -- add custom client-side behavior
  end)

TooltipLayout(var)

Purpose

Control tooltip layout; return true to keep the custom layout.

When Called

Each frame the tooltip is laid out.

Parameters

Panel var Tooltip panel.

Returns

boolean true if a custom layout was applied.

Example Usage

  hook.Add("TooltipLayout", "ExampleTooltipLayout", function(...)
      -- add custom client-side behavior
  end)

TooltipPaint(var, w, h)

Purpose

Paint the custom tooltip background and contents.

When Called

When a tooltip panel is drawn.

Parameters

Panel var Tooltip panel.

number w Width.

number h Height.

Returns

boolean true if the tooltip was fully painted.

Example Usage

  hook.Add("TooltipPaint", "ExampleTooltipPaint", function(...)
      -- add custom client-side behavior
  end)

VendorExited()

Purpose

Handle logic when exiting a vendor menu.

When Called

After the vendor UI is closed.

Example Usage

  hook.Add("VendorExited", "ExampleVendorExited", function(...)
      -- add custom client-side behavior
  end)

VendorOpened(vendor)

Purpose

Perform setup when a vendor menu opens.

When Called

Immediately after opening the vendor UI.

Parameters

Entity|table vendor Vendor being accessed.

Example Usage

  hook.Add("VendorOpened", "ExampleVendorOpened", function(...)
      -- add custom client-side behavior
  end)

VoiceToggled(enabled)

Purpose

Respond to voice chat being toggled on or off.

When Called

When the client enables or disables in-game voice.

Parameters

boolean enabled New voice toggle state.

Example Usage

  hook.Add("VoiceToggled", "ExampleVoiceToggled", function(...)
      -- add custom client-side behavior
  end)

WeaponCycleSound()

Purpose

Play a custom sound when cycling weapons.

When Called

When the weapon selector changes selection.

Returns

string|nil Sound path to play; nil to use default.

Example Usage

  hook.Add("WeaponCycleSound", "ExampleWeaponCycleSound", function(...)
      -- add custom client-side behavior
  end)

WeaponSelectSound()

Purpose

Play a sound when confirming weapon selection.

When Called

When the weapon selector picks the highlighted weapon.

Returns

string|nil Sound path to play; nil for default.

Example Usage

  hook.Add("WeaponSelectSound", "ExampleWeaponSelectSound", function(...)
      -- add custom client-side behavior
  end)

WebImageDownloaded(n, arg2)

Purpose

Handle a downloaded web image asset.

When Called

After a remote image finishes downloading.

Parameters

string n Image identifier.

string arg2 Local path or URL of the image.

Example Usage

  hook.Add("WebImageDownloaded", "ExampleWebImageDownloaded", function(...)
      -- add custom client-side behavior
  end)

WebSoundDownloaded(name, path)

Purpose

Handle a downloaded web sound asset.

When Called

After a remote sound file is fetched.

Parameters

string name Sound identifier.

string path Local file path where the sound was saved.

Example Usage

  hook.Add("WebSoundDownloaded", "ExampleWebSoundDownloaded", function(...)
      -- add custom client-side behavior
  end)

OnModelPanelSetup(self)

Purpose

Called after a liaModelPanel has been initialized and its model has been set.

When Called

During the SetModel process of a liaModelPanel, after the entity is created and sequences are initialized.

Parameters

Panel self The liaModelPanel instance that was set up.

Example Usage

  hook.Add("OnModelPanelSetup", "CustomizeModelPanel", function(panel)
      panel:SetFOV(45)
  end)