Общие вопросы по модам
Общие вопросы по модам
Не, как я понял, сегмент - это планеты, выделенные для одной расы. Намекает на это одна гайя в сегменте. То есть грубо это количество звезд поделить на количество рас.
Общие вопросы по модам
► Показать
► Показать
upd еще просьба - скиньте, если не сложно, картинку с пустой планировкой первого истребителя у людей, а то я до сих пор на рыцарях летаю.
Общие вопросы по модам
Darkreigh писал(а):Источник цитаты если кто хочет попробовать как там, могу скинуть файлы.
Так сделай отдельную тему, выложи архов.
Darkreigh писал(а):Источник цитаты upd еще просьба - скиньте, если не сложно, картинку с пустой планировкой первого истребителя у людей, а то я до сих пор на рыцарях летаю.
Этот?
► Показать
Общие вопросы по модам
спасибо, но нет, не этот. мне просто точки (ячейки) восстановить как было.
Общие вопросы по модам
имя файла тогда напиши, какой нужен
Общие вопросы по модам
а я вот и не знаю
Общие вопросы по модам
Ну тогда эти попробуй
Общие вопросы по модам
Может кто подробно описать добавление уникальной для определенной расы технологии? Чтобы и игрок, и боты использовали, а в "торговом" списке её не было.
Общие вопросы по модам
немного хитро.
сначала в tech_t.all добавляем вот нечто такое:
Первая технология - это "мама" для всех технологий, специфичных для какой-то расы. Соответственно, вторая - это уже прикладуха, которая появится только у той расы, которой будет доступна первая.
Далее в .a файле нужной расы где-нибудь в Init добавляем
сначала в tech_t.all добавляем вот нечто такое:
Код: Выделить всё
[TECHNOLOGY] "RACIAL_ENABLER"
Hidden
Info "RACIAL_ENABLER_NAME"
Parents
"BLOCKER" 7
[TECHNOLOGY] "RACE_SPECIFIC_LASER"
Info "RACE_SPECIFIC_LASER_NAME"
Parents
"RACIAL_ENABLER" 0
Первая технология - это "мама" для всех технологий, специфичных для какой-то расы. Соответственно, вторая - это уже прикладуха, которая появится только у той расы, которой будет доступна первая.
Далее в .a файле нужной расы где-нибудь в Init добавляем
Код: Выделить всё
call UFGrantTechnology(this.raceID, "RACIAL_ENABLER")
Общие вопросы по модам
А украсть, обменять, продать её тоже нельзя будет? Не скрытую, а вторую, лазер.
Общие вопросы по модам
Украсть, скорее, можно, а вот обменять/продать - не уверен, надо хорошо так смотреть... Мне казалось, что на обмен/продажу есть условие доступности материнских технологий, которое тут не выполняется. Я могу потом посмотреть, сейчас - никак, нет кода под рукой.
Общие вопросы по модам
Ufnv писал(а):Источник цитаты что на обмен/продажу есть условие доступности материнских технологий, которое тут не выполняется
То есть например, нельзя у развитой в научном плане расы купить бак 5, пока не исследуешь бак 4? Как то это неправильно, купить же можно что угодно...
Общие вопросы по модам
.a не реагирует на изменения что-то. Тот, где еще начальные характеристики расставлены (шпионаж, торговля всякая - на них опыты и ставил). Может файлы не те трогаю (из модкита, r_gava.a, например), может еще какие-то манипуляции нужно делать, переносить куда-нибудь, переименовывать?
Общие вопросы по модам
батником то новые *.rtq файлы делал?
Общие вопросы по модам
нет. спасибо. но всё равно - либо не работает, либо дальше экрана загрузки не идет. прогресс.
upd
стоп, полундра. я ж в корне всё файлы перехимичил.
2
ладно, .a по расе вроде работает, но технология все равно не включается. Что там за Init в файле расы? Куда именно можно вписать дело на скрытую науку (call UFGrantTechnology которое)?
upd
стоп, полундра. я ж в корне всё файлы перехимичил.
2
ладно, .a по расе вроде работает, но технология все равно не включается. Что там за Init в файле расы? Куда именно можно вписать дело на скрытую науку (call UFGrantTechnology которое)?
Общие вопросы по модам
Сюда очевидно
хотя возможно и сюда
Инициализация работает при старте, так что однозначно нужна новая игра.
upd. в файле race.a, общем для всех рас, есть секция
можно сюда точно, но лучше, думаю, в файле конкретной расы делать
Код: Выделить всё
initial
Drills.inherit AbstractRace
Drills.Init("Room_Drills")
end initial
хотя возможно и сюда
Код: Выделить всё
phrase InitTechPath()
this.TechnologyPath add next "SCBLDDOME"
this.TechnologyPath add next "SCBLDSEAPL"
this.TechnologyPath add next "SCWPLZ"
this.TechnologyPath add next "SCBLDDOME_S"
this.TechnologyPath add next "SCBLDDOME_R"
this.TechnologyPath add next "SCBLDHYDROP"
this.TechnologyPath add next "SCBLDORBLAB"
end phrase
Инициализация работает при старте, так что однозначно нужна новая игра.
upd. в файле race.a, общем для всех рас, есть секция
Код: Выделить всё
phrase Init
можно сюда точно, но лучше, думаю, в файле конкретной расы делать
Общие вопросы по модам
Если пихать в Initial, то при создании .rtq выдает ошибку, а игра при запуске вылетает. Хороший знак?
В техпасе не работает.
В техпасе не работает.
Общие вопросы по модам
А последний вариант?
Только наверное нужно будет this.raceID заменить на конкретную расу, иначе всем добавится.
Только наверное нужно будет this.raceID заменить на конкретную расу, иначе всем добавится.
Общие вопросы по модам
лучше всего сделать так.
в .a файл расы, если там нету Init'а добавить его с таким содержанием:
Соответственно, вместо RACIAL_ENABLER - необходимое название технологии.
По умолчанию все расы наследуют Init от абстрактной расы, которая в race.a
в .a файл расы, если там нету Init'а добавить его с таким содержанием:
Код: Выделить всё
phrase Init(string RoomName)
::Init(RoomName)
call UFGrantTechnology(this.raceID, "RACIAL_ENABLER")
end phrase
Соответственно, вместо RACIAL_ENABLER - необходимое название технологии.
По умолчанию все расы наследуют Init от абстрактной расы, которая в race.a
Общие вопросы по модам
Veshnyak писал(а):Источник цитаты А последний вариант?
Только наверное нужно будет this.raceID заменить на конкретную расу, иначе всем добавится.
Если добавлять в тот Init, который в race.a, то действительно надо, иначе действительно всем добавится.
А если добавлять в правильный Init, то не надо. this как раз и будет правильной расой, если в правильном месте используется.
Общие вопросы по модам
не, всё равно какой-то косяк у меня.
► Показать
Общие вопросы по модам
А нужен вот такой кусок в r_hum.a:
Код: Выделить всё
phrase Init(string RoomName)
::Init(RoomName)
call UFGrantTechnology(this.raceID, "HUMAN_ENABLER")
end phrase
Общие вопросы по модам
При этом Init должен быть НЕ ЗАКОММЕНТИРОВАН! В оригинале этот Init в r_hum.a помещен в комментарии -
Код: Выделить всё
/*
phrase Init(string RoomName)
::Init(RoomName)
// set Equip events
on event "CHECK ACTION AVAILABLE SUPER_LASER" call CheckSuperLaserAvailable(EventParmInt, EventParmInt1) lazy always
on event "PERFORM ACTION SUPER_LASER" call PerformSuperLaser(EventParmInt, EventParmInt1) lazy always
end phrase
*/
Общие вопросы по модам
если убирал комментарий в оригинале, то игра не запускалась, потому просто удалил оригинальный кусок и вписал предложенное после характеристик б/ш расыНе заработало.
Код: Выделить всё
phrase ResetBonuses()
call UFResetSelectedBonuses()
call UFSetBonusSelected(rbEspionage, rbvBest)
call UFSetBonusSelected(rbTrade, rbvWeakest)
call UFSetBonusSelected(rbPopulationGrowth, rbvWeaker)
call UFSetBonusSelected(rbMineralMining, rbvBetter)
call UFSetBonusSelectedOption(rbTechAvailable, "SCDRNUK2")
end phrase
phrase Init(string RoomName)
::Init(RoomName)
call UFGrantTechnology(this.raceID, "HUMAN_ENABLER")
end phrase
initial
Humans.inherit AbstractRace
Humans.Init("Room_Humans")
end initial
end
Общие вопросы по модам
OK, сделаем иначе, железно.
1. Уберите нафиг обратно весь этот Init в r_him.a
2. В файле player.a измените фразу SetPlayerRacialBonuses() (строчка 13)
1. Уберите нафиг обратно весь этот Init в r_him.a
2. В файле player.a измените фразу SetPlayerRacialBonuses() (строчка 13)
Код: Выделить всё
phrase SetPlayerRacialBonuses()
call SetRacialBonusesForRace(Player.raceID)
call UFGrantTechnology(raceHum, "HUMAN_ENABLER")
end phrase