на главную
об игре

Скрипты IC10 для Stationeers с помощью ИИ Google

Часы.

24 часовой формат Часы, Минуты Максимально простой вариант.

Спойлер

alias SunSensor d0

alias DisplayHours d1

alias DisplayMinutes d2

# Регистры

alias AngleValue r0

alias TotalMinutes r1

alias Hours r2

alias Minutes r3

alias Temp r4

start:

# Устанавливаем режим отображения 0 (десятичное число)

s DisplayHours Mode 0

s DisplayMinutes Mode 0

loop:

# Загружаем текущий угол солнца (это может быть float, но MIPS обработает)

l AngleValue SunSensor SolarAngle

# Используем аппроксимацию: 1 градус ~ 8 минут игрового времени

sub Temp 180 AngleValue # Вычисляем обратный угол (180 - текущий угол)
mul TotalMinutes Temp 8 # Используем обратный угол для расчета времени

# Конвертируем в ЧЧ и ММ

# Часы: Общее кол-во минут / 60. Используем целочисленное деление.

div Hours TotalMinutes 60

# Минуты: Остаток от деления общего кол-ва минут на 60

# Инструкция mod выдает остаток от деления

mod Minutes TotalMinutes 60

# На всякий случай отсекаем дробную часть (хотя mod должен дать целое)

trunc Hours Hours

trunc Minutes Minutes

# Отправляем целые числа на дисплеи

s DisplayHours Setting Hours

s DisplayMinutes Setting Minutes

yield

j loop

В скрипте выше используется максимально простая схема требуется.

1 - 2 Маленький Светодиодный Дисплей из набора Консоль. DisplayHours - DisplayMinutes

1 - Датчик света. SunSensor

1 - Сокет.

1 - Микропроцессор IC 10.

Далее подключаем всё проводами и обзываем как указано выше.

И отвёрткой выставляем как указано в коде:

SunSensor d0

DisplayHours d1

DisplayMinutes d2

Если у вас показывает время утра а на самом деле вечер либо на оборот значит нужно заменить в коде sub Temp 180 AngleValue значение 180 на 0

Получиться что то подобное как на скриншоте время 7:25 утра


Ограничение давления Активной вентиляции.

Спойлер

alias Vent d0

define MaxSuctionPressure 400

start:

# Set the PressureExternal value, which acts as the maximum pressure limit

# of the atmosphere surrounding the vent (the room side) when in

# 'Outward' (suction) mode.

s Vent PressureInternal MaxSuctionPressure

# Optional: read current pressure for monitoring/display

l r0 Vent PressureInternal

s d1 Setting r0 # assuming d1 is a Smart Display

yield

j start

Допустим вам нужно чтобы активная вентиляция постоянно всасывала газ в трубу с определённым давлением не стандартным 50мпа+ когда трубы трещат и если где-то перекрыто трубы взрываются, этот кодик стабильно держит указанную величину давления газа в трубе,

Строка:

define MaxSuctionPressure 400

400 это сколько kPa будет активка стабильно нагнетать в трубу.

s Vent PressureInternal MaxSuctionPressure - Всасывание

l r0 Vent PressureInternal - Всасывание

Изменяем слово Internal на External

Активка установит наше значение давления на выдув из трубы.


Заряд стационарных Батарей: Отображает мощность потребления, На сколько % заряжены, Какой мощности ток поступает на зарядку.

Спойлер

#-------------------------------------------

# Stationeers

# d0 = Analyzer 1 ()

# d1 = LCD 1 (W/kW/MW Analyzer 1 Actual)

# d2 = LCD 2 (% Analyzer 1)

# d3 = Analyzer 2 ()

# d4 = LCD 3 (W/kW/MW Analyzer 2 Actual)

#-------------------------------------------

Start:

# --- 1: 1 (Actual Power W/kW) ---

s d1 Mode 2 # 2 (Power format)

l r0 d0 PowerActual

s d1 Setting r0

# --- 2: 2 ( %) ---

s d2 Mode 1 # 1 (Percent format)

l r1 d0 PowerPotential

div r2 r1 17280000000

s d2 Setting r2

# --- 3: 3 (Actual Power W/kW ) ---

s d4 Mode 2 # 2 (Power format)

l r3 d3 PowerActual # Actual Power (d3) r3

s d4 Setting r3 # (d4)

yield # 1

j Start

Необходимо:

2 Анализатора кабеля

3 LCD экрана из набора Консоль я использовал средние

1 Микропроцессор IC10

1 Сокет

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

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

Обзываем Маркировщиком и подключаем : По подсказке в самом скрипте

d0 = Analyzer 1 (С батарей на базу)

d1 = LCD 1

d2 = LCD 2

d3 = Analyzer 2 (На зарядку батарей)

d4 = LCD 3

Чтобы всё это заработало правильно необходимо в скрипте в строке

div r2 r1 17280000000 вместо 17280000000 ввести общую ёмкость своих батарей.

Пример у вас 3 Стационарных батареи, вместимость одной 3 600 000 ватт идём в калькулятор и умножаем 3 600 000х3=10 800 000 в справочнике игры найдите свою батарею и посмотрите её ёмкость, умножьте на количество сколько штук подключили и замените в скрипте на своё 17280000000.


0
0
Комментарии:  0
Ваш комментарий