Страница 13 из 14

Общие вопросы по модам

Добавлено: 11 янв 2017, 00:12
Lex
Мелочь, а неприятно: новый форт съезжает на категории оружия, хотя эти категории должны бы съехать вниз:
форт съехал.png
форт съехал.png (210.81 КБ) 93114 просмотров

И второй вопрос - от чего зависит порядок появления картинки форта? У меня он в equip.all идет после кластера для всех классов, а отображается первым.

Общие вопросы по модам

Добавлено: 11 янв 2017, 14:16
NX-01
Вопрос про добавление новых зданий. Он уже поднимался на страницах 4-6 этой темы, но я так и не увидел описания работающего механизма.
Я уже накатал простыню про свою неудачную попытку добавить в качестве эксперимента улучшенную копию здания, но, чтобы не заставлять раньше времени никого в этом копаться, сначала спрошу про общий порядок действий. Насколько я понял, нужно: 1. прописать в res_bld.a; 2. прописать в const.a; 3. прописать в plantype.ini, и, конечно, создать картинку, файл ini с параметрами, технологию/сделать доступным по умолчанию. С описанием не разобрался вовсе. Если нужно больше конкретики, чтобы указать на то, что я делаю неправильно, дайте отмашку, распишу.

Общие вопросы по модам

Добавлено: 12 янв 2017, 06:14
NX-01
Ufnv писал(а):Украсть, скорее, можно, а вот обменять/продать - не уверен, надо хорошо так смотреть... Мне казалось, что на обмен/продажу есть условие доступности материнских технологий, которое тут не выполняется. Я могу потом посмотреть, сейчас - никак, нет кода под рукой.


Пролистал всю тему, но так и не увидел ответа на вопрос. Всё-таки ИИ может украсть добавленную таким образом технологию или нет?

Общие вопросы по модам

Добавлено: 12 янв 2017, 16:59
Veshnyak
NX-01 писал(а):Источник цитаты Вопрос про добавление новых зданий

Вот так получилось
► Показать

Порядок такой
1. создать в BldInfo\ *.ini с описанием здания
2. создать новую запись в BldInfo\Summary.ini для новой секции типа зданий на планете или внести название нового здания в существующую
3. создать и прописать картинку в *.ini
4. внести даные в PLANTYPE.INI, если нужно строить здание на определенных типах планет. Если нет, то достаточно прописать "AllowedByDefault" в BldInfo\ ini-файл, тогда здание можно строить на любых планетах.
В ModKit\
5. res_bld.a
call UFRegisterBuildingFromFile(bldSenat, "BldInfo/Senat.ini", /*idx:90*/L"Сенат")
6. const.a
def const bldSenat = 40
7. info.a - вплывающая подсказка (у меня не заработала)
8. в LANG\Rus\buildings.lng - добавить описание. Название секции должно совпадать с полем "Info" BldInfo\ ini-файла
9. Скомпилировать, после положить полученный rtq.txt в LANG\Rus и переименовать в rtq.lng, иначе будут сбои в локализации
10. собрать всё, в каталоге мода должна получится примерно такая структура
\BldInfo\Summary.ini
\BldInfo\Senat.ini
\Images\senat.png
\LANG\Rus\buildings.lng
\LANG\Rus\rtq.lng
\rtq.cht
\rtq.gen
\rtq.pht
\rtq.rht
\PLANTYPE.INI
11.подключить мод

Патчи к игре.

Добавлено: 11 апр 2017, 14:13
roman_ke
>>Ufnv
Может сделаете DLC Master of Orion 2? Я когда ждал Ориона начал модить игру и в итоге получился мод второго Ориона. Призадумался и решил подождать пока не выйдет от варгаминга орион. Затем долго модил Орион от варгаминга, и по прошествии времени думаю что Polaris Sector более подходящая основа для Ориона 2, надо расы и богованов в Антаран переделать, добавив Орион 2 технологий.

Общие вопросы по модам

Добавлено: 12 апр 2017, 18:10
Veshnyak
roman_ke писал(а):Источник цитаты Я когда ждал Ориона начал модить игру и в итоге получился мод второго Ориона

Какую игру? Эту? Если да, то где можно увидеть, что получилось?
roman_ke писал(а):Источник цитаты надо расы и богованов в Антаран переделать, добавив Орион 2 технологий.

Для этого DLC не надо. Нужны картинки рас, кораблей, технологий. Тексты описаний. И собрать всё вместе. Мод Star Wars служит отличным примером, что это возможно.

Общие вопросы по модам

Добавлено: 11 дек 2017, 12:08
Veshnyak
Владимир, несколько вопросов
1. rtq.err после компиляции выдает предупреждение "race.a: Warning! At 1242 67 : Attribute not predefined CheckStopWarPlayerAbuse".
Это без изменения файлов. Явно баг какой-то.
2. В rtq_es.bat появились ключи
-at
-gat
Для чего они? С ними компиляция выдает виндовую ошибку "Прекращена работа программы....". Если их удалить - все работает.

Общие вопросы по модам

Добавлено: 11 дек 2017, 14:46
Ufnv
Veshnyak писал(а):Источник цитаты Владимир, несколько вопросов
1. rtq.err после компиляции выдает предупреждение "race.a: Warning! At 1242 67 : Attribute not predefined CheckStopWarPlayerAbuse".

Это - нормально. В языке любому объекту можно добавить атрибут/метод динамически, что и происходит. Поэтому - warning, а не error.

Это без изменения файлов. Явно баг какой-то.
2. В rtq_es.bat появились ключи
-at
-gat
Для чего они? С ними компиляция выдает виндовую ошибку "Прекращена работа программы....". Если их удалить - все работает.

А. Это - для генерации списка непереведенных фраз и подсос частично переведенных. Можно спокойно удалять из батника.

Общие вопросы по модам

Добавлено: 27 дек 2017, 11:29
Artos
Возвращаясь к:
Ufnv писал(а):Источник цитаты Я могу сделать для сценариев "кодированный текст", типа $ui.lng$123 - чтобы брал 123-й id из ui.lng
- будет ли это (возможность локализации сценария) сделано (и когда?)?
Дополнительно: В настоящий момент 'сценарии' невозможно запустить, если игроку разрешена только одна конкретная раса.

Общие вопросы по модам

Добавлено: 29 дек 2017, 01:13
Artos
(пусть будет тут для информации)
Оказывается ключики -gat и -at довольно полезны при работе над локализациями текстов.

-gat = generete_additional_translation полностью рабочая опция, с которой в файл .gat записываются все строки/фразы не имеющие перевода.
-at = additional_translation - опция добавление из файла .at в код (и в файл докализации .lng) строк имеющих перевод. Важно(!), чтобы в папке МодКита был хотя бы пустой файл .at, в противном случае компилятор зависает!

Т.о. при "черновом" запуске компилятора в rtq.gat появятся все проиндекстированные строки без перевода. К каждой строке будет добавлена заготовка: Lang "".
Беря по-строчно (или блоками) из rtq.gat, копипастим в rtq.at и в Lang "" добавляем нужный перевод.
При последующем запуске компилятора - переведенные строки окажутся в нужном месте!

P.S. Имеются и др. ключики:
-nss = no_strings_sort
-is = insert_strings
-a, -na = assist, no_assist
-af, -naf = assistfile, no_assistfile
-ef, -nef = errorfile, no_errorfile

//спасибо, добавил в "описание файлов игры" =V.

Патчи к игре.

Добавлено: 27 окт 2018, 23:56
Comissar
а можно в каком нибудь патче добаить прионам-орионам модуль гиперперехода в кораблики? а то собрать ты его собрал - а использовать в атаке никак. налетит толпяк в миллиард истребителей и привет.

Патчи к игре.

Добавлено: 03 ноя 2018, 23:01
p0rc0_r0ss0
Comissar писал(а):Источник цитаты а можно в каком нибудь патче добаить прионам-орионам модуль гиперперехода в кораблики? а то собрать ты его собрал - а использовать в атаке никак. налетит толпяк в миллиард истребителей и привет.

Вообще, возможность редактировать чужие конфигурации была бы мега фича.

Патчи к игре.

Добавлено: 03 ноя 2018, 23:38
Comissar
просто сверхразвитые цивилизации... а самого необходимого модуля и нет. не хорошо :D

Патчи к игре.

Добавлено: 04 ноя 2018, 05:52
Artos
Comissar писал(а):Источник цитаты можно в каком нибудь патче добаить прионам-орионам модуль гиперперехода в кораблики?

Ни что не мешает взять самому и, запустив конструктор кораблей (-design), отредактировать в файле default.ds или default_lum.ds проекты прионо-орионовских кораблей.

Примечание:
► Показать

Патчи к игре.

Добавлено: 04 ноя 2018, 13:14
Comissar
Artos писал(а):Источник цитаты
Comissar писал(а):Источник цитаты можно в каком нибудь патче добаить прионам-орионам модуль гиперперехода в кораблики?

Ни что не мешает взять самому и, запустив конструктор кораблей (-design), отредактировать в файле default.ds или default_lum.ds проекты прионо-орионовских кораблей.

Примечание:
► Показать

у меня именно стим)

Патчи к игре.

Добавлено: 04 ноя 2018, 18:08
Artos
Comissar писал(а):Источник цитаты у меня именно стим

Ну в таком случае возможны варианты:
1. Скачать с сайта Ящериц Polaris Sector - v1.06g Update и, распаковав его, временно использовать вместо стимовской недоделки... ;
2. Взять тут файлы default.ds и default_lum.ds с добавленными модулями контроля гиперпереходов для прионо-арионовских кораблей и использовать их вместо оригинальных;
3. Взять уже исправленный соответствующий default.ds или default_lum.ds из актуального Мода "Неофициальные исправления ошибок текущей версии PS". В этом варианте у прионо-арионовских кораблей, помимо добавленных модулей контроля гиперпереходов, рабочие щиты(!)

Общие вопросы по модам

Добавлено: 18 ноя 2018, 21:38
Darkreigh
не помню, может уже спрашивал где-то
в race.a в районе 6324-6345

Код: Выделить всё

if (rbvNone != call UFGetBonusSelected(rbEnergyLifeform))
      call UFSetECOPlanetBuildingCount(PlanetHandle, bldPlanetaryFactory, 10)
      call UFSetECOPlanetBuildingCount(PlanetHandle, bldOrbitalFactory, 3)
    else
      call UFSetECOPlanetBuildingCount(PlanetHandle, bldPlanetaryFactory, 3)
      call UFSetECOPlanetBuildingCount(PlanetHandle, bldOrbitalFactory, 1)
      call UFSetECOPlanetBuildingCount(PlanetHandle, bldFarm, 29)
      call UFSetPlanetResource(PlanetHandle, resFood, 150000)
    end if
как для одной определенной расы вместо 29 ферм поставить 28?

Общие вопросы по модам

Добавлено: 18 ноя 2018, 22:46
Artos
Darkreigh, по хорошему, если "для одной определенной расы" то править не race.a, а файл конкретной расы (r_Xxx.a). В конец почти пустой функции phrase CreateHomeworld(PlanetHandle) можно вставить строки, которые просто переназначат кол-во ферм на требуемое:

Код: Выделить всё

  phrase CreateHomeworld(PlanetHandle)
    ::CreateHomeworld(PlanetHandle)
    if (rbvNone = call UFGetBonusSelected(rbEnergyLifeform))
      call UFSetECOPlanetBuildingCount(PlanetHandle, bldFarm, Num) //<
    end if
  end phrase

Или же можно в race.a, но тогда нужно знать константу-идентификатор требуемой расы raceID (raceSha ... raceLum) и тогда вместо одной строки с фермами получится 5:

Код: Выделить всё

      call UFSetECOPlanetBuildingCount(PlanetHandle, bldOrbitalFactory, 1)
      if (this.raceID == raceLog) //< идентификатор требуемой расы
        call UFSetECOPlanetBuildingCount(PlanetHandle, bldFarm, Num) //< Num требуемое кол-во ферм
      else
        call UFSetECOPlanetBuildingCount(PlanetHandle, bldFarm, 29) // исходная строка
      end if
      call UFSetPlanetResource(PlanetHandle, resFood, 150000)
- это для Логанов.

Общие вопросы по модам

Добавлено: 18 ноя 2018, 23:14
Darkreigh
да, через race.a работает. спасибо.

Общие вопросы по модам

Добавлено: 19 ноя 2018, 06:25
Artos
(по следам топика "дом, милый дом")
Ufnv писал(а):Источник цитаты А зачем "псевдо-типы"? Не проще нормальный тип добавить?
Покопавшись с различным вариантами реализации "домашних" планет для некоторых рас, всё же тоже пришёл к выводу, что разумнее добавить новые (под)типы планет. Жаль что нет возможности использовать прелести ООП (объектно ориентированного программирования) и использовать объект шаблона исходной планеты требуемого типа, но... что доступно - на том и строим. :)
Однако в процессе создания новых типов планет проявился нюанс:
Планет каждого нового типа требуется в игре по одной каждого. Для этого используем параметр 'Generate Manual 1 RND 1'. И тут начались непонятки, первоначально новые типы планет были вставлены в начало файла PLANTYPE.INI (т.е. перед "Гайкой"). По какой-то причине планеты генерились рядом с гайками и земными... Перенес в конец файла (после астероидов) и подправил различные иные параметры в создаваемых типах. Планеты стали генериться нормально, т.е. 'основными' в пакете планет у звезды. Перед заключительной чисткой строк и пр. по какой то причине опять планеты стали генериться в соседстве с землями/гайками(?). А после переноса блока кода с новыми типами планет в начало файла - все стало работать как задумано...
Ufnv, собственно вопрос:"Почему такое происходит? Чем грозит такая 'нестабильность' поведения кода, зависящего от места расположения строк в файле? Есть ли возможность исправить/избавиться от коллизий?"
Блок строк кода новых типов планет:
► Показать

Общие вопросы по модам

Добавлено: 19 ноя 2018, 11:51
Ufnv
Когда заселяется сектор планетами, то сначала выбираются звезды для тех, кто с типом "Manual", по порядку. Им выбираются звезды по их предпочтениям. Соответственно, если предпочтения планет совпадают, а подходящих звезд мало, то запросто могут быть две планеты в системе.

Таким образом, рекомендация при добавлении нового "хорошего" типа, уменьшать кол-во earthlike, например. Или сделать другие предпочтения. Например, сделать для Ocean_HW Prefer "F" AnySize 0 "A" AnySize 1 "G" AnySize 2 "K" AnySize 2 "B" AnySize 2 "M" AnySize 3

Общие вопросы по модам

Добавлено: 19 ноя 2018, 20:27
Artos
Ufnv, большое спасибо за разъяснение.

Спрошу все же еще раз в этой теме про:
1. Проблема с call UFChangePlanetType(PlanetHandle, 3).
Описание проблемы в теме терраформинга.

2. Как добавить (и возможно ли вообще) свою рабочую UserFunc? Текст вопроса тут.

Общие вопросы по модам

Добавлено: 21 ноя 2018, 06:02
Artos
Ufnv, похоже удалось найти причину сбоя в работе функции call UFChangePlanetType(PlanetHandle, 3) - при смене типа уже обустроенной планеты эта функция (как предполагаю) пытается сохранить на планете все уже имеющиеся на планете постройки и население. Если на исходной планете кол-во шахт/ферм и т.п. значительно превышает кол-во "разведанных ресурсов" на проапрейденной (терраформированной) планете, то происходит сбой! Нередко, из-за чрезмерно избыточных шахт исчезают фабрики(заводы), а орб.верфи остаются. Дополнительно могут исчезать и несколько "лишних" шахт. И, пока "излишки" построек не будут удалены "руками" - недоступно строить фабрики и (иногда) шахты.
На сейчас, приходится использовать такой вариант-костыль:
► Показать
т.е. перед процессом апгрейда планеты (Upgrade == 3) помимо удаления явно лишнего (гидропонки, купола и т.п.) удаляю все предположительно излишние шахты, оставляя не более 2(!) каждого типа.
Заодно, по окончании удаляю все оставшиеся излишки:
► Показать
- тогда процесс апгейда планет происходит без потерь заводов :!:
Предложение-просьба: неплохо бы дать возможность модмейкерам считывать из параметров исходной планеты её поле "Upgrade", тогда можно было бы точнее управлять процессом апгрейда/терраформирования. ;) Ну а верхом пожелания была бы возможность считывать и устанавливать (Get|Set) строковые значений параметров для планеты: Nova, Destroy, Degrade и Upgrade. :)

Общие вопросы по модам

Добавлено: 08 дек 2018, 16:41
Artos
Ufnv, при написании мода "Случайные события" (например авария с лабораторией) где предусмотрены частичные разрушения строений и гибель населения, использую функцию UFGetAISkill(). Столкнулся с тем, что во второй половине игры (~3050 год) эта функция стала выдавать 255 вместо положенных ей 0..3 (skEasy..skHard). А ведь на эту функцию завязана и игра (функции богованов, пиратов, и т.п.)!
Вопрос: В чем может быть причина такого сбоя функции и/или как это обойти?

Также, попытался расширить мод "Домашние миры", добавив Люменам их "родной мир" на базе "СуперЗемли" ("Heavy_HW"), однако(!) ничего не вышло. :( Планета с новым типом создается и заселяется, но на экране планеты полностью отсутствует интерфейс отображения допустимых построек и уже построенных. Попробовал просто поселить Люменов на СуперЗемле ("Heavy") - результат аналогичный, т.е. отсутствие интерфейса.
В чём может быть проблема?

Общие вопросы по модам

Добавлено: 11 дек 2018, 03:15
Artos
Получил ответ на 2-ой вопрос, т.е. почему отсутствовал интерфейс построек:
Чтобы полноценно пользоваться планетой владельцу должны быть доступны технологии соответствующих куплов... СтОили выдать люменам технологию куполов с радиационной защитой и они отлично поселились на "СуперЗемле".