Skip to content

Logic Props Guide EN

Pavel Lifanov edited this page Sep 24, 2026 · 1 revision

Logic props let you connect events on a map: for example, open a door only after two buttons are pressed, make a lamp blink, or remember the order in which the player pressed buttons. Once you understand how the basic elements work, you can build anything - from a simple code lock to a computer

The most important idea: Activation ID is a wire

Regular map objects and logic props have numbers called Activation IDs. The same number connects a sender to its receivers

Button (ID 10)  ->  AND: Input A = 10
Button (ID 11)  ->  AND: Input B = 11
AND: Output = 20  ->  object with ID 20

You do not need to place any actual wires. When an object sends ID 10, every logic input configured to listen to 10 receives the signal

  • Input (Input A, Input B) - the ID the prop listens to
  • Output (Output, Q, /Q) - the ID the prop sends further
  • -1 means “not connected”
  • One output can be connected to multiple inputs: simply use its ID in every required field
  • Two different sources can feed the same input: give both of them the same ID

What 0 and 1 mean

The logic system only sees two states:

  • 0 (LOW) - there is currently no signal
  • 1 (HIGH) - this Activation ID was received during the current logic tick

A logic tick is a very short game step. While a source remains HIGH, its output is sent every tick. A regular button usually sends only a short pulse, so on the next tick its input will be LOW again

This matters for lights and other objects that toggle on every signal: do not connect a constant output directly to them, otherwise they will toggle rapidly. Put an EDGE between them to turn a state change into a single pulse

Basic logic gates

All gates below use the same fields: Input A, Input B, Output. In the table, A and B are the inputs, and the remaining columns show the output state

A B AND OR XOR XNOR NAND NOR
0 0 0 0 0 1 1 1
0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 0
1 1 1 1 0 1 0 0
  • AND: output is active only when both inputs are active
  • OR: output is active when at least one input is active
  • XOR (exclusive OR): output is active when exactly one input is active
  • NOT: has one Input and one Output; inverts the signal: 0 becomes 1, and 1 becomes 0
  • XNOR: output is active when both inputs are equal: both 0 or both 1
  • NAND: active in every case except when both inputs are 1. This is an inverted AND. In fact, every other logic gate can be built using NAND alone
  • NOR: output is active only when both inputs are 0. This is an inverted OR

Signal sources

CONST

A constant value

  • Value = 1 continuously sends its Output
  • Value = 0 sends nothing

Use CONST = 1 when you need an input to stay permanently enabled. For example, CONST -> T on a T flip-flop makes every CLOCK pulse toggle its state

CLOCK

Automatically alternates between 0 and 1

  • Output - ID of the output signal
  • Period - duration of a full “off + on” cycle in seconds
  • Initial HIGH - whether to start at 1 or 0

With Period = 2, the signal stays LOW for about one second and HIGH for about one second. CLOCK by itself produces a continuously blinking level; if you need one event per activation, put an EDGE after it with Mode = 0

EDGE

Converts a state change into one short pulse. This is especially useful before a light, door, or any other object that reacts to a single activation

  • Input - the observed ID
  • Output - ID of the single pulse
  • Mode: 0 - only 0 -> 1, 1 - only 1 -> 0, 2 - both transitions

Example of a blinking light: CLOCK Output = 30 -> EDGE Input = 30, Output = 31, Mode = 0 -> light with ID 31. The light will toggle once every time the CLOCK turns on

RND

Not a logic gate, but a useful prop for randomness. When it receives its Activation ID, it chooses one ID from the Random IDs field and sends it. Numbers in the list can be separated by commas, spaces, or ;, for example: 40, 41, 42

Example: button ID 5 -> RND Activation ID = 5, Random IDs = 40,41,42 -> one of the three objects is activated

Memory: flip-flops and latch

A regular gate forgets its input on the next tick. These props can store 0 or 1 until they receive a command to change it

All of them have:

  • Q - normal output of the stored state
  • /Q - inverted output: always the opposite of Q
  • Initial Q - the starting state after the map loads (0 or 1)

If Q = 1, Q is active; if Q = 0, /Q is active

SR LATCH - simple “turn on / turn off” memory

  • S (Set) sets Q to 1
  • R (Reset) sets Q to 0
  • if S and R arrive at the same time, the state does not change

This is the best option for a first “do something after two buttons are pressed one after another” circuit. For example, each button can set its own SR latch; then both Q outputs are connected to an AND. After both buttons have been pressed, AND will remain HIGH. If the target only needs a single pulse, add an EDGE after the AND

D FLIP-FLOP - store a value on a clock edge

On a CLK transition from 0 to 1, it copies the state of D into Q. Between clock edges, Q does not change

Useful when you need to “read a switch only when the clock signal arrives.” Usually unnecessary for simple doors

T FLIP-FLOP - state toggle

On every CLK transition from 0 to 1:

  • if T = 1, Q toggles to the opposite state
  • if T = 0, nothing happens

Simplest use: CONST = 1 -> T, button or EDGE -> CLK. Every press will alternate Q: 0, 1, 0, 1…

JK FLIP-FLOP - universal flip-flop

On a CLK transition from 0 to 1, it checks J and K:

J K What happens to Q
0 0 keep the current state
0 1 set to 0
1 0 set to 1
1 1 toggle to the opposite state

For simple circuits, SR or T is usually more convenient; JK is useful when you need “set”, “reset”, and “toggle” modes at the same time