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
No edit summary |
SirYodaJedi (talk | contribs) |
||
(20 intermediate revisions by 12 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 == | == 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|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|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|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 StartDisabled}} | |||
{{KV | |||
== Flags == | == 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 == | == 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 == | |||
* {{ent|logic_case}} | |||
* [[Left 4 Dead 2/Script Functions/AddThinkToEnt]] | |||
[[Category:IO System]] | [[Category:IO System]] |
Latest revision as of 06: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.
parentname
ortarget
).
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
Enable
input).
Flags
- Oscillator : [1]
- (alternates between
OnTimerHigh
andOnTimerLow
outputs)

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.