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

Самостоятельная настройка параметров игры и создание модификаций.
Аватара пользователя
Lex
Frigate
Сообщения: 530

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

Сообщение Lex » 11 янв 2017, 00:12

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

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

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

Сообщение NX-01 » 11 янв 2017, 14:16

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

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

Сообщение NX-01 » 12 янв 2017, 06:14

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


Пролистал всю тему, но так и не увидел ответа на вопрос. Всё-таки ИИ может украсть добавленную таким образом технологию или нет?
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 903

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

Сообщение Veshnyak » 12 янв 2017, 16:59

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.подключить мод
roman_ke
Fighter
Сообщения: 12

Патчи к игре.

Сообщение roman_ke » 11 апр 2017, 14:13

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

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

Сообщение Veshnyak » 12 апр 2017, 18:10

roman_ke писал(а):Источник цитаты Я когда ждал Ориона начал модить игру и в итоге получился мод второго Ориона

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

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

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

Сообщение Veshnyak » 11 дек 2017, 12:08

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

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

Сообщение Ufnv » 11 дек 2017, 14:46

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

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

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

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

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

Сообщение Artos » 27 дек 2017, 11:29

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

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

Сообщение Artos » 29 дек 2017, 01:13

(пусть будет тут для информации)
Оказывается ключики -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.
Comissar
Heavy Fighter
Сообщения: 71

Патчи к игре.

Сообщение Comissar » 27 окт 2018, 23:56

а можно в каком нибудь патче добаить прионам-орионам модуль гиперперехода в кораблики? а то собрать ты его собрал - а использовать в атаке никак. налетит толпяк в миллиард истребителей и привет.
Аватара пользователя
p0rc0_r0ss0
Destroyer
Сообщения: 1169

Патчи к игре.

Сообщение p0rc0_r0ss0 » 03 ноя 2018, 23:01

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

Вообще, возможность редактировать чужие конфигурации была бы мега фича.
Comissar
Heavy Fighter
Сообщения: 71

Патчи к игре.

Сообщение Comissar » 03 ноя 2018, 23:38

просто сверхразвитые цивилизации... а самого необходимого модуля и нет. не хорошо :D
Аватара пользователя
Artos
Frigate
Сообщения: 533

Патчи к игре.

Сообщение Artos » 04 ноя 2018, 05:52

Comissar писал(а):Источник цитаты можно в каком нибудь патче добаить прионам-орионам модуль гиперперехода в кораблики?

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

Примечание:
► Показать
Comissar
Heavy Fighter
Сообщения: 71

Патчи к игре.

Сообщение Comissar » 04 ноя 2018, 13:14

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

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

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

у меня именно стим)
Аватара пользователя
Artos
Frigate
Сообщения: 533

Патчи к игре.

Сообщение Artos » 04 ноя 2018, 18:08

Comissar писал(а):Источник цитаты у меня именно стим

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

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

Сообщение Darkreigh » 18 ноя 2018, 21:38

не помню, может уже спрашивал где-то
в 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?
Аватара пользователя
Artos
Frigate
Сообщения: 533

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

Сообщение Artos » 18 ноя 2018, 22:46

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)
- это для Логанов.
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 822

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

Сообщение Darkreigh » 18 ноя 2018, 23:14

да, через race.a работает. спасибо.
Аватара пользователя
Artos
Frigate
Сообщения: 533

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

Сообщение Artos » 19 ноя 2018, 06:25

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