• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Готика 2: НВ Неофициальное обновление для Г2 НВ

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.189
Благодарности
3.373
Баллы
485
  • Первое сообщение
  • #1
Неофициальное обновление для игры "Готика 2: Ночь Ворона" представляет собой модификацию, направленную на исправление многочисленных ошибок и недоработок игры различной степени критичности. Данное обновление не включает новые квесты или глобальные изменения баланса и рекомендуется всем, кто хочет играть в Г2НВ без багов.
Разработка обновления ведется с 2005 года и по сегодняшний день. Камрад Efectivo (aka Нефариус) русифицировал патч от Fizzban и внес несколько дополнительных исправлений (так что получилась не русификация, а самостоятельный продукт на его основе).
В неофициальном обновлении камрад Dimus значительно расширил список исправлений и добавил некоторые улучшения. Дальнейшая работа над обновлением продолжена силами D36.
Также в данную сборку включены исправленные миры от Kvincius (Рудниковая долина, Яркендар, Хоринис и Ирдорат), исправленные шрифты от N1kX, неофициальное исправление русской озвучки от Dimus и полезные плагины для Union от Slavemaster (zBugFixes, zMiscUtils, zPicklockAnis, zTorchControl и другие).

Текущая версия:
30 от 02.09.2024

Ссылки:
Установщик модификации (76.9 МБ);
Версия для Мастерской Steam;
Исходники скриптов и архив релизов.

Установка:
Запустить установщик обновления, указать каталог с установленной игрой и выбрать набор устанавливаемых компонентов.
Внимание: Для того, чтобы все изменения вступили в силу, после установки обновления нужно начать новую игру!

Загрузка текста...

Удаление:
Удалить данное обновление можно через раздел "Программы и компоненты" в панели управления или запустив исполняемый файл G2a_NR_ScriptPatch_v30_uninstall.exe в каталоге с установленной игрой.

Примечания:
1. Для предотвращения возможных конфликтов с различными модами обновление устанавливается в формате модификации, поэтому для её работы необходимо наличие мод-стартера Player Kit. Также настоятельно рекомендуется установить последнюю версию Union;
2. Каждая версия неофициального обновления запускается через GothicStarter.exe отдельно и использует собственные папки сохранений. Удаление разных версий из панели управления также происходит раздельно;
3. Для установки игры не рекомендуется использовать папку Program Files, так как в ней может быть заблокирована работа стартера модов;
3. При возникновении проблем с запуском встроенных плагинов рекомендуется скачать и установить этот набор vcredist.

Начало новой игры обязательно. Не поддерживаются сохранения, сделанные в оригинале, в любом другом моде или в любой предшествующей версии неофициального обновления. Игнорирование данного предупреждения может привести к непредсказуемым последствиям: от невозможности продвижения по сюжету до вылетов.
Для тестирования доступна рабочая сборка очередной версии обновления с дополнительными исправлениями. Подробности здесь.
 
Последнее редактирование:

Graf_Nosferatu

Участник форума
Регистрация
19 Дек 2014
Сообщения
18
Благодарности
4
Баллы
155
Говорил. Теперь диалог с ним пуст, а снеппера нету.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Говорил. Теперь диалог с ним пуст, а снеппера нету.
Это значит, что ты или не получил от Фаджета задание убить снепперов, или не согласился помочь Билготу уйти из Миненталя.
 
Последнее редактирование:

Graf_Nosferatu

Участник форума
Регистрация
19 Дек 2014
Сообщения
18
Благодарности
4
Баллы
155
Это значит, что ты или не получил от Фаджета задание убить снепперов, или не согласился помочь Билготу уйти из Миненталя.
С этого места по подробнее.

Расскажу свою последовательность действий:
2 Глава. Надо найти 3 стоянки рудокопов. Нахожу. Говорю с Джерганом, потом с паладином (имя не помню стоит возле входа в пещеру), потом с Билготом, потом с Фаджетом беру задание убить снепперов. Убиваю. Опять говорю с Фаджетом. Диалог с Билготом пуст. Снеппера нету(
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Похоже, что я понял причину облома: нужно поговорить с Билготом после взятия задания на зачистку местности от снепперов, но до его завершения у Фаджета. Вот соответствующие диалоги из скрипта DIA_VLK_4120_Bilgot.d:
Код:
instance DIA_Bilgot_Hilfe(C_Info)
{
    npc = VLK_4120_Bilgot;
    nr = 3;
    condition = DIA_Bilgot_Hilfe_Condition;
    information = DIA_Bilgot_Hilfe_Info;
    permanent = FALSE;
    description = "Что ты знаешь о снепперах?";
};


func int DIA_Bilgot_Hilfe_Condition()
{
    if(MIS_Fajeth_Kill_Snapper == LOG_Running)
    {
        return TRUE;
    };
};

func void DIA_Bilgot_Hilfe_Info()
{
    AI_Output(other,self,"DIA_Bilgot_Hilfe_15_00");    //Что ты знаешь о снепперах?
    AI_Output(self,other,"DIA_Bilgot_Hilfe_05_01");    //Зачем тебе знать это? И не говори мне, что просто из любопытства!
    AI_Output(other,self,"DIA_Bilgot_Hilfe_15_02");    //Я собираюсь поохотиться на этих снепперов,
    AI_Output(self,other,"DIA_Bilgot_Hilfe_05_03");    //Это безумие. Я наблюдал за ними - что за кровожадные твари!
    AI_Output(other,self,"DIA_Bilgot_Hilfe_15_04");    //Тогда расскажи мне, что ты о них знаешь.
    AI_Output(self,other,"DIA_Bilgot_Hilfe_05_05");    //Хм... я мог бы помочь тебе, но только при одном условии!
    AI_Output(other,self,"DIA_Bilgot_Hilfe_15_06");    //Что ты хочешь?
    AI_Output(self,other,"DIA_Bilgot_Hilfe_05_07");    //Если тебе удастся убить снепперов - ты должен вытащить меня отсюда!
    if(!Npc_IsDead(Fed))
    {
        AI_Output(self,other,"DIA_Bilgot_Hilfe_05_08");    //Мне здесь долго не продержаться - ты говорил с Федом? У этого парня крыша поехала, и я не хочу кончить как он!
    };
};


instance DIA_Bilgot_KNOWSLEADSNAPPER(C_Info)
{
    npc = VLK_4120_Bilgot;
    nr = 4;
    condition = DIA_Bilgot_KNOWSLEADSNAPPER_Condition;
    information = DIA_Bilgot_KNOWSLEADSNAPPER_Info;
    permanent = FALSE;
    description = "Расскажи мне, что ты знаешь. И я вытащу тебя отсюда!";
};


func int DIA_Bilgot_KNOWSLEADSNAPPER_Condition()
{
    if(Npc_KnowsInfo(other,DIA_Bilgot_Hilfe) && (MIS_Fajeth_Kill_Snapper == LOG_Running))
    {
        return TRUE;
    };
};

func void DIA_Bilgot_KNOWSLEADSNAPPER_Info()
{
    AI_Output(other,self,"DIA_Bilgot_KNOWSLEADSNAPPER_15_00");    //Расскажи мне, что ты знаешь. И я вытащу тебя отсюда!
    AI_Output(self,other,"DIA_Bilgot_KNOWSLEADSNAPPER_05_01");    //Я знал, что могу рассчитывать на тебя. Так что будь внимателен. Я довольно долго наблюдаю за снепперами.
    AI_Output(self,other,"DIA_Bilgot_KNOWSLEADSNAPPER_05_02");    //Они очень хитры и могут, ну, как бы... общаться. Они никогда не ходят поодиночке и нападают только стаей.
    AI_Output(self,other,"DIA_Bilgot_KNOWSLEADSNAPPER_05_03");    //Но есть еще кое-что. Среди них есть один особенный. Он редко показывается, но я видел его.
    AI_Output(self,other,"DIA_Bilgot_KNOWSLEADSNAPPER_05_04");    //Другие снепперы низко кланяются, когда проходят мимо него, но никогда не отходят далеко.
    AI_Output(self,other,"DIA_Bilgot_KNOWSLEADSNAPPER_05_05");    //Пока этот зверь не тронется с места, ни один снеппер поблизости даже не шевельнется.
    AI_Output(other,self,"DIA_Bilgot_KNOWSLEADSNAPPER_15_06");    //Где мне найти этого кровожадного зверя?
    AI_Output(self,other,"DIA_Bilgot_KNOWSLEADSNAPPER_05_07");    //Я видел его на ступенях старой сторожевой башни.
    AI_Output(other,self,"DIA_Bilgot_KNOWSLEADSNAPPER_15_08");    //Отлично. Мне кажется, я понял. Спасибо!
    AI_Output(self,other,"DIA_Bilgot_KNOWSLEADSNAPPER_05_09");    //Помни, ты дал мне слово!
    Wld_InsertNpc(NewMine_LeadSnapper,"OW_ORC_LOOKOUT_2_01");
    B_LogEntry(TOPIC_FajethKillSnapper,"Билгот рассказал мне о вожаке стаи снепперов. Он должен быть на ступеньках старой сторожевой башни.");
    Log_CreateTopic(TOPIC_BilgotEscort,LOG_MISSION);
    Log_SetTopicStatus(TOPIC_BilgotEscort,LOG_Running);
    B_LogEntry(TOPIC_BilgotEscort,"Билгот хочет, чтобы я вывел его из долины.");
};
 
Последнее редактирование:

Graf_Nosferatu

Участник форума
Регистрация
19 Дек 2014
Сообщения
18
Благодарности
4
Баллы
155
Эххх.... А вот сейва у меня нет. Я сейчас уже в 3 Главе.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
Похоже, что я понял причину облома: нужно поговорить с Билготом после взятия задания на зачистку местности от снепперов (MIS_Fajeth_Kill_Snapper == LOG_Running), но до его завершения у Фаджета.
Что сделать весьма просто, т.к. Фаджет сам отправляет ГГ на разговор с Билготом.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Эххх.... А вот сейва у меня нет. Я сейчас уже в 3 Главе.
Ладно, проехали. Скажи "спасибо" своей торопливости за отсутствие нужных диалогов у Билгота.

Что сделать весьма просто, т.к. Фаджет сам отправляет ГГ на разговор с Билготом.
Не направляет, а всего лишь упоминает о нём (скрипт DIA_PAL_281_Fajeth.d):
Код:
func void DIA_Fajeth_Hallo_Tun()
{
    AI_Output(other,self,"DIA_Fajeth_Hallo_Tun_15_00");    //Что я могу сделать для тебя?
    AI_Output(self,other,"DIA_Fajeth_Hallo_Tun_12_01");    //Вот уже несколько дней орда снепперов бродит вокруг нашего лагеря. Похоже, они просто выжидают подходящей возможности для нападения.
    AI_Output(self,other,"DIA_Fajeth_Hallo_Tun_12_02");    //Я не знаю, чего они ждут - но пока они здесь, в лагере не будет спокойствия.
    if(!Npc_IsDead(Fed))
    {
        AI_Output(self,other,"DIA_Fajeth_Hallo_Tun_12_03");    //Фед, помимо всего прочего, напуган ими до смерти - и сводит с ума остальных каторжников.
    };
    if(!Npc_IsDead(Bilgot))
    {
        AI_Output(self,other,"DIA_Fajeth_Hallo_Tun_12_04");    //И кого мне послать? Билгота? Ха - он тоже слабак.
    };
    if(!Npc_IsDead(Tengron))
    {
        AI_Output(self,other,"DIA_Fajeth_Hallo_Tun_12_05");    //Тенгрона? Конечно, он умеет сражаться, но он не обладает хитростью охотника.
    };
    AI_Output(self,other,"DIA_Fajeth_Hallo_Tun_12_06");    //Ты единственный, кто может сделать это. Я хочу, чтобы ты выследил этих чертовых тварей и убил их.
    Wld_InsertNpc(NewMine_Snapper7,"OW_PATH_333");
    Wld_InsertNpc(NewMine_Snapper8,"OW_PATH_333");
    Wld_InsertNpc(NewMine_Snapper3,"SPAWN_OW_BLOCKGOBBO_CAVE_DM6");
    MIS_Fajeth_Kill_Snapper = LOG_Running;
    Log_CreateTopic(TOPIC_FajethKillSnapper,LOG_MISSION);
    Log_SetTopicStatus(TOPIC_FajethKillSnapper,LOG_Running);
    B_LogEntry(TOPIC_FajethKillSnapper,"Фаджет дал мне задание поохотиться на снепперов, которые бродят толпами вокруг замка.");
    Info_ClearChoices(DIA_Fajeth_Hallo);
    PrintScreen("",-1,-1,FONT_Screen,0);
};
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
Не направляет, а всего лишь упоминает о нём
Странно... А у кого тогда реплика, что мол Билгот за снепперами наблюдал? :oops:
Просто никогда не ошибался в этом квесте... Ну да ладно...
 

Graf_Nosferatu

Участник форума
Регистрация
19 Дек 2014
Сообщения
18
Благодарности
4
Баллы
155
Может стоит сделать, чтобы и до и после завершения квеста можно было говорить с Билготом насчёт снеппера?

Нет, этот момент я не буду изменять. Если поспешил с докладом Фаджету о зачистке местности - значит, потерял возможность найти вожака стаи и принести Лютеро его когти.

Dimus.
 
Последнее редактирование модератором:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Да, эта реплика есть, но у другого персонажа - каторжника Феда (DIA_STRF_1106_Fed.d):
Код:
instance DIA_Fed_Snapper(C_Info)
{
    npc = STRF_1106_Fed;
    nr = 3;
    condition = DIA_Fed_Snapper_Condition;
    information = DIA_Fed_Snapper_Info;
    permanent = FALSE;
    description = "Что ты знаешь о снепперах?";
};


func int DIA_Fed_Snapper_Condition()
{
    if(MIS_Fajeth_Kill_Snapper == LOG_Running)
    {
        return TRUE;
    };
};

func void DIA_Fed_Snapper_Info()
{
    AI_Output(other,self,"DIA_Fed_Snapper_15_00");    //Что ты знаешь о снепперах?
    AI_Output(self,other,"DIA_Fed_Snapper_08_01");    //Билгот следил за ними ночью. Часть их пасется у озера рядом со старой башней.
    AI_Output(self,other,"DIA_Fed_Snapper_08_02");    //А другие находятся прямо над нами - на вершине этого утеса. Они просто выжидают, когда у нас кончатся силы.
    AI_Output(self,other,"DIA_Fed_Snapper_08_03");    //Они заперли нас здесь. И скоро они нападут на наш лагерь - вот тогда они попируют...
    AI_Output(other,self,"DIA_Fed_Snapper_15_04");    //Понятно.
};
 

Graf_Nosferatu

Участник форума
Регистрация
19 Дек 2014
Сообщения
18
Благодарности
4
Баллы
155
Спасибо и на этом. Будем знать.
 

hachibee

Участник форума
Регистрация
28 Дек 2014
Сообщения
27
Благодарности
0
Баллы
155
Марвином сделай себе когти и не парься*thumbs up*

Морра, не позорь своим читерством имя Марвина Ли Минского, в честь которого PB назвали тестовые режимы в играх Gothic 1-3 и Risen 1.

Dimus.
 
Последнее редактирование модератором:

hachibee

Участник форума
Регистрация
28 Дек 2014
Сообщения
27
Благодарности
0
Баллы
155
Если взять квест у Секоба найти Рози и Тилла после того как уже встретился с ними, квест останется висеть и у секоба в диалоге пропадает возможность сказать "рози не вернется"
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Этого диалога с Секобом не будет, если ГГ является магом Огня (скрипт DIA_BAU_930_Sekob.d):
Код:
instance DIA_Sekob_ROSINEVERBACK(C_Info)
{
    npc = BAU_930_Sekob;
    nr = 56;
    condition = DIA_Sekob_ROSINEVERBACK_Condition;
    information = DIA_Sekob_ROSINEVERBACK_Info;
    description = "Рози никогда не вернется к тебе.";
};


func int DIA_Sekob_ROSINEVERBACK_Condition()
{
    if((MIS_bringRosiBackToSekob == LOG_OBSOLETE) && (hero.guild != GIL_KDF))
    {
        return TRUE;
    };
};

func void DIA_Sekob_ROSINEVERBACK_Info()
{
    AI_Output(other,self,"DIA_Sekob_ROSINEVERBACK_15_00");    //Рози никогда не вернется к тебе. Я отвел ее в безопасное место.
    AI_Output(self,other,"DIA_Sekob_ROSINEVERBACK_01_01");    //Безопасное. От кого?
    AI_Output(other,self,"DIA_Sekob_ROSINEVERBACK_15_02");    //От тебя.
    AI_Output(self,other,"DIA_Sekob_ROSINEVERBACK_01_03");    //Ты пожалеешь об этом, грязная свинья.
    self.flags = 0;
    B_NpcClearObsessionByDMT(self);
    B_Attack(self,other,AR_NONE,1);
    MIS_bringRosiBackToSekob = LOG_FAILED;
    B_GivePlayerXP(XP_Ambient);
};
Причина такого решения PB - при прохождении за мага Огня Секоб становится одержимым в главе 5 и поэтому больше не разговаривает с ГГ. А информация об этом квесте уйдёт в соответствующий раздел дневника (завершён/провален/отменён) в начале главы 6.

P.S.: Уважаемые готоманы! Когда вы описываете замеченную проблему или ошибку, пожалуйста выкладывайте свои сэйвы - тогда мне будет гораздо легче разобраться с ней.
 

hachibee

Участник форума
Регистрация
28 Дек 2014
Сообщения
27
Благодарности
0
Баллы
155
Dimus, можешь сделать такой же патч к оригинальной Г2, ну чтобы оружие ловкости урон считался от ловкости, арбалет от силы и стоимость охотничьих навыков была как в аддоне. И некоторые твои собственные исправления касающиеся и оригинальной Г2: у паладинов нет гоблинских ягод, у орков драконьих корней, у кузнецов не появляются стальные заготовки и т.д
 
Последнее редактирование:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Должен тебя разочаровать - я не собираюсь заниматься созданием патчей для оригинальной версии Gothic II. Если кто-нибудь захочет сделать это для оригинальной версии игры, то пусть изучит исходники скриптов для аддона.
И ещё одно: формулы расчёта повреждений, в том числе привязка урона у оружия ближнего боя к силе, а у дальнобойного оружия к ловкости вшиты в движок игры. Поэтому на урон у шпаг и рапир всегда будет влиять сила, а у арбалетов - ловкость.
 

Dragon Attack

Участник форума
Регистрация
28 Янв 2011
Сообщения
174
Благодарности
60
Баллы
175
Если применить против Ищущего заклинание "Кулак ветра", он начинает биться врукопашную :D. Но это не всегда происходит. Насколько я понял, нужно, чтобы до удара Ищущий не успел вытянуть руну, и чтобы его сбило с ног. Вероятно, точно также действуют на Ищущих и другие заклинания, схожие с "Кулаком ветра".
 

Alvaretz

Участник форума
Регистрация
11 Янв 2015
Сообщения
5
Благодарности
0
Баллы
150
Здравствуйте.

Премного уважения автору патча за его колоссальный труд!

Вопрос у меня следующий, хочу просто уточнить.

Собираюсь установить Г2+НВ (соответственно, играть в НВ), по следующей схеме (взято из рекомендаций авторов СистемПака):

1. Установите игру 'Готика 2'
2. Установите аддон 'Готика 2 - Ночь Ворона'
3. Установите Gothic2_Fix-2.6.0.0-Rev2.exe
4. Установите Gothic2_PlayerKit-2.6f.exe
5. Установите G2NoTR-SystemPack-1.0.exe

6. Установить патч Dimus'a

7. Что еще мог бы кто порекомендовать установить? Например, какой-нибудь расширяющий и дополняющий Г2НВ неофициальный аддон/патч/мод, но совместимый со всеми первыми 6 пунктами?

Windows 7 64 bit, 1600х900 разрешение.

Заранее спасибо за ответ.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
7. Что еще мог бы кто порекомендовать установить? Например, какой-нибудь расширяющий и дополняющий Г2НВ неофициальный аддон/патч/мод, но совместимый со всеми первыми 6 пунктами?
-Для крупных модов (Возвращение, Одиссея, Темная Сага) есть свои системпаки
-Патч Димуса распространяется только на оригинальную версию Г2 НВ, в Готик-стартере версия оригинала с патчем Димуса даже выделена отдельной строчкой. Так что с этими идеями мимо.
 
Сверху Снизу