Garry's Mod Wiki

Revision Difference

Tool_Information_Display#548652

<cat>Dev.UI</cat> This page describes how to use **TOOL.Information**. ⤶ ⤶ ⤶ **CLEAN ME UP**⤶ You can find source code for it [here](https://github.com/garrynewman/garrysmod/blob/master/garrysmod/gamemodes/sandbox/entities/weapons/gmod_tool/cl_init.lua#L100-L162). ⤶ You cannot have more than two key combinations displayed.⤶ Here's an example: ⤶ ⤶ ``` if CLIENT then TOOL.Information = { { name = "info", stage = 1 }, { name = "left" }, { name = "right" }, { name = "right_use", icon2 = "gui/e.png" }, { name = "reload" }, { name = "reload_use", icon2 = "gui/e.png" }, } language.Add( "tool.example.1", "See information in the context menu" ) language.Add( "tool.example.left", "Select an object" ) language.Add( "tool.example.right", "Select next mode" ) language.Add( "tool.example.right_use", "Select previous mode" ) language.Add( "tool.example.reload", "Select yourself" ) language.Add( "tool.example.reload_use", "Select your view model" ) end ``` ⤶ ⤶ For each table inside the TOOL.Information a new line of text is added on HUD. It will display "#tool.<toolclassname>.<namefromthename>" by default. ⤶ * <toolclassname> is the filename of your tool.⤶ ⤶ ⤶ ⤶ ⤶ * **icon** key defines a path to the icon * **icon2** key defines a a second icon path⤶ * certain **name**s have a default fallback icon⤶ * **stage** key makes the text only appear for given stage ( <page>Tool:SetStage</page> ) * **op** key makes the text only appear for given operation ( <page>Tool:SetOperation</page> )⤶ <upload src="70c/8daf9714ccb9e8a.png" size="185026" name="hl2_5Yw8XBsSlc.png" />⤶ ⤶ For each table inside the `TOOL.Information` a new line of text is added to the Tools help HUD. ⤶ ### Key explanations⤶ ⤶ * `name` - Overrides the localization string to `#tool.<toolclassname>.<name>` (`<toolclassname>` is the filename of your tool)⤶ * Default value is `info`, which will display `tool.<toolclassname>.<toolstage>`, like all tools that do not use `TOOL.Information` do.⤶ * `icon` - A path to the first icon * `icon2` - A second icon path, for key combination icons⤶ * `stage` - Makes the text only appear for given stage ( <page>Tool:SetStage</page> )⤶ * `op` - Makes the text only appear for given operation ( <page>Tool:SetOperation</page> ) ⤶ ### Default icon fallbacks⤶ ⤶ Certain names have a default fallback icons:⤶ * If your `name` ends on `use` and you do not override the `icon2`, `icon2` will be E key. ( `gui/e.png` )⤶ * If your `name` starts with `info` - default icon is `gui/info`⤶ * If your `name` starts with `left` - default icon is LMB icon ( `gui/lmb.png` )⤶ * If your `name` starts with `right` - default icon is RMB icon ( `gui/rmb.png` )⤶ * If your `name` starts with `reload` - default icon is R key icon ( `gui/r.png` )⤶ ⤶ ⤶ ⤶ * Default name is "info", which will display tool.example.<toolstage>, as all tools that do not use TOOL.Information do.⤶ * If your name ends on "use" and you do not override the icon2, icon2 will be E key. ( gui/e.png )⤶ * If your name starts with "info" - default icon is "gui/info"⤶ * If your name starts with "left" - default icon is LMB icon ( gui/lmb.png )⤶ * If your name starts with "right" - default icon is RMB icon ( gui/rmb.png )⤶ * If your name starts with "reload" - default icon is R key icon ( gui/r.png )⤶ ⤶ ⤶ <note>To change what the Panel on the front of the ToolGun looks like use the function <page>TOOL:DrawToolScreen</page></note><note>To change what the screen on the ToolGun model looks like - see <page>TOOL:DrawToolScreen</page></note>