Logic timer: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		

Tip:Use with logic_case for extremely random events.
Tip:It will start with 
		
	
m (Robot: fixing template case.)  | 
				SirYodaJedi (talk | contribs)   | 
				||
| (40 intermediate revisions by 22 users not shown) | |||
| Line 1: | Line 1: | ||
{{  | {{LanguageBar}}  | ||
{{  | {{TabsBar|main=s2|base=logic_timer}}  | ||
{{CD|CTimerEntity|base=CLogicalEntity|file1=logicentities.cpp}}  | |||
{{This is a|logical entity|name=logic_timer|sprite=1}} fires an [[output]] at regular or random intervals. It can optionally alternate between a "high" and a "low" output.  | |||
{{Tip|Use with {{ent|logic_case}} for extremely random events.}}  | |||
==  | == Keyvalues ==  | ||
{{KV Targetname}}  | |||
{{KV|Use Random Time|intn=UseRandomTime|boolean|Makes the entity fire at random intervals. Range of values is restricted by the next two KVs. }}  | |||
{{KV|Minimum Random Interval|intn=LowerRandomBound|float|If "Use Random Time" is set, this is the minimum time between timer fires. The time will be a random number between this and the "Maximum Random Interval".}}  | |||
{{KV|Maximum Random Interval|intn=UpperRandomBound|float|If "Use Random Time" is set, this is the maximum time between timer fires. The time will be a random number between the "Minimum Random Interval" and this.}}  | |||
{{KV|Refire Interval|intn=RefireTime|float|If "Use Random Time" isn't set, this is the time between timer fires, in seconds. Make sure output delay times are less than this value.}}  | |||
{{KV StartDisabled}}  | |||
==  | == Flags ==  | ||
{{fl|1|Oscillator|(alternates between <code>OnTimerHigh</code> and <code>OnTimerLow</code> outputs)}}  | |||
{{tip|It will start with <code>OnTimerLow</code>, and all the odd-numbered refires will be <code>OnTimerLow</code>.}}  | |||
== Inputs ==  | |||
{{I|RefireTime|Set a new Refire Interval.|param=float}}  | |||
{{I|ResetTimer|Reset the timer. It will fire after the Refire Interval expires.}}  | |||
{{I|FireTimer|Force the timer to fire immediately.}}  | |||
{{I|Enable|Enable the timer. {{Note|Enabling the entity resets its timer.}}}}  | |||
{{I|Disable|Disable the timer.}}  | |||
{{I|Toggle|Toggle the timer on/off.}}  | |||
{{I|LowerRandomBound|Set a new Minimum Random Interval.|param=float}}  | |||
{{I|UpperRandomBound|Set a new Maximum Random Interval.|param=float}}  | |||
{{I|AddToTimer|Add time to the timer if it is currently enabled.  Does not change the Refire Interval.|param=float}}  | |||
{{I|SubtractFromTimer|Subtract time from the timer if it is currently enabled.  Does not change the Refire Interval.|param=float}}  | |||
{{I|UseRandomTime|0 or 1, whether random time is enabled. If random time starts enabled and gets disabled here, the refire interval is set to the Maximum Random Interval.|nofgd=1}}  | |||
== Outputs ==  | |||
{{O|OnTimer|Fired when the timer expires.}}  | |||
{{O|OnTimerHigh|Fired every other time for an oscillating timer.}}  | |||
{{O|OnTimerLow|Fired every other time for an oscillating timer.}}  | |||
*   | == See also ==  | ||
* {{ent|logic_case}}  | |||
* [[Left 4 Dead 2/Script Functions/AddThinkToEnt]]  | |||
[[Category:IO System]]  | |||
:   | |||
Latest revision as of 05:47, 4 June 2025
| CTimerEntity | 

logic_timer  is a   logical entity  available in all 
 Source games. fires an output at regular or random intervals. It can optionally alternate between a "high" and a "low" output.
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 
- Use Random Time (UseRandomTime) <boolean>
 - Makes the entity fire at random intervals. Range of values is restricted by the next two KVs.
 
- Minimum Random Interval (LowerRandomBound) <float>
 - If "Use Random Time" is set, this is the minimum time between timer fires. The time will be a random number between this and the "Maximum Random Interval".
 
- Maximum Random Interval (UpperRandomBound) <float>
 - If "Use Random Time" is set, this is the maximum time between timer fires. The time will be a random number between the "Minimum Random Interval" and this.
 
- Refire Interval (RefireTime) <float>
 - If "Use Random Time" isn't set, this is the time between timer fires, in seconds. Make sure output delay times are less than this value.
 
- Start Disabled (StartDisabled) <boolean>
 - Stay dormant until activated (with the
Enableinput). 
Flags
- Oscillator : [1]
 - (alternates between 
OnTimerHighandOnTimerLowoutputs) 
OnTimerLow, and all the odd-numbered refires will be OnTimerLow.Inputs
- RefireTime <float>
 - Set a new Refire Interval.
 
- ResetTimer
 - Reset the timer. It will fire after the Refire Interval expires.
 
- FireTimer
 - Force the timer to fire immediately.
 
- Enable
 - Enable the timer. 
Note:Enabling the entity resets its timer. 
- Disable
 - Disable the timer.
 
- Toggle
 - Toggle the timer on/off.
 
- LowerRandomBound <float>
 - Set a new Minimum Random Interval.
 
- UpperRandomBound <float>
 - Set a new Maximum Random Interval.
 
- AddToTimer <float>
 - Add time to the timer if it is currently enabled. Does not change the Refire Interval.
 
- SubtractFromTimer <float>
 - Subtract time from the timer if it is currently enabled. Does not change the Refire Interval.
 
- UseRandomTime !FGD
 - 0 or 1, whether random time is enabled. If random time starts enabled and gets disabled here, the refire interval is set to the Maximum Random Interval.
 
Outputs
- OnTimer
 - Fired when the timer expires.
 
- OnTimerHigh
 - Fired every other time for an oscillating timer.
 
- OnTimerLow
 - Fired every other time for an oscillating timer.