Skip to content

Logic Props Guide RU

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

Логические пропсы позволяют связать события на карте: например, открыть проход только после двух кнопок, мигать светом или запомнить в каком порядке игрок нажал кнопки. Зная то как работают базовые элементы можно сделать все - от простого кодового замка до компьютера

Самая важная идея: Activation ID - это провод

У обычных объектов карты и у логических пропов есть числа - Activation ID. Одинаковое число связывает отправителя с получателями

Кнопка (ID 10)  ->  AND: Input A = 10
Кнопка (ID 11)  ->  AND: Input B = 11
AND: Output = 20  ->  объект с ID 20

Никаких настоящих проводов размещать не надо. Когда объект посылает ID 10, все логические входы, у которых указан 10, получают сигнал

  • Вход (Input A, Input B) - ID, который проп слушает
  • Выход (Output, Q, /Q) - ID, который проп посылает дальше
  • -1 означает «не подключено»
  • Один выход можно подключать к нескольким входам: просто укажи его ID во всех нужных полях
  • Два разных источника можно завести в один вход: задай у обоих одинаковый ID

Что такое 0 и 1

Логика видит лишь два состояния:

  • 0 (LOW) - сигнала сейчас нет
  • 1 (HIGH) - этот Activation ID пришёл в текущем логическом тике

Логический тик - очень короткий шаг игры. Пока источник удерживает HIGH, его выход отправляется каждый тик. Обычная кнопка обычно посылает короткий сигнал - на следующий тик её вход снова будет LOW

Это важно для ламп и других объектов, которые переключаются от каждого сигнала: не подключай к ним постоянный выход напрямую, иначе они будут быстро переключаться. Поставь между ними EDGE, чтобы превратить изменение состояния в один импульс

Обычные логические вентили

Для всех вентилей ниже поля одинаковы: Input A, Input B, Output. В таблице A и B - входы, а последняя колонка - состояние выхода

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 (И): выход только когда активны оба входа
  • OR (ИЛИ): выход, когда активен хотя бы один вход
  • XOR (исключающее ИЛИ): выход, когда активен ровно один вход
  • NOT: (НЕ) имеет один Input и один Output; меняет сигнал наоборот: 0 становится 1, 1 становится 0
  • XNOR: выход, когда входы одинаковы: оба 0 или оба 1
  • NAND: всё, кроме случая, когда оба входа 1. Это инвертированный AND. Кстати из этого вентиля можно собрать все остальные вентили
  • NOR: выход только когда оба входа 0. Это инвертированный OR

Источники сигнала

CONST

Постоянное значение (Константа)

  • Value = 1 постоянно посылает свой Output
  • Value = 0 ничего не посылает

Используй CONST = 1, когда нужно постоянно разрешить вход. Например, CONST -> T у T-триггера превращает каждый импульс CLOCK в переключение состояния

CLOCK

Автоматически чередует 0 и 1

  • Output - ID выходного сигнала
  • Period - длительность полного цикла «выключено + включено» в секундах
  • Initial HIGH - начать с 1 или с 0

При Period = 2 сигнал примерно секунду LOW и секунду HIGH. CLOCK сам по себе - постоянный мигающий уровень; для одного события на каждое включение поставь после него EDGE с Mode = 0

EDGE

Преобразует смену состояния в один короткий импульс. Это особенно полезно перед лампой, дверью или любым объектом, который реагирует на единичную активацию

  • Input - наблюдаемый ID
  • Output - ID одного импульса
  • Mode: 0 - только переход 0 -> 1, 1 - только 1 -> 0, 2 - оба перехода

Пример мигающей лампы: CLOCK Output = 30 -> EDGE Input = 30, Output = 31, Mode = 0 -> лампа с ID 31. Лампа переключится один раз при каждом включении CLOCK

RND

Не логический вентиль, но полезный проп для случайности. Когда получает свой Activation ID, он выбирает один ID из поля Random IDs и посылает его. В списке можно писать числа через запятую, пробел или ;, например: 40, 41, 42

Пример: кнопка ID 5 -> RND Activation ID = 5, Random IDs = 40,41,42 -> срабатывает один из трёх объектов

Память: триггеры и защёлка

Обычный вентиль забывает вход на следующем тике. Эти пропсы умеют хранить 0 или 1, пока не придёт команда изменить его

У всех них:

  • Q - обычный выход сохранённого состояния
  • /Q - инвертированный выход: всегда противоположен Q
  • Initial Q - с чего начать после загрузки карты (0 или 1)

Если Q = 1, активен Q; если Q = 0, активен /Q

SR LATCH - простая память «включить / выключить»

  • S (Set) устанавливает Q в 1;
  • R (Reset) устанавливает Q в 0;
  • если S и R пришли одновременно, состояние не меняется

Это лучший вариант для первой схемы «сделать что-то после двух кнопок по очереди». Например, каждая из кнопок может включать свою SR-защёлку; затем их Q подаются на AND. После нажатия обеих кнопок AND будет постоянно HIGH. Если цели нужен только один импульс, после AND добавь EDGE

D FLIP-FLOP - запомнить значение по такту

На переходе CLK с 0 на 1 копирует состояние D в Q. Между тактами Q не меняется

Полезен, когда нужно «прочитать переключатель только по сигналу часов». Для простых дверей обычно не нужен

T FLIP-FLOP - переключатель состояния

На каждом переходе CLK с 0 на 1:

  • если T = 1, меняет Q на противоположное
  • если T = 0, ничего не меняет

Простейшее применение: CONST = 1 -> T, кнопка или EDGE -> CLK. Каждое нажатие будет чередовать Q: 0, 1, 0, 1…

JK FLIP-FLOP - универсальный переключатель

На переходе CLK с 0 на 1 он смотрит на J и K:

J K Что происходит с Q
0 0 оставить как было
0 1 установить 0
1 0 установить 1
1 1 переключить на противоположное

Для первых схем удобнее SR или T; JK нужен, когда одновременно нужны режимы «установить», «сбросить» и «переключить»