Страница 13 из 14
Общие вопросы по модам
Добавлено: 11 янв 2017, 00:12
Lex
Мелочь, а неприятно: новый форт съезжает на категории оружия, хотя эти категории должны бы съехать вниз:
- форт съехал.png (210.81 КБ) 96397 просмотров
И второй вопрос - от чего зависит порядок появления картинки форта? У меня он в 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
Вот так получилось
Порядок такой
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
просто сверхразвитые цивилизации... а самого необходимого модуля и нет. не хорошо
Патчи к игре.
Добавлено: 04 ноя 2018, 05:52
Artos
Comissar писал(а):Источник цитаты можно в каком нибудь патче добаить прионам-орионам модуль гиперперехода в кораблики?
Ни что не мешает взять самому и, запустив конструктор кораблей (
-design), отредактировать в файле
default.ds или
default_lum.ds проекты прионо-орионовских кораблей.
Примечание: ► Показать
В версиях игры Steam v1.06d (и выше) вызов конструктора кораблей НЕ работает..., поэтому рабочий конструктор кораблей можно использовать от версий игры SimLinks или GoG.
Отредактированный файл (используемый в игре) будет находиться в папке CellsEditor (рядом с папкой сохранений игры SAVES)
Патчи к игре.
Добавлено: 04 ноя 2018, 13:14
Comissar
Artos писал(а):Источник цитаты Comissar писал(а):Источник цитаты можно в каком нибудь патче добаить прионам-орионам модуль гиперперехода в кораблики?
Ни что не мешает взять самому и, запустив конструктор кораблей (
-design), отредактировать в файле
default.ds или
default_lum.ds проекты прионо-орионовских кораблей.
Примечание: ► Показать
В версиях игры Steam v1.06d (и выше) вызов конструктора кораблей НЕ работает..., поэтому рабочий конструктор кораблей можно использовать от версий игры SimLinks или GoG.
Отредактированный файл (используемый в игре) будет находиться в папке CellsEditor (рядом с папкой сохранений игры SAVES)
у меня именно стим)
Патчи к игре.
Добавлено: 04 ноя 2018, 18:08
Artos
Ну в таком случае возможны варианты:
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, собственно
вопрос:"
Почему такое происходит? Чем грозит такая 'нестабильность' поведения кода, зависящего от места расположения строк в файле? Есть ли возможность исправить/избавиться от коллизий?"
Блок строк кода новых типов планет:
► Показать
Код: Выделить всё
// [+]#mod# "HomeWorlds" ------------------------------------------------------->
PLANET
VeryGood "Ocean_HW" "Oceanic_HW_name" // "Водный мир" - Special homeworld for Erians
FullInfo "Oceanic_descr"
Sound "SOUND/D/101_PLANET_OCEAN.wav"
Colonize Tech "SCBLDPLATFORM"
Size Min 0.9 Max 1.1
Generate Manual 1 RND 1
Position Middle
Prefer "G" AnySize 0
"K" AnySize 1 "F" AnySize 1
"A" AnySize 2 "M" AnySize 2
"B" AnySize 3
Preset "Ocean"
Preset "Ocean.1"
Preset "Ocean.2"
Preset "Ocean.3"
Preset "Ocean.4"
Preset "Ocean.5"
CanBeHomeworld
For Ery use "Ocean.3"
Resources
Gravitonium 1
Reidium 1
Metals 1
Organics Min 1 Max 10
Radioactives 1
Additional
Gravitonium Rnd 5 Min 1 Max 10 "SCDEEPSCAN"
Reidium Rnd 5 Min 1 Max 10 "SCDEEPSCAN"
Metals Rnd 5 Min 1 Max 3 "SCDEEPSCAN"
Organics Rnd 5 Min 1 Max 10 "SCDEEPSCAN"
Radioactives Rnd 5 Min 1 Max 3 "SCDEEPSCAN"
Bonuses
Science min 0.8 max 1.1
Prod min 0.9 max 1.15
Food min 0.9 max 1.1
Gravitonium min 0.5 max 0.9
Reidium min 0.5 max 0.9
Metals min 0.5 max 0.9
Organics min 0.75 max 1.5
Radioactives min 0.5 max 0.9
Allows ColonialModule
Allows ColonialModule_ADV
Allows SeaPlatform
Allows OceanFarm
Allows ScienceCenter
Allows OrbitalLaboratory
Allows TrainingCenter
Allows TerraformingProject // [+]#mod# "Terraforming"
Overrides ScienceCenter Min 30 Max 40
Overrides OrbitalLaboratory 8
Overrides PlanetaryFactory Min 9 Max 12
Overrides OceanFarm Min 80 Max 120
Nova "Exhausted"
Destroy "AsteroidBelt"
Degrade "Ocean" // [+]#mod# 1.06g
Upgrade "Earthlike" // [+]#mod# 1.06g
PLANET
VeryGood "Acid_HW" "Acid_HW_name" // "Токсичный мир" - Special homeworld for Logans
FullInfo "Acid_descr"
Sound "SOUND/D/104_PLANET_ACID.wav"
Size Min 0.9 Max 1.1
Generate Manual 1 RND 1
Position Middle
Prefer "G" AnySize 0
"K" AnySize 1 "F" AnySize 1
"A" AnySize 2 "M" AnySize 2
"B" AnySize 3
Preset "Acid"
Preset "Acid.1"
Preset "Acid.2"
CanBeHomeworld
For Log use "Acid.1"
Resources
Gravitonium 1
Reidium Min 1 Max 5
Metals 1
Organics Min 7 Max 10
Radioactives 1
Additional
Gravitonium Rnd 5 Min 1 Max 2 "SCDEEPSCAN"
Reidium Rnd 15 Min 1 Max 2 "SCDEEPSCAN"
Metals Rnd 5 Min 1 Max 2 "SCDEEPSCAN"
Organics Rnd 5 Min 1 Max 10 "SCDEEPSCAN"
Radioactives Rnd 5 Min 1 Max 2 "SCDEEPSCAN"
Bonuses
Science min 1.0 max 1.2
Prod min 0.9 max 1.15
Food min 1.9 max 2.0
Gravitonium min 0.75 max 1.1
Reidium min 0.9 max 1.15
Metals min 0.75 max 1.1
Organics min 1.0 max 1.5
Radioactives min 0.75 max 1.1
Allows ColonialModule
Allows ColonialModule_ADV
Allows RadioDome
Allows HydroponicFarm
Allows Rnd 75 Laboratory
Allows ScienceCenter
Allows OrbitalLaboratory //[?]
Allows TrainingCenter
Allows TerraformingProject // [+]#mod# "Terraforming"
Overrides ScienceCenter Min 4 Max 5
Overrides PlanetaryFactory Min 12 Max 15
Overrides RadioDome Min 135 Max 150
Overrides HydroponicFarm Min 95 Max 100
Nova "Exhausted"
Destroy "AsteroidBelt"
Degrade "Acid" // [+]#mod# 1.06g
Upgrade "Earthlike" // [+]#mod# 1.06g
// ----------------------------------------------------------------------------x
PLANET // "Гайя"
...
Общие вопросы по модам
Добавлено: 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) - при смене типа уже обустроенной планеты эта функция (как предполагаю) пытается сохранить на планете все уже имеющиеся на планете постройки и население. Если на исходной планете кол-во шахт/ферм и т.п.
значительно превышает кол-во "разведанных ресурсов" на проапрейденной (терраформированной) планете, то происходит сбой! Нередко, из-за чрезмерно избыточных шахт исчезают фабрики(заводы), а орб.верфи остаются. Дополнительно могут исчезать и несколько "лишних" шахт. И, пока "излишки" построек не будут удалены "руками" - недоступно строить фабрики и (иногда) шахты.
На сейчас, приходится использовать такой вариант-костыль:
► Показать
Код: Выделить всё
// Remove excess mines (bldIronSh, bldOrganicSh, etc.)
if (call UFGetECOPlanetBuildingCount(PlanetHandle, bldPlanetaryFactory) > 3)
local i
for (i=0, i<5, i++)
if (call UFGetECOPlanetBuildingCount(PlanetHandle, i) > 2) then call UFSetECOPlanetBuildingCount(PlanetHandle, i, 2)
end for
end if
т.е. перед процессом апгрейда планеты (Upgrade == 3) помимо удаления явно лишнего (гидропонки, купола и т.п.) удаляю все предположительно излишние шахты, оставляя не более 2(!) каждого типа.
Заодно, по окончании удаляю все оставшиеся излишки:
► Показать
Код: Выделить всё
// Remove excess buildings, etc.
for (i=0, i<=40, i++)
if (call UFGetECOPlanetBuildingCount(PlanetHandle, i) > call UFGetECOPlanetMaxBuildingCount(PlanetHandle, i))
call UFSetECOPlanetBuildingCount(PlanetHandle, i, call UFGetECOPlanetMaxBuildingCount(PlanetHandle, i))
end if
end for
- тогда процесс апгейда планет происходит без потерь заводов
Предложение-просьба: неплохо бы дать возможность модмейкерам считывать из параметров исходной планеты её поле "
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-ой вопрос, т.е. почему отсутствовал интерфейс построек:
Чтобы полноценно пользоваться планетой владельцу должны быть доступны технологии соответствующих куплов... СтОили выдать люменам технологию куполов с радиационной защитой и они отлично поселились на "СуперЗемле".