Virtual signals: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (Small cleanup)
(merged into circuit network)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Languages}}
#REDIRECT[[Circuit network#Virtual signals]]
 
[[File:virtual_signals.png|thumb|300px]][[File:logic_signals.png|300px|thumb|There are three types of logic signals]]
'''Virtual signals''' can used as signals in [[Circuit network]]s. They are signals that are not associated with a certain item type, and therefore are immune to non-player based changes. If a circuit network contains virtual signals, they act like a normal item signal, so one can perform comparisons and arithmetical operations.
 
== Containing signals ==
Currently Factorio has 45 virtual signals:
* Numbers 0-9
* Letters A-Z
* Colors (red, green, blue, yellow, magenta, cyan, white, gray, black)
 
Each signal has:
* A ''name'' (for example "N") and
* A ''value'' (for example "19").
 
This is similar to a map in programming, where a key holds a value, and the value can be accessed by that key.
 
== Logic signals ==
 
There are also some logic signals in Factorio which are accessible by clicking certain signal slots on devices. They have special functions to control information with multiple signals. These three signals are:
* <span style="color:#ff0000">Everything</span>
* <span style="color:#548b54">Anything</span>
* <span style="color:#eeb422">Each</span>
 
=== Everything ===
==== As input ====
{| class="wikitable"
| {{imagelink|basic-transport-belt|Transport belts}} | {{imagelink|basic-inserter|Inserters}} | {{imagelink|gate|Gate}} | {{imagelink|rail-signal|Rail signal}} | {{imagelink|lamp|Lamp}} | {{imagelink|offshore-pump|Offshore Pump}} | {{imagelink|small-pump|Small pump}} | {{imagelink|decider-combinator|Decider Combinator}} | {{imagelink|power-switch|Power switch}} |-
|}
The "Everything" signal works like a logical AND. It can only be used as the left term of the circuit condition. The condition will only be true if the condition is true for all signals the device receives. Be careful with signals with amount 0, because these signals will not considered by "Everything", as they are considered 'inactive'.
 
If the decider combinator output is set as "Input count" and not "Everything", there will be no output even if the condition is true.
==== As output ====
{| class="wikitable"
| {{imagelink|decider-combinator|Decider Combinator}} |-
|}
If the condition is true, ''all input signals are outputted'', either with amount 1 or with their input amount.
=== Anything ===
==== As input ====
{| class="wikitable"
| {{imagelink|basic-transport-belt|Transport belts}} | {{imagelink|basic-inserter|Inserters}} | {{imagelink|gate|Gate}} | {{imagelink|rail-signal|Rail signal}} | {{imagelink|lamp|Lamp}} | {{imagelink|offshore-pump|Offshore Pump}} | {{imagelink|small-pump|Small pump}} | {{imagelink|decider-combinator|Decider Combinator}} | {{imagelink|power-switch|Power switch}} |-
|}
It works similar as "Everything", but the condition is true if the condition for at least one input signal is true. (logical OR)
 
==== As output ====
 
''Anything cannot be used as output, will output nothing.''
 
=== Each ===
==== As input ====
{| class="wikitable"
| {{imagelink|arithmetic-combinator|Arithmetic Combinator}} | {{imagelink|decider-combinator|Decider Combinator}} |-
|}
The "Each" signal also performs the operation for all input signals, but the condition is not true or false once, but true or false for each input signal individually.
 
If the output is "1" and not "Each" (decider combinators only), the signal will only be outputted if at least one condition is true. If the output is "Input count" and not "Each", all amounts of input signals whose condition is true or (for arithmetic combinators) the results of mathematical operations for each input signal are summed and outputted.
==== As output ====
{| class="wikitable"
| {{imagelink|arithmetic-combinator|Arithmetic Combinator}} | {{imagelink|decider-combinator|Decider Combinator}} |-
|}
The "Each" signal can only be set as output if the left input signal is also "Each". A decider combinator outputs only the input signals whose condition is true. An arithmetic combinator outputs each input signals with an amount that is the result of the operation.

Latest revision as of 13:21, 22 August 2017