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

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

Готика 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
Карагон не дал своего фирменного за избиение Валентино (Книгу и Серебро перед этим не отдавал). Глюк или так и должно быть?
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
Карагон не дал своего фирменного за избиение Валентино
Корагон и не давал никогда пива за избиение Валентино. За избиение Валентино мы получаем кольцо, но не от Корагона, а от Региса, а уже потом мы это кольцо отдаем Корагону за то, что ОН избил Валентино тоже.
---
Пиво Корагона мы получаем за возвращенное серебро и за гроссбух Лемара.
 

Graf_Nosferatu

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

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Из различных источников можно услышать разную информацию по прохождению игры, поэтому существует правило "доверяй, но проверяй". Для проверки можно использовать исходники скриптов игры из G2MDK, декомпилированные скрипты из локализации "Акеллы" или указанные в шапке темы исходники скриптов неофициального обновления, в котором не изменялись решения PB насчёт серебра Корагона, книги Лемара и кольца Валентино. Вот скрипты соответствующих диалогов ГГ с Корагоном и Регисом:
DIA_VLK_420_Coragon.d:
Код:
var int Coragon_Bier;

func void B_Coragon_Bier()
{
    Coragon_Bier += 1;
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_14");    //Вот, возьми это в качестве награды.
    B_GiveInvItems(self,other,ItFo_CoragonsBeer,1);
    if(Coragon_Bier < 2)
    {
        AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_21");    //Мое особое пиво. Один бочонок остался.
    }
    else
    {
        AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_22");    //Буквально последние капли!
    };
};


instance DIA_Coragon_BringSilber(C_Info)
{
    npc = VLK_420_Coragon;
    nr = 5;
    condition = DIA_Coragon_BringSilber_Condition;
    information = DIA_Coragon_BringSilber_Info;
    permanent = FALSE;
    description = "Я принес твое серебро.";
};


func int DIA_Coragon_BringSilber_Condition()
{
    if((MIS_Coragon_Silber == LOG_Running) && (Npc_HasItems(other,ItMi_CoragonsSilber) >= 8))
    {
        return TRUE;
    };
};

func void DIA_Coragon_BringSilber_Info()
{
    AI_Output(other,self,"DIA_Coragon_Add_15_12");    //Я принес твое серебро.
    B_GiveInvItems(other,self,ItMi_CoragonsSilber,8);
    Npc_RemoveInvItems(self,ItMi_CoragonsSilber,8);
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_13");    //Правда?
    B_GivePlayerXP(XP_CoragonsSilber);
    B_Coragon_Bier();
    MIS_Coragon_Silber = LOG_SUCCESS;
};


instance DIA_Coragon_Schuldenbuch(C_Info)
{
    npc = VLK_420_Coragon;
    nr = 6;
    condition = DIA_Coragon_Schuldenbuch_Condition;
    information = DIA_Coragon_Schuldenbuch_Info;
    permanent = FALSE;
    description = "Посмотри, что у меня есть...";
};


func int DIA_Coragon_Schuldenbuch_Condition()
{
    if(Npc_HasItems(other,ItWr_Schuldenbuch))
    {
        return TRUE;
    };
};

func void DIA_Coragon_Schuldenbuch_Info()
{
    AI_Output(other,self,"DIA_Coragon_Add_15_15");    //Посмотри, что у меня есть...
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_16");    //Хм-м... (удивленно) Но это же гроссбух Лемара!
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_17");    //Что ты с ним собираешься делать?
};


instance DIA_Coragon_GiveBook(C_Info)
{
    npc = VLK_420_Coragon;
    nr = 7;
    condition = DIA_Coragon_GiveBook_Condition;
    information = DIA_Coragon_GiveBook_Info;
    permanent = FALSE;
    description = "Вот твоя книга.";
};


func int DIA_Coragon_GiveBook_Condition()
{
    if(Npc_KnowsInfo(other,DIA_Coragon_Schuldenbuch) && Npc_HasItems(other,ItWr_Schuldenbuch))
    {
        return TRUE;
    };
};

func void DIA_Coragon_GiveBook_Info()
{
    AI_Output(other,self,"DIA_Coragon_Add_15_18");    //Вот твоя книга.
    B_GiveInvItems(other,self,ItWr_Schuldenbuch,1);
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_19");    //Спасибо! Ты спас меня. Лемар может быть очень неприятным человеком.
    B_GivePlayerXP(XP_Schuldenbuch);
    B_Coragon_Bier();
};  

<...>

instance DIA_Coragon_News(C_Info)
{
    npc = VLK_420_Coragon;
    nr = 1;
    condition = DIA_Coragon_News_Condition;
    information = DIA_Coragon_News_Info;
    permanent = FALSE;
    important = TRUE;
};


func int DIA_Coragon_News_Condition()
{
    if(Valentino.aivar[AIV_DefeatedByPlayer] == TRUE)
    {
        if(Regis_Ring == TRUE)
        {
            return TRUE;
        };
    };
};

func void DIA_Coragon_News_Info()
{
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_33");    //Прошлой ночью он не смог расплатиться по счету.
    if(Valentino.aivar[AIV_DefeatedByPlayer] == TRUE)
    {
        AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_34");    //Он болтал что-то о том, что его обокрали и что он заплатит мне потом. Как же!
    }
    else
    {
        AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_35");    //Только что он разорялся о том, как много у него денег.
        AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_36");    //И тут он запускает руку в карман, делает глупое лицо и говорит, что его обокрали...
    };
    AI_Output(other,self,"DIA_Coragon_Add_15_37");    //И? Что ты сделал?
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_38");    //Я? Задал ему хорошую трепку, что же еще?
};


instance DIA_Coragon_Ring(C_Info)
{
    npc = VLK_420_Coragon;
    nr = 10;
    condition = DIA_Coragon_Ring_Condition;
    information = DIA_Coragon_Ring_Info;
    permanent = FALSE;
    description = "Вот - возьми это кольцо.";
};


func int DIA_Coragon_Ring_Condition()
{
    if(Npc_KnowsInfo(other,DIA_Coragon_News) && Npc_HasItems(other,ItRi_ValentinosRing))
    {
        return TRUE;
    };
};

func void DIA_Coragon_Ring_Info()
{
    AI_Output(other,self,"DIA_Coragon_Add_15_39");    //Вот - возьми это кольцо.
    B_GiveInvItems(other,self,ItRi_ValentinosRing,1);
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_40");    //Что? Не понимаю...
    AI_Output(other,self,"DIA_Coragon_Add_15_41");    //Оно принадлежало Валентино.
    AI_Output(other,self,"DIA_Coragon_Add_15_42");    //Ты можешь передать его следующему, кто отдубасит его...
    B_GivePlayerXP(300);
    AI_StopProcessInfos(self);
};
DIA_VLK_425_Regis.d:
Код:
instance DIA_Regis_Valentino(C_Info)
{
    npc = VLK_425_Regis;
    nr = 5;
    condition = DIA_Regis_Valentino_Condition;
    information = DIA_Regis_Valentino_Info;
    permanent = FALSE;
    description = "С кем ты дрался?";
};


func int DIA_Regis_Valentino_Condition()
{
    if(Npc_KnowsInfo(other,DIA_Regis_ANDRE))
    {
        return TRUE;
    };
};

func void DIA_Regis_Valentino_Info()
{
    AI_Output(other,self,"DIA_Regis_Add_15_12");    //С кем ты дрался?
    AI_Output(self,other,"DIA_Regis_Add_13_13");    //С парнем по имени Валентино. Он часто ошивается в таверне около храма.
    AI_Output(self,other,"DIA_Regis_Add_13_14");    //Обычно я довольно мирный. Но ЭТОТ урод просто вывел меня из себя...
};


instance DIA_Regis_ValDefeat(C_Info)
{
    npc = VLK_425_Regis;
    nr = 5;
    condition = DIA_Regis_ValDefeat_Condition;
    information = DIA_Regis_ValDefeat_Info;
    permanent = FALSE;
    description = "Я встретил этого Валентино...";
};


func int DIA_Regis_ValDefeat_Condition()
{
    if(Npc_KnowsInfo(other,DIA_Regis_Valentino) && (Valentino.aivar[AIV_DefeatedByPlayer] == TRUE))
    {
        return TRUE;
    };
};

func void DIA_Regis_ValDefeat_Info()
{
    AI_Output(other,self,"DIA_Regis_Add_15_15");    //Я встретил этого Валентино...
    AI_Output(self,other,"DIA_Regis_Add_13_16");    //И?
    AI_Output(other,self,"DIA_Regis_Add_15_17");    //Я задал ему хорошую взбучку...
    AI_Output(self,other,"DIA_Regis_Add_13_18");    //(смеется) Он заслужил это...
    if(!Npc_IsDead(Valentino))
    {
        AI_Output(self,other,"DIA_Regis_Add_13_19");    //Вот - я нашел это кольцо в его кармане, когда наша стычка закончилась.
        B_GiveInvItems(self,other,ItRi_ValentinosRing,1);
        Regis_Ring = TRUE;
        AI_Output(self,other,"DIA_Regis_Add_13_20");    //(ухмыляется) Ты можешь передать его следующему, кто надает ему тумаков...
    };
};
 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
Вы не подумайте плохого я играю сам не по прохождению, но где то читал, что Карагон даёт пиво за три квеста, но выбрать можно только за два, вот я и хотел серебро прикорманить. Впредь постораюсь не задовать глупых вопросов и беспокоить вас по пустякам.
Не надо верить тому, что где-то читаешь. Описывай только те проблемы, которые выявляешь самостоятельно при игре, тогда от этого будет толк.
 

Graf_Nosferatu

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

Вложения

  • Безымянный.png
    Безымянный.png
    218,3 KB · Просмотры: 481
  • Безымянный2.png
    Безымянный2.png
    217,8 KB · Просмотры: 520

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Вот теперь уже совсем другое дело.*thumbs up* Постараюсь убрать дублирование записей в дневник об Альрике, Кардифе и Ларесе.

Готово. Выложил очередную сборку неофициального обновления (от 24.12.2014), которая отличается от предыдущей следующими изменениями:
- Следующие действия больше не приводят к появлению повторной записи в дневнике:
<...>
когда ГГ узнаёт, что Альрик, Карл и Ларес - учителя, а Ибрагим, Игнац и Кардиф - торговцы.
Следующие сборки обновления появятся только в 2015 году.
 
Последнее редактирование:

Dragon Attack

Участник форума
Регистрация
28 Янв 2011
Сообщения
174
Благодарности
60
Баллы
175
Когда Род дает свое оружие ГГ, чтобы тот его поднял, Безымянный все равно вытаскивает своё оружие.

Видимо это не глюк, но выглядит очень не логично: когда второй раз по ходу игры заговорил с Лютеро он выдал нелицеприятную по отношению к ГГ реплику, хотя никаких причин для этого не было...

Когда говорим бандиту, ранее охранявшему проход в пещеру Браго, что его ищут крестьяне, он убегает прямо к стоянке Кавалорна, где тот его благополучно и убивает. Немного не логично.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
огда Род дает свое оружие ГГ, чтобы тот его поднял, Безымянный все равно вытаскивает своё оружие.
Не просто свое оружие, а свое лучшее оружие из тех, что он может взять в руки. Если тут и есть баг, то только в том, что ГГ снимает с себя лук или арбалет.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Когда Род дает свое оружие ГГ, чтобы тот его поднял, Безымянный все равно вытаскивает своё оружие.
Это происходит тогда, когда в инвентаре ГГ есть оружие ближнего боя с характеристиками лучше, чем меч Рода - так работает функция AI_EquipBestMeleeWeapon(other). Проблему могли бы решить проверка на наличие у ГГ такого оружия (а его очень много даже в главе 1), временное удаление его из инвентаря с последующим восстановлением.
Когда говорим бандиту, ранее охранявшему проход в пещеру Браго, что его ищут крестьяне, он убегает прямо к стоянке Кавалорна, где тот его благополучно и убивает. Немного не логично.
Это было логично в оригинальной Gothic II, где пустует место, которое в аддоне будет стоянкой Кавалорна. Я не знаю, куда можно отправить дружелюбного бандита, чтобы это место было подальше от фермы Лобарта и от пещеры Браго.
Если тут и есть баг, то только в том, что ГГ снимает с себя лук или арбалет.
Это не баг, так работает функция AI_UnequipWeapons(other). Жаль, что в игре нет отдельных функций для снятия оружия ближнего и дальнего боя.
 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
Это было логично в оригинальной Gothic II, где пустует место, которое в аддоне будет стоянкой Кавалорна. Я не знаю, куда можно отправить дружелюбного бандита, чтобы это место было подальше от фермы Лобарта и от пещеры Браго.
Большинство игроков пускает на мясо этого бандита сразу же после сообщения о том, что крестьяне ищут их. Если уметь драться на блоках, то побить его совсем не сложно.
 

enil9

Участник форума
Регистрация
25 Май 2014
Сообщения
66
Благодарности
14
Баллы
165
не знаю, куда можно отправить дружелюбного бандита
Можно поменять ему гильдию(NONE или BAU) и отправить в долину к костру где был Лестер
....
отправить в пещеру у которой стоял, а когда Кавалон уйдет(и Лестера у костра уже не будет) да и монстры уже выбиты(если что НПС с ними с может легко справится раз ГГ на 0-ом уровне выносит)
 
Последнее редактирование:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
@enil9:
Это не слишком удачное решение. Слишком далеко, по дороге монстры (гоблины и жуки в пещере) и нелогично, т.к. придётся идти мимо стоянки Кавалорна, который мог видеть этого бандита во время нападения на него.

P.S.: Заметил, что хорошее оружие появляется в игре слишком рано, например, в главе 1 у Халеда можно купить топор берсеркера. Поэтому я спрашиваю у готоманов: нужно ли переносить в более поздние главы продажу хорошего и отличного оружия по образцу постепенного появления хороших луков у Боспера? Лично я считаю, что нужно навести порядок в системе торговли оружием.
 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
Да ненужно никуда этого бандита убирать. Пусть стоит, где стоит, а как только Кавалорн будет в городе, то и бандита можно будет отправить восвояси, если уж реально кому-то его жалко убивать.
 

Dragon Attack

Участник форума
Регистрация
28 Янв 2011
Сообщения
174
Благодарности
60
Баллы
175
Альрик является источником бесконечного золота: мне кажется нужно, чтобы пропала возможность вступать с ним в схватку после того как мы его побили два раза (один раз, когда он вооружен палкой, и второй раз, когда мы приносим ему меч). Или хотя бы сделать лимит на одну схватку в день...

@enil9:p.S.: Заметил, что хорошее оружие появляется в игре слишком рано, например, в главе 1 у Халеда можно купить топор берсеркера. Поэтому я спрашиваю у готоманов: нужно ли переносить в более поздние главы продажу хорошего и отличного оружия по образцу постепенного появления хороших луков у Боспера? Лично я считаю, что нужно навести порядок в системе торговли оружием.

А разве в первой главе реально раскачаться, чтобы надеть топор бесеркера? :eek: Давно не проходил Готику за воина, но насколько помню, это нереально. К тому же в Хоринисе валяется много хорошего оружия просто в "кустах", вспомнить хотя бы меч, который охраняется паладинами-нежитью в пещере на севере. Так что даже если убрать оружие у торговцев, оно останется в локациях.
 
Последнее редактирование:

hachibee

Участник форума
Регистрация
28 Дек 2014
Сообщения
27
Благодарности
0
Баллы
155
Вот я начал играть в НВ(раньше играл в оригинал) и понял одно, в начале трудно качаться чисто самому( без свитков превращения) а в конце с легкостью всех выносишь за счет того что выпил все эликсиры и прочитал скрижали. То есть вся игра в начале сводится к тому чтобы "перетерпеть" до того как прокачаешь основной атрибут до 94 а потом уже всех выносишь. Так вот у меня есть идея(не знаю возможно ли это вообще), надо сделать так, чтобы прочитанные скрижали и выпитые элексиры(или хотя бы одно из этого) не учитывались у учителей при тренировке какого либо атрибута, чтобы прокачка навыков у учителей шла отдельно от эликсиров/скрижалей/всякой еды. Тогда можно было бы и в начале чувствовать себя комфортно и играть с удовольствием.
 

Udar

Участник форума
Регистрация
16 Авг 2014
Сообщения
18
Благодарности
36
Баллы
175
Последнее редактирование:

Dragon Attack

Участник форума
Регистрация
28 Янв 2011
Сообщения
174
Благодарности
60
Баллы
175
Прохожу за мага/послушника. Горакс дал мне квест на продажу вина Орлану, а после этого я попросил у Парлана ключ от библиотеки. Тот оттдал ключ (все остальные задания магов я выполнил). Но после этого квест от Горакса исчез. Конечно, понятна логика игры: типа, теперь, когда послушник получил доступ в библиотеку, надо изучать письмена, а не заниматься черной работой, но все же логичнее дать игроку завершить квест, тем более Горакс вручил нашему персонажу целых 12 бутылок вина (получается что за даром) :)
 

Udar

Участник форума
Регистрация
16 Авг 2014
Сообщения
18
Благодарности
36
Баллы
175
Переделал сборку (без трусости) по совету Dimus (исправлена ошибка с неубегающими овцами). Ссылки - в моем предыдущем посте.
 
Последнее редактирование:

Graf_Nosferatu

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