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

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

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

Сообщение Veshnyak » 03 июн 2016, 23:31

Не, как я понял, сегмент - это планеты, выделенные для одной расы. Намекает на это одна гайя в сегменте. То есть грубо это количество звезд поделить на количество рас.
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 23 июн 2016, 23:45

► Показать
вроде работает, но до конца не тестил (да вообще не тестил, только в новой игре проверил, так как с уже открытыми технологиями эта хрень не особо корректна).
► Показать
если кто хочет попробовать как там, могу скинуть файлы.

upd еще просьба - скиньте, если не сложно, картинку с пустой планировкой первого истребителя у людей, а то я до сих пор на рыцарях летаю.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 904

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

Сообщение Veshnyak » 27 июн 2016, 00:37

Darkreigh писал(а):Источник цитаты если кто хочет попробовать как там, могу скинуть файлы.

Так сделай отдельную тему, выложи архов.
Darkreigh писал(а):Источник цитаты upd еще просьба - скиньте, если не сложно, картинку с пустой планировкой первого истребителя у людей, а то я до сих пор на рыцарях летаю.

Этот?
► Показать
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 27 июн 2016, 17:30

спасибо, но нет, не этот. мне просто точки (ячейки) восстановить как было.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 904

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

Сообщение Veshnyak » 27 июн 2016, 22:04

имя файла тогда напиши, какой нужен
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 27 июн 2016, 22:18

а я вот и не знаю
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 904

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

Сообщение Veshnyak » 28 июн 2016, 00:31

Ну тогда эти попробуй
Z1.zip
(690 байт) 1690 скачиваний
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 24 июл 2016, 17:11

Может кто подробно описать добавление уникальной для определенной расы технологии? Чтобы и игрок, и боты использовали, а в "торговом" списке её не было.
Аватара пользователя
Ufnv
Senior Developer
Сообщения: 1188

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

Сообщение Ufnv » 25 июл 2016, 11:14

немного хитро.

сначала в 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")
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 904

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

Сообщение Veshnyak » 25 июл 2016, 11:25

А украсть, обменять, продать её тоже нельзя будет? Не скрытую, а вторую, лазер.
Аватара пользователя
Ufnv
Senior Developer
Сообщения: 1188

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

Сообщение Ufnv » 25 июл 2016, 11:40

Украсть, скорее, можно, а вот обменять/продать - не уверен, надо хорошо так смотреть... Мне казалось, что на обмен/продажу есть условие доступности материнских технологий, которое тут не выполняется. Я могу потом посмотреть, сейчас - никак, нет кода под рукой.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 904

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

Сообщение Veshnyak » 25 июл 2016, 11:44

Ufnv писал(а):Источник цитаты что на обмен/продажу есть условие доступности материнских технологий, которое тут не выполняется

То есть например, нельзя у развитой в научном плане расы купить бак 5, пока не исследуешь бак 4? Как то это неправильно, купить же можно что угодно...
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 25 июл 2016, 16:26

.a не реагирует на изменения что-то. Тот, где еще начальные характеристики расставлены (шпионаж, торговля всякая - на них опыты и ставил). Может файлы не те трогаю (из модкита, r_gava.a, например), может еще какие-то манипуляции нужно делать, переносить куда-нибудь, переименовывать?
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 904

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

Сообщение Veshnyak » 25 июл 2016, 18:25

батником то новые *.rtq файлы делал?
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 25 июл 2016, 20:03

нет. спасибо. но всё равно - либо не работает, либо дальше экрана загрузки не идет. прогресс.
upd
стоп, полундра. я ж в корне всё файлы перехимичил.
2
ладно, .a по расе вроде работает, но технология все равно не включается. Что там за Init в файле расы? Куда именно можно вписать дело на скрытую науку (call UFGrantTechnology которое)?
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 904

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

Сообщение Veshnyak » 25 июл 2016, 20:49

Сюда очевидно

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

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

можно сюда точно, но лучше, думаю, в файле конкретной расы делать
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 25 июл 2016, 21:25

Если пихать в Initial, то при создании .rtq выдает ошибку, а игра при запуске вылетает. Хороший знак?
В техпасе не работает.
Аватара пользователя
Veshnyak
Destroyer
Сообщения: 904

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

Сообщение Veshnyak » 26 июл 2016, 00:02

А последний вариант?
Только наверное нужно будет this.raceID заменить на конкретную расу, иначе всем добавится.
Аватара пользователя
Ufnv
Senior Developer
Сообщения: 1188

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

Сообщение Ufnv » 26 июл 2016, 12:16

лучше всего сделать так.

в .a файл расы, если там нету Init'а добавить его с таким содержанием:

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

 
  phrase Init(string RoomName)

    ::Init(RoomName)
    call UFGrantTechnology(this.raceID, "RACIAL_ENABLER")
   
  end phrase


Соответственно, вместо RACIAL_ENABLER - необходимое название технологии.

По умолчанию все расы наследуют Init от абстрактной расы, которая в race.a
Аватара пользователя
Ufnv
Senior Developer
Сообщения: 1188

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

Сообщение Ufnv » 26 июл 2016, 12:17

Veshnyak писал(а):Источник цитаты А последний вариант?
Только наверное нужно будет this.raceID заменить на конкретную расу, иначе всем добавится.


Если добавлять в тот Init, который в race.a, то действительно надо, иначе действительно всем добавится.

А если добавлять в правильный Init, то не надо. this как раз и будет правильной расой, если в правильном месте используется.
Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 26 июл 2016, 13:58

не, всё равно какой-то косяк у меня.
► Показать
Аватара пользователя
Ufnv
Senior Developer
Сообщения: 1188

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

Сообщение Ufnv » 26 июл 2016, 15:49

А нужен вот такой кусок в r_hum.a:

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

 
  phrase Init(string RoomName)

    ::Init(RoomName)
    call UFGrantTechnology(this.raceID, "HUMAN_ENABLER")
   
  end phrase
 
Аватара пользователя
Ufnv
Senior Developer
Сообщения: 1188

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

Сообщение Ufnv » 26 июл 2016, 15:50

При этом 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
*/

Аватара пользователя
Darkreigh
Destroyer
Сообщения: 826

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

Сообщение Darkreigh » 26 июл 2016, 17:00

если убирал комментарий в оригинале, то игра не запускалась, потому просто удалил оригинальный кусок и вписал предложенное после характеристик б/ш расы

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

 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
Не заработало.
Аватара пользователя
Ufnv
Senior Developer
Сообщения: 1188

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

Сообщение Ufnv » 26 июл 2016, 17:55

OK, сделаем иначе, железно.

1. Уберите нафиг обратно весь этот Init в r_him.a
2. В файле player.a измените фразу SetPlayerRacialBonuses() (строчка 13)

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

phrase SetPlayerRacialBonuses()
  call SetRacialBonusesForRace(Player.raceID)
  call UFGrantTechnology(raceHum, "HUMAN_ENABLER")
end phrase

Вернуться в «Настройка/модификации»