Space Engineers: Простые скрипты с разбором и объяснениями #2. Солнечные панели LCD инвентарь роторы

Опубликовано: 01 Январь 1970
на канале: Renesco Rocketman
25,722
510

Второй стрим по простым скриптам в инженерах с разбором и объяснениями.

ТАЙМКОДЫ:

===============================================
1. ИНДИКАТОРЫ ЭФФЕКТИВНОСТИ СОЛНЕЧНЫХ ПАНЕЛЕЙ
Работаем с солнечными панелями, LCD, ротором, лампочками.
===============================================

9:50 Ставим панель, с которой будем читать выход энергии, программный блок и LCD. Обзываем блоки правильно.
15:45 Пишем скрипт для вывода эффективности панели на LCD
23:50 Копируем скрипт в прог. блок и отлаживаем. Объяснение причин самой "популярной" ошибки, которую выдают скрипты при отладке. Не найден какой-то блок.
25:15 Скрипт отлажен и заработал правильно.
31:00 Альтернативный вариант поиска блоков. Ищем блок по типу, а не по имени. GridTerminalSystem.GetBlocksOfType()
34:30 Может ли один программируемый блок запустить другой с определенным аргументом? Метод TryRun().
43:25 Улучшаем скрипт индикации для солнечных панелей. Выводим минимум и максимум энергии на LCD.
54:00 Делаем индикатор-лампочку. Управляем RGB цветом блока InteriorLight: Чем больше энергии дают панели, тем ярче светит лампочка.
1:01:00 Тест индикатора-лампочки.
1:09:55 Еще 1 вариант: датчик-стрелка на роторе.
1:20:00 Тест скрипта: стрелка на роторе показывает выход энергии.

===============================================
2. РАБОТА С ИНВЕНТАРЕМ
Инвентарь, контейнеры, вывод на LCD, перемещение инвентаря, антиматерия.
===============================================
1:31:40 Скрипт, выводящий содержимое ящика на LCD.
1:52:45 Скрипт заработал. Кидаем в ящик разные предметы, смотрим содержимое.
2:06:00 Перекладываем предметы из одного ящика в другой скриптом. IMyInventory.TransferTo()
2:16:00 Тест скрипта на перемещение предметов.
2:20:00 Проверяем старый глюк с "антиматерией". Можно создать отрицательное количество предметов в контейнере. Читерское использование: бесконечный инвентарь, снижение массы корабля, сверхманевренность, уничтожение камней без выброса.

===============================================
3. ФИНАЛЬНЫЙ СКРИПТ: РОТОРНЫЙ БУР
Работаем с дрелями, пистоном, ротором, LCD, инвентарем
===============================================

2:33:55 Постановка задачи: как оно должно работать.
2:37:00 Пишем скрипт бура.
2:37:40 Находим дрели по принадлежности к группе блоков.
2:38:40 Аргументы метода Main(). Запуск и остановка скрипта буровой установки.
2:47:50 Выносим вывод инвентаря на LCD в отдельную функцию.
2:48:00 Проверка позиции ротора и регулировка шага бура.
3:02:30 Назначем кнопки на запуск и остановку скрипта, отлаживаем программу.
3:04:50 Скрипт заработал. Бур вращается и заглубляется на 1м каждые пол-оборота.


ЗЫ:
Первый стрим из этой серии:    • Space Engineers: Простые скрипты с ра...  
Старый плейлист с уроками по скриптам:    • Скрипты в Space Engineers: Урок1. Общ...  
Как настроить студию под скрипты в инженерах:    • Space Engineers: Как установить и нас...  
Страничка видеокурса "C# от простого к сложному": http://alekseev74.ru/courses/csharp
Не то, чтобы реклама данного курса, просто он очень краткий и в то же время достаточный для начала в скриптах Space Engineers.