Timer Block

From Space Engineers Wiki
Revision as of 13:58, 1 December 2015 by Westeastnorth (talk | contribs) (+slight clean up.)
Jump to: navigation, search


Timer Block Icon.png
Large Ship Icon.png
Large Ship / Station
Timer Block
 
Components
Required

 

 
 
 
Mass (kg):
0
 
Integrity:
0
 
Build time (seconds):
10
 
Active power consumption (MW):
0
 
Idle Power Consumption (MW):
0
 
Dimensions (W x H x D):
1 x 1 x 1
Timer Block Icon.png
Small Ship Icon.png
Small Ship
Timer Block
 
Components
Required

 

 
 
 
Mass (kg):
0
 
Integrity:
0
 
Build time (seconds):
2
 
Active power consumption (MW):
0
 
Idle Power Consumption (MW):
0
 
Dimensions (W x H x D):
1 x 1 x 1

Description

The Timer Block is a meta block used to execute actions of any block it's connected to. The actions can also be executed after a delay, hence the name. This allows automation / programming of actions.

An action is defined by the properties of a block. Often the actions are the ones you can apply in the "G"-menu when e.g. configuring the action bar of a cockpit. For instance, a warhead can be detonated or the safety can be toggled on or off. The Timer Block can also execute it's own actions, enabling loops by ending it's sequence with a Start.

A block is connected with the Timer Block when both are on the same grid or sub-grid (other grids that connected via Connectors, Rotors or Pistons). Connection via antennas, i.e. executing actions in remote objects is currently not possible.

A curious property of the timer block is that although it requires electricity, it does not actually consume any Watts idle or otherwise. If a Grid has any power available to it, it will be able to run without consuming any of the electricity available.

Properties

Name Min. Value Max. Value Unit Description
TriggerDelay 1 3600 Second Delay to execute the actions after starting the timer

Actions

Action Prerequisite Description
Toggle block On/Off None Toggles on/off state of the Timer Block
Toggle block On None Switches the Timer Block on.
Toggle block Off None Switches the Timer Block off.
Increase Delay None Increases the current delay by tbd. seconds
Decrease Delay None Decreases the current delay by tbd. seconds
Trigger now Block has to be on Immediately executes all programmed actions
Start Block has to be on Starts a timer with the current delay and executes all programmed actions after the timer expires
Stop None (?) Stops the timer if running thereby preventing the execution of the actions after the delay

Programming

(IMyTimerBlock)
Actions:

block.ApplyAction("Start")
block.ApplyAction("TriggerNow")
...

Properties:

Rules / Behaviour

  • The Timer Block can execute up to 90 actions
  • Switching the Timer Block off while the timer is running doesn't stop the timer, just interrupts its operation for the duration it's off. The timer continues operation after switching the Timer Block on again (this is currently bugged, it will not continue if a map has been reloaded)
  • Executing actions Trigger Now and Start immediately after action Toggle block On: These actions won't be executed if programmed in another timer block which switches the timer block on (when it is in state "off")

E.g.

Timer Block 1:
Action 1: Timer Block 2 - Toggle block On
Action 2: Timer Block 2 - Start

On triggering Timer Block 1 when Timer Block 2 is off, the Start action has no effect because Timer Block 2 needs some time to power up but the Start action is executed before it's powered up.

  • Switching a Timer Block off ends a Trigger Now (endless) loop.

E.g.

Timer Block 2:
Action 1: Rotor 1 - Increase Velocity
Action 2: Timer Block 2 - Trigger Now

Triggering Timer Block 2 starts an endless loop increasing the revolution speed of Rotor 1. Switching Timer Block 2 off will end this loop. It won't be continued when switching Timer Block 2 on again.

  • Timer block delays are not entirely accurate. A timer set to 5 seconds may not fire until 5.5 seconds have elapsed. If you are triggering things which depend on an exact number of game ticks/length of game time, timer delays may not be the right tool. Further experiments needed to confirm exact behaviour.