space engineers гайд по скриптам

Space engineers гайд по скриптам

space engineers гайд по скриптам. camera 50. space engineers гайд по скриптам фото. space engineers гайд по скриптам-camera 50. картинка space engineers гайд по скриптам. картинка camera 50. Ну вот и обещанный гайд по программированию или скриптингу в 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.

Так же можно делить: /
Умножать: *
Складывать: +

space engineers гайд по скриптам. deactivated 50. space engineers гайд по скриптам фото. space engineers гайд по скриптам-deactivated 50. картинка space engineers гайд по скриптам. картинка deactivated 50. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

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

Ветвление.
//C# представленный нам для создания скриптов в SE, представлен в виде ФЯП (функционального языка программирования), а он является линейным. Это значит, что программа выполняется последовательно и её можно представить в виде БСА (Базовой структуры алгоритма). Для того чтобы программа имела возможность нескольких решений, и используют ветвление. Что же такое ветвление? Это своеобразный выбор между возможностями решений, в зависимости от условий.

space engineers гайд по скриптам. deactivated 50. space engineers гайд по скриптам фото. space engineers гайд по скриптам-deactivated 50. картинка space engineers гайд по скриптам. картинка deactivated 50. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

———————————————————————————————-—
В качестве примера мы с вами разберём кодовый замок, сделанный на основе сенсора. Сенсор будет выполнять в данном случае функцию ячейки памяти. (Поясняю, у сенсора 6 параметров которые мы можем изменять и проверять) Всё что нам надо также знать это увеличение сенсора и метод кодирвоания (экспериментальным, увеличение сенсора-2,45 за одно нажатие кнопки. Максимально значение 50, минимальное 1, значит диапазон возможных значений- 20. Следовательно, мы сделаем код из 3 ячеек, с 20-ю значениями в каждой). Одна из особенностей данной системы в том, что для правильной комбинации может быть множество вариантов. Это может быть сумма чисел, их разность и т.д. Мы будем использовать метод сравнение чисел.

Источник

Space engineers гайд по скриптам

space engineers гайд по скриптам. camera 50. space engineers гайд по скриптам фото. space engineers гайд по скриптам-camera 50. картинка space engineers гайд по скриптам. картинка camera 50. Ну вот и обещанный гайд по программированию или скриптингу в 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.

Так же можно делить: /
Умножать: *
Складывать: +

space engineers гайд по скриптам. 5TxzP52lA7IFZe2Gk. space engineers гайд по скриптам фото. space engineers гайд по скриптам-5TxzP52lA7IFZe2Gk. картинка space engineers гайд по скриптам. картинка 5TxzP52lA7IFZe2Gk. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Ветвление.
//C# представленный нам для создания скриптов в SE, представлен в виде ФЯП (функционального языка программирования), а он является линейным. Это значит, что программа выполняется последовательно и её можно представить в виде БСА (Базовой структуры алгоритма). Для того чтобы программа имела возможность нескольких решений, и используют ветвление. Что же такое ветвление? Это своеобразный выбор между возможностями решений, в зависимости от условий.

space engineers гайд по скриптам. 5TxzP52lA7IFZe2Gk. space engineers гайд по скриптам фото. space engineers гайд по скриптам-5TxzP52lA7IFZe2Gk. картинка space engineers гайд по скриптам. картинка 5TxzP52lA7IFZe2Gk. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

case второ условие:
Действие(я);
break;

Источник

Space engineers гайд по скриптам

void Main()
<
// varitables
IMyPistonBase DoorPiston = GridTerminalSystem.GetBlockWithName(«DoorPiston») as IMyPistonBase;
IMySensorBlock DoorSensor = GridTerminalSystem.GetBlockWithName(«DoorSensor») as IMySensorBlock;
IMySensorBlock CloseSensor = GridTerminalSystem.GetBlockWithName(«CloseSensor») as IMySensorBlock;
IMySoundBlock SoundMessage = GridTerminalSystem.GetBlockWithName(«SoundMessage») as IMySoundBlock;
IMyLargeInteriorTurret DoorTurret= GridTerminalSystem.GetBlockWithName(«DoorTurret») as IMyLargeInteriorTurret; //
IMyLargeInteriorTurret DoorTurret2= GridTerminalSystem.GetBlockWithName(«DoorTurret2») as IMyLargeInteriorTurret; //

if (DoorSensor.DetectOwner == true || CloseSensor.DetectOwner == true)
<
DoorPiston.GetActionWithName(«Reverse»).Apply(DoorPiston);
DoorTurret.GetActionWithName(«OnOff»).Apply(DoorTurret);
DoorTurret2.GetActionWithName(«OnOff»).Apply(DoorTurret2);
SoundMessage.GetActionWithName(«PlaySound»).Apply(SoundMessage);
>
>

space engineers гайд по скриптам. 9b511406c0ff98188ebb7699b7ad334a72ded8fa. space engineers гайд по скриптам фото. space engineers гайд по скриптам-9b511406c0ff98188ebb7699b7ad334a72ded8fa. картинка space engineers гайд по скриптам. картинка 9b511406c0ff98188ebb7699b7ad334a72ded8fa. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. 3c32164026e0a2c2c909908f4392e61f4eec1247. space engineers гайд по скриптам фото. space engineers гайд по скриптам-3c32164026e0a2c2c909908f4392e61f4eec1247. картинка space engineers гайд по скриптам. картинка 3c32164026e0a2c2c909908f4392e61f4eec1247. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Но все по прежнему.

Пробовал и в таком:

В таком случае прожектор включается и не выключается вообще.
Т.е. значения true и false в нашем случае не работают? И почему? Или они вообще в игровом коде не задействуются?
Подумал о такой вещи как бездействие сенсора, т.е. код отсутствия действия, или состояние бездействия как еще одно действие. Например: Sensor.NotDetect
Но такого не нашел.

Т.к. я далек от знания языков программирования, дописать выключение прожектора не получается. Есть у кого какие мысли?

space engineers гайд по скриптам. 9b511406c0ff98188ebb7699b7ad334a72ded8fa. space engineers гайд по скриптам фото. space engineers гайд по скриптам-9b511406c0ff98188ebb7699b7ad334a72ded8fa. картинка space engineers гайд по скриптам. картинка 9b511406c0ff98188ebb7699b7ad334a72ded8fa. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. 9b511406c0ff98188ebb7699b7ad334a72ded8fa. space engineers гайд по скриптам фото. space engineers гайд по скриптам-9b511406c0ff98188ebb7699b7ad334a72ded8fa. картинка space engineers гайд по скриптам. картинка 9b511406c0ff98188ebb7699b7ad334a72ded8fa. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. 888d3650adffe9954ec72abaec779f03540b6aad. space engineers гайд по скриптам фото. space engineers гайд по скриптам-888d3650adffe9954ec72abaec779f03540b6aad. картинка space engineers гайд по скриптам. картинка 888d3650adffe9954ec72abaec779f03540b6aad. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. cdf5889107c2d449018ed5dcd744d784832569dc. space engineers гайд по скриптам фото. space engineers гайд по скриптам-cdf5889107c2d449018ed5dcd744d784832569dc. картинка space engineers гайд по скриптам. картинка cdf5889107c2d449018ed5dcd744d784832569dc. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. 7ca6a78a99dbd8edc41195f1df6db843905439eb. space engineers гайд по скриптам фото. space engineers гайд по скриптам-7ca6a78a99dbd8edc41195f1df6db843905439eb. картинка space engineers гайд по скриптам. картинка 7ca6a78a99dbd8edc41195f1df6db843905439eb. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Если кому-то поможет сделать скрипт проще и короче.

В данном примере есть создание новой переменной блока «Поршня»

IMyPistonBase DoorPiston = GridTerminalSystem.GetBlockWithName(«DoorPiston») as IMyPistonBase

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

Внутри есть строка действия:

Данная строка долгая для написания и занимает много символов (а запас символов в программном блоке ограничен), да и получается какая-то нелепость с ненужным поиском действия (ведь мы его знаем. зачем его искать в списке?) поэтому лучше использовать несколько другой способ, реализующий абсолютно точно такое же действие напрямую:

Читается так: блок DoorPiston, произведи действие Reverse.

Дело в том, что действие является некоторым методом для блока (Методы, процедуры и функции в конце имеют круглые скобки со значением или без, но они обязательны). Для любого блока будет верным писать действия в такой формулировке:

IMyPistonBase DoorPiston = GridTerminalSystem.GetBlockWithName(«DoorPiston») as IMyPistonBase;
DoorPiston.Reverse();
//вместо DoorPiston.GetActionWithName(«Reverse»).Apply(DoorPiston);

IMyLargeInteriorTurret DoorTurret= GridTerminalSystem.GetBlockWithName(«DoorTurret») as IMyLargeInteriorTurret;
DoorTurret.OnOff();
//вместо DoorTurret.GetActionWithName(«OnOff»).Apply(DoorTurret);

IMySoundBlock SoundMessage = GridTerminalSystem.GetBlockWithName(«SoundMessage») as IMySoundBlock;
SoundMessage.PlaySound();
//вместо SoundMessage.GetActionWithName(«PlaySound»).Apply(SoundMessage);

space engineers гайд по скриптам. 7ca6a78a99dbd8edc41195f1df6db843905439eb. space engineers гайд по скриптам фото. space engineers гайд по скриптам-7ca6a78a99dbd8edc41195f1df6db843905439eb. картинка space engineers гайд по скриптам. картинка 7ca6a78a99dbd8edc41195f1df6db843905439eb. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

. да и еще не совсем понятно куда делся оператор ELSE или в данной версии языка он отсутствует?

Оператор else в коде работает и он записывается так:

space engineers гайд по скриптам. 7ca6a78a99dbd8edc41195f1df6db843905439eb. space engineers гайд по скриптам фото. space engineers гайд по скриптам-7ca6a78a99dbd8edc41195f1df6db843905439eb. картинка space engineers гайд по скриптам. картинка 7ca6a78a99dbd8edc41195f1df6db843905439eb. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Продолжим рассматривать всё тот же поршень DoorPiston.

В различных источниках можно найти все возможные действия и значения для каждого типа блока. Вот весь список типов переменных полей и действий для блока «Поршень»

Fields:
float Velocity
float MinLimit
float MaxLimit

Источник

Как я строил гексапод в Space Engineers. Часть 1

Здравствуйте. Я хочу рассказать про проектирование и программирование системы управления конечностями в гексаподе, построенном в Space Engineers.

Забегая вперед скажу, что всё, что касается программирования в Space Engineer, будет в следующей статье. В этой я расскажу про обратную кинематику и покажу прототип на HTML Canvas в котором я занимался отладкой алгоритмов.

space engineers гайд по скриптам. image loader. space engineers гайд по скриптам фото. space engineers гайд по скриптам-image loader. картинка space engineers гайд по скриптам. картинка image loader. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Предыстория и постановка задачи.

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

space engineers гайд по скриптам. 6246064b8bd63bb3eebe9a5cd53442a6. space engineers гайд по скриптам фото. space engineers гайд по скриптам-6246064b8bd63bb3eebe9a5cd53442a6. картинка space engineers гайд по скриптам. картинка 6246064b8bd63bb3eebe9a5cd53442a6. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Но я столкнулся с невозожностью его точно разместить на месторождении, так-как колеса часто соскальзывали вниз (проблема физики — большинство блоков (в том числе и колеса) имеют слишком малый коэффициент трения). Колесная платформа с цельноповоротными колесными модулями оказалась слишком громоздкой и страдала от периодических physics explosion. В результате было решено строить шагающего робота — а именно — гексапод, как самую стабильную шагаюшую платфрому.

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

Я начал с теории

Для строения ноги была выбрана следующая схема:

Inner joint — внутренний сустав, качающийся по оси рысканья (yaw)
Mid joint и outer joint — внешние суставы, качающиеся по оси тангажа (pitch). Направление отсчета — от основания ноги к концу ноги.

space engineers гайд по скриптам. image loader. space engineers гайд по скриптам фото. space engineers гайд по скриптам-image loader. картинка space engineers гайд по скриптам. картинка image loader. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Угол 0 для всех суставов означает, что нога полностью выпрямлена (прямую ногу будет проще строить в игре).

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

Угол внутреннего сустава можно найти через арктангенс горизонтальных координат цели.

С двумя другими суставами посложнее. У нас есть длина всех суставов. Можно найти угол к горизонту и расстояние между средним суставом и землей, а так-же расстояние до целевой точки.

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

space engineers гайд по скриптам. image loader. space engineers гайд по скриптам фото. space engineers гайд по скриптам-image loader. картинка space engineers гайд по скриптам. картинка image loader. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. svg. space engineers гайд по скриптам фото. space engineers гайд по скриптам-svg. картинка space engineers гайд по скриптам. картинка svg. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Так это выглядит в коде:

Движение

Далее. Робот должен ходить, верно? То-есть мы должны передавать N раз в секунду каждой ноге координаты заданной позиции. С учетом того, что ног 6 и 3 из них двигаются в противофазе получается как-то сложно. Нужно ввести новый уровень абстракции.

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

space engineers гайд по скриптам. image loader. space engineers гайд по скриптам фото. space engineers гайд по скриптам-image loader. картинка space engineers гайд по скриптам. картинка image loader. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Обдумывая как всё будет работать я понял, что задача слишком сложная для того, что-бы всё заработало с первого раза (с дебагом в Space Engineers всё плохо, но об этом в следующей части).

Поэтому я решил написать визуализатор. Мне хотелось его сделать без дополнительных библиотек и иметь возможность запускать его в один клик и без привязки к окружению.
Поэтому был выбран JS + HTML Canvas.

А сейчас нарисуем сову.

Шаг — структура данных для управления ногой:

Но для отрисовки понадобятся еще несколько классов:

Обертка над Canvas:

В классе Leg есть метод для получения текущих координат суставов. Вот эти координаты мы и будем отрисовывать.

Так-же я добавил отрисовку точек, в которых находилась нога в N последних тиков.

И наконец Worker, который будет запускать симуляцию:

space engineers гайд по скриптам. image loader. space engineers гайд по скриптам фото. space engineers гайд по скриптам-image loader. картинка space engineers гайд по скриптам. картинка image loader. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Здесь видно, что траектория движения ног отличается от окружности. Движение по вертикали напоминает урезанную синусоиду, а движение по горизонтали линейно. Это должно уменьшить нагрузку на ноги.

Теперь несколько пояснений, что происходит в коде.

Как научить робота поворачивать?

Для поворота я рассмотрел 2 ситуации:

Если робот стоит — ноги двигаются по окружности.

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

Когда робот двигается нужно реализовать что-то вроде Ackermann steering geometry с дифференциалом.

space engineers гайд по скриптам. image loader. space engineers гайд по скриптам фото. space engineers гайд по скриптам-image loader. картинка space engineers гайд по скриптам. картинка image loader. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

То-есть длина шага ног, двигающихся по меньшему радиусу, — меньше. А угол поворота — больше.

Что-бы реализовать изменение угла поворота для каждой ноги я придумал следующий алгоритм:

1. Считаем угол от изначального положения ноги к центру робота:

2. Считаем угол от изначального положения ноги к (центру робота + смещение, которое отвечает за поворот — это изменяемый параметр):

3. Поворачиваем шаг на разницу этих углов:

Но это не всё. Еще нужно изменять длину шага. Реализация в лоб — домножать длину шага на изменение расстояния до центра — имело фатальный недостаток — внешние ноги слишком широко шагали и начинали задевать друг друга.

Поэтому пришлось усложнить реализацию:

1. Считаем изменение расстояния до центра для каждой ноги:

0.3 — магическое число

2. Находим отношение между минимальным и максимальным изменением

Этот множитель отражает разницу между минимальным и максимальным изменением расстояния до центра. Он всегда меньше 1 и если на него домножать длину шага — она при повороте не будет увеличиваться даже для внешних по отношению к направлению поворота ног.

Вот как это работает (gif 2 мегабайта):

space engineers гайд по скриптам. image loader. space engineers гайд по скриптам фото. space engineers гайд по скриптам-image loader. картинка space engineers гайд по скриптам. картинка image loader. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

→ Поиграться с результатом можно тут

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

В следующей публикации я расскажу как заставил всё это работать в Space Engineers.
Спойлер: в Programmable Block можно писать на C# почти последней версии.

Источник

Space engineers гайд по скриптам

space engineers гайд по скриптам. UmTMqP8xv Uu42ABoTbkbK5IYxqRT7jx8tMh 1LfP e9r7alj70KsSKDUgWJ 74K7 lAUU7K. space engineers гайд по скриптам фото. space engineers гайд по скриптам-UmTMqP8xv Uu42ABoTbkbK5IYxqRT7jx8tMh 1LfP e9r7alj70KsSKDUgWJ 74K7 lAUU7K. картинка space engineers гайд по скриптам. картинка UmTMqP8xv Uu42ABoTbkbK5IYxqRT7jx8tMh 1LfP e9r7alj70KsSKDUgWJ 74K7 lAUU7K. Ну вот и обещанный гайд по программированию или скриптингу в 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. в воркшоп выставлю позже, когда будет готов прототип и видеодемонстрация.

space engineers гайд по скриптам. 3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. space engineers гайд по скриптам фото. space engineers гайд по скриптам-3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. картинка space engineers гайд по скриптам. картинка 3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Автоматический шлюз.
Звуковая и световая сигнализация, вывод состояния на LCD панель, автоматическое переключение откачки/накачки воздуха, автоматическое открытие/закрытие/блокировка дверей.
http://steamcommunity.com/sharedfiles/filedetails/?id..

Для работы ЛЮБОГО количества шлюзов требуется ОДИН программируемый блок.

space engineers гайд по скриптам. 3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. space engineers гайд по скриптам фото. space engineers гайд по скриптам-3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. картинка space engineers гайд по скриптам. картинка 3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Отображение провреждённых/недостоенных блоков.
Само собой автоматическое 🙂

space engineers гайд по скриптам. 3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. space engineers гайд по скриптам фото. space engineers гайд по скриптам-3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. картинка space engineers гайд по скриптам. картинка 3E8qMBOp2n0MHjKAnVTy4eKU7Rh43nZ4Ooa F7. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. space engineers гайд по скриптам фото. space engineers гайд по скриптам-DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. картинка space engineers гайд по скриптам. картинка DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

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

space engineers гайд по скриптам. oY5KuHyXSiPT6nI4Uy3l7TgLi6 km LHpXKwAtXwyxnZ5jn4 iwmU080KSOFboF GtIBjQ. space engineers гайд по скриптам фото. space engineers гайд по скриптам-oY5KuHyXSiPT6nI4Uy3l7TgLi6 km LHpXKwAtXwyxnZ5jn4 iwmU080KSOFboF GtIBjQ. картинка space engineers гайд по скриптам. картинка oY5KuHyXSiPT6nI4Uy3l7TgLi6 km LHpXKwAtXwyxnZ5jn4 iwmU080KSOFboF GtIBjQ. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Переименовываете все орудия одинаково, к примеру «Пушка», без номеров и всего остального.

Запускаете прогблок. Включаете блок с именем «sequencerToggle».

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

При начале стрельбы бывает стреляет сразу из двух орудий.

space engineers гайд по скриптам. iK3fZBUM49wxa xf4gEIu1xF 7GvmzC9BN2yEtvaCv5y8fo9YIP0jN4zzUSwWdkiApCNAJ7P1jNy4Zp15bNe1CAv. space engineers гайд по скриптам фото. space engineers гайд по скриптам-iK3fZBUM49wxa xf4gEIu1xF 7GvmzC9BN2yEtvaCv5y8fo9YIP0jN4zzUSwWdkiApCNAJ7P1jNy4Zp15bNe1CAv. картинка space engineers гайд по скриптам. картинка iK3fZBUM49wxa xf4gEIu1xF 7GvmzC9BN2yEtvaCv5y8fo9YIP0jN4zzUSwWdkiApCNAJ7P1jNy4Zp15bNe1CAv. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. space engineers гайд по скриптам фото. space engineers гайд по скриптам-DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. картинка space engineers гайд по скриптам. картинка DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. space engineers гайд по скриптам фото. space engineers гайд по скриптам-DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. картинка space engineers гайд по скриптам. картинка DaqW5q5Gy0UJMcCH3XcJK P00Lf8s10uITBuinUNwd8CnHv04YWROvA3V3hlDD77i0IjBuSZ. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. onZFh01HZBgiKK7xdfbwKNeeXImzWBvQe U8No oYn iUX 7Eslc8lWmoqdtEMIEnkAoez2j. space engineers гайд по скриптам фото. space engineers гайд по скриптам-onZFh01HZBgiKK7xdfbwKNeeXImzWBvQe U8No oYn iUX 7Eslc8lWmoqdtEMIEnkAoez2j. картинка space engineers гайд по скриптам. картинка onZFh01HZBgiKK7xdfbwKNeeXImzWBvQe U8No oYn iUX 7Eslc8lWmoqdtEMIEnkAoez2j. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. 8XT2sKpfGwO9C4V0A8rvjuE1b4Lzp2mikH2ohC7WeKGTga P9HuC vBiWM8VP V7Nb5jWfq. space engineers гайд по скриптам фото. space engineers гайд по скриптам-8XT2sKpfGwO9C4V0A8rvjuE1b4Lzp2mikH2ohC7WeKGTga P9HuC vBiWM8VP V7Nb5jWfq. картинка space engineers гайд по скриптам. картинка 8XT2sKpfGwO9C4V0A8rvjuE1b4Lzp2mikH2ohC7WeKGTga P9HuC vBiWM8VP V7Nb5jWfq. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. space engineers гайд по скриптам фото. space engineers гайд по скриптам-h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. картинка space engineers гайд по скриптам. картинка h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Простой скрипт, который на левый дисплей выводит предупреждения о повреждениях, заканчивающемся боезапасе и малом количестве ресурсов. На правый дисплей выводится содержимое всех хранилищ корабля. Центральный дисплей отображает визуальное предупреждение (картинкой).
Имеет возможность небольшой настройки под себя в самом начале скрипта, где необходимо будет прописать свои ЖК панели для работы скрипта. По-умолчанию стоит: ЖК панель слева, ЖК панель справа, ЖК панель центр

Работает на версии 01_171_003 без модов на пиратке.

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

space engineers гайд по скриптам. h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. space engineers гайд по скриптам фото. space engineers гайд по скриптам-h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. картинка space engineers гайд по скриптам. картинка h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. space engineers гайд по скриптам фото. space engineers гайд по скриптам-h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. картинка space engineers гайд по скриптам. картинка h0VneJrmpeeG5StBtf2rVKocAq0qIR8fInnEHoyRLZkeb 8A9ftrSLS1yxXwN0K. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

В программируемом блоке появилась возможность сохранять переменные.
Если заметили, по-умолчанию кроме Main() в редакторе появились две функции public Program() и public void Save().

Конструктор Program() автоматически запускается при первом запуске компьютера. Туда можно запихнуть инициализацию всех переменных и первоначальную настройку оборудования, чтобы не тратить на это время при очередном запуске скрипта.

Функция Save() так же автоматически запускается и сохраняет предоставленное строковое значение. Сохранение происходит не каждый запуск скрипта. Заметил, что сохраняется, когда открываю редактор программируемого блока или сохраняю игру, других триггеров для срабатывания этой функции я не обнаружил.

Если снести программируемый блок, построить другой и вставить туда идентичный код, сохранения не восстанавливаются.

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

Пример прикреплен ниже.

space engineers гайд по скриптам. . space engineers гайд по скриптам фото. space engineers гайд по скриптам-. картинка space engineers гайд по скриптам. картинка . Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

space engineers гайд по скриптам. gB sXh1iXSkaDV8n10aZCThLHyLPIwwLAYtuiAG2UqY1WHNiYaNV9VWd LbXG00ShsCXfp3dU4R9zwumJF9gyE5. space engineers гайд по скриптам фото. space engineers гайд по скриптам-gB sXh1iXSkaDV8n10aZCThLHyLPIwwLAYtuiAG2UqY1WHNiYaNV9VWd LbXG00ShsCXfp3dU4R9zwumJF9gyE5. картинка space engineers гайд по скриптам. картинка gB sXh1iXSkaDV8n10aZCThLHyLPIwwLAYtuiAG2UqY1WHNiYaNV9VWd LbXG00ShsCXfp3dU4R9zwumJF9gyE5. Ну вот и обещанный гайд по программированию или скриптингу в Space Engineers. Это первая часть гайда и в ней мы рассмотрим объвление переменных и типы переменных.

Описание: Скрипт подсчитывает содержимое инвентарей, перемещает позицию, которая не строится в конец очереди сборщика.
Умеет сортировать содержимое по контейнерам и дозаказывать компоненты в ассемблере на основании установленных лимитов.

Настройка:
в поле CustomData вносятся параметры для инициализации скрипта: (любая из строк может быть пустой и будет пропущена)

При первом запуске скрипта инициализация производится автоматически, далее по команде.

Команды: Скрипт поддерживает команды с параметрами. Команда и параметр разделяются «:»

>:МаскаПоискаКонтейнера:ЧтоВНемЛежит,ЧтоВНемЛежит
устанавливает отбор для сортировки элементов в контейнере. Если перед первым параметром добавить +, будут добавлены доступные элементы иначе заменены

mask:маска поиска блоков
Устанавливает маску которая применяется при поиске обрабатываемых инвентарей, если маска пустая строка обрабатываются все доступные инвентари

reload:bloc,ass
Находит и запоминает все ассемблеры и блоки в которых будет в дальнейшем происходить поиск. Параметрами можно ограничивать что нужно искать. Без параметров ищет все.
Unload:маска
Производит единоразовое перемещение элементов из блоков подходящих под маску в установленные контейнеры. Полезно при разгрузке бурового корабля.

Скрипт находит все блоки ассемблеров и инвентаре, а затем обходит эти списки. Поэтому если необходимо заново найти инвентари или ассемблеры вызовите команду reload. Если необходимо переинициализировать текстовые панели воспользуйтесь командой init. Это поможет при разрушении готовых или достройке новых блоков.

Все настройки скрипт сохраняет и восстанавливает автоматически, при перезагрузке ничего перенастраивать не нужно

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *