Добавить в корзинуПозвонить
Найти в Дзене
Формат АА

Время суток и точные часы в Factorio

В этой статье поговорим о времени суток в Factorio. Разберёмся как создать самые точные часы. Сегодня мы с вами не просто разберёмся в игровом времени Factorio, но также узнаем о суточных циклах на всех планетах. Научимся делать самые точные и настоящие часы, которые будут показывать идеально правильное время на любой из игровых планет — от первых лучей рассвета до наступления полной темноты. У вас больше не будет сомнений: «есть ли в часах погрешность» или «почему часы показывают ночь, а у вас уже работают солнечные панели»? Ваши часы будут стабильны и будут отображать фактическое время на планете без применения модов или скриптов. Но учтите, что все видеоролики или статьи в интернете про этот же принцип и такие же часы, которые вы увидите опубликованными после выхода этой моей статьи — это уже плагиат и подражание. Пользуйтесь оригиналом и добро пожаловать в мир времени в Factorio! Начнём, как говорится, ab ovo, с самых азов. Игроки часто выводят на экран информацию о FPS/UPS (статья
Оглавление

В этой статье поговорим о времени суток в Factorio. Разберёмся как создать самые точные часы.

Вступление

Сегодня мы с вами не просто разберёмся в игровом времени Factorio, но также узнаем о суточных циклах на всех планетах. Научимся делать самые точные и настоящие часы, которые будут показывать идеально правильное время на любой из игровых планет — от первых лучей рассвета до наступления полной темноты. У вас больше не будет сомнений: «есть ли в часах погрешность» или «почему часы показывают ночь, а у вас уже работают солнечные панели»? Ваши часы будут стабильны и будут отображать фактическое время на планете без применения модов или скриптов.

Но учтите, что все видеоролики или статьи в интернете про этот же принцип и такие же часы, которые вы увидите опубликованными после выхода этой моей статьи — это уже плагиат и подражание. Пользуйтесь оригиналом и добро пожаловать в мир времени в Factorio!

Сутки в игре Factorio

Начнём, как говорится, ab ovo, с самых азов. Игроки часто выводят на экран информацию о FPS/UPS (статья об этом), где видят то самое значение UPS=60. Это значит, что игра за 1 секунду производит 60 тактов, на каждый такт пересчитывая всю игровую симуляцию. Эти 60 тактов в 1 секунду ровно 60 раз меняют всю игру: происходит перерасчёт всех действий механизмов, врагов, окружающей среды. Время внутри игры также привязано к этим тактам, или по-другому, к тикам. Так как этих тиков в секунде ровно 60, то не имеет значение, будет ли ваша игра работать быстрее или начнёт тормозить из-за медленного компьютера — тики будут обрабатываться в своём порядке, а время, будет идти ровно в соответствии с этими тиками. Поэтому тормозит игра или нет — игровое время подстраивается под игру. Иными словами, время «растянется» при замедлении игры и малом UPS, но оно не даст сбоя и не проскочит утро или вечер.

Каждая планета в Factorio: Space Age имеет разное удаление от игрового солнца, а это значит, что на планетах и количество солнечной энергии разное, и длина суток может различаться. Примем за длину суток 100%. Тогда в процентах длина времени суток распределится следующим образом:

  • Утро — 20%
  • День — 50%
  • Вечер — 20%
  • Ночь — 10%

У каждой планеты длина суток равна 100%, но в игровых тиках эти сутки длятся разное время. А именно:

  • Наувис — 25200
  • Вулкан — 5400
  • Глеба — 36000
  • Фульгора — 10800
  • Аквило — 72000

То есть, на глаз можно заметить, что ближе всего по привычной для нас длине суток две планеты: Наувис и Глеба. У Фульгоры сутки примерно в 2 раза короче суток Наувиса. А у Вулкана самые короткие сутки в игре. При этом Аквило является рекордсменом по длине суток, в 2 раза больше, чем у Глебы и намного больше, чем у остальных. Но у Аквило и самая слабая солнечная энергия на поверхности планеты — всего 1%.

1. Таблица суточных тиков и времени для разных планет.
1. Таблица суточных тиков и времени для разных планет.

Выше представлена таблица с полным расчётом всех времён суток в тиках и минутах с секундами для каждой планеты. Это время в тиках может пригодиться, если планировать какие-то процессы в игре, зависимые от времени суток. Ну, а мы используем наши знания для построения точных часов.

Точные часы

Сразу оговоримся, что это не солнечные часы, но запускаются они по солнцу. Фактически, мы создадим обычный таймер, коих разные игроки делали тысячи за время существования игры. Чем будет отличаться наш таймер от таймеров других игроков? Давайте пожмём плечами, признаемся себе, что сам таймер отличаться не будет, или, вернее, будет, но незначительно. Таймер он и есть таймер. Но вы обратили внимание, как разные игроки запускают свои «часы»? Кто-то включает таймер, когда загорятся или потухнут первые фонари на фабрике. Кто-то на глаз пытается определить начало суток. Кто-то пытается определить середину ночи. В общем, начало суток обычно «плавает» и точно показывать реальное время на планете такие часы не могут.

Значит таймер нужно привязать к первым лучам солнца и дать ему «начало» отсчёта от этого момента. Определить начало солнечной активности мы сможем с помощью солнечной панели. Думаю, никто не сомневался, что это будет именно так. Конечно же, никто не сомневался, что я предложу подключить к солнечной панели аккумуляторный блок, так как сама солнечная панель с логикой напрямую не работает. Солнечную панель и аккумуляторный блок необходимо установить в месте, куда не достигает покрытие электричеством от опор ЛЭП и подстанций.

Хочу донести мысль до других игроков, уже изобретавших часы: я не упрекаю вас, я не против вас, я не имею ничего против ваших часов. Я лишь хочу обратить как ваше внимание, так и внимание всего комьюнити Factorio, что очевидное лежит на поверхности, и все уже изобретённые часы можно привязать к реальному игровому времени жёстко, а не «на глаз».
2. Солнечная панель и аккумуляторный блок.
2. Солнечная панель и аккумуляторный блок.

Теперь важное: до тех пор, пока мы не закончим собирать всю схему, деревянную опору ЛЭП нельзя ставить! Нельзя давать аккумулятору заряжаться и сбивать нам часы.

Но есть нюанс. Мы не такие глупые, и всё понимаем, поэтому опору ЛЭП поставим для более точной корректировки расстояния между всеми элементами, просто временно не будем подключать сигнальный провод от аккумулятора, вот и всё. А потом, перед запуском таймера удалим опору ЛЭП и заряженный аккумуляторный блок, и установим их заново клавишной комбинацией отмены Ctrl+Z (так мы сбросим заряд аккумулятора). Берём себе на ум этот нюанс и строим часы дальше.

Настройка часов

Собственно, сами часы в нашем примере имеют компактный вид. Ведь часы это: механизм отсчёта времени и циферблат или индикатор. А у нас в роли механизма отсчёта времени выступает таймер из двух комбинаторов, а в роли индикатора выступает дисплей.

3. Установка деталей часов.
3. Установка деталей часов.

Как видно из рисунка 3 аккумуляторный блок сразу начал заряжаться. Мы пока не будем соединять его, он сейчас стоит для макета. Хорошо присмотритесь к рисунку и поймите, что солнечная панель с аккумуляторным блоком находятся в стороне от общей электрической сети. Часы установлены так, чтобы деревянная опора ЛЭП не соединялась с опорой возле солнечной панели. Это важно, так как солнечная панель и аккумулятор являются стартером наших часов, и не должны зависеть от любой внешней электросети.

Почему используем деревянные опоры ЛЭП? Потому что они имеют самый маленький диапазон покрытия электричеством, и не будут «захватывать» чужие объекты.

Теперь, до того, как мы начнём далее собирать солнечный стартер, сначала пропишем все значения в постоянный комбинатор и в сравнивающий комбинатор. Настроим дисплей для отображения времени суток: «утро», «день», «вечер», «ночь». Здесь для дисплея в текущем случае этого вполне хватит. Но дальше в статье будет речь о самостоятельном индикаторе часов и минут.

Постоянный комбинатор в часах

Итак, открываем постоянный комбинатор и создаём 5 групп под 5 наших планет. Подписываем как вашей душе угодно, но, чтобы вам было понятно. Я использовал значок планеты, после него название планеты, тире и слово «время» без кавычек. Так названия групп выглядят понятно, и не будут случайно использованы в других запросах или при создании других групп в разных устройствах. Пример в рисунке:

4. Настройка постоянного комбинатора.
4. Настройка постоянного комбинатора.

Постоянный комбинатор сразу включаем и не выключаем никогда. Выключаем галочки на всех группах (далее будем говорить — на всех планетах), оставляем только на Наувисе, так как, скорее всего, мы с вами это в первый раз собираем именно на нём.

Для каждой планеты мы должны вписать 5 значений и ещё одно значение для корректировки времени. Итого по 6 одинаковых значений для каждой планеты. В зависимости от того, на какой планете будут установлены часы, вы будете включать только ту галочку, которая отвечает за эту планету, остальные необходимо выключить.

Поверьте, насколько сложно будет вам переписывать все эти значения в постоянный комбинатор, настолько же мне сложно сейчас написать эти все значения здесь для вас. Поэтому делаем глубокий вдох, и приступаем. Если считаете нужным перед сложной работой отжаться 50 раз или сделать приседания — неволить вас не буду, сделайте.

Но перед началом сложной работы вот вам описание применяемых сигналов:

  • Значок «Часы» я использовал для обозначения тиков в сутках минус 1 тик (это для работы таймера)
  • Значок «Тревога», он же колокольчик или будильник, я использовал для обозначения времени в тиках от полуночи (00:00 или 24:00) до первых солнечных лучей, то есть до утра
  • Значок «Солнце» я использовал для обозначения тиков предыдущего значения плюс количество тиков в утре
  • Значок «Ждите», он же песочные часы, как напоминание о заканчивающемся времени или вечере, я использовал для тиков предыдущего значения плюс количество тиков в дне
  • Значок «Луна», означающий ночь, я использовал для обозначения тиков предыдущего значения плюс тики в вечере
  • Сигнал «B» я использовал для коррекции времени в первом запуске часов

Теперь несколько слов о сигнале «B». Грубо говоря, этот сигнал — фальшивый. Такой же точно сигнал используется в таймере для отсчёта тиков в текущих сутках. Но, когда сработает стартер, этот сигнал поступит в него и кратковременно появится в таймере. Там он сложится с основным сигналом «B», сделав точную корректировку времени. Сам этот фальшивый сигнал «B» включает в себя половину тиков в ночи (время от полуночи до утра) плюс количество тиков, потраченное на попадание солнечных лучей на солнечную панель, перемещение электрического тока в аккумуляторный блок, и заряда его до параметра «A=1». Ну, и плюс ещё несколько тиков, потраченных на переход из аккумулятора в стартер и подачи сигнала запуска в таймер.

О сигнале в значке «Часы». Там записаны суточные тики каждой планеты, но минус единица. Например, для Наувиса это не 25200 тиков, а 25199. Это сделано для работы часов по «человеческому» восприятию от 1 до 10, где десятка обозначается в таймере как 0. Или от 1 до 100, где 100 обозначается как 0. То есть, первая минута совпадает с первым поступившим зарядом, с первым лучом солнца и с единицей в таймере. Если вам непонятно, что это всё значит и зачем это, то напомню, что в программировании отсчёт начинается с 0 и заканчивается 9. По этой логике наш таймер должен считать первый луч солнца и первый поступивший заряд нулём. Нас это не устраивает. Да, можно провести корректировку дополнительным лишним комбинатором с прибавлением единицы к нулю, но как говорится: «можно, а зачем?»

Далее даю все числа перечислением, чтобы, сидя за компьютером, вы могли выделять их и копировать в свой комбинатор. Будьте осторожны, не копируйте пробелы и перенос на другую строку. Кто не желает делать это самостоятельно, может в конце статьи перейти по ссылке на Бусти и скачать готовый чертёж, одарив меня вознаграждением на кофе и вкусняшки.

Значок «Часы» (суточные тики минус 1):

  • Наувис 25199
  • Вулкан 5399
  • Глеба 35999
  • Фульгора 10799
  • Аквило 71999

Значок «Тревога» (колокольчик или будильник, утро):

  • Наувис 1260
  • Вулкан 270
  • Глеба 1800
  • Фульгора 540
  • Аквило 3600

Значок «Солнце» (начало дня):

  • Наувис 6300
  • Вулкан 1350
  • Глеба 9000
  • Фульгора 2700
  • Аквило 18000

Значок «Ждите» (песочные часы, начало вечера):

  • Наувис 18900
  • Вулкан 4050
  • Глеба 27000
  • Фульгора 8100
  • Аквило 54000

Значок «Луна» (начало ночи):

  • Наувис 23940
  • Вулкан 5130
  • Глеба 34200
  • Фульгора 10260
  • Аквило 68400

Сигнал «B» (корректировка времени):

  • Наувис 1764
  • Вулкан 388
  • Глеба 2651
  • Фульгора 1277
  • Аквило 5722

Вписали? Отлично! Теперь ещё раз проверяем, что комбинатор имеет положение «Вкл», а галочка стоит только на планете Наувис, на других планетах галочки убраны. Ведь мы строим пока на Наувисе.

Сравнивающий комбинатор в часах

Кидаем зелёный провод с постоянного комбинатора на вход сравнивающего комбинатора. Поверх сравнивающего комбинатора цепляем красный провод с выхода на вход (или со входа на выход, если душа желает бунта и самоутверждения). В сравнивающем комбинаторе создаём три условия. В левой части каждого условия вписываем сигнал «B». В правой части первых двух условий устанавливаем сигнал со значком «Часы», а в третьем условии в правой части пишем ноль (или оставляем его, если он там уже был изначально).

5. Настройка сравнивающего комбинатора.
5. Настройка сравнивающего комбинатора.

В первых двух условиях выставляем знак «<» (меньше), в третьем условии знак «>» (больше). Во всех трёх условиях слева убираем галочки с сигнального зелёного (G) провода, а оставляем только на сигнальном красном (R) проводе.

С правой стороны первых двух условий убираем галочки с сигнального красного (R) провода, но оставляем на сигнальном зелёном (G) проводе. В последнем условии возле нуля ничего менять не нужно.

Объединяем два нижних условия логическим оператором «И», а между этой группой условий и верхним условием оставляем логический оператор «ИЛИ».

Таймер запустится автоматически, если по красному проводу нет сигнала «B» (что мы и видим на рисунке 5) или сигнал «B» меньше указанного значения в сигнале «Часы». Когда сигнал выйдет из комбинатора, увеличится на 1 (об этом сейчас поговорим) и вернётся по красному проводу уже в значении большем, чем 0, то сработает нижнее условие, где B>0. Тогда оба нижних условия будут верны, и оба условия дадут комбинатору разрешение включить сигнал на выходе. Так будет продолжаться до тех пор, пока сигнал «B» не превысит значение сигнала «Часы» (будет больше суточных тиков). Тогда первые два условия нарушатся и, ни группа из второго и третьего условия, ни первое условие не будут активны чтобы комбинатор мог работать. Это выключит выход комбинатора, сигнал «B» исчезнет на красном проводе. На вход по этому проводу ничего не придёт.

А как мы знаем, если на входе нет сигнала, то это повод для срабатывания первого условия. И тогда комбинатор снова запустится и будет выдавать сигнал «B», постепенно увеличивая его на 1. И так каждые игровые сутки на этой планете.

Теперь внимательно рассмотрите рисунок 5 в правой части комбинатора, там, где выход сигналов. Я обвёл для вас белым всего лишь 2 выходящих сигнала, и оба являются «B». В одном случае «B» равен 1, в другом случае «B» равен входному количеству, заметьте, только по сигнальному красному (R) проводу. Для этого на нём стоит галочка. А вот галочка сигнального зелёного (G) провода убрана! Это наши 2 основных сигнала на выходе таймера. Почему «B» выходит дважды в таком виде?

Второй «B» несёт в себе значение из красного (R) провода и к нему прибавляется значение первого «B» равного 1. Таким образом на выходе сигнал «B» увеличивается на единицу каждый цикл после проверки условия. А проверка проходит каждый игровой тик. Вот поэтому с каждым тиком таймер выдаёт сигнал «B» больше на единицу, до тех пор, пока не будет достигнуто условие.

Внимание привлекает кучка сигналов на выходе, которые я обвёл оранжевым. Всмотритесь во входные сигналы в левой нижней части комбинатора. Эти сигналы вошли из постоянного комбинатора по зелёному проводу. Среди них есть и фальшивый «B», который здесь не читается в условиях и на выходе (помните, у нас везде стоит считывание только с красного (R) провода?). Здесь он вообще лишний, он сюда попал просто потому, что так получилось. И он тут и остаётся. Но здесь и все остальные сигналы из постоянного комбинатора, которые прописаны в условиях нашей планеты (той, на которой сейчас установлена галочка — в нашем случае это Наувис).

Все сигналы со входа комбинатора надо передать на выход, когда комбинатор начнёт работать. Потому что мы можем захотеть использовать эти данные в крутом циферблате или в электронном табло часов. И для этого мы создаём на выходе все эти сигналы и указываем, что они должны взять своё входное значение с сигнального зелёного (G) провода. При этом галочку с красного (R) провода на каждом из них снимаем. Теперь все эти сигналы транзитом перейдут на выход комбинатора, если в нём сработает условие и он начнёт отсчитывать тики.

Дисплей в часах

Убедившись, что всё настроено правильно, закрываем комбинатор и кидаем с его выхода зелёный провод на дисплей. Открываем дисплей.

6. Настройка дисплея.
6. Настройка дисплея.

В дисплее всё просто. Здесь мы указываем лишь время суток конкретно сейчас. Для отображения точного времени в часах и минутах вместо этого дисплея нужно подключать схему с другим циферблатом или индикатором. Упомянем об этом позже. А сейчас установим галочку в настройке «Всегда показывать в "Alt-режиме"», это позволит выводить надпись над экраном дисплея для большей информативности.

Добавляем в дисплее новые сообщения в общем количестве 5 штук. Дисплей читает условия сообщений сверху вниз, поэтому начинаем расстановку условий в этом порядке. Первым подписываем ночь и для визуального подтверждения устанавливаем значок «Луна», хотя я бы назвал его полумесяцем. В условиях будем считывать значение сигнала «B» и сравнивать с сигналами, установленными в постоянном комбинаторе и прошедшими транзитом через сравнивающий комбинатор. В условии для сообщения о наступившей ночи сравниваем «B» с сигналом «Луна». Если «B» окажется больше полумесяца, то это означает, что вечер закончился и началась ночь до полуночи. Это сообщение о том, что сейчас ночь, будет выдаваться всё время, пока условие соблюдается.

Перед ночью идёт вечер, и его значение как раз должно провериться после сообщения о ночи. Поэтому пишем во втором сообщении, что это вечер, и ставим значок «Ждите» или песочные часы, если называть его более адекватно. Этот же значок устанавливаем в правую часть условия, где так же сравниваем его с сигналом «B». Если «B» больше песочных часов из постоянного комбинатора, значит сейчас не ночь (иначе бы сработало самое первое сообщение со своим условием), но значит, что день закончился и наступил вечер. Поэтому на дисплее отобразится сообщение о вечере.

По такому же принципу подписываем сообщение о дне с сигналом «Солнце» (и настраиваем условие) ниже сообщения о вечере, и о утре с сигналом «Тревога», хотя это больше похоже на будильник или колокольчик (и тоже настраиваем условие) ниже сообщения о дне.

А вот самое последнее, нижнее сообщение снова будет о ночи. Только в условии сравниваем сигнал «B» с нулём. Это условие проверяет, что сейчас вообще ещё не было утра, дня, вечера и ночи до полуночи, а именно — что сейчас у нас время после полуночи, то есть с 00:00 часов и до наступления утра.

Вот такая нехитрая настройка дисплея будет работать в течение суток и дисплей при этом будет показывать, что у нас сейчас: утро, день, вечер или ночь. Это не время по часам и минутам. Это лишь простое отображение времени суток для общего понимания. О часах и минутах поговорим позже.

Логика стартера в часах

Наши часы должны стартовать с первыми лучами солнца, и стартер, который запустит часы, собственно, и есть «сердце» нашей схемы. Он определит начало заряда аккумуляторного блока от солнечной панели, он введёт корректирующий сигнал «B» из постоянного комбинатора в рабочий сигнал «B». Он же будет следить чтобы часы не запускались до начала заряда аккумуляторного блока. А потом, чтобы фальшивый корректирующий сигнал «B» не прибавлялся больше к текущему времени.

В стартер входят: солнечная панель с аккумуляторным блоком и логика из трёх комбинаторов. Первым делом для логики ставим сравнивающий комбинатор в зону действия деревянной опоры ЛЭП, питающей часы электричеством:

7. Первый комбинатор логики стартера.
7. Первый комбинатор логики стартера.

С постоянного комбинатора на вход этого сравнивающего комбинатора кидаем красный провод. С выхода сравнивающего комбинатора кидаем красный провод уже на вход сравнивающего комбинатора часов. С выхода сравнивающего комбинатора часов кидаем зелёный провод на вход нашего сравнивающего комбинатора в стартере.

Теперь давайте откроем его и настроим:

8. Настройка первого комбинатора в логике стартера.
8. Настройка первого комбинатора в логике стартера.

Этот комбинатор выполняет самую главную роль — он производит корректировку времени после запуска часов. Обратите внимание, что на рисунке стрелочками указаны включённые каналы сигнальных проводов, а другие каналы выключены. То есть, сигналы мы должны считывать строго с проводов нужного цвета. Если сигнал «B» из таймера придёт со значением 60 (напоминаю, что 60 тиков это 1 секунда), и при этом сигнал «Z» будет равен нулю (о нём поговорим позже), то на выход мы должны подать тот самый фальшивый сигнал «B», который корректировочный, то есть из постоянного комбинатора по красному проводу. Этот фальшивый сигнал войдёт в часы по красному проводу и прибавится к текущему реальному сигналу «B» в таймере. Таким образом, единожды мы произведём добавление корректировки для правки точного времени.

Давайте уточним, для чего мы сейчас сделали эти настройки в комбинаторе. Как вы помните, в постоянном комбинаторе у нас для каждой планеты есть список значений и есть фальшивый корректирующий сигнал «B». Для каждой планеты я его посчитал персонально. Сюда вошли: количество тиков от полуночи до утра (чтобы часы работали как в реальности от 00:00 до 23:59); тики, потраченные на время заряда аккумуляторного блока до значения A=1; тики, потраченные на переход всех сигналов по комбинаторам до момента подачи корректирующего «B» в часы. В принципе, посчитать это может каждый из вас самостоятельно, но сейчас просто берите готовое, я уже выполнил эту работу. Во время запуска таймера отсчитывается 60 тиков и в этот момент к этим тикам прибавляется корректирующее количество тиков из корректировочного «B». Время становится точным.

Помните, мы сигнал «Z» установили равный нулю, но не говорили о нём? Этот сигнал запустится в другом комбинаторе и больше никогда не будет нулём, и не даст нашему комбинатору повторно внести коррекцию в текущее время.

Пришло время установить ещё один сравнивающий комбинатор. Ставим его чуть поодаль от этого:

9. Установлен второй комбинатор логики стартера.
9. Установлен второй комбинатор логики стартера.

Ставим поодаль потому, что тот комбинатор был первым и важным. После включения стартера и запуска часов — тот комбинатор будем удалять первым. А этот и следующий пусть стоят в сторонке. Итак, кидаем с входа на выход этого комбинатора красный провод, так как это будет логический цикл для сигнала «Z», то есть, комбинатор должен быть зациклен сам на себя. Соединяем входы этих двух комбинаторов зелёным и красным проводами. Зелёным, чтобы передать с часов сигнал времени «B» (который в первом комбинаторе брали для проверки 60 тиков), а красным, чтобы от зацикленного провода передать на правый комбинатор сигнал «Z». Заходим в настройки комбинатора и выставляем все значения:

10. Настройка второго комбинатора в логике стартера.
10. Настройка второго комбинатора в логике стартера.

Обратите внимание на расстановку галочек, указанных стрелками на рисунке 10. Сигнал «Z» должен будет «крутиться» по кругу с выхода на вход комбинатора по красному (R) проводу, поэтому в первом условии на нём стоит галочка. С зелёного (G) канала галочка снята. Так же настроено и последнее условие с сигналом «Z» из красного (R) провода. А вот сигнал «B» должен входить из зелёного (G) провода, где и установлена галочка.

Второе и третье условия объединены в общий блок логическим оператором «И». То есть, для выполнения должны совпасть оба условия из этого блока. И сразу выставляем исходящий сигнал «Z» равный 1 — это будет постоянное значение, когда сигнал зациклится.

Теперь о работе комбинатора. Нам нужен сигнал «Z» в качестве подстраховки для других комбинаторов. В данном случае мы пока знаем про правый, основной комбинатор, где ожидается сигнал «B» равный 60 и одновременно ожидается сигнал «Z» равный нулю. Поначалу «Z» действительно равен нулю, поэтому в том комбинаторе условие сработает. Но в тот же момент в нашем текущем комбинаторе последнее, третье условие (внизу) тоже работает, так как «Z» пока ещё 0. Сигнал «B» придёт по зелёному проводу и окажется больше 60, это вызовет срабатывание второго условия. А вместе второе и третье условия через оператор «И» дадут общее срабатывание. На выходи пойдёт сигнал Z=1.

Далее он вернётся на вход по красному проводу и отменит работающее третье условие, которое теперь не равно 0. Работа блока из второго и третьего условий нарушится. Но при этом, первое условие выполнится, так как «Z» теперь больше нуля. А это значит, что на выход снова выйдет Z=1. И этот сигнал со значением 1 теперь навечно зациклится и останется здесь. А так как «Z» теперь равен 1, то в правом комбинаторе нарушится условие, где «Z» должен был быть равен 0. И теперь никогда больше корректирующий фальшивый «B» не прибавится в реальному «B» в часах. Так мы предохранили часы от вторичной корректировки.

Устанавливаем слева от левого комбинатора, простите за тавтологию, ещё один комбинатор. Тоже сравнивающий:

11. Установка третьего комбинатора в логику стартера.
11. Установка третьего комбинатора в логику стартера.

Установив последний, третий комбинатор в логику стартера, мы должны соединить его вход с аккумуляторным блоком зелёным проводом для получения сигнала «A», но делать этого мы пока не будем. На рисунке 11 я указал зелёной стрелочкой, где будет прокинут провод. Если провод повесить сейчас, то логика начнёт работать, хотя мы пока не закончили настройку и не дождались глубокой ночи. А нам этого пока не нужно.

Соединяем входы двух левых комбинаторов красным проводом чтобы получать в левый комбинатор сигнал «Z». Из выхода кидаем красный провод на выход самого правого комбинатора. Так мы сможем временно передавать фальшивый сигнал из этого комбинатора в часы по красному проводу.

Открываем окно настройки комбинатора:

12. Настройка третьего комбинатора в логике стартера.
12. Настройка третьего комбинатора в логике стартера.

Этот комбинатор «запускает» наш таймер часов по пришедшему сигналу «A» из аккумуляторного блока.

Сигнал «Z» сейчас равен нулю, так как вся схема ещё не запущена. Значит второе условие в комбинаторе выполнено (смотри рисунок 12). Сигнал «A» при запуске тоже равен нулю, так как запуск производится глубокой ночью, когда аккумулятор установлен «чистым», полностью разряженным. В нашем случае сигнальный зелёный провод не соединяет аккумуляторный блок с комбинатором, поэтому «A» тоже пока ноль. Значит первое условие в комбинаторе также выполнено (смотри рисунок 12). А если выполнены оба условия (через логический оператор «И»), то на выход подаётся фальшивый сигнал «B», значение которого должно превысить количество тиков в сутках на любой из планет. Для красивого числа я установил здесь миллион. Давайте разберёмся, зачем нужен этот фальшивый сигнал B=1000000.

Помните, мы рассматривали настройку таймера часов на рисунке 5, где происходит сравнение сигнала «B» с точно заданным сигналом «Часы» из постоянного комбинатора? Так вот, таймер запустится, если «B» будет меньше любого сигнала, так как «B» вначале вообще ноль. Но! Из только что настроенного комбинатора на рисунке 12 по красному проводу поступит фальшивый B=1000000. И этот сигнал пройдёт в таймер. В таймере выяснится, что «B» не просто «не ноль», а намного больше сигнала «Часы». Естественно, условие в таймере часов не сработает и часы не запустятся. Наш фальшивый сигнал будет гарантией для сброса таймера и его незапуска.

«Зачем это нужно?» спросите вы, или не спросите, но подумаете, что я расточительно устанавливаю лишние комбинаторы. Ан нет, товарищи инженеры, тут всё верно. Ведь мы устанавливаем наши часы до рассвета, и очень рассчитываем, что таймер запустится по сигналу, а не начнёт наматывать сигнал «B» раньше положенного срока.

Итак, представим, что солнечная панель работает, заряд пошёл на аккумуляторный блок и достиг A=1, и даже начал увеличиваться. Сигнал «A» пришёл в комбинатор по зелёному проводу и нарушил условие, где «A» должен быть 0. Этим самым он отключил выдачу на выход фальшивого сигнала B=1000000. Дальше, без фальшивого сигнала таймер часов запустился, натикал 60 тиков, запустилась коррекция времени, обновился сигнал «Z», который перестал быть нулём. Теперь, если мы случайно удалим аккумулятор, мы всё равно не сможем изменить положение вещей обнулением сигнала «A», так как сигнал «Z» навсегда сломал работу условия в комбинаторе. Часы уже не выключатся никогда от этой логики.

Запуск часов

Вариант запуска после постройки

Чтобы запустить наши часы дожидаемся глубокой ночи. Не медлим, иначе, пока будем ковыряться в инвентаре, уже может начаться утро. Придётся ждать следующую ночь.

Как определить, что вечер закончился и началась ночь? Лично стоим рядом с солнечной панелью и держим указатель наведённым на панель. Когда увидим в боковом меню, что энергия в солнечной панели упала до нуля — значит время пришло, наступила ночь.

Если вы следовали совету из начала статьи и не ставили возле солнечной панели деревянную опору ЛЭП, то достаточно лишь накинуть зелёный провод с аккумуляторного блока на вход крайнего левого сравнивающего комбинатора. Аккумулятор сейчас разряженный, поэтому ставим ту самую деревянную опору ЛЭП и ждём наступления утра.

Если деревянную опору ЛЭП вы установили, но не подключали зелёный провод от аккумулятора (как это делал я, и как было описано в этой статье), то удаляем аккумуляторный блок, уже успевший полностью или частично зарядиться. Затем сразу же ставим его обратно. Это можно сделать или вручную или с помощью клавиш отмены Ctrl+Z (эту работу за вас выполнят дроны из инвентаря). Не доверяйте дронам из вашей сети дронстанций — если всё не было подготовлено заранее, дроны могут улететь на край света за аккумуляторным блоком и прилететь назад только к обеду.

Не забудьте после удаления и возврата тут же накинуть зелёный провод от аккумуляторного блока до входа самого крайнего левого сравнивающего комбинатора. После этого ожидаем утро.

13. Последний этап подключения схемы стартера: удаление аккумуляторного блока и установка разряженного, подключение зелёным проводом к сравнивающему комбинатору.
13. Последний этап подключения схемы стартера: удаление аккумуляторного блока и установка разряженного, подключение зелёным проводом к сравнивающему комбинатору.
Самопроверка: если на вашем аккумуляторном блоке мигает красный треугольник с молнией — значит вы всё сделали правильно, ваш аккумулятор разряжен и готов к запуску! Если молния не мигает — срочно переустановите аккумуляторный блок, или проверьте по какой причине он заряжается не от солнечной панели!

Если вы успели в течение глубокой ночи переустановить аккумуляторный блок на разряженный, установить деревянную опору ЛЭП и прокинуть зелёный провод от аккумулятора до сравнивающего комбинатора, то с первыми лучами солнца панель начнёт заряжать аккумуляторный блок, таймер запустится, сработает корректировка, часы начнут функционировать в стабильном режиме. После этого, когда вы увидели на экране дисплея появившееся сообщение со значком «Тревога», по-нашему — будильник или колокольчик, обозначающее, что наступило утро — пришло время сносить стартер. Он больше не нужен.

Стартер можно снести в любое время — часам он не повредит, ведь мы сделали блокировку от случайностей. Но если есть привычка делать работу сразу, то, как только увидели значок колокольчика (и надпись «Утро» над дисплеем в «Alt-режиме»), то это значит, что ваши часы настроились и работают.

Не спеша сносим первый комбинатор. Помните, я упоминал, что правый комбинатор мы специально оставляем на расстоянии от двух левых, так как его нужно будет сносить первым? Это верно, ведь все корректирующие сигналы работают между тремя комбинаторами, и удалив любой «не тот» комбинатор, мы можем сломать логику и подать по проводам ошибочные сигналы в часы. А правый комбинатор как раз связывает логику стартера с часами. Поэтому удалив его, мы этим сразу удаляем всю связь:

14. Удаление правого комбинатора в логике стартера после наступления утра.
14. Удаление правого комбинатора в логике стартера после наступления утра.

После удаления первого комбинатора справа, спокойно сносим всю остальную часть стартера:

15. Удаление остальной части оборудования в стартере.
15. Удаление остальной части оборудования в стартере.

Вариант запуска из чертежа

Если вы уже использовали эти часы и сохранили чертёж, или взяли готовый чертёж по моей ссылке, то порядок запуска часов будет почти таким же, как и описано выше. Для примера буду показывать на своём чертеже.

Сначала подводим внешнее электропитание и от него подключаем деревянную опору ЛЭП. Это ориентир, куда будем ставить чертёж часов. Берём всё необходимое в инвентарь, включаем дронов персональной дронстанции, если они у вас были выключены (клавишами Alt+F). Дожидаемся глубокой ночи. Чтобы точно определить, что уже не вечер и ещё не утро, поставьте в сторонке одну лишнюю солнечную панель, которая не будет контактировать со стартером часов. Наведите указатель и ждите. Когда энергия упадёт до нуля — это ночь. Ставим чертёж. Деревянная опора из чертежа должна совпасть с установленной заранее деревянной опорой. Дроны из инвентаря сразу расставят всё по местам.

Удаляем лишнюю солнечную панель, которую ставили в сторонке. Ждём наступления утра. Увидев на дисплее значок колокольчика (сигнал «Тревога»), означающего, что часы работают и показывают «Утро», неспеша удаляем по порядку правый комбинатор стартера (рисунок 14), а затем весь остальной стартер (рисунок 15). Торопиться не нужно, ведь после запуска часов уже ничего не сломается, даже, если вы достоите в раздумьях до дня, вечера, ночи, следующего утра и так далее.

Есть ещё один вариант расстановки чертежа с помощью дронов. Отключаем персональную дронстанцию с дронами из инвентаря (можно клавишами Alt+F). Днём устанавливаем чертёж на нужное место и удаляем призрак той самой деревянной опоры ЛЭП возле солнечной панели. Затем включаем персональную дронстанцию (можно клавишами Alt+F). Дроны тут же вылетят из инвентаря и построят всю схему кроме отсутствующей деревянной опоры ЛЭП. Часы начнут работать, но будут всё время в обнулённом состоянии, так как схема стартера страхует сигналы без запуска от аккумулятора. Дождавшись ночи, убеждаемся, что в солнечной панели нет энергии наведя на неё указатель. Если в боковом меню видим отсутствие энергии — вручную ставим на своё место опору ЛЭП. Далее действуем как описано выше: ждём наступления утра и удаляем стартер. Сначала правый комбинатор, затем всё остальное.

Если личных дронов пока нет, то заранее днём ставим чертёж на приготовленное место. Руками расставляем оборудование на призрак чертежа, кроме деревянной опоры ЛЭП возле солнечной панели:

Не обращайте внимание на полосатый бетон в моём чертеже на рисунке 16. Это сделано для красивого оформления часов, не более. Если желаете, удалите бетон прямо из чертежа.

Так вот, расставили без дронов всё по своим местам кроме деревянной опоры ЛЭП. На всякий случай можете открыть каждый комбинатор чтобы убедиться, что случайно не удалили настройки. Обычно всё можно поправить, если на расставленное оборудование сверху наложить чертёж повторно. Дожидаемся ночи. На солнечную панель наводим указатель, ждём, когда энергия упадёт до нуля. Аккумуляторный блок всё это время не заряжается без опоры. Дождавшись падения энергии до нуля в солнечной панели, устанавливаем деревянную опору ЛЭП.

Дальше дожидаемся утра, как было рассказано выше — при появлении на дисплее сигнала «Тревога», что по-нашему можно назвать будильником или колокольчиком, понимаем, что утро наступило. Далее сносим стартер по порядку: сначала правый комбинатор (рисунок 14), затем остальное оборудование стартера (рисунок 15).

Неудачная попытка установки часов

Может случиться так, что вы поставили часы и запустили их уже после начала утра. То есть, не глубокой ночью. Значит нарушили главный принцип точности: не дали таймеру запуститься от первых лучей солнца.

Не стоит паниковать!

Вообще не стоит паниковать при любой оплошности. Теперь до следующей ночи у вас есть время на исправление. Если дронов нет, снесите часы со стартером, потом по очереди жмите отмену пока весь призрачный чертёж не окажется на прежнем месте. Ставьте всё оборудование кроме деревянной опоры ЛЭП и ждите ночи для запуска. Если дроны есть, сносите сначала деревянную опору ЛЭП, затем всё остальное. Затем жмите отмену всего пока не дойдёте до опоры ЛЭП. Дроны будут выстраивать назад всю схему кроме опоры ЛЭП. Её восстанавливать отменой не нужно! Ждите ночи чтобы установить опору ЛЭП вручную и запустить часы.

Запуск часов на других планетах

Вулкан

Самые короткие сутки на Вулкане. Не успело стемнеть, как уже светает. И самое сложное для восприятия — это «белые ночи». Вы на глаз с трудом отделяете вечер от ночи, а ночь от утра. Поэтому рядом с местом установки часов желательно держать временно установленную солнечную панель для ориентира по солнечной энергии. Или же использовать солнечную панель самого стартера часов.

Заранее приготовьте всё нужное оборудование. Учтите, что у вас (рисунок 1) в запасе всего 9 секунд на запуск часов!

Теперь проведём подготовительную работу. Сначала установим чертёж днём, а ещё лучше с утра, чтобы успеть настроить всё за один день. Если не успеем — не стоит паниковать и торопиться. Просто придётся потратить ещё один следующий день. Подвели внешнее электричество, установили чертёж. Первым делом удаляем деревянную опору ЛЭП возле солнечной панели. Следующим этапом удаляем всю схему часов со стартером. Отменой возвращаем всё назад. Второй раз отмену не жмём — опору ЛЭП не ставим!

Таким образом мы сбросили заряд аккумуляторного блока, а заодно и все значения, которые успели образоваться в логике из-за заряженного аккумулятора. Всё, после этого у нас чистая схема, но без деревянной опоры ЛЭП:

17. Схема без деревянной опоры ЛЭП.
17. Схема без деревянной опоры ЛЭП.

И тут мы делаем самое главное, а именно, открываем постоянный комбинатор в часах и меняем галочки!

🔻 Снимаем галочку с Наувиса, ставим галочку на Вулкан!

18. В постоянном комбинаторе меняем галочку на Вулкан.
18. В постоянном комбинаторе меняем галочку на Вулкан.

После переключения планеты с Наувиса на Вулкан дожидаемся ночи. Наводим курсор на солнечную панель и ждём, когда заряд упадёт до нуля. Не зеваем, сразу ставим деревянную опору ЛЭП на своё место! Далее по старой схеме: начинается утро, дисплей показывает колокольчик, неспеша сносим сначала правый комбинатор стартера, затем остальное оборудование стартера, оставив только часы.

На Вулкане есть свой нюанс: здесь, мягко говоря, легко добыть железо, но туго с деревом. Не все возят деревянные опоры с Наувиса или Глебы на Вулкан. А в схеме часов требуются деревянные опоры. Это легко поправить, если у вас нет планов завозить деревянные опоры ЛЭП. Изготавливаем железные средние опоры ЛЭП. Затем на намеченное место подводим внешнее электричество с помощью этих самых средних опор. На подготовленное место накладываем наш чертёж так, чтобы деревянная опора часов оказалась поверх установленной средней опоры ЛЭП. Удерживая клавишу SHIFT, ставим чертёж. Чертёж ставится, но в часах теперь вместо деревянной опоры железная средняя. А средняя опора, как мы знаем, захватывает бόльшую территорию электричеством и достаёт до других опор дальше деревянной опоры. Удаляем призрак деревянной опоры, ждём наступления ночи. Заранее примеряем, куда поставим среднюю опору: на место деревянной опоры ставить нельзя — она соединится со средней опорой в часах. Отводим опору ниже, находим подходящее место, где она будет связывать электричеством солнечную панель и аккумуляторный блок, но не будет соединяться медным проводом со средней опорой часов. После наступления ночи ставим среднюю опору ЛЭП на заранее определённое место. Далее действуем по сценарию запуска часов, описанному выше.

Глеба

Глеба для настройки полегче Наувиса и тем более Вулкана и Фульгоры из-за более длинных суток. Это даёт возможность дождаться глубокой ночи и установить сразу всю схему. Временно устанавливаем неподалёку лишнюю солнечную панель, наводим на неё указатель, в боковом меню смотрим на показания энергии. Как только энергия ушла в ноль — началась ночь. Спокойно ставим чертёж на запланированное место с помощью персональных дронов, ничего не сносим, не переустанавливаем — ночь не даёт солнечной панели работать, и все параметры логики сейчас в стартовых значениях. Лишь удаляем ту самую лишнюю солнечную панель, по которой определяли ночь.

Не забываем самое главноеоткрываем постоянный комбинатор в часах и меняем галочку!

🔻 Снимаем галочку с Наувиса, ставим галочку на Глебу!

19. В постоянном комбинаторе меняем галочку на Глебу.
19. В постоянном комбинаторе меняем галочку на Глебу.

Успешно сняв галочку с Наувиса и переставив её на Глебу, закрываем постоянный комбинатор и дожидаемся утра. Когда дисплей покажет наступление утра изображением звенящего колокольчика, не торопясь сносим сначала правый комбинатор в стартере, а затем остальное оборудование, оставив только часы.

Если же вы прозевали момент или случайно установили чертёж раньше положенного, ещё когда ночь не наступила — ваша солнечная панель успеет «схватить» немного солнечной энергии и передаст этот заряд в аккумуляторный блок. Не спешите вымещать зло на пятиногах.

Спокойно снесите сначала деревянную опору ЛЭП возле солнечной панели. Следом снесите всю схему часов со стартером. Затем отменой верните часы со стартером, но не жмите отмену ещё раз — опору ЛЭП возвращать не нужно! Дождитесь глубокой ночи (этой или следующей). Опору поставьте тогда, когда при наведении курсора на солнечную панель в правой панели с подсказкой будет отображаться, что выработка энергии на нуле.

На Глебе есть свой нюанс: здесь всё гниёт с большой скоростью. Поэтому, не то, чтобы прям вы такой плохой игрок, но поначалу у вас иногда может всё забиваться или опустевать, а электричество по этой причине может вырабатываться нестабильно. Я не упоминаю о тех случаях, когда на планету привозится всё оборудование для АЭС вместе с ядерными реакторами и урановыми топливными элементами. У большинства игроков на Глебе будут использоваться простейшие электростанции, солнечные панели, электростанции на нагревательных башнях. И пока не будет стабильной подачи электроэнергии часы могут отключаться без электричества и давать сбои. Поэтому не стоит удивляться, если после нескольких просадок электроэнергии на фабрике, вы увидели, что днём часы показывают «ночь» или вечером у вас почему-то «утро». В этой ситуации либо всё исправляется полным сносом действующих часов и повторной установкой и запуском, либо вообще временно часы не устанавливаются, чтобы избежать сбоев пока электроэнергия не стабильна. Можно при желании продумать свой автономный блок электропитания для часов.

Фульгора

Фульгора знаменита своей ночной активностью. Всю ночь на Фульгоре бьют молнии, и поэтому перед установкой часов необходимо позаботиться о надёжном прикрытии от молний и об изоляции стартера часов от случайного покрытия электричеством подстанций или соседних опор ЛЭП. Выбирайте место, где солнечная панель с аккумуляторным блоком не коснутся посторонней электроэнергии. И помните, что хоть ночь на Фульгоре в 2 раза длиннее ночи на Вулкане, 18 секунд всё равно не много. Предварительно подготовьтесь как следует.

Лучшим вариантом будет построить всё заранее, по аналогии со строительством на Вулкане. Ночью лишь установить деревянную опору ЛЭП возле солнечной панели.

Но, если по какой-то причине, вы готовы рискнуть и быстро всё установить за короткий период ночи, тогда не забудьте о самом главном, а именно, сразу же открыть постоянный комбинатор в часах и поменять галочки!

🔻 Снимаем галочку с Наувиса, ставим галочку на Фульгору!

20. В постоянном комбинаторе меняем галочку на Фульгору.
20. В постоянном комбинаторе меняем галочку на Фульгору.

Убрав галочку с Наувиса и поставив галочку на Фульгоре, закрывайте комбинатор и ждите наступления утра. Запуск часов происходит по аналогии с запуском на Вулкане, ошибки отрабатываются таким же образом.

На Фульгоре есть несколько своих нюансов: Фульгора сочетает в себе проблемы Вулкана и Глебы, о которых сейчас поговорим. Первое, это конечно же древесина, которой нет. Если вы не привозите с собой деревянные опоры ЛЭП, то использовать их в схеме часов будет невозможно. Зато на Фульгоре, практически под ногами повсюду попадаются фульгорианские руины, из которых тут же в руках можно собрать железные средние опоры ЛЭП. И тогда по той же аналогии со средними опорами на Вулкане производим установку и запуск часов

Вторым нюансом Фульгоры является нестабильное электричество, что очень похоже на начальную застройку на Глебе. Производство растёт, а места на островах не хватает для обеспечения электрооборудованием с должным уровнем электроэнергии. Заряд аккумуляторов днём падает и нередко заводы остаются без электричества до ночи. Здесь действуем по аналогии с Глебой. По возможности стараемся не отказываться от часов, а строим мощные электростанции на твёрдом или ракетном топливе. Ведь мазут тут повсюду, и он бесплатный.

Аквило

Аквило вся сплошь и рядом состоит из нюансов. Всё оборудование замерзает, солнечной энергии не хватает, деревянные опоры, как и средние опоры, нужно везти с других планет, электричества поначалу ровно столько, на сколько хватило ваших сил и возможностей, и ещё тут самые длинные сутки, где ночь тянется долго и утомляет ждать. Сразу отложим то, что зависит лично от вас и вашей прилежности. Остаются две главные проблемы: замерзание и слабое солнечное освещение.

Начнём с первого. Строим не торопясь. Подводим внешнее электричество (которое вы уже сделали стабильным и в достатке). Выставляем чертёж с отключённой персональной дронстанцией (можно клавишами Alt+F). Удаляем деревянную опору ЛЭП возле солнечной панели. Вы ведь привезли на Аквило деревянные опоры ЛЭП? Надеюсь, что вы из тех инженеров, кто знает, что такое экономия в производстве при максимальной производительности. Но, если ваше расточительное эго соблаговолило транжирить средние опоры ЛЭП из железа, то пользуясь опытом Вулкана и Фульгоры, строим с их применением.

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

21. Между комбинаторами часов и комбинаторами стартера необходимо проложить тепловую трубу для обогрева.
21. Между комбинаторами часов и комбинаторами стартера необходимо проложить тепловую трубу для обогрева.

Тепловую трубу можно тянуть с любой стороны и не обязательно по прямой, как на рисунке выше. Если вам удобнее отдельно греть комбинаторы часов, а отдельной трубой обогреть комбинаторы стартера, сделайте именно так. Но учтите, что стартер будет снесён после запуска, а значит, придётся снести нагретую трубу, которая взяла на себя часть ценного ресурса — тепла.

А теперь перейдём ко второму: 1% солнечной энергии на Аквило — это слишком мало для аппаратуры стартера, которая должна запустить часы. Именно поэтому необходимо привезти с собой на планету солнечных панелей не одну, а больше, а точнее — 16 штук. Ровно 16 солнечных панелей дают нужное количество энергии для запуска стартера и его включения.

По-прежнему, не устанавливая деревянную опору возле аккумуляторного блока, достраиваем рядом остальные солнечные панели и устанавливаем между ними опоры ЛЭП. Для статьи я выстроил их в два ряда ниже. Но в разной игре, в разных условиях всё выстраивается как удобно на местности.

22. Выстроены 16 солнечных панелей и объединены между собой опорами ЛЭП.
22. Выстроены 16 солнечных панелей и объединены между собой опорами ЛЭП.

Расставьте между солнечных панелей деревянные опоры ЛЭП (или средние опоры, если вы привезли только их), но не устанавливайте последнюю опору возле аккумуляторного блока. И очень внимательно следите за тем, чтобы от ваших опор ЛЭП аккумуляторный блок не запитался электричеством. Кроме того, следите, чтобы ваши опоры ЛЭП не соединились с внешней электросетью.

Можно одну из панелей заранее поставить и ждать, когда энергия солнца уйдёт до нуля. Энергия в панели будет настолько медленно падать, что за ваш вечер ожидания на Аквило, на Вулкане успеет пройти трое суток. Будьте терпеливы, или займитесь другими делами, пока текут эти медленные минуты. Дождавшись, можно удалить эту панель и спокойным образом выстроить всю нашу конструкцию. Ночи на Аквило длинные, поэтому даже тепловые трубы смогут нагреться сами и обогреть оборудование.

Но самое главное, что мы обязательно не должны забыть сделать после выстраивания всей конструкции, до запуска часов — открываем постоянный комбинатор в часах и меняем галочки!

🔻 Снимаем галочку с Наувиса, ставим галочку на Аквило!

23. В постоянном комбинаторе меняем галочку на Аквило.
23. В постоянном комбинаторе меняем галочку на Аквило.

Тут же, в постоянном комбинаторе, а также в самом чертеже я указал, что на Аквило нужно использовать 16 солнечных панелей вместо одной. Это на тот случай, если вы будете пользоваться моим чертежом от игры к игре.

Установив деревянную опору ЛЭП возле аккумуляторного блока, с лёгкой душой займитесь своими делами. Здесь и ночь, и утро долгие, ждать в бездействии будет скучно. А когда на дисплее часов появится указатель утра в виде звенящего колокольчика, или же даже дня в виде солнца, можно будет снести всю эту большую конструкцию стартера. Это не к спеху, часы будут работать после запуска без сбоев. Вот только важно, когда придёте сносить стартер — сначала удаляйте правый комбинатор стартера, через который проходит вся связь сигналов. А только после него оставшиеся комбинаторы и панели с аккумулятором.

Заметки и нюансы по работе часов и запуску через стартер

Давайте соберём тут все возможные мелочи, которые стоит помнить.

  • До запуска стартера нельзя устанавливать опору ЛЭП рядом с аккумуляторным блоком и солнечной панелью чтобы предотвратить заряд аккумулятора.
  • После успешного запуска часов стартер уже никак не влияет на их работу. Спешить с удалением не обязательно. Но при удалении обязательно сначала сносить правый комбинатор, через который проходит связь стартера с часами. Только за этим удалять остальной стартер.
  • Ни в коем случае не используйте качественные солнечные панели и аккумуляторный блок! Любое качество изменит настройки схемы и собьёт точность! Все расчёты и настройки сделаны для обычного оборудования.
  • Если вам кажется, что часы показывают неверное время суток, убедитесь, что вы не забыли в постоянном комбинаторе выставить галочку той планеты, на которой часы установлены, а все остальные галочки сняли перед запуском. Даже я сам, играя на разных планетах и устанавливая эти часы и там, и тут, часто забывал о такой мелочи в связи с другими задачами, которые требовали срочного внимания.
  • Если же вам кажется, что часы раньше времени начинают показывать утро, и как будто бы эти суточные циклы настроены под «жаворонков», а не под «сов», имейте в виду, что световой день в Factorio действительно начинается очень рано. И в ранние часы уже вовсю идёт день. Привыкнуть к этому довольно сложно. К тому же, в Factorio фонари беспорядочно отключаются раньше наступления дня, что вводит в замешательство, хотя утро ещё не закончилось.
  • С выхода сравнивающего комбинатора часов можно получать точные сигналы окончания ночи (наступление утра), окончания утра (наступление дня), окончания дня (наступление вечера), окончания вечера (наступление ночи). Эти сигналы нужны для использования в обозначении времени суток или для визуального оформления, например, цветового освещения. Эти же сигналы можно использовать для контроля наступления следующего времени суток и подачи музыкального звукового сигнала, например, мелодичный перезвон колокольчиков с наступлением утра с помощью комбинаторов и программируемых динамиков.
  • Также с выхода сравнивающего комбинатора часов поступает постоянно меняющийся сигнал «B» считающий текущее количество тиков в сутках. Для контроля времени отсюда же можно снимать сигнал «Часы» с точным значением количества тиков на этой планете минус 1 тик. При проверке текущего времени в вашем циферблате или индикаторе просто учитывайте этот отминусованный тик, или закладывайте его в постоянном комбинаторе как сделано в моём индикаторе часов (о нём позже).
  • При понижении электричества в сети до критического уровня в комбинаторах не будет хватать энергии, они начнут давать сбои. Работа часов будет нарушена. При кратковременных отключениях электроэнергии, часы тем более сбросятся. Поддерживайте на всех планетах, на всех своих фабриках стабильное электропитание.
  • Любые случайные перестройки, сбои, нарушения в работе потребуют повторной переустановки часов и их запуска со стартера.

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

Но давайте взглянем на эту ситуацию с другой стороны: можно просто подвести внешнее электричество с той деревянной опорой ЛЭП, на которую будем накладывать чертёж часов, а в самом чертеже заранее удалить другую деревянную опору ЛЭП, которая стоит возле аккумуляторного блока — и всё. Теперь чертёж просто накладываем опорой на опору. Дроны строят. А уже убедившись по энергии в солнечной панели, что наступила ночь — просто ставим деревянную опору ЛЭП возле аккумуляторного блока. То есть, все эти сложности с установкой, удалением, отменой, убиранием опоры ЛЭП можно не совершать. Останется только дождаться наступления утра и спокойно сносить сначала правый комбинатор, затем весь остальной стартер.

То есть, готовый чертёж без опоры возле солнечной панели решит массу задач, которые не придётся совершать. Но этого я боюсь, так как сегодня вы прочитали статью и всё поняли. Взяли готовый чертёж, удалили опору, или построили свои часы со стартером, сохранили чертёж без опоры. А завтра, через месяц, через полгода, через год, вы вспомнили про чертёж, достали и начали запускать часы — а про опору возле аккумуляторного блока не помните. Нужна ли она там? Как её ставить? Можно ли соединять с внешней электрической сетью?

Индикатор часов

Конечно, часы с дисплеем, о которых я говорил в статье, это интересно, но хочется кроме указания времени суток видеть ещё и часы с минутами. Не буду делать статью большой, объясняя подробный принцип работы индикатора. Всё равно его можно будет скачать отдельным чертежом вместе с чертежом часов по ссылке в конце статьи. Или же, можно создать самостоятельно. Но покажу, как часы используют количество тиков в сигнале «B», сравнивают с сигналом «Часы» и отображают эту информацию на индикаторе, собранном из дисплеев.

Вся информация берётся с выхода сравнивающего комбинатора часов, поэтому предыдущий дисплей часов можно удалить или использовать в индикаторе часов как разделитель между часами и минутами. Таким образом мы будем видеть и текущее время суток, и часы с минутами.

24. Только что установленный индикатор часов с логикой, ещё не связанный с часами.
24. Только что установленный индикатор часов с логикой, ещё не связанный с часами.

На рисунке 24 видно, как выглядит мой простой индикатор часов с собственной логикой, вычисляющей количество часов и минут в зависимости от тиков и от заданных параметров планеты. Сам индикатор показывает слева часы, справа минуты, а между ними текущий период суток. Предыдущий дисплей, фактически был скопирован и использован как разделитель в индикаторе времени. Поэтому в часах удаляем предыдущий дисплей, он больше не нужен, а зелёный сигнальный провод (указан зелёной пунктирной стрелкой) подключаем с выхода сравнивающего комбинатора на центральный дисплей в индикаторе, который теперь отвечает за время суток. От этого же дисплея вся остальная логика будет получать по сигнальным проводам необходимую информацию.

Вот так выглядят часы с индикатором в рабочем состоянии при включённом Alt-режиме:

25. Часы с работающим индикатором времени при включённом Alt-режиме.
25. Часы с работающим индикатором времени при включённом Alt-режиме.

Интерфейс индикатора может быть любым, тем более, оформление полосатым бетоном с разметкой опасности вообще не всем нравится применять. Но давайте сосредоточимся на работе логики.

В первую очередь я построил и запустил часы. И только потом поставил чертёж индикатора немного выше и построил его с помощью дронов. Далее соединил зелёным проводом выход сравнивающего комбинатора в часах с центральным дисплеем в индикаторе. После этого удалил такой же дисплей в самих часах чтобы не иметь два похожих дисплея и в часах, и в индикаторе.

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

Над индикатором, почти в центре логики я поставил фонарь с белым цветом. Тут же есть комбинатор, отвечающий за его включение. Обратите внимание, фонарь включился бы сам в тёмное время суток, но мы то знаем, что происходит это уже после наступления вечера и выключается он ещё до окончания утра. Комбинатор же выдаёт сигнал для включения фонаря ровно по периодам суток:

26. Фонарь в индикаторе часов включается для подсветки в период вечера/ночи/утра.
26. Фонарь в индикаторе часов включается для подсветки в период вечера/ночи/утра.

То есть, визуально мы всегда будем видеть, что если загорелся фонарь, то уже вечер, а если все фонари вокруг потухли, но часы ещё подсвечиваются, значит ещё утро. Вообще, фонарь здесь только ради подсветки индикатора в тёмное время. Но при желании можно добавить управление цветом фонаря в зависимости от времени суток.

В индикаторе есть свой постоянный комбинатор с заранее заданными сигналами. Один из этих сигналов — сигнал «Часы» равный единице. Это тот самый недостающий тик, который в постоянном комбинаторе часов везде обрезан в суточной длине планет. Здесь он просто транслируется в логическую сеть и добавляется к тому сигналу «Часы», который приходит из часов. Таким образом, не используя лишний арифметический комбинатор для действия +1, я прямо из действующего постоянного комбинатора сделал это действие подмешивая дополнительный сигнал в логику.

27. В постоянном комбинаторе индикатора есть отдельный сигнал «Часы» равный единице.
27. В постоянном комбинаторе индикатора есть отдельный сигнал «Часы» равный единице.

На следующем рисунке видно, как в арифметическом комбинаторе происходит деление сигнала «Часы», принадлежащего текущей планете на 24 для определения количества тиков в 1 суточном часе:

28. В арифметическом комбинаторе сигнал «Часы» делится на 24.
28. В арифметическом комбинаторе сигнал «Часы» делится на 24.

Как видно из рисунка выше, на вход комбинатора из часов пришёл сигнал «Часы» с заранее заданным количеством тиков для этой планеты минус 1 тик (об этом мы говорили в начале статьи, в главе про постоянный комбинатор), а рядом пришёл другой сигнал «Часы» в 1 тик для смешивания этих двух сигналов в один сигнал «Часы» с полноценным количеством тиков в сутках этой планеты. Затем количество тиков в сутках этой планеты из сигнала «Часы» поделилось на 24.

Не буду утомлять вас рассказами об остальной логике в индикаторе часов, но кратко дам понимание процесса. Количество тиков в сутках делится на 24. Это даёт нам размер 1 часа. Далее умножаем это значение на 100 и все расчёты ведём уже с учётом этого. Произведено это из-за дробных долей, которые возникают при делениях. А в Factorio комбинаторы не работают с дробями, отбрасывая дробную часть числа. Берём сигнал «B», который показывает текущее набежавшее количество тиков за эти сутки и делим на получившийся размер часа. Этим узнаём, сколько сейчас часов. Затем отнимаем количество текущих часов в тиках от сигнала «B». Остаток является теми минутами в тиках, которые набежали сверх часов. Делим количество тиков в часе на 60 чтобы узнать, сколько тиков в минуте, а после делим полученные ранее минуты в виде тиков на количество тиков в минуте. Таким образом получается количество минут.

Выводим на разные дисплеи часы и минуты. Как я писал ранее, вместо мигающих двух точек «:» между часами и минутами используется дисплей со значком текущего времени суток. Ну и при самостоятельной разработке индикатора часов вы вольны оформить их любым удобным для вас образом, например, сделать надписи «часов», «минут» и подсветить работу индикатора или добавить звуковое оформление.

Думаю, вы догадались, что использовать часы как триггер для запуска любых процессов на вашей фабрике можно не только по сигналу «B», в котором хранятся набежавшие за сутки тики. Ведь количество тиков на глаз трудно понять. Зато легко ориентироваться по привычным для нас часам и минутам. Поэтому, при желании, из логики индикатора можно извлечь два этих сигнала с часами и минутами (в моём случае они в комбинаторах обозначены как «H» и «M») и использовать для своих устройств-будильников, устройств-триггеров и любых других стартеров, запускающих или завершающих любые процессы на фабрике, которые поддаются логическому управлению.

Чертежи

К этой статье есть два платных чертежа на Бусти для тех, кто сам не хочет заморачиваться с постройкой по инструкциям из статьи. Один основной с часами и стартером, другой дополнительный с индикатором часов и минут. Чертежи можно скачать по ссылке: https://boosty.to/format_aa/posts/f043415b-d341-441f-81cb-9a93b8aa0ca8?share=post_link

-----------------------------------------

☕️ Если вы хотите угостить меня кофе или вкусняшкой за старания, сделать это можно с помощью доната: https://boosty.to/format_aa/donate

Ссылка на мой канал в Telegram: https://t.me/format_aa
Канал на Бусти:
https://boosty.to/format_aa
Канал в ВК:
https://vk.com/format_aa
Канал в Макс:
https://max.ru/join/8z_DTLM7mSnVjV_KcztLzj2-INGc3kbal5HtKfNbWFg

-----------------------------------------

Подпишись на канал «Формат АА» и узнавай больше +

#Формат_АА
#Factorio
#схема
#чертежи
#часы
#таймер
#время
#индикатор
#логика