Тех. Помощь.

Копошимся во внутренностях игр и даем выход своему креативу...
Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

tipun писал(а):
14 июн 2020, 15:27
нужно пропатчить еще некоторые файлы для отключения дублирования НПС. Для этого нужно патчить вроде AR4000.bcs, AR4500.bcs, FATESP.dlg и вроде бы скрипты всех этих персонажей
Вот тут я и упираюсь в стену, так как не могу понять, как убрать эти стандартные варианты из EET и оставить только модовые. Я понимаю цель, но не понимаю, куда какой код добавлять для этого :( Остается надеяться на автора мода.

Второй вариант неплох, но он не уберет проблему дублирования текста :(
С тем же Варшуном я использовал эту функцию и там все нормально работает, т.к. он новый NPC, а тут возникает дублирование...
В любом случае спасибо за советы!
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Да, дублирование текста в файле диалога будет. Но со вторым вариантом варианты для персонажей из ЕЕТ никогда не отобразятся в игре. Плюс, я тут еще посмотрел, даже если в чистом ЕЕТ выбрать вызов персонажа из БГ1, то он все равно не появится. Я не нашел нигде в скриптах их появления. Похоже, это просто закваска для того, если кто-то захочет сделать варианты НПС для ТоБ.
Но вот мой второй вариант отключит возможность появление связанного с ними варанта ответа 100%.
К тому же с модами, да и без, лишних вариантов диалогов, которые никогда в игре не будут использованы, очень много. Так что дублирование не проблема.

ЗЫ Кстати, в NPC_TRANSITION лучше все равно указывать скрипты и диалог из мода. А то может не работать контент.
Изображение
Жираф большой - ему видней...

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

А, понял! Я думал, что в диалоге вызова дубль останется. Тогда поковыряюсь, попробую так сделать. Спасибо!
tipun писал(а):
14 июн 2020, 16:23
ЗЫ Кстати, в NPC_TRANSITION лучше все равно указывать скрипты и диалог из мода. А то может не работать контент.
Если они есть, так и делаю. Но вот с Фалдорн что-то непонятное - почему-то в моде скрипта для нее нет. И как быть с ней в этом случае, я не знаю. Только скрипт БГ1 остается
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Я имею ввиду эту строку:
dialog_ToB = "FALDOR"
надо
dialog_ToB = "7XFALD".

И 7XFALD25.d компилить надо в любом случае. Но при просмотре файлов мода, у меня сложилось впечатление, что Фалдорн для ТоБ там не доделана. Т.к. я просто не нашел там защиты от вызова Фалдорн через Духа Судьбы, если Фалдорн перешла в ТоБ вместе с партией из СоА. И не понял, зачем создавать версию диалога для ТоБ, если один черт используется вариант СоА. Других НПС не смотрел.

ЗЫ И блин, не нравится мне, когда так делают моды. Куча файлов в одном месте, что потом черт ноги сломает, пытаясь разобраться, где там и что.
Изображение
Жираф большой - ему видней...

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

Спасибо за советы!
С Фалдорн эта правка сработала, сейчас проверю, убралось ли дублирование. Я поставил себе даже EET ради тестирования, чтобы yota13 больше не мучить этим :)

Не хватит мне, чувствую, терпения, оставлю как есть. И так вчера целый день на эту проблему с Духом судьбы истратил впустую.
Мод действительно технически очень неудобен (пока я в него не влез, там даже трафикации не было). И это обидно, т.к. содержание у него хорошее, диалоги интересные, квесты и т.д. Но автор тот еще юморист - писал, что "никогда не проверяет свою работу, т.к. считает это непрофессиональным" :))))
У того же Лавы все удобно сделано, поэтому и функцию эту подключить с его Варшуном оказалось куда проще.
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

А с Ксаном его ToB-диалог не хочет компилиться, выдает ошибку
WARNING EET_NPC_TRANSITION: "XanTOB.dlg" doesn't exist in game

Код был такой
ACTION_IF GAME_IS "eet" BEGIN
INCLUDE ~EET/other/EET_functions.tph~ // functions from EET mod
LAF ~EET_NPC_TRANSITION~
INT_VAR
type = 3 // NPC is summon-able if met before
default_ToB = 1
STR_VAR
dv = "7XXAN" // death variable of your NPC
override_BG1 = "XAN" //name of the override NPC script in BG1
override_SoD = "XAN" //name of the override NPC script in SoD (use BG1 one if doesn't exist)
override_SoA = "XAN" // override script of your NPC (SoA)
override_ToB = "XAN" // override script of your NPC (ToB)
cre_ToB = "7XCRE76"
dialog_ToB = "XanTOB" // joining dialogue for ToB
traFile = EVAL "BG1NPCSoA/tra/%LANGUAGE%/XanTOB.tra"
string = "@3"
stringPosDV = "Xzar"
END
END ELSE BEGIN
COMPILE ~BG1NPCSoA/MISC/XanTOB.d~ USING ~BG1NPCSoA/tra/%LANGUAGE%/XanTOB.tra~
END
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Вместо
dialog_ToB = "XanTOB"
нужно
dialog_ToB = "7XXAN"

Просто нужно смотреть имя диалога не по имени .d файла, а внутри него. Там где есть переменная, содержащая текст "SummonedTOB" или просто "Summoned". Хотя и не обязательно, что именно такой текст будет. Тут моддер волен использовать любое имя переменной.
Изображение
Жираф большой - ему видней...

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

Понял, попытаюсь еще немного. Спасибо за терпение и советы еще раз :)
Обидно, что остальное получилось до ума довести с этим модом, а проблема с Духом судьбы никак мне не по зубам.
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

А то что я посоветовал, не помогло? Должно работать. Просто тут еще загвоздка, что надо начать новую игру ТоБ. А потом уже говорить с Духом Судьбы. Т.к. переменные устанавливаются именно на первой локации ТоБ.
Изображение
Жираф большой - ему видней...

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

tipun писал(а):
14 июн 2020, 19:13
А то что я посоветовал, не помогло? Должно работать. Просто тут еще загвоздка, что надо начать новую игру ТоБ. А потом уже говорить с Духом Судьбы. Т.к. переменные устанавливаются именно на первой локации ТоБ.
Почему-то не работает все равно... Две фразы про вызов Фалдорн остается (русская из игры и английская из мода). И у Ксана тоже. Вызвать получается только модовых, но вторая реплика все равно висит.
Код я вставлял после кода EET_NPC_TRANSITION, но в блоке Фалдорн. Чтобы фраза не удалялась, если игрок решит не устанавливать компонент Фалдорн из мода (тогда оставалась бы оригинальная опция).
Новую игру ToB начинаю каждый раз при проверках, да. Бедную Илласеру столько раз уже убил, что ее даже жалко стало )

Короче, бог с ней. В остальном всё теперь работает и слава богу. А с Духом судьбы пусть автор мода уже думает. Я, что мог, сделал, продолжу лучше переводить :)
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Понял, почему не срабатывает. Там переменная NEWGAME_TOB ставится до того, как обработка скрипта доходит до проверки этого блока, поэтому и не срабатывает. Попробуй вот так, должно сработать:

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

<<<<<<<< faldorn_fix.baf
IF
	!Global("FaldornSummoned","GLOBAL",2)
THEN
	RESPONSE #100
		SetGlobal("FaldornSummoned","GLOBAL",2)
		Continue()
END
>>>>>>>>
EXTEND_BOTTOM ~AR4000.bcs~ ~faldorn_fix.baf~
Вместо того, что до этого было.
Изображение
Жираф большой - ему видней...

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

О, это сработало! Спасибо!
Правда, сперва пропали обе, потому что у обеих Фалдорн переменная вызова одинаковая (FaldornSummoned) - мы установили ее на 2 (выключили) и поэтому вызвать ее больше нельзя никакую. Я попробовал изменить переменную в 7XFALD25.d и обозвал ее Faldorn1SummonedToB. Переустановил - и всё,осталась только "нужная" Фалдорн!
Смена названия переменной в обычной BG2EE вроде бы не должна сказаться (но потом протестирую на всякий случай и там). А новый код я зашил в блок, который запускается только при наличии EET.

Сделал по такому же принципу Ксана - тоже работает, дубликат пропадает! С ним даже проще, у него разные переменные вызова были.
Спасибо огромное за совет!!! Сам бы я такого варианта не смог придумать.

Осталось довести до ума диалоги - у Фалдорн все нормально, а Ксан говорит так, словно его присоединяют в SoA. Завтра буду возиться с этим ) Надежда появилась по крайней мере и одна из проблем решена! )) Спасибо, tipun!
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Не за что ))
Насчет Ксана, то тот диалог, о котором я писал, он из мода(именно он прописан в cre-файле). Не знаю почему он не срабатывает, я тра-файлы не смотрел. Но меня удивляет логика автора. Похоже, и для СоА и для ТоБ, он использует одни и те же cre-файлы. Т.е. если уровень персонажа в файле установлен для СоА, то в ТоБе он будет таким же, слабым для ТоБ.

ЗЫ Вообще, как время будет, надо запилить мод, который бы не создавал НПС(как это сейчас сделано и в оригинальной игре), а импортировал их, если они были в партии в СоА, но были выгнаны до перехода в ТоБ. Чтобы сохранялась та прокачка, которую делал игрок по ходу игры. Как это сделано при импорте персонажей из БГ1 в СоД.
Изображение
Жираф большой - ему видней...

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

Понял!
Разбираюсь пока с другими NPC, схема работает!
Ксан тоже стал нужные реплики произносить!

Проблема пока возникла только с новым NPC - Deeking (он взят из NWN). Для него нет скрипта нигде, хотя он присоединяется в SoA и может быть вызван через Дух судьбы. И, если я пишу код
LAF ~EET_NPC_TRANSITION~
INT_VAR
type = 2 // NPC is summon-able if met before
default_ToB = 1
STR_VAR
dv = "DEEKIN" // death variable
override_SoA = "DEEKIN" // override script (SoA)
override_ToB = "DEEKIN" // override script (ToB)
cre_ToB = "7XCRE9"
dialog_ToB = "DEEKIN" // joining dialogue for ToB
traFile = EVAL "BG1NPCSoA/tra/%LANGUAGE%/DEEKINToB.tra"
string = "@0"
stringPosDV = "Dorn"
END
END
то установщик выдает ошибку
WARNING EET_NPC_TRANSITION: "DEEKIN.bcs" doesn't exist in game

А никакого bcs для него нет ни в моде, ни в папке override. Бьюсь пока с этим (
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Гляну попозже. Сейчас времени нет. До завтра постараюсь ответ сказать, если не найдешь сам ))
Изображение
Жираф большой - ему видней...

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

Появилась еще одна проблема - некоторые персонажи после исключения из партии не начинают диалог ("Мне уйти?"), а просто испаряются. Причем с Фалдорн все нормально, а вот Ксан и Киван этим грешат. Я проверил - это появляется именно после применения функции TRANSITION, так как с текущей версией мода (которая доступна по ссылке) этот момент работает как надо даже на EET. Очень странно!
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Они испаряются сразу после диалога? Если так, то для NPC_TRANSITION нужно поискать модовские скрипты. Посмотри именно в cre-файлах, какие скрипты используются. И в функцию добавляй именно их. Если не получится, то завтра гляну, что там.
Изображение
Жираф большой - ему видней...

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Проверь, какие файлы в pdialog.2da добавляются. В тп2. Если не разберешься, завтра гляну.
И еще вопрос, EET_end используется? Или чистая БГ2ЕЕ?
Изображение
Жираф большой - ему видней...

Аватара пользователя
Austin
Переводчик
Переводчик
Сообщения: 1882
Зарегистрирован: 19 май 2010, 19:50

Re: Тех. Помощь.

Сообщение Austin »

tipun писал(а):
15 июн 2020, 21:12
Они испаряются сразу после диалога? Если так, то для NPC_TRANSITION нужно поискать модовские скрипты. Посмотри именно в cre-файлах, какие скрипты используются. И в функцию добавляй именно их. Если не получится, то завтра гляну, что там.
Да, но не каждый - у Фалдорн всё как надо работает (она после увольнения, как положено, подходит и начинает диалог, можно попросить ее уйти в Карманный план или вообще послать), а Ксан и Киван исчезают тут же, без диалога.
Посмотрю, спасибо! Главная проблема теперь - найти нужные скрипты для каждого NPC. Сам код мне теперь написать не проблема, а вот в полях override_SoA и override script (ToB), видимо, указываю не то.
https://arcanecoast.ru/mods - Список модов ArcaneCoast

Аватара пользователя
tipun
Переводчик
Переводчик
Сообщения: 1040
Зарегистрирован: 27 май 2016, 06:57

Re: Тех. Помощь.

Сообщение tipun »

Хорошо, я завтра гляну. Сегодня извиняюсь, я просто не в состоянии ((
Изображение
Жираф большой - ему видней...

Ответить