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

 Tip:Use with logic_case for extremely random events.
Tip:Use with logic_case for extremely random events.
 Tip:It will start with
Tip:It will start with 
		
	
| Darkness8163 (talk | contribs) m (Added {{LanguageBar}}) | SirYodaJedi (talk | contribs)  | ||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| {{LanguageBar}} | {{LanguageBar}} | ||
| {{TabsBar|main=s2|base=logic_timer}} | |||
| {{CD|CTimerEntity|file1=logicentities.cpp}} | {{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 == | == Keyvalues == | ||
| Line 13: | Line 11: | ||
| {{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|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|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  | {{KV StartDisabled}} | ||
| == Flags == | == Flags == | ||
| Line 20: | Line 18: | ||
| == Inputs == | == 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  | {{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 == | == 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 == | == See also == | ||
Latest revision as of 06:47, 4 June 2025
|  Class hierarchy | 
|---|
| CTimerEntity | 
|  logicentities.cpp | 

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.
 Source games. fires an output at regular or random intervals. It can optionally alternate between a "high" and a "low" output.
 Tip:Use with logic_case for extremely random events.
Tip:Use with logic_case for extremely random events.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 theEnableinput).
Flags
- Oscillator : [1]
- (alternates between OnTimerHighandOnTimerLowoutputs)
 Tip:It will start with
Tip:It will start with 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. 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.


























