space engineers скрипт на отображение ресурсов
Space engineers скрипт на отображение ресурсов
Скрипт на LCD отображение Щита, подробное описание на видео:
https://www.youtube.com/watch?v=wcae2yJKjBQ&featu..
Но опишу его же действия на нашем сервере на своем личном примере.
Далее поэтапно:
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
Самый простой вариант:
Подпишитесь, чтобы загрузить
Inventory Content Display Script
This script will allow you to display the content of all the inventories of your ship/station very easily. It is really simple! You just need to read «short introduction» to use it (I’m also too lazy to read everything 😉 ). If you like my work, please rate it. ^_^
— The order of the panels is important for the displaying because the data does not fit on one panel alone.
— It doesn’t matter if you skip an index, but a duplicate index (so two panels with the same name or text) will cause the scrip to display the information twice. Any index below 0 will be ignored.
— If you have not enough screens in the group, the script will throw an exception.
— The script will automatically fetch the display’s font size and put as much text on it as possible. However, you might notice a gap at the bottom of the panel since the last line would not fit on it entirely. Just increase the panel’s font size then until it fits perfectly.
The script will also search in the public title for a valid identification name. I.e. you can set the name to «My favorite panel» and set the public title to «Res #1» and still works. Note that the name has a higher priority, so a panel with the name «Res #1» and the public title «Res #7» will have the index 1.
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 программируемого блока.
ВАЖНО!:
Это скрипт только для одной системы поршень-шасси. Если хотите больше, советую натыкать программируемых блоков и таймеров для корректной работы.
p.s. в воркшоп выставлю позже, когда будет готов прототип и видеодемонстрация.
Автоматический шлюз.
Звуковая и световая сигнализация, вывод состояния на LCD панель, автоматическое переключение откачки/накачки воздуха, автоматическое открытие/закрытие/блокировка дверей.
http://steamcommunity.com/sharedfiles/filedetails/?id..
Для работы ЛЮБОГО количества шлюзов требуется ОДИН программируемый блок.
Отображение провреждённых/недостоенных блоков.
Само собой автоматическое 🙂
Невероятно полезный скрипт, который позволяет с помощью одного нажатия кнопки выбрать положение ротора или поршня. За подробностями смотрите видео по ссылке.
Переименовываете все орудия одинаково, к примеру «Пушка», без номеров и всего остального.
Запускаете прогблок. Включаете блок с именем «sequencerToggle».
Заряжаете орудия жмете на гашетку. Для автоматизации стрельбы просто соберите заскриптованные орудия в группу, и повесьте на горячую клавишу вкл/выкл стрельбы.
При начале стрельбы бывает стреляет сразу из двух орудий.
Простой скрипт, который на левый дисплей выводит предупреждения о повреждениях, заканчивающемся боезапасе и малом количестве ресурсов. На правый дисплей выводится содержимое всех хранилищ корабля. Центральный дисплей отображает визуальное предупреждение (картинкой).
Имеет возможность небольшой настройки под себя в самом начале скрипта, где необходимо будет прописать свои ЖК панели для работы скрипта. По-умолчанию стоит: ЖК панель слева, ЖК панель справа, ЖК панель центр
Работает на версии 01_171_003 без модов на пиратке.
Побудило написать свой скрипт, так как большинство сложных скриптов у меня не работает. Да и скучно было.
В программируемом блоке появилась возможность сохранять переменные.
Если заметили, по-умолчанию кроме Main() в редакторе появились две функции public Program() и public void Save().
Конструктор Program() автоматически запускается при первом запуске компьютера. Туда можно запихнуть инициализацию всех переменных и первоначальную настройку оборудования, чтобы не тратить на это время при очередном запуске скрипта.
Функция Save() так же автоматически запускается и сохраняет предоставленное строковое значение. Сохранение происходит не каждый запуск скрипта. Заметил, что сохраняется, когда открываю редактор программируемого блока или сохраняю игру, других триггеров для срабатывания этой функции я не обнаружил.
Если снести программируемый блок, построить другой и вставить туда идентичный код, сохранения не восстанавливаются.
Переменная сохраняется после редактирования скрипта, отключения бортового питания и перезапуска игры (пока не нашел случая, в котором переменная бы не загрузилась).
Пример прикреплен ниже.
Описание: Скрипт подсчитывает содержимое инвентарей, перемещает позицию, которая не строится в конец очереди сборщика.
Умеет сортировать содержимое по контейнерам и дозаказывать компоненты в ассемблере на основании установленных лимитов.
Настройка:
в поле CustomData вносятся параметры для инициализации скрипта: (любая из строк может быть пустой и будет пропущена)
При первом запуске скрипта инициализация производится автоматически, далее по команде.
Команды: Скрипт поддерживает команды с параметрами. Команда и параметр разделяются «:»
>:МаскаПоискаКонтейнера:ЧтоВНемЛежит,ЧтоВНемЛежит
устанавливает отбор для сортировки элементов в контейнере. Если перед первым параметром добавить +, будут добавлены доступные элементы иначе заменены
mask:маска поиска блоков
Устанавливает маску которая применяется при поиске обрабатываемых инвентарей, если маска пустая строка обрабатываются все доступные инвентари
reload:bloc,ass
Находит и запоминает все ассемблеры и блоки в которых будет в дальнейшем происходить поиск. Параметрами можно ограничивать что нужно искать. Без параметров ищет все.
Unload:маска
Производит единоразовое перемещение элементов из блоков подходящих под маску в установленные контейнеры. Полезно при разгрузке бурового корабля.
Скрипт находит все блоки ассемблеров и инвентаре, а затем обходит эти списки. Поэтому если необходимо заново найти инвентари или ассемблеры вызовите команду reload. Если необходимо переинициализировать текстовые панели воспользуйтесь командой init. Это поможет при разрушении готовых или достройке новых блоков.
Все настройки скрипт сохраняет и восстанавливает автоматически, при перезагрузке ничего перенастраивать не нужно
Space Engineers скрипт Automatic LCDs 2 Rus команда Inventory
Space Engineers скрипт: команда Inventory
Space Engineers скрипт: команда Inventory отображает сводку инвентаря для определенных типов предметов. Он автоматически добавляет нулевое количество для ванильных игровых предметов. Скрипт автоматически отобразит даже модифицированные предметы, если они есть в инвентаре, но не сообщит об отсутствии модифицированных предметов.
У этой команды есть определенные квоты по умолчанию для обычных предметов. Эта квота считается максимальной квотой, что означает, что это максимальное количество предметов. Таким образом, вы можете легко увидеть, просто посмотрев на индикатор выполнения, сколько элементов у вас есть.
Команда также сообщает о модифицированных предметах, найденных в инвентаре, но не показывает их, если у вас их нет.
Вы можете полностью отключить индикатор выполнения, установив квоту на 0.
Продвинутый: если вы знаете что-то о том, как работают элементы во внутреннем устройстве Space Engineers, вы можете переводить или добавлять модифицированные элементы, чтобы сообщать о них, когда их количество в инвентаре равно нулю.
Аргументы
Без аргументов: отображает все элементы на текущем корабле / станции.
Первый аргумент: фильтрует блоки по имени — дополнительную информацию см. В разделе «Руководство по командам».
Следующие аргументы: указать включенные / исключенные типы элементов и могут переопределить квоты по умолчанию.
Используйте в спецификации основные типы:
ore (все руды)
ingot (все слитки)
component (все компоненты)
ammo (все ящики с боеприпасами)
tool (все инструменты + ручные пистолеты)
oxygen (кислородные баллоны — в настоящее время только кислородные баллоны)
Или подтипы:
(как руда, так и слитоки)
iron, gold, nickel, platinum, cobalt, magnesium, silicon, silver, uranium
(компоненты)
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
Затем он отменяет стальные листы и компоненты конструкции с разными квотами.
Space engineers скрипт на отображение ресурсов
Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.
И так, для начала мы установим Programmable block на нашу станцию/корабль.Открываем панель управления блока и жмякаем на кнопку «Edit». Мы сразу же видим:
Данный код создаёт метод Main в нашей внутриигровой «программе» в которой и будут происходить наши действия.Без него код не запуститься.
Писать код мы будем между строк, для этого кликаем ЛКМ после скобочки < и жмём Enter.
Объявим переменную.Что-бы объявить переменную в C# нужно перед названием переменной указать её тип, существует много типов переменных, но я сейчас перечислю самые популярные, а это:
Создадим переменную one типа int и зададим ей значение 100, для этого пишем в коде int one = 100
У нас должно получиться так:
Создадим ещё две переменных типа int.
Что мы сделали?Мы создали две переменные «one» и «two», значение one = 100, значение two = 50, создали ещё одну переменную zn, значение которой равняется разности двух переменных.То-есть 100-50, значение переменной zn будет равняться 50.
Так же можно делить: /
Умножать: *
Складывать: +
Всем доброго времени суток. У вас не бомбит по поводу отсутствия обещанных гайдов? А у меня припекло.
//Так что, возьму на себя смелость написать гайд. Тему возьмём обещанную “Ветвление и циклы”. Как и положено зазнайке, я буду слегка выпендриваться большим количеством теории, но всё же
постараюсь сократить её до необходимого минимума.//
Ветвление.
//C# представленный нам для создания скриптов в SE, представлен в виде ФЯП (функционального языка программирования), а он является линейным. Это значит, что программа выполняется последовательно и её можно представить в виде БСА (Базовой структуры алгоритма). Для того чтобы программа имела возможность нескольких решений, и используют ветвление. Что же такое ветвление? Это своеобразный выбор между возможностями решений, в зависимости от условий.
———————————————————————————————-—
В качестве примера мы с вами разберём кодовый замок, сделанный на основе сенсора. Сенсор будет выполнять в данном случае функцию ячейки памяти. (Поясняю, у сенсора 6 параметров которые мы можем изменять и проверять) Всё что нам надо также знать это увеличение сенсора и метод кодирвоания (экспериментальным, увеличение сенсора-2,45 за одно нажатие кнопки. Максимально значение 50, минимальное 1, значит диапазон возможных значений- 20. Следовательно, мы сделаем код из 3 ячеек, с 20-ю значениями в каждой). Одна из особенностей данной системы в том, что для правильной комбинации может быть множество вариантов. Это может быть сумма чисел, их разность и т.д. Мы будем использовать метод сравнение чисел.