Client
This page documents the functions and methods in the meta table.
Overview
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)
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)
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)
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)
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)
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)
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)
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
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
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
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
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)
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)
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)
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)
ModifyScoreboardModel(arg1, ply)
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)
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)
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)
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)
PostDrawInventory(mainPanel, parentPanel)
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)
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)
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)
ScoreboardRowRemoved(scoreboardPanel, ply)
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)
ShouldAllowScoreboardOverride(client, var)
Purpose
Decide if a player is permitted to override the scoreboard UI.
When Called
Before applying any scoreboard override logic.
Parameters
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)
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)
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)
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
Returns
boolean true if the tooltip was fully painted.
Example Usage
hook.Add("TooltipPaint", "ExampleTooltipPaint", 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)
WebSoundDownloaded(name, path)
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)