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

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

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

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.175
Благодарности
3.344
Баллы
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.167
Баллы
915
На текущий момент мне удалось заставить магов сделать двойной отскок, если противник подойдёт к ним на расстояние, меньшее дистанции для ближнего боя. К сожалению, у меня пока не выходит заставить магов переключиться на экипированное оружие ближнего боя. Также маг может зациклиться при попытке увеличить расстояние между собой и противником. Вот начало изменённой функции ZS_Attack_Loop():
Код:
func int ZS_Attack_Loop()
{
    B_Greg_ComesToDexter();
    Npc_GetTarget(self);
    if(C_WantToFlee(self,other))
    {
        return LOOP_END;
    };
    if(Npc_IsInFightMode(self,FMODE_MAGIC) && (Npc_GetDistToNpc(self,other) < FIGHT_DIST_MELEE))
    {
        B_TurnToNpc(self,other);
        AI_SetWalkMode(self,NPC_RUN);
        AI_Dodge(self);
        AI_Dodge(self);
    };
...
P.S.: К сожалению, из-за слишком частых зацикливаний магов мне пришлось отказаться от этой идеи.*thumbs down*
 
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.175
Благодарности
3.344
Баллы
485
- Теперь находящийся в облике зверя ГГ будет иметь уровень этого зверя.
С этим изменением связан небольшой баг. Если на нулевом уровне превратиться в драконьего снеппера (40 уровня) и набрать 500 опыта, то этот снеппер поднимет свой уровень до 41, увеличив количество требуемого опыта для 42 уровня до 21500. У человеческого облика в это время первый уровень и требование для второго в 1500 очков. Не выходя из облика снеппера грызем ещё нескольких противников, копим опыт до 2140 и возвращаемся в облик человека. По идее, в этот момент уровень должен подняться до второго, так как текущий опыт превышает требуемый (2140/1500). Но нет:
1.png
Итак, что нужно для исправления:
- не повышать уровень облику животного, если это возможно;
- пересчитывать значение текущего опыта в момент возвращения в облик человека и назначать соответствующий уровень;
- или вообще отказаться от этого изменения.


Продолжу дополнения.

1) Ещё со времен первой части я привыкла листать содержимое своего инвентаря скроллом мыши. К сожалению, при взаимодействии с сундуками в Г2 позиция камеры не блокируется, движения скролла приближают/отдаляют камеру и приходится переходить на клавиатуру. Для исправления нужно изменить значения параметров bestrange, minrange и maxrange инстанции CAMMODMOBDEFAULT(CCAMSYS_DEF) в camera.dat на 2. Прикладываю исправленный файл.

2) Снятые шкуры кабана и варга используют несуществующую текстуру. Прикладываю исправленную модель. Да, оба этих предмета используют одинаковую модель (ItAt_WargFur.3DS), потому что текстура кабана на 99% основана на текстуре варга, просто дорисованы новые глаза. Но это уже, как говорится, совсем другая история.
Также в архиве новые модели шкур снежного волка (белая) и черного тролля (сейчас его шкура это шкура обычного тролля). Для шкуры снежного волка понадобится создание новой инстанции и интеграция в систему продажи Босперу, а для новой шкуры черного тролля нужна всего одна правка в скриптах (сменить ItAt_TrollFur.3DS в инстанции ItAt_TrollBlackFur на ItAt_TrollBlackFur.3DS).
3.png


3) В игре есть три модели Глаза Инноса: сломанного, разряженного и заряженного . В скриптах используется только модель заряженного, хотя предметов тоже три: сломанный, разряженный и заряженный. Предлагаю сменить ItMi_InnosEye_MIS.3DS в ItMi_InnosEye_Discharged_Mis на ItMi_InnosEye_Discharged_MIS.3DS и на ItMi_InnosEye_Broken_MIS.3DS в ItMi_InnosEye_Broken_Mis. В результате будут задействованы две неиспользуемые модели и главный артефакт игры будет выглядеть как и задумано разработчиками:
2.png


4) Думаю, что все диалоги с Ищущими должны завершаться автоматически (AI_StopProcessInfos(self)), а не в нужный игроку момент кнопкой "КОНЕЦ". Иначе теряется эффект неожиданности от их атак.
 

Вложения

  • CAMERA.rar
    1,7 KB · Просмотры: 64
  • furs.rar
    7,9 KB · Просмотры: 60
Последнее редактирование:

JiRiK_StRiKeS_AGaIN

Участник форума
Регистрация
3 Мар 2017
Сообщения
302
Благодарности
231
Баллы
200
С этим изменением связан небольшой баг. Если на нулевом уровне превратиться в драконьего снеппера (40 уровня) и набрать 500 опыта, то этот снеппер поднимет свой уровень до 41, увеличив количество требуемого опыта для 42 уровня до 21500. У человеческого облика в это время первый уровень и требование для второго в 1500 очков. Не выходя из облика снеппера грызем ещё нескольких противников, копим опыт до 2140 и возвращаемся в облик человека. По идее, в этот момент уровень должен подняться до второго, так как текущий опыт превышает требуемый (2140/1500).
Разве после того, как ты убьешь любого моба и получишь за него экспу - Тебя мгновенно не повысят на нужный тебе уровень?
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.167
Баллы
915
К сожалению, пока у меня нет идей, как исправить косяк с превращением ГГ в зверя на нулевом уровне.*around the head*

Исправления из пунктов с 1-го по 3-й постараюсь включить в обновление.

Из-за особенностей обработки команд в очереди ИИ предложение из пункта 4 приводит к проблемам, когда на ГГ должны одновременно напасть несколько противников. Например, когда Хуан ещё ведёт диалог с ГГ, то стоящий рядом бандит уже бьёт Безымянного. Поэтому для обеспечения синхронности действий NPC приходится применять костыль с использованием выбора игроком диалогов вида "КОНЕЦ".
 
Последнее редактирование:

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
Итак, что нужно для исправления:
- не повышать уровень облику животного, если это возможно;
- пересчитывать значение текущего опыта в момент возвращения в облик человека и назначать соответствующий уровень;
- или вообще отказаться от этого изменения.
Еще варианты и предложения:
- Присваивать обращенному ГГ в живность его текущий настоящий уровень.
- Поставить условие на активацию заклинания для обращения в существо определенного уровня чтобы у ГГ также был необходимый уровень, чем мощнее существо - тем выше требуется уровень ГГ. (баланс, чтобы немощный ГГ не бежал впереди паравоза, юзая имбовых монстров)
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.231
Баллы
525
- Присваивать обращенному ГГ в живность его текущий настоящий уровень.
В этом случае возможен вариант, когда неписи будут бегать от кротокрыса, потому что он унаследовал ХХХ-тый уровень от ГГ.

Например, когда Хуан ещё ведёт диалог с ГГ, то стоящий рядом бандит уже бьёт Безымянного.
В этом случае может помочь один из нескольких костылей.

В мод-фиксе для вывода текстов на экран в определённые моменты диалога используется взаимодействие со служебным предметом и вызываемая при этом функция. Диалог можно завершать взаимодействием с предметом и запускать атаку партнёров из функции предмета.

Можно создать служебную инстанцию диалога, в условии которой будет проверяться состоялся ли нужный диалог и закончился ли он. При соблюдении условия следует инициация атаки. Сама функция-условие должна возвращать FALSE.

Но лучше сделать так: создать специальное ZS-состояние для владельца диалога. По завершении диалога он переводится в это состояние, а уже оттуда начинается атака, его и его партнёров.
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
В этом случае возможен вариант, когда неписи будут бегать от кротокрыса, потому что он унаследовал ХХХ-тый уровень от ГГ.
Конечно возможен, если не добавить исключение на обращенного ГГ.
А можно кротокрыса потолще и пожирнее делать в зависимости от уровня ГГ :D

Из-за особенностей обработки команд в очереди ИИ предложение из пункта 4 приводит к проблемам, когда на ГГ должны одновременно напасть несколько противников.

Я один из таких боев реализовал следующим образом:

Код:
instance DIA_Ricelord_Fool(C_Info)
{
    npc = Bau_900_Ricelord;
    nr = 1;
    condition = DIA_Ricelord_Fool_Condition;
    information = DIA_Ricelord_Fool_Info;
    permanent = 0;
    important = 1;
};


func int DIA_Ricelord_Fool_Condition()
{
    if(Lord_Angry == TRUE) //Первичное условие поединка
    {
        return TRUE;
    };
    return FALSE;
};

func void DIA_Ricelord_Fool_Info()
{
    AI_Output(self,other,"Ricelord_Fool_12_01_RuX");    // (вырезано цензурой!)
    if(!Npc_IsDead(Org_845) || !Npc_IsDead(Org_846) || !Npc_IsDead(Lefty))
    {
        AI_Output(self,other,"Ricelord_Fool_12_02_RuX");    //Эй парни! Проучите этого наглеца.
        if(!Npc_IsDead(Org_845))
        {
            AI_GotoNpc(Org_845,hero); //Подводим соратников поближе к жертве (ГГ)
        };
        if(!Npc_IsDead(Org_846))
        {
            AI_GotoNpc(Org_846,hero); //Подводим соратников поближе к жертве (ГГ)
        };
        if(!Npc_IsDead(Lefty))
        {
            AI_GotoNpc(Lefty,hero); //Подводим соратников поближе к жертве (ГГ)
        };
    };
    B_SetAttitude(self,ATT_FRIENDLY); //Делаем НПЦ дружественным чтобы нормально отработал следующий диалог.
    AI_StopProcessInfos(self); //Заканчиваем диалог, все нужные фразы высказаны.
};

instance DIA_Ricelord_Fight(C_Info)
{
    npc = Bau_900_Ricelord;
    nr = 1;
    condition = DIA_Ricelord_Fight_Condition;
    information = DIA_Ricelord_Fight_Info;
    permanent = 0;
    important = 1; //Зачинщик драки сам начинает диалог "без слов"
};


func int DIA_Ricelord_Fight_Condition()
{
    if(Npc_KnowsInfo(hero,DIA_Ricelord_Fool)) //Если прошел первичный диалог.
    {
        return TRUE;
    };
    return FALSE;
};

func void DIA_Ricelord_Fight_Info()
{
    AI_StopProcessInfos(self); //Собственно атакуют все синхронно.
    if(!Npc_IsDead(Org_845))
    {
        B_Attack(Org_845,hero,AR_NONE,1);
    };
    if(!Npc_IsDead(Org_846))
    {
        B_Attack(Org_846,hero,AR_NONE,1);
    };
    if(!Npc_IsDead(Lefty))
    {
        B_Attack(Lefty,hero,AR_NONE,1);
    };
    B_Attack(self,hero,AR_NONE,1);
};
 
Последнее редактирование:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.167
Баллы
915
Уважаемые готоманы!

У меня возникли вопросы после обнаружения нескольких нелогичных моментов:
1. В главе 4 Ангар может рассказать ГГ об охраняющем пещеру в скалах магическом существе. Я считаю, что он мог увидеть квестовый скелет мракориса (Shadowbeast_Skeleton_Angar), потому что квестовый маг скелетов (SkeletonMage_Angar) никогда не выходит из этой пещеры (в G1 в ней обитал ставший нежитью один из рудных баронов).
2. После того, как охраняющий тюрьму в замке Миненталя Герольд передаст записку Горну (ItWr_LetterForGorn_MIS), в его инвентаре не должен оставаться этот предмет. Но я не уверен, что он должен появиться в инвентаре Горна (PC_Fighter_OW).
3. Нарушает ли логику ставшего ополченцем ГГ его приказ охраняющему вход в резиденцию Гаронда рыцарю: "Докладывай, солдат!" потому, что звания, полученные за службу в местном ополчении, не должны превышать званий, полученных за службу в ордене паладинов? Например, в Российской империи (гвардейские полки) и СССР (органы госбезопасности), эти звания на 2 ступени превышают те же, полученные за службу в других войсках.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.832
Благодарности
6.716
Баллы
1.625
@Dimus а вопрос то в чем? ))
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.175
Благодарности
3.344
Баллы
485
По каждому пункту: ошибок тут нет, не загоняйся. Лучше добавь мою новую текстуру золотого компаса: нынешняя не похожа ни на компас, ни на вообще что-то золотое.

1.png
 

Вложения

  • compass.rar
    6,5 KB · Просмотры: 152
Последнее редактирование:

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
Охраннику Мике нехватает распорядка дня, чтоб он по ночам отсыпался в казарме или гостинице. Или для разнообразия жевал яблоки как наёмник с фермы.
Для того, кто тут правит oldworld.zen
- в ледяной долине есть хижина на опорах и там нехватает лестницы
- самая высокая башня в замке имеет смотровую площадку и люки, и там тоже нехватает лестниц
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.231
Баллы
525
1. В главе 4 Ангар может рассказать ГГ об охраняющем пещеру в скалах магическом существе. Я считаю, что он мог увидеть квестовый скелет мракориса (Shadowbeast_Skeleton_Angar), потому что квестовый маг скелетов (SkeletonMage_Angar) никогда не выходит из этой пещеры (в G1 в ней обитал ставший нежитью один из рудных баронов).
По всей видимости, речь идёт именно о скелете мракориса, поскольку склеп в диалогах называется склепом, а здесь говорится о пещере в скалах. Если заморочиться, можно прописать для тварюги персональный распорядок, заставив её рыскать ночами вокруг пещеры, как и говорит Ангар.

2. После того, как охраняющий тюрьму в замке Миненталя Герольд передаст записку Горну (ItWr_LetterForGorn_MIS), в его инвентаре не должен оставаться этот предмет. Но я не уверен, что он должен появиться в инвентаре Горна (PC_Fighter_OW).
Разные варианты можно объяснить. Например, если записка осталась у голодного парня, то он мог просто дать прочесть её Горну и забрать назад. Впрочем, лучше её удалить. Создавать её в инвентаре Горна не обязательно.

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

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.167
Баллы
915
Охраннику Мике нехватает распорядка дня, чтоб он по ночам отсыпался в казарме или гостинице.
Дело в том, что количество коек в казарме ограничено и не ко всем проведены пути навигации. А постоялый двор Ханны предназначен для странствующих торговцев. Например, ополченец Руга тоже круглосуточно сидит у стрельбища.
- в ледяной долине есть хижина на опорах и там нехватает лестницы
Выброси шкатулку или большой гриб под ноги ГГ и тогда он сможет залезть туда. Тем же способом можно залезть на крышу дома в Яркендаре, в котором отдыхают маги Воды.
- самая высокая башня в замке имеет смотровую площадку и люки, и там тоже нехватает лестниц
Вполне возможно, что они сгорели во время нападения драконов на замок.
 
Последнее редактирование:

marafonec

Участник форума
Регистрация
14 Июн 2013
Сообщения
18
Благодарности
9
Баллы
160
Дело в том, что количество коек в казарме ограничено и не ко всем проведены пути навигации. А постоялый двор Ханны предназначен для странствующих торговцев. Например, ополченец Руга тоже круглосуточно сидит у стрельбища.
Ну кто-то же должен пост то нести на случай нападения на город) Хотя было бы логичнее, если они бы поочередно спали.
 

Kvincius

Участник форума
Регистрация
6 Ноя 2012
Сообщения
257
Благодарности
235
Баллы
210
- в ледяной долине есть хижина на опорах и там нехватает лестницы
- самая высокая башня в замке имеет смотровую площадку и люки, и там тоже нехватает лестниц
В принципе, можно и поставить лесенки. Правда, в башне вообще ничего нет.. но меня волнует другое. В Рудниковой долине Г2 разрабы по какой-то причине удалили вообще все лестницы без разбору. В Хоринисе их тоже никто не использует. И только в Яркендаре, есть место на болоте, с лагерем на скале, где стоят две лестницы. При этом, один из бандитов в шахте Ворона может обронить фразу вроде - "...но с тех пор как пал барьер, никто больше не использует лестницы...". Кто-нибудь знает, в чём вообще лестницы провинились?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.231
Баллы
525
Кто-нибудь знает, в чём вообще лестницы провинились?
В Г1 с лестницами связаны кое-какие баги и неудобства. Думаю, разрабы предпочли просто не включать в игру эту фичу, вместо того, чтобы исправить проблемы. Как показал камрад Керракс, это вполне реально было сделать.
 

Traven

Участник форума
Регистрация
16 Июн 2015
Сообщения
40
Благодарности
39
Баллы
175
Ну кто-то же должен пост то нести на случай нападения на город) Хотя было бы логичнее, если они бы поочередно спали.

Если начать прикапываться, то в игре пол мира не спит вообще никогда. У некоторых горожан нет домов (и это даже не в портовом квартале!). Стража вообще вечный дозор несет и никогда не сменяется. Наверное это невозможно исправить без глобальной переделки мира.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
В Г1 с лестницами связаны кое-какие баги и неудобства. Думаю, разрабы предпочли просто не включать в игру эту фичу, вместо того, чтобы исправить проблемы. Как показал камрад Керракс, это вполне реально было сделать.
Баг там один единственный, это рукожопые разрабы.. + Скорее всего тот кто делал лестницы в Г1 в разработке Г2 уже не участвовал, поэтому тупо удалили чтобы не мучиться. В Глобале у нас все лестница работали без багов и глюков, как оригинальные, так и добавленные нами...


Наверное это невозможно исправить без глобальной переделки мира.
Расписывай расписания для НПС и все будут спать по указанным часам, заступать в караулы, меняться постами и т.д. и т.п..
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.231
Баллы
525
В Глобале у нас все лестница работали без багов и глюков, как оригинальные, так и добавленные нами...
В оригинальном движке имеет место проблема коллизий при выполнении анимаций карабканья по лестнице. Она может приводить к тому, что прекращение взаимодействия с лестницей в верхней её части сопровождается падением. Анимация заканчивается не там, где должна бы закончиться. Камрад Керракс исправил это на уровне движка. Все остальные способы исправления - всего лишь костыли. ;)
 

Phantom95

Участник форума
Регистрация
31 Июл 2014
Сообщения
2.227
Благодарности
1.910
Баллы
370
Думаю, разрабы предпочли просто не включать в игру эту фичу, вместо того, чтобы исправить проблемы.
В ранних версиях готики 1 оно все работало как надо. Когда переносил скрипты из 1.01е в релизную версию то заметил, что нпс стали нормально спать и лазать по лестницам.. Кроме того, в бэте нпс могут нормально использовать ту самую проблемную лестницу в старой шахте по пути к шестеренке, что невозможно в релизной версии.
В оригинальном движке имеет место проблема коллизий при выполнении анимаций карабканья по лестнице. Она может приводить к тому, что прекращение взаимодействия с лестницей в верхней её части сопровождается падением. Анимация заканчивается не там, где должна бы закончиться. Камрад Керракс исправил это на уровне движка.
Именно, перед версией 1.04 разрабы выпилили коллизии из движка, и из-за этого начались такие глюки.. Так что Керракс в GeEngine все правильно сделал возвратив коллизии обратно, вообще GeEngine как раз и является практически совершенной версией движка, которая и была задумана ПБ изначально.
 
Последнее редактирование:
Сверху Снизу