Space Engineers скрипт Automatic LCDs 2 Rus команда Inventory
Space Engineers скрипт: команда Inventory
Space Engineers скрипт: команда Inventory отображает сводку инвентаря для определенных типов предметов. Он автоматически добавляет нулевое количество для ванильных игровых предметов. Скрипт автоматически отобразит даже модифицированные предметы, если они есть в инвентаре, но не сообщит об отсутствии модифицированных предметов.
Если вы не хотите отображать отсутствующие элементы (нулевые строки), используйте InventoryX вместо Inventory (хорошо для отображения содержимого контейнера). При этом также будут игнорироваться квоты по умолчанию, поэтому, если вы сами не установите квоту, она будет равна 0, и визуальная панель не будет отображаться.
Если вы не хотите отображать количество руды на дисплее слитков, используйте InventoryS или InventoryXS , если вы также хотите скрыть строки 0 элементов.
У этой команды есть определенные квоты по умолчанию для обычных предметов. Эта квота считается максимальной квотой, что означает, что это максимальное количество предметов. Таким образом, вы можете легко увидеть, просто посмотрев на индикатор выполнения, сколько элементов у вас есть.
Команда также сообщает о модифицированных предметах, найденных в инвентаре, но не показывает их, если у вас их нет.
Вы можете полностью отключить индикатор выполнения, установив квоту на 0.
Вы также можете использовать вариант InventoryNB , чтобы скрыть все прогресс бары.
InventoryNN скрывает все числа.
InventoryNNB (без чисел или полос) скрывает все числа и прогресс бары.
Это также работает с другими вариантами (например, InventoryXNNB ).
Продвинутый: если вы знаете что-то о том, как работают элементы во внутреннем устройстве Space Engineers, вы можете переводить или добавлять модифицированные элементы, чтобы сообщать о них, когда их количество в инвентаре равно нулю.
Аргументы
Без аргументов: отображает все элементы на текущем корабле / станции.
Первый аргумент: фильтрует блоки по имени — дополнительную информацию см. В разделе «Руководство по командам».
Следующие аргументы: указать включенные / исключенные типы элементов и могут переопределить квоты по умолчанию.
Тип товара и спецификация квоты:
Оператор + или — добавляет или удаляет элементы с дисплея.
+ all добавляет все типы элементов для отображения
-ore убирает руды с дисплея
Вам нужно что-то добавить, чтобы оператор работал!
Используйте в спецификации основные типы:
ore (все руды)
ingot (все слитки)
component (все компоненты)
ammo (все ящики с боеприпасами)
tool (все инструменты + ручные пистолеты)
oxygen (кислородные баллоны — в настоящее время только кислородные баллоны)
Или подтипы:
(как руда, так и слитоки)
iron, gold, nickel, platinum, cobalt, magnesium, silicon, silver, uranium
(слитки) scrap лом
(компоненты)
construction, metalgrid, interiorplate, steelplate, girder, smalltube, largetube, motor, display, bpglass, computer, reactor, thruster, gravgen, medical, radio, detector, explosives, solarcell, powercell, superconductor, canvas
(инструмент)
automaticrifleitem, preciseautomaticrifleitem, rapidfireautomaticrifleitem, ultimateautomaticrifleitem welderitem, welder2item, welder3item, welder4item
anglegrinderitem, anglegrinder2item, anglegrinder3item, anglegrinder4item
handdrillitem, handdrill2item, handdrill3item, handdrill4item
(боеприпасы) nato_5p56x45mm, nato_25x184mm, missile200mm
Вы можете использовать модифицированные имена элементов, которые обычно обнаруживаются путем удаления пробелов из того, что отображается на дисплее в сводке по всем элементам.
Так, например: Super_Mega Large Bullet будет super_megalargebullet
Или оба:
ingot/iron (только слитки железа), ingot/uranium (только обработанный уран)
Вы можете комбинировать элементы следующим образом:
+ingot/iron,gold (добавить железо и золотые слитки)
+ingot,component (добавить слитки и компоненты)
+steelplate,construction (стальные листы и элементы конструкции)
Чтобы переопределить квоты прогресс бара:
+ingot:10000
Добавляет все слитки, у всех которых максимальное значение индикатора выполнения равно 10000.
+component:1000 +steelplate:10000,construction:9000
Добавляет все компоненты с квотой 1000
Затем он отменяет стальные листы и компоненты конструкции с разными квотами.
Примеры
Inventory * +all -ore
Inventory Cargo +ingot -scrap
Inventory
Inventory [STORAGE] +component
Inventory
Inventory
Inventory
Источник
Auto LCD rus кокпиты
Auto LCD rus как использовать с кабинами?
Auto LCD rus — вы можете использовать этот скрипт на экранах кабины, а также на экранах других блоков. Для этого вам нужно пометить кабину (или другой блок) с помощью LCD_TAG, как вы это делали с ЖК-дисплеями. Поэтому по умолчанию вы добавляете [LCD] к имени кабины, чтобы она была распознана скриптом.
Как только вы это сделаете, первый экран на кабине будет управляться Auto LCD rus и должен отобразить обычное сообщение о том, что вы должны прописать команды для пользовательских данных панели. Если вам нужен только этот экран, вы можете записывать команды в пользовательские данные кабины так же, как и с ЖК-дисплеями.
Чтобы использовать другие экраны, вы должны указать сценарию, на какой экран вы хотите выводить информацию. Вот пример того, как могут выглядеть пользовательские данные кабины:
@ 0 AutoLCD
Echo Это будет показано на первом экране
@ 1 AutoLCD
Echo Это будет отображаться на втором экране.
@ 2 AutoLCD
Echo Это будет показано на третьем экране.
Как видите, есть специальные заголовки, сообщающие сценарию, на какой экран вы хотите писать. Они должны быть на отдельной линии.
Заголовок выглядит так:
Где — это индекс экрана, на который вы хотите писать. 0 — это первый экран, 1 — второй экран и т. Д. Тег «AutoLCD» обязателен.
Легкий способ узнать индекс экрана — это посмотреть на панель управления кабины, найти список ЖК-панелей и выбрать одну из них. Например, экран «Клавиатура» занимает 4-е место в списке ЖК-панелей, что означает, что его индекс равен 3 (потому что первый — 0). Итак, если вы хотите писать только на экране клавиатуры, ваши пользовательские данные будут выглядеть следующим образом:
@ 3 AutoLCD
echo Этот текст будет на клавиатуре
Эхо другие экраны не будут изменены
Вы можете использовать это на любом блоке с экранами LCD. Скрипт Auto LCD rus не будет касаться экранов, которые вы не указали, поэтому вы можете использовать его и с другими скриптами. Прочтите «Совместимость с другими скриптами», если хотите узнать, как автоматические ЖК-дисплеи могут обмениваться пользовательскими данными с другими сценариями.
К сожалению, вы не можете использовать ручную прокрутку или связывание панелей на этих экранах.
Как установить LCD_TAG и показать все на экране программируемого блока?
Вам нужно отделить LCD_TAG в пользовательских данных от команд, используя 3 дефиса (—) в одной строке, например:
LCD_TAG = [Мой ЖК-дисплей]
—
@ 0 AutoLCD
echo-текст на экране PB
Источник
Space engineers экран вывести данные
Скрипт на LCD отображение Щита, подробное описание на видео:
https://www.youtube.com/watch?v=wcae2yJKjBQ&featu..
Но опишу его же действия на нашем сервере на своем личном примере.
Строим: LCD, Шит, програмный блок , таймер и подписываемся на этот скрипт (http://steamcommunity.com/sharedfiles/filedetails/?id..)
Далее поэтапно:
1-Переименовываем любой щит след образом: Shield: (двоеточие в конце обязательно)
2-Переименовываем нужные нам LCD след образом: Shield LCD
3-В программный блок вставляем скрипт на который мы подписались выше и жмем выполнить.
По умолчанию скрипт выводит на LCD текстовую информацию. Если мы хотим красивые картинки то в строке 30-ой, где написано
Какая-то-фраза-на-ангельском = 2, заменяем цифру 2 на 3 или 4 или 5. Каждая цифра отвечает за разные рисунки размера щита.
Сохраняем, выходим и жмем выполнить!
4-В таймере, первым действием ставим програмный блок, там выбираем выполнить, появляется какая то пуская хрень, жмем выполнить. Вторым действием ставим этот же таймер и выбираем там действие старт или активацию. Таким образом мы зациклим таймер. Выходим и стартуем сам таймер.
По истечению времени он будет запускать в след порядке, сперва запуск скрипта на блоке и сразу рестартить самого себя же.
5-Настраиваем интервал обновления 5-10 секунд.
АДМИНИСТРАЦИЯ ЗАПРЕЩАЕТ УСТАНАВЛИВАТЬ ИНТЕРВАЛ ОБНОВЛЕНИЯ ТАЙМЕРА МЕНЬШЕ 5 СЕКУНД НА ЛЮБОЙ СКРИПТ.
Скрипт на LCD вывод данных карго/заряда джампа/руды и так далее.
Видео: https://www.youtube.com/watch?v=oopzyQ0t6Dk
Самый простой вариант:
1. Заходим по ссылке и качаем скрипт https://steamcommunity.com/sharedfiles/filedetails/?i..
2. На шип ставим экран, компутер, таймер
3. Экран переименовываем как угодно, главное чтоб в конце было [LCD]
4. В компутере загружаем скрипт
5. В таймере ставим на выполнение компутер + таймер
6. Настраиваем вывод, например нам надо чтоб показывалось кол-во руды в контах и заряд джампа, для этого в свойствах LCD в разделе Public Title пишем то, что должен вывести на экран скрипт (одной строкой):
inventory * +ore; Charge
Также можно указать например кол-во водорода в танках — Tanks * Hydrogen. И многое другое.
Он равномерно распределяет уран/лед/руду между несколькими объектами одного типа, чтоб руками не сортировать. Например, у вас 4 реактора, используя скрипт, вы просто кидаете весь уран в контейнер, и он автоматом раскидает равными частями по реакторам, так же и с остальными ресурсами.
Источник
Space engineers экран вывести данные
Скрипт для посадки на планеты.
Аля «Остановить поршень когда посадочное шасси зацепится за астероид»
================================================================
void Main(string argument)
<
IMyPistonBase LandingPiston = GridTerminalSystem.GetBlockWithName(«LandingPistonName») as IMyPistonBase;
IMyLandingGear LandingGear = GridTerminalSystem.GetBlockWithName(«LandingGearName») as IMyLandingGear;
if(LandingGear.IsLocked)
<
LandingPiston.GetActionWithName(«ResetVelocity»).Apply(LandingPiston);
LandingPiston.GetActionWithName(«IncreaseVelocity»).Apply(LandingPiston);;
>
КАК заставить это работать:
LandingPistonName и LandingGearName это названия в панели управления (в терминале) поршня и шасси соответственно. Желательно использовать англ.язык и названия без пробелов. К примеру: LandPiston_1; Gear2 и т.п. Я не ручаюсь за работу с кирилицей)
Это все, что вам нужно заменить в скрипте.
Далее таймер: выставляем задержку таймера в 1 секунду (на минимум), ставим в Setup Action запуск отчета таймера и Run программируемого блока.
ВАЖНО!:
Это скрипт только для одной системы поршень-шасси. Если хотите больше, советую натыкать программируемых блоков и таймеров для корректной работы.
ОЧЕНЬ ВАЖНО: главное правильно поставить соответствия между программируемым блоком, поршнем и шасси. Ибо может выйти так: «когда шасси1 закреплено остановить поршень2» — сами понимаете такой вариант не катит никаким образом))
p.s. в воркшоп выставлю позже, когда будет готов прототип и видеодемонстрация.
Автоматический шлюз.
Звуковая и световая сигнализация, вывод состояния на LCD панель, автоматическое переключение откачки/накачки воздуха, автоматическое открытие/закрытие/блокировка дверей.
http://steamcommunity.com/sharedfiles/filedetails/?id..
Для работы ЛЮБОГО количества шлюзов требуется ОДИН программируемый блок.
Отображение провреждённых/недостоенных блоков.
Само собой автоматическое 🙂
Закрытие дверей при падении давления (разгерметизации).
Возможна поблочная настройка, тогда двери где давление выровнялось откроются — закрытым останется только сектор с утечкой.
p.s.
Обращайте внимание — если включить в основную группу ВНЕШНИЕ двери то после стабилизации давления они откроются 😀 будьте внимательны.
Невероятно полезный скрипт, который позволяет с помощью одного нажатия кнопки выбрать положение ротора или поршня. За подробностями смотрите видео по ссылке.
Скрипт предназначен для ведения огня очередями, для этого он попеременно отключает заряженные орудия — здорово повышает огневую мощь и удобство стрельбы. Поддерживает автоматизацию огня. Автор не я.
Ставите необходимое количество оружия, прогблок, таймер и еще какой-нибудь блок, у которого есть опция включить-выключить (обычно это лампа).
Переименовываете все орудия одинаково, к примеру «Пушка», без номеров и всего остального.
Загружаете в прогблок скрипт, меняете значение GUN_NAME на «Пушка». Выставляете задержку стрельбы — значение TIME_STEP, чем больше, тем быстрее стреляет, для некоторых орудий максимальная указана в самом скрипте в комментариях, никогда не ставьте отрицательное значение и ноль. Поставите слишком большое значение TIME_STEP — скрипт будет работать быстрее, чем у орудий задержка между выстрелами, и они будут стрелять как попало. Компилируете и сохраняете.
Таймер переименовываете в «sequencerCycler», лампу переименовываете в «sequencerToggle». На таймере выставляете одно действие — запустить программируемый блок, задержку можно не трогать.
Запускаете прогблок. Включаете блок с именем «sequencerToggle».
Заряжаете орудия жмете на гашетку. Для автоматизации стрельбы просто соберите заскриптованные орудия в группу, и повесьте на горячую клавишу вкл/выкл стрельбы.
Если не все орудия заряжены полностью, то стрелять будет как попало.
При начале стрельбы бывает стреляет сразу из двух орудий.
Имена всех задействованных блоков можно менять в самом скрипте, таким образом можно сделать несколько групп орудий. Если «sequencerToggle» выключен, орудия будут стрелять как обычно — залпом.
Простой скрипт, который на левый дисплей выводит предупреждения о повреждениях, заканчивающемся боезапасе и малом количестве ресурсов. На правый дисплей выводится содержимое всех хранилищ корабля. Центральный дисплей отображает визуальное предупреждение (картинкой).
Имеет возможность небольшой настройки под себя в самом начале скрипта, где необходимо будет прописать свои ЖК панели для работы скрипта. По-умолчанию стоит: ЖК панель слева, ЖК панель справа, ЖК панель центр
Работает на версии 01_171_003 без модов на пиратке.
Побудило написать свой скрипт, так как большинство сложных скриптов у меня не работает. Да и скучно было.
В программируемом блоке появилась возможность сохранять переменные.
Если заметили, по-умолчанию кроме Main() в редакторе появились две функции public Program() и public void Save().
Конструктор Program() автоматически запускается при первом запуске компьютера. Туда можно запихнуть инициализацию всех переменных и первоначальную настройку оборудования, чтобы не тратить на это время при очередном запуске скрипта.
Функция Save() так же автоматически запускается и сохраняет предоставленное строковое значение. Сохранение происходит не каждый запуск скрипта. Заметил, что сохраняется, когда открываю редактор программируемого блока или сохраняю игру, других триггеров для срабатывания этой функции я не обнаружил.
Если снести программируемый блок, построить другой и вставить туда идентичный код, сохранения не восстанавливаются.
При желании можно воспользоваться строковым методом Split, чтобы запихнуть больше переменных в строку сохранения.
https://msdn.microsoft.com/ru-ru/library/b873y76a(v=vs.110).aspx — подробнее тут.
Переменная сохраняется после редактирования скрипта, отключения бортового питания и перезапуска игры (пока не нашел случая, в котором переменная бы не загрузилась).
Пример прикреплен ниже.
Описание: Скрипт подсчитывает содержимое инвентарей, перемещает позицию, которая не строится в конец очереди сборщика.
Умеет сортировать содержимое по контейнерам и дозаказывать компоненты в ассемблере на основании установленных лимитов.
Настройка:
в поле CustomData вносятся параметры для инициализации скрипта: (любая из строк может быть пустой и будет пропущена)
первая строка — название сборщика из которого берутся лимиты (останавливаем сборщик заказываем компоненты в том количестве,
в каком они всегда должны быть и прописываем название в эту строку)
вторая строка панель или панели, которые отображают содержимое инвентарей (полное название панели или маска поиска
например: ЖК* — найдет все панели которые начинаются на ЖК
!*широкая — все панели которые не оканчиваются на широкая)
все последующие строки устанавливают настройки контейнеров, в формате МаскаПоискаКонтейнера:ЧтоВНемЛежит,ЧтоВНемЛежит
что лежит можно указывать частично, типы указываются со * сначала,
например: *контейнер:Строительный — будет складывать Строительный компонент в контейнеры, заканчивающиеся на «контейнер»
*готовая продукция*:*компон,*боепри — все компоненты и боеприпасы будут перемещены в контейнеры в названии которых встречается «готовая продукция»
При первом запуске скрипта инициализация производится автоматически, далее по команде.
Команды: Скрипт поддерживает команды с параметрами. Команда и параметр разделяются «:»
Доступные команды и параметры:
init:panel,limit,storage,reload
производит переинициализацию скрипта из CustomData программного блока, параметрами можно ограничивать что инициализировать
panel — заново ищет текстовые панелей
limit — ищет сборщик из которого берутся лимиты
storage — перенастройка контейнеров
reload — поиск и запись доступных ассемблеров и блоков в которых будет в дальнейшем происходит поиск
? — Выводит информацию о текущих ассемблерах, лимитам и тестовым панелям, с любым параметром также выведет все обслуживаемые блоки с инвентарями
limit:название ассемблера — добавляет к существующим, лимиты из ассемблера. без параметров — очищает все установленные ранее лимиты
>:МаскаПоискаКонтейнера:ЧтоВНемЛежит,ЧтоВНемЛежит
устанавливает отбор для сортировки элементов в контейнере. Если перед первым параметром добавить +, будут добавлены доступные элементы иначе заменены
mask:маска поиска блоков
Устанавливает маску которая применяется при поиске обрабатываемых инвентарей, если маска пустая строка обрабатываются все доступные инвентари
reload:bloc,ass
Находит и запоминает все ассемблеры и блоки в которых будет в дальнейшем происходить поиск. Параметрами можно ограничивать что нужно искать. Без параметров ищет все.
Unload:маска
Производит единоразовое перемещение элементов из блоков подходящих под маску в установленные контейнеры. Полезно при разгрузке бурового корабля.
Скрипт находит все блоки ассемблеров и инвентаре, а затем обходит эти списки. Поэтому если необходимо заново найти инвентари или ассемблеры вызовите команду reload. Если необходимо переинициализировать текстовые панели воспользуйтесь командой init. Это поможет при разрушении готовых или достройке новых блоков.
Все настройки скрипт сохраняет и восстанавливает автоматически, при перезагрузке ничего перенастраивать не нужно
Источник