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

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

Готика 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.

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

007009

Забанен
Регистрация
30 Дек 2017
Сообщения
69
Благодарности
13
Баллы
165
Это стандартно настраивается в функции C_CanNpcCollideWithSpell(var int spellType) с помощью констант, которые определяют нанесение двойного или половинного урона, нанесение только урона, отсутствие эффекта вообще и так далее.
Там же задаются определённые цели, по которым будет идти данный урон или его отсутствие.
Например двойной урон огненных заклинаний по ледяным целям или половинный урон магии смерти по существам Белиара (типа Драконов) или по нежити задаётся именно там.

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

А бонус Дыхания Смерти в проникающем уроне (оно может бить врага, стоящего перед целью в фокусе и идти дальше к цели).

А все понял спс, отредактировал пост. Ну тогда все нормально с этими тремя скилами, пусть так и будет.
 
Последнее редактирование:

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
имеет 500 урона, НО по заданным в текущих скриптах условиям имеет ограниченную дальность, вообще не работает на нежить и наносит половинный урон драконам или самому ГГ.
Выходит, половинный урон всем, а не только гг и драконам.
 

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
Ну в скрипте же написано:
1) если дистанция до цели менее 10 метров и цель НЕ нежить = полное срабатывание заклинания
2) + дополнительное условие внутри первого: если цель дракон или ГГ = половина урона заклинания
3) в противном случае (если цель дальше 10 метров или нежить) = заклинание не работает
 

heckler

Участник форума
Регистрация
25 Апр 2017
Сообщения
413
Благодарности
109
Баллы
210
+ дополнительное условие внутри первого: если цель дракон или ГГ = половина урона заклинания
Похоже я проверял на обычной версии, здесь уже это исправлено
 
Последнее редактирование:

heckler

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

Deathbolt и Deathball тоже огненные заклинания.
Так это ошибка тогда, если это так.
Код:
//----- Feuer -----
 
    if (spellType     == SPL_ChargeFireball)
    || (spellType      == SPL_InstantFireball)    
    || (spellType      == SPL_Firerain)    
    || (spellType     == SPL_Firebolt)    
    || (spellType     == SPL_Firestorm)
    || (spellType   == SPL_Pyrokinesis)
    || (spellType    == SPL_Deathbolt)
    || (spellType     == SPL_Deathball)
 
Последнее редактирование модератором:

I_hate_Gothic

Забанен
Регистрация
27 Дек 2017
Сообщения
995
Благодарности
1.195
Баллы
305
- Задействовано состояние алкогольного опьянения у ГГ
Достаточно одной кружки пива, и ГГ уже не держиться на ногах.

И у Орка-воина, в пещере с телепортом, 150 защиты от огня, 2 огненных шара наносят ему ноль урона. И бывали моменты, когда бандиту у маяка (ноль защиты от огня) не проходил урон от того же огненного шара. Если про бандита я пойму, глюкануло, то с Орком немного перебор, пришлось глыбой морозить и бить. Или тоже глюк?

«да это жоска»
 

Коляныч

Участник форума
Регистрация
4 Янв 2018
Сообщения
379
Благодарности
117
Баллы
210
А вот вам еще один! Все побитые мной наемники на ферме Онара автоматически экипируются двуручным ржавым топором, хотя оружия я у них не забирал!
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Самое забавное то, что у заклинаний, которые доступны только ищущим (стрела смерти, шар смерти и стрела сотрясения), напрямую не прописан вид урона:
Код:
// ***************
// SPL_Deathbolt
// ***************

const int SPL_Cost_Deathbolt    = 25;
const int SPL_Damage_Deathbolt    = 125;


INSTANCE Spell_Deathbolt (C_Spell_Proto)
{
    time_per_mana            = 0;            //Spell wirkt Instant
    damage_per_level         = SPL_Damage_Deathbolt;
};

// ***************
// SPL_Deathball
// ***************

const int SPL_Cost_Deathball    = 35;
const int SPL_Damage_Deathball    = 165;


INSTANCE Spell_Deathball (C_Spell_Proto)
{
    time_per_mana            = 0;            //Spell wirkt Instant
    damage_per_level         = SPL_Damage_Deathball;
};

// ******************
// SPL_Concussionbolt
// ******************

const int SPL_Cost_Concussionbolt    = 40;
const int SPL_Damage_Concussionbolt    = 200;

INSTANCE Spell_Concussionbolt (C_Spell_Proto)
{
    time_per_mana            = 0;            //Spell wirkt Instant
    damage_per_level         = SPL_Damage_Concussionbolt;
};
А поскольку при инициализации игры все целочисленные переменные, чьё значение не задано в скриптах, получают нулевое значение, то непонятно, каким видом урона бьют эти заклинания, потому что в G2 MDK не используются следующие виды урона:
Код:
//
//    DAMAGE TYPES v2.0
//
CONST INT DAM_INVALID                                    = 0                        ;       //      0 - 0x00 - nur der Vollstandigkeit und Transparenz wegen hier definiert ( _NICHT_ verwenden )
CONST INT DAM_BARRIER                                    = 1                        ;          //      1 - 0x01 - nur der Vollstandigkeit und Transparenz wegen hier definiert ( _NICHT_ verwenden )

...

CONST INT DAM_FALL                                        = DAM_POINT        << 1    ;          //    128 - 0x80 - nur der Vollstandigkeit und Transparenz wegen hier definiert ( _NICHT_ verwenden )
 
Последнее редактирование:

007009

Забанен
Регистрация
30 Дек 2017
Сообщения
69
Благодарности
13
Баллы
165
Ну теперь оно у них респавниться таким образом, там же всетаки ржавые обычно, так что ничего страшного) Может ты не забирал оружие, но они не успели его подобрать и ты убежал\юзнул тп?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
напрямую не прописан тип урона
В этом случае все не указанные параметры наследуются от прототипа:
Код:
prototype C_Spell_Proto(C_Spell)
{
    time_per_mana = 500;
    damage_per_level = 1;
    damagetype = DAM_MAGIC;
    spellType = SPELL_BAD;
    canTurnDuringInvest = 1;
    canChangeTargetDuringInvest = 1;
    isMultiEffect = 0;
    targetCollectAlgo = TARGET_COLLECT_FOCUS_FALLBACK_NONE;
    targetCollectType = TARGET_TYPE_NPCS;
    targetCollectRange = 10000;
    targetCollectAzi = 60;
    targetCollectElev = 60;
};

Все побитые мной наемники на ферме Онара автоматически экипируются двуручным ржавым топором, хотя оружия я у них не забирал!
Они своё оружие не подбирают что-ли?
 

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
SPL_Concussionbolt - это не смертельное заклинание (против ГГ или мирных НПЦ, если не менялась настройка COLL_APPLYDAMAGE | COLL_DONTKILL)
пользуются им маги огня, когда атакуют без намерения убить (в основном для "вырубания" ГГ).
Остальное Элдер написал )
 
Последнее редактирование:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Странно... Я планировал сделать так: если вышедший из состояния нокаута побитый непись не смог подобрать любое оружие и экипироваться им, то в его инвентаре должен появиться оружейный хлам в зависимости от гильдии, к которой он принадлежит.
Код:
func void ZS_Unconscious_End()
{
    self.aivar[AIV_RANSACKED] = FALSE;
    AI_Standup(self);
    if(Npc_IsPlayer(self))
    {
        return;
    };
    if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Raven))
    {
        self.aivar[AIV_MagicUser] = MAGIC_ALWAYS;
        B_Attack(self,hero,AR_GuildEnemy,0);
        return;
    };
    if(Npc_CanSeeNpcFreeLOS(self,other) && (Npc_GetDistToNpc(self,other) < PERC_DIST_INTERMEDIAT))
    {
        B_TurnToNpc(self,other);
        if(C_NpcIsToughGuy(self) && (Npc_GetPermAttitude(self,other) != ATT_HOSTILE) && (self.npcType != NPCTYPE_FRIEND))
        {
            B_Say(self,other,"$NEXTTIMEYOUREINFORIT");
        }
        else
        {
            B_Say(self,other,"$OHMYHEAD");
        };
    };
    Npc_PerceiveAll(self);
    if(Wld_DetectItem(self,ITEM_KAT_NF))
    {
        if(Hlp_IsValidItem(item) && (Npc_GetDistToItem(self,item) <= 500))
        {
            AI_TakeItem(self,item);
        };
    }
    if(Wld_DetectItem(self,ITEM_KAT_FF))
    {
        if(Hlp_IsValidItem(item) && (Npc_GetDistToItem(self,item) <= 500))
        {
            AI_TakeItem(self,item);
        };
    };
    AI_EquipBestMeleeWeapon(self);
    AI_EquipBestRangedWeapon(self);
    if(!Npc_HasEquippedWeapon(self))
    {
        B_RefreshMeleeWeapon(self);
        AI_EquipBestMeleeWeapon(self);
    };
    AI_StartState(self,ZS_HealSelf,0,"");
};
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Условие
Код:
if(!Npc_HasEquippedWeapon(self))
проверяется в самом начале выполнения функции ZS_Unconscious_End, когда у непися ещё нет оружия, он его ещё не успел обнаружить, подобрать и экипировать. Для подбора выпавшего оружия было бы лучше организовать полноценное состояние, стартующее из функции ZS_Unconscious_End.
 

Dimus

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

Коляныч

Участник форума
Регистрация
4 Янв 2018
Сообщения
379
Благодарности
117
Баллы
210
Оружие свое они подбирают. И у них в инвентаре оказывается два вида оружия. Походу дела, они выбирают то, что потяжелее. Но это выглядит нелепо.
 

tatun

Участник форума
Регистрация
31 Янв 2009
Сообщения
1.030
Благодарности
274
Баллы
245
Огненный дождь тоже 1000.
Огненный дождь - 500.
Будь там только 500 урона, демона лорда с защитой 200 и 600 хп с одного раза было бы не завалить. Зачем спорить?
Ну так вот получилось. Глюк, баг, случайность, так сделали...
Пусть кто-нибудь повторит. Элитные орки не умирают с одного каста.
 

007009

Забанен
Регистрация
30 Дек 2017
Сообщения
69
Благодарности
13
Баллы
165
Ну так вот получилось. Глюк, баг, случайность, так сделали...
Пусть кто-нибудь повторит. Элитные орки не умирают с одного каста.


Да, 49хп остаётся :(
450-(500-100)
Похоже, двойной урон только демонам
Он уже уразумел это.

Оружие свое они подбирают. И у них в инвентаре оказывается два вида оружия. Походу дела, они выбирают то, что потяжелее. Но это выглядит нелепо.
Ну да, представил себе армию наёмников с ржавыми топорами :D *facepalm*
 
Последнее редактирование:

tatun

Участник форума
Регистрация
31 Янв 2009
Сообщения
1.030
Благодарности
274
Баллы
245
Мне аж захотелось переиграть Г2нв за мага. Поэксперементировать. Хотя недавно прошёл и за мага и за наёмника.
А вот этот Мод я как-то поставил, думал: только ошибки исправляет. А оказалось что ошибок стало больше, и огненная магия не работала. Я даже до Яркендара дошёл был с этим модом. Кстати я потом переустановил игру, и на этих сохранках без проблем прошёл до конца.
Кстати. Вспомнил одну вещь: играя магом пробовал бить драконов толи Ледяным копьём, толи Молнией, и наносил урон (небольшой, он успевал регенить пока я ману пил). Хотя даже у Болотного защита от магии 150. Тут что ?
 
Последнее редактирование:
Сверху Снизу