Загрузка страницы

Space Engineers: Простые скрипты с разбором и объяснениями. Стрим №1. (гайд, туториал, мануал)

Сегодня первый стрим из запланированного цикла по простым скриптам с пояснениями и вопрос-ответами. Надеюсь, эти стримы будут полезны тем, кто только собирается написать свой первый скрипт для игры Space Engineers.

ТАЙМКОДЫ:

=====ОБЩАЯ ИНФА ПО СКРИПТАМ В ИНЖЕНЕРАХ============
7:15 Из чего состоит скрипт: переменные и методы
8:10 Стандартные типы переменных: int, string, float, double, bool
9:55 Переменные, хранящие ссылки на блоки (гироскопы, двигатели и т.п.)
13:00 Основные методы скрипта: Main(), Program(), Save()
13:20 void Main() - это то, что исполняется при запуске программного блока
13:30 Program() - конструктор скрипта
17:45 Save() - выполняется при сохранении. В этом метод можно выполнить сохранение важных переменных в текстовую панель или еще куда-то, чтобы при следующем запуске игры скрипт подгрузил эти значения.
19:13 Наши собственные функции и процедуры. Пример пользовательской функции.
27:30 Объект GridTerminalSystem - то, с чего начинается работа с любыми блоками.
30:20 Поиск блока по имени: GridTerminalSystem.GetBlockWith Name()

======ПЕРЕХОДИМ К ПРАКТИКЕ: ПЕРВЫЕ ПРИМЕРЫ СКРИПТОВ========

ГИРОСКОП:
31:30 Немного об интерфейсах. Находим гироскоп и устанавливаем ему усилие по оси рыскания.
38:45 Тест первого скрипта в игре

ПРОЖЕКТОР (или любая другая лампочка):
48:30 Прожектор: включаем блок из скрипта
52:30 Аргументы метода Main(). Много действий по кнопкам из одного программного блока. Включаем и выключаем прожектор скриптом с аргументами.
58:00 Назначаем вызов прог. блока с разными аргументами на кнопки.
1:10:45 Небольшой пример по интерфейсам: включать и выключать прожектор можно и как IMyTerminalBlock, и как IMyReflectorLight. Да здравствует Полиморфизьм!
1:12:15 А теперь попробуем управлять RGB палитрой прожектора - теперь уже придется делать это только через интерфейс IMyReflectorLight.

ЛИФТ:
1:31:10 Постановка задачи: нужен лифт на колбасе из пистонов для 3х и более этажей. Раньше мы находили конкретные блоки по имени. Теперь попробуем найти блоки определенного типа и принадлежащие к назначенной в терминале группе. Также нам потребуется не один запуск скрипта, а зацикленное исполнение с реакцией на изменяющуюся ситуацию.

1:41:25 !!!ВАЖНАЯ ЧАСТЬ: Зацикливание скрипта тремя способами.
1:42:20 *1.Самый простой и старый способ зациклить скрипт: таймер триггерит программный блок и стартует самого себя. Частота исполнения до 1 раза/сек
1:43:08 Пишем из программного блока на текстовую панель. Интерфейс IMyTextPanel и метод WritePublicText()
1:58:20 Можно по старой схеме добиться и 60 исполнений в секунду, если не стартовать, а триггерить таймер.
2:05:30 Делитель частоты: возможность снизить частоту исполнения главной части скрипта с 60 до любого количества раз в сек.
2:18:20 *2.Более продвинутый способ зацикливания: таймер триггерится программным блоком и вызывает программный блок. Такой подход позволяет запустить или остановить исполнение скрипта вызовом прог. блока с аргументом.
2:31:30 *3. Самый новый способ: Зацикливание через Runtime.UpdateFrequancy. Программный блок не нуждается в таймере, весь контроль над частотой исполнения (или его остановкой) - из программного блока.

2:41:25 Возвращаемся к лифту.
2:45:00 Начинаем писать скрипт лифта. Новый тип переменных: список List. В список будем подгружать пистоны из назначенной нами группы "ElevatorPistons"
2:47:20 Метод GetBlockGroupWithName() объекта GridTerminalSystem - находим пользовательскую группу блоков.
2:48:50 Метод GetBlocksOfType() - достаем в список блоки определенного типа. Этот метод может быть вызван из группы блоков - тогда достанем пистоны только принадлежащие к заданной группе. Его же можно вызвать из GridTerminalSystem - тогда получим список всех пистонов на гриде.
2:51:40 Конвертим строковый аргумент в float. Получаем высоту этажа в виде аргумента.
2:53:30 Цикл foreach - обрабатываем все элементы списка. Тесты скрипта, отладка, лов багов.
3:03:20 Назначаем аргументы кнопкам лифта. Пробуем, отлаживаем.
3:06:00 Пример использования нашей собственной функции: ограничиваем максимальную скорость лифта. Тесты лифта.
3:16:20 Теперь осталось только выключать скрипт, когда лифт уже приехал на нужную высоту. Экономим системные ресурсы.
3:19:55 Последние тесты лифта - теперь он работает как надо.
3:21:50 Вопросы, ответы, немного общения и планов.

ЗЫ: ПИШИТЕ В КОММЕНТАХ ТЕМЫ, КОТОРЫЕ ХОТЕЛИ БЫ ВИДЕТЬ В РАЗБОРАХ ПРОСТЫХ СКРИПТОВ.

Писать скрипты для инженеров удобнее всего в Visual Studio, видео о том, как установить и настроить его под Space Engineers тут: https://www.youtube.com/watch?v=1MXJOYQ1xek

Видео Space Engineers: Простые скрипты с разбором и объяснениями. Стрим №1. (гайд, туториал, мануал) канала Renesco Rocketman
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
4 января 2018 г. 1:34:41
03:34:48
Другие видео канала
Space Engineers - Как написать скрипт за 5 минут? (Visual Script Builder)Space Engineers - Как написать скрипт за 5 минут? (Visual Script Builder)Space Engineers: О чем думают пираты?Space Engineers: О чем думают пираты?Установка Visual Studio 2019 для скриптов в  Space EngineersУстановка Visual Studio 2019 для скриптов в Space EngineersSpace Engineers: Торпеды в ПвП на сервере. Атака на боевые корабли, и бомбардировка базы.Space Engineers: Торпеды в ПвП на сервере. Атака на боевые корабли, и бомбардировка базы.Space Engineers: Танковый бой на планете и атака камикадзе.Space Engineers: Танковый бой на планете и атака камикадзе.Music Player(Programmable)Music Player(Programmable)Space Engineers: Расстрел и грабеж огромного корабля на сигнале. (Сервер Upside Down PvP ПвП)Space Engineers: Расстрел и грабеж огромного корабля на сигнале. (Сервер Upside Down PvP ПвП)БУР - ДЕЛАЕМ ПРОСТОЙ БУР Space EngineersБУР - ДЕЛАЕМ ПРОСТОЙ БУР Space EngineersSpace Engineers короткие гайды, PAM Path Auto Miner - автомайнер !Space Engineers короткие гайды, PAM Path Auto Miner - автомайнер !Space Engineers короткие гайды, скрипт Auto LCDSpace Engineers короткие гайды, скрипт Auto LCDSpace Engineers. Планетарный буровой робот. Тестирование и доработка.Space Engineers. Планетарный буровой робот. Тестирование и доработка.Скрипты в Space Engineers: Урок1. Общие сведения, поиск и управление блоками. Быстрый таймер.Скрипты в Space Engineers: Урок1. Общие сведения, поиск и управление блоками. Быстрый таймер.Space Engineers: Простые скрипты с разбором и объяснениями #2. Солнечные панели LCD инвентарь роторыSpace Engineers: Простые скрипты с разбором и объяснениями #2. Солнечные панели LCD инвентарь роторыSpace engineer - Гайд для новичков | Скрипты без знаний языка программированияSpace engineer - Гайд для новичков | Скрипты без знаний языка программированияSpace Engineers. Программный блок - Загрузка скриптаSpace Engineers. Программный блок - Загрузка скриптаSpace Engineers - ПГ - Скрипты по автоматизации турелей!Space Engineers - ПГ - Скрипты по автоматизации турелей!Space Engineers - ПГ - [PAM] Path Auto Miner - Скрипт-Автошахтер!Space Engineers - ПГ - [PAM] Path Auto Miner - Скрипт-Автошахтер!Space Engineers - Гайд по созданию интерактивного меню.Space Engineers - Гайд по созданию интерактивного меню.Space Engineers СкриптыSpace Engineers Скрипты
Яндекс.Метрика