Победил трудность с Elementary Fuel Cell (EFC). Писать DLL не понадобилось, решение простое. А именно: был введён новый ресурс, на скорую руку обозванный OxidizedFuel, он локален (NO_FLOW), перекачка запрещена (NONE) и все 3 варианта топливных конвертеров имеют на выходе именно оксидайзед фюел. Четвертый модуль - простой генератор, превращающий окисленное топливо в лепестричество. Хитрость ещё и в том, что ёмкость на это оксиленное топливо маленькая, на 5 секунд. Благодаря всему этому, включение всех трёх конвертеров не повышает отдачу электричества ни на миллиампер. И при выключении конвертера топливная ячейка отдаёт ток ещё 5 секунд, но я рассматриваю сей факт как фичу, не баг, ну, не может топливная ячейка мгновенно остановиться.
Наверное, для многих титанов форума такое решение элементарно, но я шёл к нему месяц (не весь месяц, конечно, продумывал) и для меня - новичка в модопостроении это прорыв, захотелось, вот, поделиться с вами своей находкой и радостью открытия. Когда дотестю всё - выложу на форум, не только EFC, там и другие детальки, не столь замороченные.
А теперь вопрос, бился вчера вечером, но так и не решил. Как скрыть от пользователя этот OxidizedFuel? Чтобы в паспорте детальки не фигурировала вспомигательная ёмкость с OxidizedFuel, а лучше и всякие упоминания этого окисленного топлива? Пробовал isVisible = false в конфиге ресурса - нуль реакции со стороны игры.
И ещё вопросик. Есть у меня увлечение - "достраивать" Kerbal Space Center. ;)
Прямо на территории KSC размещаю заправку для самолётов (KIS/KAS, но можно и без них, использовать GrapplingDevice, чтобы с докпортами не возиться), по краям ВПП (а также по краям ВПП на брошенной авиабазе) ставлю приводные маяки с номером полосы (09 и 27), чтобы ночью, можно было выправить самолёт в 25-40км от ВПП и гладенько выйти на глиссаду без последующих подруливаний. В 3.5км от KSC строю ангар, где будут находится не нужные прямо сейчас самолёты, т.к. держать их на KSC с суммарным числом деталей за 100 - понижает фпс, а в 3.5км они не прогружены и не мешают. Ещё в самом центре KSC стоит высокая стелла, на ней антенный комплекс и красивая подветка зданий разными цветами, ох, сколько времени я подбирал эти цвета, чтобы гармонировали друг с другом! Есть ещё стенд, на котором инженер заряжает батарейки, перепаковывает парашюты, в общем - хозяйствует, все эти детальки снимаются с приземлившихся КА и по дешёвке распродаются местным фермерам, что позволяет нанять уборщиц в Центр Космонавтов (по сути - общагу), а не заставлять новичков с нулевым налётом драить полы. ;)
Разумеется, при строительстве на KSC важно минимальнейшее число деталей. Поэтому все безбожно сваривается, к примеру, в заправке всего 4 детальки. Другой трюк заключается в том, что ставить такие девайсы надо не на территории комплексов зданий. Если вы посмотрите на карту KSC, то увидите множественные треугольнички газонов и один ромбик, они расположены между территориями зданий и принадлежат не их территории, а KSC (тоесть, EVA репорт выдаст там "KSC", а не около-конкретное здание); размещённые на этих газончиках сооружения не будут мешать апгрейду домиков.
Но существует одна засада - электричество. Почти для каждого крафта нужны батарейка и средство для восполнения электрического заряда. И если батарейку легко приварить к чему угодно, то солнечную панельку не приваришь (гайд не рекомендует, а я не пробовал варить), а зачастую, на ранних этапах развития, одной солнечной панельки маловато, продвинутые антенны из RemoteTech прилично жрут EC.
Однако, KSC это средоточие цивилизации кербалов, технологический
прыщ светоч планеты, зачем какие-то батарейки и солнечные панельки, если в нескольких метрах от размещаемого крафта, под землёй, тянется электрический кабель (а его не может там не быть, поглядите на окошки зданий ближе к вечеру), почему бы не запитаться с него?
Конфиг детальки написал быстро, батарея на 10к EC, так, на всякий случай, отключаемый источник элекричества на 3 ампера (3 EC/сек), заодно добавил туда модуль управления, чтобы отдельно пробник не ставить. Сложнось в том, что нерадивый юзер, такую славную детальку может потащить в космос или на другую базу. Как этому воспрепятствовать?
Надо писать DLL, в котором проверять удалённость детальки от KSC, и если она больше 10км - прекращать генерацию электричества. Я пописываю на шарпе, написать DLL могу, но мод-API KSP мне неизвестен, и с какого края начать - даже не представляю. Может найдётся добрая душа, имеющая опыт написания библиотек под KSP и способная поинструктировать?
А может есть другой способ, порешать в рамках конфига? Я придумал только следующее:
- использовать для генерации электричества, в качестве входного "топлива" IntakeAir. Это "отрежет" возможность работы детали везде, кроме Кёрбина и Лейза;
- установить массу побольше, тонн 20-40, чтобы желающие утянуть детальку на орбиту помучались; ;)
- задать огромный драг, скажем, 100. Но, боюсь, это решается установкой детали под обтекатель;
- опустить критическую температурку до 340 Кельвинов, при подъёме деталька наверняка начёт греться и разрушиться;
- ImpactTolerance занизить до 1 м/с или даже меньше, чтобы при посадке на другую планету требовалась ювелирная точность;
- возможно, понизить до плинтуса значения breaking*, в статике, на KSC деталь будет держаться, при любом ускорении - разрушиться.
Есть ещё варианты?
Благодарю ответивших.
Сообщение отредактировал 16 декабря 2017 - 13:54