Lua run: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Gtamike TSGK (talk | contribs) (Added example RunConsoleCommand (Note: No External .Lua file is needed for this to run correctly)) |
||
Line 17: | Line 17: | ||
{{I|RunCode|Run Code that was defined in the entity.}} | {{I|RunCode|Run Code that was defined in the entity.}} | ||
{{I|RunPassedCode|param=string|Run code that was passed as a variable.}} | {{I|RunPassedCode|param=string|Run code that was passed as a variable.}} | ||
== Example Code == | |||
RunConsoleCommand('say', 'Hello World') |
Revision as of 08:00, 30 August 2025

lua_run
is a logical entity available in Garry's Mod. It runs raw Lua code given to it in its keyvalues.
Keyvalues
- Name (targetname) <string>[ Edit ]
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- Code (Code) <string>
- Lua code to run when triggered.
The lua variables ACTIVATOR and CALLER may be used in the code, as well as TRIGGER_PLAYER if !activator resolves to a player. Warning:Using the quote symbol
"
in any text field of a Hammer Object Properties Dialog will lead to VMF corruption, fixable only by editing the VMF directly with a text editor and removing the added quote symbol.Workaround:You should instead use either an apostrophe (single quote) ' or brackets [[]] to contain strings in your lua code.
Tip:Using include() you can run external lua files. The function looks for files in
\GarrysMod\garrysmod\addons\mapcontent\lua
.
For example you could create a file named MyMapScript.lua at\GarrysMod\garrysmod\addons\mapcontent\lua\MyMapScript.lua
, which could then be run in Hammer with include('MyMapScript.lua').
Flags
- Run code on spawn : [1]
Inputs
- RunCode
- Run Code that was defined in the entity.
- RunPassedCode <string >
- Run code that was passed as a variable.
Example Code
RunConsoleCommand('say', 'Hello World')