Lua run: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
 
		
	
| m (→Inputs:  Substituted IO templates) | Gtamike TSGK (talk | contribs)  No edit summary | ||
| (9 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| {{LanguageBar}} | {{LanguageBar}} | ||
| {{this is a|logical entity|name=lua_run|notext=1|game=Garry's Mod|sprite=1}} It runs raw [http://en.wikipedia.org/wiki/Lua_%28programming_language%29 Lua] code given to it in its keyvalues. | |||
| {{clr}} | |||
| {{this is a| | |||
| | | |||
| }} | |||
| It runs raw [http://en.wikipedia.org/wiki/Lua_%28programming_language%29 Lua] code given to it in its keyvalues. | |||
| == Keyvalues == | == Keyvalues == | ||
| {{KV Targetname}} | |||
| {{KV|Code|intn=Code|string|Lua code to run when triggered.</br>The lua variables {{Code|ACTIVATOR}} and {{Code|CALLER}} may be used in the code, as well as {{Code|TRIGGER_PLAYER}} if '''!activator''' resolves to a player.}} | {{KV|Code|intn=Code|string|Lua code to run when triggered.</br>The lua variables {{Code|ACTIVATOR}} and {{Code|CALLER}} may be used in the code, as well as {{Code|TRIGGER_PLAYER}} if '''!activator''' resolves to a player.}} | ||
| {{ | :{{Hammer quote warning}} | ||
| {{tip|Using {{code|include()}} you can run external lua files. The function looks for files in {{path|\GarrysMod\garrysmod\addons\mapcontent\lua}}.<br>For example you could create a file named {{code|MyMapScript.lua}} <!-- I wonder wheres this file name came from? The answer is a steam guide, I didn't figure this shit out myself. -Wisdurm --> at {{path|\GarrysMod\garrysmod\addons\mapcontent\lua\MyMapScript.lua}}, which could then be run in Hammer with {{code|include('MyMapScript.lua')}}. | :{{Workaround|You should instead use either an apostrophe (single quote) {{Code|'}} or brackets {{Code|[[]]}} to contain strings in your lua code.}} | ||
| :{{tip|Using {{code|include()}} you can run external lua files. The function looks for files in {{path|\GarrysMod\garrysmod\addons\mapcontent\lua}}.<br>For example you could create a file named {{code|MyMapScript.lua}} <!-- I wonder wheres this file name came from? The answer is a steam guide, I didn't figure this shit out myself. -Wisdurm --> at {{path|\GarrysMod\garrysmod\addons\mapcontent\lua\MyMapScript.lua}}, which could then be run in Hammer with {{code|include('MyMapScript.lua')}}. | |||
| }} | }} | ||
| == Flags == | == Flags == | ||
| {{Fl|1|Run code on spawn}} | |||
| == Inputs == | == Inputs == | ||
| {{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 == | |||
| '''Lua_run Chat Message''' | |||
| *<code>RunConsoleCommand('say', 'Hello World')</code> | |||
| '''lua_run parents a spark to the player, the spark then starts, stops after 10 seconds and removes itself for clean up''' | |||
| *<code>for k,v in pairs(ents.FindInSphere(Entity(1):GetPos(), 50)) do if v:IsPlayer() then local spark = ents.Create('env_spark'); spark:SetKeyValue('MaxDelay', '0.1'); spark:SetKeyValue('TrailLength', '3'); spark:SetKeyValue('Magnitude', '8'); spark:SetPos(v:GetPos() + Vector(0,0,45)); spark:SetParent(v); spark:Spawn(); spark:Fire('StartSpark'); spark:Fire('Kill', '', 10); end end</code> | |||
| == External links == | |||
| '''Map example .VMF and .BSP (x3 lua_run functioning) - By gtamike_TSGK''' | |||
| * http://gtamike.tsgk.com/gtamike_TSGK/test_area_lua_run_v2.zip | |||
| '''Advanced Map example .VMF and .BSP (x3 lua_run parenting a spark to the player) - By gtamike_TSGK''' | |||
| * http://gtamike.tsgk.com/gtamike_TSGK/lua_run_spark_on_player_v2.zip | |||
Latest revision as of 16:33, 11 September 2025

lua_run  is a   logical entity  available in  Garry's Mod. It runs raw Lua code given to it in its keyvalues.
 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. parentnameortarget).
 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 variablesACTIVATORandCALLERmay be used in the code, as well asTRIGGER_PLAYERif !activator resolves to a player.
 Warning:Using the quote symbol 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) Workaround:You should instead use either an apostrophe (single quote)- 'or brackets- [[]]to contain strings in your lua code.
 Tip:Using 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.luaat - \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
Lua_run Chat Message
- RunConsoleCommand('say', 'Hello World')
lua_run parents a spark to the player, the spark then starts, stops after 10 seconds and removes itself for clean up
- for k,v in pairs(ents.FindInSphere(Entity(1):GetPos(), 50)) do if v:IsPlayer() then local spark = ents.Create('env_spark'); spark:SetKeyValue('MaxDelay', '0.1'); spark:SetKeyValue('TrailLength', '3'); spark:SetKeyValue('Magnitude', '8'); spark:SetPos(v:GetPos() + Vector(0,0,45)); spark:SetParent(v); spark:Spawn(); spark:Fire('StartSpark'); spark:Fire('Kill', , 10); end end
External links
Map example .VMF and .BSP (x3 lua_run functioning) - By gtamike_TSGK
Advanced Map example .VMF and .BSP (x3 lua_run parenting a spark to the player) - By gtamike_TSGK

























