Lua run: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Added Advanced Map example)
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 19: Line 19:


== Example Code ==
== Example Code ==
RunConsoleCommand('say', 'Hello World')
'''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 ==
== External links ==
'''Map example .VMF and .BSP (lua_run functioning x3) - By gtamike_TSGK'''
'''Map example .VMF and .BSP (x3 lua_run functioning) - By gtamike_TSGK'''
* http://gtamike.tsgk.com/gtamike_TSGK/test_area_lua_run_v2.zip
* http://gtamike.tsgk.com/gtamike_TSGK/test_area_lua_run_v2.zip


'''Advanced Map example .VMF and .BSP (lua_run parenting a spark to the player) - By gtamike_TSGK'''
'''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.rar
* http://gtamike.tsgk.com/gtamike_TSGK/lua_run_spark_on_player_v2.zip

Latest revision as of 16:33, 11 September 2025

English (en)Русский (ru)Translate (Translate)
Lua run.png

lua_run is a logical entity available in Garry's Mod 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 or target).
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.pngWarning: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.
PlacementTip.pngWorkaround:You should instead use either an apostrophe (single quote) ' or brackets [[]] to contain strings in your lua code.
Tip.pngTip: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 <stringRedirectInput/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