logic_script
		
		
		
		Jump to navigation
		Jump to search
		
|  Class hierarchy | 
|---|
| CLogicScript | 
logic_script  is a   point entity  available in all  Source games since
 Source games since  Left 4 Dead 2.. It is also available in
 Left 4 Dead 2.. It is also available in  Team Fortress 2,
 Team Fortress 2,  Half-Life 2: Deathmatch and
 Half-Life 2: Deathmatch and  Mapbase.
 Mapbase.
This entity functions as a container for VScripts. In Left 4 Dead 2, for example, it is used extensively for the logic in "carnival games" found in the Dark Carnival campaign, such as Peanut Gallery, Strongman Contest, Whack-a-Stach, etc.
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
- EntityGroup[0] (Group00) to EntityGroup[15] (Group15) <targetname>
- All specified entity names will be searched for upon this entity spawning and their script handles are added to an array named EntityGroupinlogic_script's script scope.EntityGroup[0]contains handle of entity with name specified in EntityGroup[0] property etc. If multiple entities with the given named exists, handle of first found will be used.
- Table MyEntityGroupis also created which contains the handles with keys being the names. (for some reason there is alsoMyEntityGroupArraywhich is same asEntityGroup)
| The following vscript is run in logic_script scope when it spawns.  EntityGroup <- [];
MyEntityGroup <- {};
MyEntityGroupArray <- EntityGroup;
function __AppendToScriptGroup( name ) 
{
	if ( name.len() == 0 ) 
	{ 
		EntityGroup.append( null ); 
	} 
	else
	{ 
		local ent = Entities.FindByName( null, name );
		EntityGroup.append( ent );
		if ( ent != null )
		{
			ent.ValidateScriptScope();
			MyEntityGroup[name] <- ent;
			ent.GetScriptScope().EntityGroup <- EntityGroup;
		}
	}
}
 | 
 Note:For other vscript keyvalues notable for this entity like vscripts, thinkfunction and inputs like RunScriptCode, CallScriptFunction see Generic Keyvalues, Inputs and Outputs
Note:For other vscript keyvalues notable for this entity like vscripts, thinkfunction and inputs like RunScriptCode, CallScriptFunction see Generic Keyvalues, Inputs and Outputs See also
External links
- It's the vscripting documentation FAQ! (Steam Forums)
- Scripting for Left 4 Dead 2 (Leeland.net) - Example uses of logic_script





























