This article's documentation is for Source 2. Click here for more information.

logic_timer

From Valve Developer Community
Jump to: navigation, search
class hierarchy
CTimerEntity defined in logicentities.cpp
CLogicalEntity
CServerOnlyEntity
CBaseEntity
Logic timer.png

logic_timer is a point entity available in all Source 2 Source 2 games. It fires an output at regular or random intervals. It can optionally alternate between a "high" and a "low" output.

Note.pngNote:Enabling the entity resets its timer.

Keyvalues

Name (targetname) <string>
The targetname that other entities refer to this entity by.
Use Random Time (UseRandomTime) <boolean>
Makes the entity fire at random intervals. Range of values is restricted by the next two KVs.
Pause After Firing (PauseAfterFiring) <boolean>
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.
Initial delay before first fire (InitialDelay) <float>
Time to wait after the timer is enabled before firing the first time. Negative values can be used to avoid waiting the lower random bound on spawn, or positive values to postpone the first event.

EnableDisable:

Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).

Flags

  •  [1] : Oscillator
       Alternates between OnTimerHigh and OnTimerLow outputs

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.
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.
PauseTimer
Pauses the timer, maintaining its current remaining time.
UnpauseTimer
Unpauses the timer, continuing from where it left off when frozen.

EnableDisable:

Enable
Disable
Enable/disable this entity from performing its task. It might also disappear from view.

Base:

RunScriptFile
Load and execute a script file.
RunScriptCode
Execute a fragment of script code.
CallScriptFunction
Call a script function.
CallPrivateScriptFunction
Calls a script function from this entity's private script scope.
CallGlobalScriptFunction
Calls a script function in the global script scope.
Kill
Removes this entity from the world.
KillHierarchy
Removes this entity and all its children from the world.
AddOutput
Adds an entity I/O connection to this entity. Parameter format: OutputName→TargetName→InputName→Parameter→Delay→MaxRefires
FireUser1 to FireUser4
Fires the respectiveOnUseroutputs; see User Inputs and Outputs.

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.

Base:

OnUser1 to OnUser4
These outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.
OnKilled
This output fires when the entity is killed and removed from the game. Parameter is the inflictor.