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

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

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

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.190
Благодарности
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.

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

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
А если предположить, что Регис тоже обобрал Валентино на золото, после чего тот пошел в к Корагону, не смог расплатиться, получил вторую порцию люлей
Не-а, тогда бы Валентино после драки с Регисом не облажался перед Корагоном. Ведь по словам Региса "Он побежал жаловаться к лорду Андрэ.", т.е. он запомнил, кто именно навешал ему люлей и что его карманы пусты. А после получения трёпки от ГГ и применения заклинания Игнаца он не помнит, кто его побил и куда пропали его деньги:
Daedalus:
func void DIA_Coragon_News_Info()
{
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_33");    //Прошлой ночью Валентино не смог расплатиться по счету.
    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");    //Я? Задал ему хорошую трепку, что же еще?
    AI_Output(self,other,"DIA_ADDON_NEW_Coragon_Add_09_34");    //Он болтал что-то о том, что его обокрали и что он заплатит мне потом. Ха, как же!
    if(Npc_HasItems(Valentino,ItMi_Gold) > 0)
    {
        Npc_RemoveInvItems(Valentino,ItMi_Gold,Npc_HasItems(Valentino,ItMi_Gold));
    };
};
 

Diego1987

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

Алекс1998

Участник форума
Регистрация
17 Мар 2019
Сообщения
76
Благодарности
24
Баллы
110
Если Хош-Паг теперь имеет другую одежду, то не стоит ли Ур-Шаку переодеться в такую же одежду после того, как он занимает место Хош-Пага(в прямом и переносном смысле)? Кроме того реплики ГГ как раз соответствуют тому, что он заметил в Ур-Шаке изменения.
 

Dimus

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

Egor79

Участник форума
Регистрация
5 Сен 2018
Сообщения
88
Благодарности
28
Баллы
170
Egor79, если ты действительно хочешь помочь улучшить неофициальное обновление, тогда составь список не совместимых текстур лица и тела, потому что после включения тестового режима в игре доступен соответствущий помощник (команда консоли insert fh).
Хорошо!
Пост автоматически объединён:

Странно, что Валентино не настучал на Корагона!
 

Diego1987

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

Dimus

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

Egor79

Участник форума
Регистрация
5 Сен 2018
Сообщения
88
Благодарности
28
Баллы
170
И что в этом странного? Корагон ведь не просто так по рылу Валентино сработал, а за то, что тот не заплатил. То есть Валентино сам нарушил закон. Довод о том, что его обокрали, очень сомнительный, т.к. пропажу тот заметил не сразу, а после того, как успел напиться и наесться в заведении Корагона. Нет никакой гарантии, что он просто потерял деньги по пьяни и решил на халаву пить и жрать у Корагона. При таких раскладах идти заявлять в ополчение - не самая лучшая идея.
По сути Карагон должен был сообщить Андре, что Валентино не заплатил по счету! В место этого он нарушил закон проявив самоуправство. И по сути стал не лучше Валентино.
 

Diego1987

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

Egor79

Участник форума
Регистрация
5 Сен 2018
Сообщения
88
Благодарности
28
Баллы
170
Какие высокопарные слова. А ничего, что ополчение занимается банальным рэкетом в отношении фермеров, что дело происходит в средневековье, а не сейчас, и что даже сейчас за побитое чужое рыло не накажут, если это рыло будет не в претензии? Да и потом Корагон мог просто сказать, что Валентино напился и шарахнулся головой об стол или стул, свидетельствовать против Корагона никто из посетителей бы не стал, а значит Валентино не смог бы доказать вину Корагона. А вот Корагон легко мог доказать вину Валентино по части неоплаченной еды и выпивки. Так зачем Валентино самому себе срок подписывать?
---
И что за мания после каждого предложения восклицательный знак ставить, а то и несколько. Вы, милейший, в жизни тоже на повышенных тонах всегда общаетесь?
Разработчики умолчали по этому поводу. Догадки можно строить бесконечно. А восклицательный знак подчеркивает сказанное, что может быть и отличная версия от той, что вы или кто то еще предлагает. Не обижайтесь. Я тоже хочу помочь в доработке мода. Без комментариев.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
Разработчики умолчали по этому поводу. Догадки можно строить бесконечно.
Согласен. Но обо всем разработчики сказать не могли, ряд моментов стоит оставлять на домыслие, это все же РПГ. Но в данной ситуации тут практически все очевидно. Валентино не любят, заявить он не может, т.к. сам виноват перед законом. Вот и не идет жаловаться ополчению :)
Не обижайтесь.
Да и не думал даже.
Я тоже хочу помочь в доработке мода.
Похвальное стремление. Мы здесь все этим занимаемся в той или иной степени с переменной активностью *thumbs up*
 

Дикарь

★★★★★★★
Модератор
Регистрация
17 Апр 2007
Сообщения
7.281
Благодарности
9.050
Баллы
1.415
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.190
Благодарности
3.373
Баллы
485
С движущейся водой или статичной?
С движущейся. Версия со статичной больше не входит в мод.

При установке Wasteland миры не заменятся?
Заменится мир Рудниковой долины. Приходится выбирать между расширенным из Wasteland и исправленным оригинальным.
 

eccehomo456

Участник форума
Регистрация
19 Сен 2019
Сообщения
6
Благодарности
0
Баллы
95
здесь в файле исправлений и изменений написано, что "Изменены типы урона у огненного лука и Когтя Белиара". это как понимать?
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Мне тоже интересно, почему в свойствах огненного лука в дополнение к базовому урону Damage_FireBow (50) добавлен фиксированный урон огнем (40)?
Daedalus:
instance ItRw_Addon_FireBow(C_Item)
{
    name = "Огненный лук";
    mainflag = ITEM_KAT_FF;
    flags = ITEM_BOW;
    material = MAT_WOOD;
    value = Value_FireBow;
    damageTotal = Damage_FireBow;
    damagetype = DAM_FIRE;
    munition = ItRw_Addon_FireArrow;
    wear = WEAR_EFFECT;
    effect = "SPELLFX_FIREBOW";
    cond_atr[2] = ATR_DEXTERITY;
    cond_value[2] = Condition_FireBow;
    visual = "ItRw_Bow_H_06.mms";
    description = name;
    text[1] = NAME_Damage;
    count[1] = damageTotal;
    text[2] = "Урон огнем:";
    count[2] = 40;
    text[3] = NAME_Dex_needed;
    count[3] = cond_value[2];
    text[5] = NAME_Value;
    count[5] = value;
};
Я знаю, что в движке урон у огненного и магического дальнобойного оружия гасится защитой от стрел, а не защитой от огня или магии, поэтому приходится добавлять цели скриптовый урон, равный её защите от стрел.
Daedalus:
func void B_BeliarsWeaponSpecialDamage(var C_Npc oth,var C_Npc slf)
{
    var int RavenRandy;
    var int DamageRandy;
    var C_Item otherweap;

...

    otherweap = Npc_GetReadiedWeapon(oth);
    if(Npc_HasReadiedWeapon(oth))
    {
        if(Hlp_IsItem(otherweap,ItMw_BeliarWeapon_Fire))
        {
            Wld_PlayEffect("VOB_MAGICBURN",slf,slf,0,0,0,FALSE);
        };
        if(Hlp_IsItem(otherweap,ItRw_Addon_FireBow))
        {
            //Wld_PlayEffect("spellFX_FIREBOLT_COLLIDE",slf,slf,0,0,0,FALSE);
            //что-то тут не так
            if(slf.flags != NPC_FLAG_IMMORTAL)
            {
                Npc_ChangeAttribute(slf,ATR_HITPOINTS,-slf.protection[PROT_POINT]);
            };
            if(Npc_IsDead(slf))
            {
                B_GiveDeathXP(oth,slf);
            };
        };
        if(Hlp_IsItem(otherweap,ItRw_Addon_MagicBow))
        {
            Wld_PlayEffect("spellFX_ICEBOLT_COLLIDE",slf,slf,0,0,0,FALSE);
            if(slf.flags != NPC_FLAG_IMMORTAL)
            {
                Npc_ChangeAttribute(slf,ATR_HITPOINTS,-slf.protection[PROT_POINT]);
            };
            if(Npc_IsDead(slf))
            {
                B_GiveDeathXP(oth,slf);
            };
        };
        if(Hlp_IsItem(otherweap,ItRw_Addon_MagicCrossbow))
        {
            Wld_PlayEffect("spellFX_BELIARSRAGE_COLLIDE",slf,slf,0,0,0,FALSE);
            if(slf.flags != NPC_FLAG_IMMORTAL)
            {
                Npc_ChangeAttribute(slf,ATR_HITPOINTS,-slf.protection[PROT_POINT]);
            };
            if(Npc_IsDead(slf))
            {
                B_GiveDeathXP(oth,slf);
            };
        };
    };
};
Но я не нашёл, где в скриптах добавляется фиксированный урон огнем (40).
 

Htonium

Участник форума
Регистрация
27 Сен 2019
Сообщения
44
Благодарности
1
Баллы
110
Добрый день. Решил переиграть в Готику, нашел этот форум. Хочу установить данный патч для комфортной игры. Подскажите, патч можно ставить на любую версию игры? Можно просто скачать последнюю версию Готики и установить патч?
И второй вопрос. Соседняя тема с фиксом текстур Fixed Zens and Models совместима с этим патчем?
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.190
Благодарности
3.373
Баллы
485
Подскажите, патч можно ставить на любую версию игры? Можно просто скачать последнюю версию Готики и установить патч?
Подойдет любая 2.6 с мод-стартером любой версии.

Соседняя тема с фиксом текстур Fixed Zens and Models совместима с этим патчем?
Включена в полном объеме и даже немного опережает релизную версию по количеству исправлений. Отдельная установка не требуется.

здесь в файле исправлений и изменений написано, что "Изменены типы урона у огненного лука и Когтя Белиара". это как понимать?
Похоже, что часть про Коготь уже не актуальна, потому что сейчас его параметры соответствует оригиналу. А огненному луку был добавлен дополнительный урон огнем и эффект массового поражения - теперь это оружие намного полезнее.

Но я не нашёл, где в скриптах добавляется фиксированный урон огнем (40).
В B_AssessDamage.d:
Daedalus:
func void B_AssessOthersDamage()
{
    var C_Item readyweap;
    readyweap = Npc_GetReadiedWeapon(other);
    if(Npc_HasReadiedRangedWeapon(other))
    {
        if(readyweap.munition == ItRw_Addon_FireArrow)
        {
            if((Npc_GetDistToNpc(self,victim) <= 600) && (readyweap.munition == ItRw_Addon_FireArrow))
            {
                Wld_PlayEffect("VOB_MAGICBURN",self,self,0,0,0,FALSE);
                if(self.flags == 0)
                {
                    if(self.protection[PROT_FIRE] < 40)
                    {
                        if((self.attribute[ATR_HITPOINTS] + self.protection[PROT_FIRE] - 40) >= 0)
                        {
                            self.attribute[ATR_HITPOINTS] -= (40 - self.protection[PROT_FIRE]);
                        }
                        else
                        {
                            self.attribute[ATR_HITPOINTS] = 0;
                        };
                    };
                };
                if(Npc_IsDead(self))
                {
                    B_GiveDeathXP(other,self);
                };
                if(self.aivar[AIV_PARTYMEMBER] == TRUE)
                {
                    if(Npc_IsPlayer(victim))
                    {
                        Npc_ClearAIQueue(self);
                        B_ClearPerceptions(self);
                        Npc_PercEnable(self,PERC_ASSESSDAMAGE,B_AssessDamage);
                        Npc_PercEnable(self,PERC_ASSESSOTHERSDAMAGE,B_AssessOthersDamage);
                        Npc_SetTarget(self,other);
                        AI_StartState(self,ZS_Attack,0,"");
                        return;
                    };
                    if(Npc_IsPlayer(other) && !Npc_IsDead(victim))
                    {
                        Npc_ClearAIQueue(self);
                        B_ClearPerceptions(self);
                        Npc_PercEnable(self,PERC_ASSESSDAMAGE,B_AssessDamage);
                        Npc_PercEnable(self,PERC_ASSESSOTHERSDAMAGE,B_AssessOthersDamage);
                        Npc_SetTarget(self,victim);
                        AI_StartState(self,ZS_Attack,0,"");
                        return;
                    };
                };
                if(Wld_GetGuildAttitude(self.guild,other.guild) != ATT_FRIENDLY)
                {
                    Npc_ClearAIQueue(self);
                    B_ClearPerceptions(self);
                    Npc_PercEnable(self,PERC_ASSESSDAMAGE,B_AssessDamage);
                    Npc_PercEnable(self,PERC_ASSESSOTHERSDAMAGE,B_AssessOthersDamage);
                    B_Attack(self,other,AR_ReactToDamage,0);
                    return;
                };
            };
            if(Npc_IsInState(self,ZS_Attack))
            {
                return;
            };
        };
    };
    return;
};
 

eccehomo456

Участник форума
Регистрация
19 Сен 2019
Сообщения
6
Благодарности
0
Баллы
95
"Похоже, что часть про Коготь уже не актуальна, потому что сейчас его параметры соответствует оригиналу." - то есть всё осталось по прежнему?
 

Htonium

Участник форума
Регистрация
27 Сен 2019
Сообщения
44
Благодарности
1
Баллы
110
И еще один нубский вопрос. Нашел на форуме текстурпак Texture Pack By Artemiano, он совместим с данным патчем? Вижу, что в патче уже есть какие-то новые текстуры, но все же. А если совместим, первым делом текстуры установить, а поверх патч?
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.190
Благодарности
3.373
Баллы
485
"Похоже, что часть про Коготь уже не актуальна, потому что сейчас его параметры соответствует оригиналу." - то есть всё осталось по прежнему?
Насколько я знаю, да. Эта строка будет убрана из списка изменений мода.

Нашел на форуме текстурпак Texture Pack By Artemiano, он совместим с данным патчем?
Совместим. Однако, в нем когда-то была проблема с моделями алхимических столов, плит и наковален, из-за чего пропадали предметы из инвентаря. Возможно, эта проблема там уже исправлена. Обращай на это внимание.

А если совместим, первым делом текстуры установить, а поверх патч?
Без разницы.

Объявляется охота!
В двух сундуках мира Яркендара Пираньи по ошибке прописали несуществующий предмет itfo_meat. В каких именно сундуках - неизвестно. С целью отлова этой проблемы в неофициальном обновлении был создан специальный предмет, который появится на месте несуществующего. Называется он "Луковица":
12.jpg
Одна из этих луковиц уже была найдена в сундке Скипа в лагере пиратов. Сможете ли вы найти вторую?
 
Сверху Снизу