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

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

Готика 2: НВ Баги и ошибки

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
  • Первое сообщение
  • #1
Готика 2 - Баги и ошибки.png
В данной теме задаем вопросы по багам и ошибкам, возникающим в игре, не связанным с технической составляющей.
Для технических вопросов есть отдельная тема.
В теме разрешено давать чит-коды, если это является одним из способов обхода бага.
Важно: в этой теме обсуждается только баги и ошибки оригинала Г2 НВ! Если вы играете с неофициальным обновлением, то идите в эту тему!
 
Последнее редактирование:

Diego1987

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

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Разуммеется, это в том случае, если он не ушел на несуществующий вейпоинт. Но с таким я не сталкивался.
Это произойдёт, если ГГ спросит у Игараца: "Выяснил что-нибудь новое?":
Код:
func void DIA_Igaraz_Pruefung_Info()
{
    AI_Output(other,self,"DIA_Igaraz_Pruefung_15_00");    //Выяснил что-нибудь новое?
    AI_Output(self,other,"DIA_Igaraz_Pruefung_13_01");    //Пока нет, но я продолжаю поиски.
    AI_StopProcessInfos(self);
    if(Igaraz_Wait == FALSE)
    {
        AI_StopProcessInfos(self);
        Npc_ExchangeRoutine(self,"CONTESTWAIT");
        Igaraz_Wait = TRUE;
    };
};
Т.к. в функции Rtn_ContestWait_601 прописан несуществующий waypoint:
Код:
func void Rtn_CONTESTWAIT_601()
{
    TA_Stand_ArmsCrossed(8,0,23,4,"NW_TAVERNE_TROLLAREA_66");
    TA_Stand_ArmsCrossed(23,4,8,0,"NW_TAVERNE_TROLLAREA_66");
};
то Игарац вместо ожидания ГГ около лагеря Драгомира (NW_TAVERNE_TROLLAREA_06) исчезнет из мира игры. Хотя у меня есть предположение, что PB хотели отправить Игараца на NW_TROLLAREA_PATH_66 (рядом стоит статуя Инноса, и не слишком далеко от этой точки живёт магический голем).
 
Последнее редактирование:

AlBundyRus

Участник форума
Регистрация
29 Янв 2014
Сообщения
10
Благодарности
0
Баллы
155
Поговорил с Эстебаном в лагере бандитов, попытался его обокрасть - тот меня убил. Загрузился, теперь не могу с ним поговорить, опция в диалоге исчезла, только кража осталась. Соответственно не могу пройти дальше. Что можно сделать?
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
Поговорил с Эстебаном в лагере бандитов, попытался его обокрасть - тот меня убил. Загрузился, теперь не могу с ним поговорить, опция в диалоге исчезла, только кража осталась. Соответственно не могу пройти дальше. Что можно сделать?
Не должно такого быть. А на том сейве, что загружал ты уже поговорил с Сеньяном, ведь именно он ГГ к Эстебану отправляет? Сборка игры какая? Лицензия? Неофициальный патч от Димуса установлен, если да, то какая версия?
 

AlBundyRus

Участник форума
Регистрация
29 Янв 2014
Сообщения
10
Благодарности
0
Баллы
155
https://worldofplayers.ru/members/8224/
Не должно такого быть. А на том сейве, что загружал ты уже поговорил с Сеньяном, ведь именно он ГГ к Эстебану отправляет? Сборка игры какая? Лицензия? Неофициальный патч от Димуса установлен, если да, то какая версия?
2.6 (fix-SP 1.1), стоит патч от Димуса (от 24.12.2014). С Сеньяном поговорил. Сохранялся сразу перед Эстебаном - при первом подходе диалог был, после загрузки нету.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
2.6 (fix-SP 1.1), стоит патч от Димуса (от 24.12.2014). С Сеньяном поговорил. Сохранялся сразу перед Эстебаном - при первом подходе диалог был, после загрузки нету.
Тогда жди Димуса, он скриптолог знатный, плюс свои патчи знает, может в нем дело, особенно если версия не последняя.
---
Могу посоветовать переиграть этот момент с еще более раннего сейва.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Сэйв перед попыткой карманной кражи у Эстебана - в студию.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
@AlBundyRus:
Оказалось, что причиной затыка является сбой, в результате которого у Эстебана до первого разговора с ГГ установилась переменная, указывающая на то, что ГГ уже поговорил с этим персонажем:
aivar[AIV_TalkedToPlayer] = TRUE;
Поэтому тебе придётся включить тестовый режим, взять в фокус Эстебана, ввести команду edit focus, выбрать aivar и изменить значение этой переменной на FALSE: 5 = 0, закрыть окно редактора и выключить тестовый режим. После этого нормально отработает первый диалог ГГ с Эстебаном.

P.S.:
Из-за отсутствия знания основ алхимии ты не сможешь приготовить для Фортуно косяк "Зелёный послушник" и напиток изменения сознания. Также тебе придётся изучить способ извлечения секрета из жала кровавой мухи.
 
Последнее редактирование:

Charon

Участник форума
Регистрация
25 Апр 2014
Сообщения
8
Благодарности
1
Баллы
150
Глава 1-я, при каждом обращении к Босперу, с попыткой что-нибудь купить, у него обновляются стрелы.
Тобишь купил я у него 50 стрел, вышел из диалога, опять обратился, и у него появились еще 50 стрел.
Вопрос собственно такой - баг ли это, и если баг, может ли он породить еще баги?
P.S В гильдии не состою, из итемов: рапира за 2к (у троллей), охотничий лук. Из модификаций, если можно так назвать, установлен только Систем Пак и русификация. Версия Steam
P.S.S Заметил, что у Джоры из предметов продажи пропал Композитный лук (700). (Хотя раньше был)
Я что-то читал раньше про обновление предметов у торговцев, но думал что оно только по главам.
 
Последнее редактирование:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
@Xire:
Бесконечная генерация стрел и болтов у Боспера - это не баг, а фича, прописанная в скрипте Story\Dialoge\DIA_VLK_413_Bosper.d:
Код:
func int DIA_Bosper_Trade_Condition()
{
    if(MIS_Bosper_WolfFurs != LOG_Running)
    {
        DIA_Bosper_Trade.trade = TRUE;
    };
    return TRUE;
};
 
func void DIA_Bosper_Trade_Info()
{
    var int McBolzenAmount;
    var int McArrowAmount;
    AI_Output(other,self,"DIA_Bosper_Trade_15_00");    //Покажи мне свои товары.
    if(DIA_Bosper_Trade.trade == TRUE)
    {
        B_GiveTradeInv(self);
        Npc_RemoveInvItems(self,ItRw_Bolt,Npc_HasItems(self,ItRw_Bolt));
        McBolzenAmount = Kapitel * 50;
        CreateInvItems(self,ItRw_Bolt,McBolzenAmount);
        Npc_RemoveInvItems(self,ItRw_Arrow,Npc_HasItems(self,ItRw_Arrow));
        McArrowAmount = Kapitel * 50;
        CreateInvItems(self,ItRw_Arrow,McArrowAmount);
    }
    else
    {
        AI_Output(self,other,"DIA_Bosper_Trade_11_01");    //Ты здесь не для того, чтобы разглядывать мои товары, ты должен принести мне шкуры!
        AI_Output(self,other,"DIA_Bosper_Trade_11_02");    //Так что берись за дело!
    };
};
А разве ты не знаешь, что торговцы могут экипироваться продаваемым оружием? Т.к. у Джоры задана ловкость 100, то он не сможет использовать буковый лук (110/110), зато легко наденет композитный (65/60).
 

Diego1987

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

Charon

Участник форума
Регистрация
25 Апр 2014
Сообщения
8
Благодарности
1
Баллы
150
@Xire:
Бесконечная генерация стрел и болтов у Боспера - это не баг, а фича, прописанная в скрипте Story\Dialoge\DIA_VLK_413_Bosper.d:
Код:
func int DIA_Bosper_Trade_Condition()
{
    if(MIS_Bosper_WolfFurs != LOG_Running)
    {
        DIA_Bosper_Trade.trade = TRUE;
    };
    return TRUE;
};

func void DIA_Bosper_Trade_Info()
{
    var int McBolzenAmount;
    var int McArrowAmount;
    AI_Output(other,self,"DIA_Bosper_Trade_15_00");    //Покажи мне свои товары.
    if(DIA_Bosper_Trade.trade == TRUE)
    {
        B_GiveTradeInv(self);
        Npc_RemoveInvItems(self,ItRw_Bolt,Npc_HasItems(self,ItRw_Bolt));
        McBolzenAmount = Kapitel * 50;
        CreateInvItems(self,ItRw_Bolt,McBolzenAmount);
        Npc_RemoveInvItems(self,ItRw_Arrow,Npc_HasItems(self,ItRw_Arrow));
        McArrowAmount = Kapitel * 50;
        CreateInvItems(self,ItRw_Arrow,McArrowAmount);
    }
    else
    {
        AI_Output(self,other,"DIA_Bosper_Trade_11_01");    //Ты здесь не для того, чтобы разглядывать мои товары, ты должен принести мне шкуры!
        AI_Output(self,other,"DIA_Bosper_Trade_11_02");    //Так что берись за дело!
    };
};
А разве ты не знаешь, что торговцы могут экипироваться продаваемым оружием? Т.к. у Джоры задана ловкость 100, то он не сможет использовать буковый лук (110/110), зато легко наденет композитный (65/60).
Прежде всего спасибо за развернутый ответ.
На счет того, что продавцы одевают предметы я знаю. Вот только вопрос будет не по топику, но раз уж есть возможность - задам. Есть ли какой то порядок генерации одевания оружия продавцами? Тобишь, в начале игры Джора не надевал на себя этот лук, я частенько обращался к нему что-бы сбыть лут. Допустим, может ли он одеть свой лук после 10 обращений к нему, или же этот порядок полностью рандомен?
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Никакого рэндома не должно быть, т.к. список товаров у торговца создаётся 1 раз в каждой главе после срабатывания диалога торговли. Если после этого выйти за пределы видимости этого персонажа, то при возвращении к нему торгаш экипируется наилучшим оружием, какое позволят его атрибуты. Поэтому я стараюсь купить у Мартина шпагу мастера (120/60,1H+10) при первом разговоре, иначе он экипируется ей и придётся продавать ему топор палача (125/125).
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
По поводу стрел и болтов у торговца. Не вижу в этом дыры в балансе. ГГ, отыгрывающий стрелка, должен иметь столько боеприпасов, сколько ему нужно. Он же не на халяву их получает, а покупает. Другое дело, что глуповато выглядит ситуация: скупил у торговца все стрелы, вышел из диалога, снова заговорил с ним, а у него опять полный набор.

Предлагаю несколько изменить схему пополнения боеприпасов, чтобы это происходило раз в день. Это несложно сделать.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Хорошая идея нуждается в реализации и поэтому это ограничение будет включено в следующую сборку обновления для G2a. Вот соответствующие фрагменты скриптов:
Story\Story_Globals.d:
Код:
var int Bennet_Ammo_Day;
var int Bosper_Ammo_Day;
var int Diego_DI_Ammo_Day;
var int Garett_Ammo_Day;
AI\Human\B_Human\B_CreateAmmo.d:
Код:
func void B_RefreshAmmo(var C_Npc slf,var int Amount)
{
    var int McBolzenAmount;
    var int McArrowAmount;
    Npc_RemoveInvItems(slf,ItRw_Bolt,Npc_HasItems(slf,ItRw_Bolt));
    McBolzenAmount = Kapitel * Amount;
    CreateInvItems(slf,ItRw_Bolt,McBolzenAmount);
    Npc_RemoveInvItems(slf,ItRw_Arrow,Npc_HasItems(slf,ItRw_Arrow));
    McArrowAmount = Kapitel * Amount;
    CreateInvItems(slf,ItRw_Arrow,McArrowAmount);
};
Story\Dialoge\DIA_VLK_413_Bosper.d:
Код:
func void DIA_Bosper_Trade_Info()
{
    AI_Output(other,self,"DIA_Bosper_Trade_15_00");    //Покажи мне свои товары.
    if(DIA_Bosper_Trade.trade == TRUE)
    {
        B_GiveTradeInv(self);
        if(Bosper_Ammo_Day <= Wld_GetDay())
        {
            B_RefreshAmmo(self,50);
            Bosper_Ammo_Day = Wld_GetDay() + 1;
        };
    }
    else
    {
        AI_Output(self,other,"DIA_Bosper_Trade_11_01");    //Ты здесь не для того, чтобы разглядывать мои товары, ты должен принести мне шкуры!
        AI_Output(self,other,"DIA_Bosper_Trade_11_02");    //Так что берись за дело!
    };
};
Story\Dialoge\DIA_SLD_809_Bennet.d:
Код:
func void DIA_Bennet_TRADE_Info()
{
    if(Bennet_flag == TRUE)
    {
        B_ClearSmithInv(self);
        if(Bennet_swordraws > 0)
        {
            CreateInvItems(self,ItMiSwordraw,Bennet_swordraws);
        };
        Bennet_flag = FALSE;
    };
    AI_Output(other,self,"DIA_Bennet_TRADE_15_00");    //А как насчет кузнечного инструмента?
    B_GiveTradeInv(self);
    if(Bennet_Ammo_Day <= Wld_GetDay())
    {
        B_RefreshAmmo(self,50);
        Bennet_Ammo_Day = Wld_GetDay() + 1;
    };
    AI_Output(self,other,"DIA_Bennet_TRADE_06_01");    //Что тебе нужно?
    if(BennetLOG == FALSE)
    {
        Log_CreateTopic(Topic_SoldierTrader,LOG_NOTE);
        B_LogEntry(Topic_SoldierTrader,"Беннет продает кузнечное снаряжение.");
        BennetLOG = TRUE;
    };
};
Story\Dialoge\DIA_PC_Thief_DI.d:
Код:
func void DIA_Diego_DI_TRADE_Info()
{
    AI_Output(other,self,"DIA_Diego_DI_TRADE_15_00");    //Мне нужна амуниция.
    B_GiveTradeInv(self);
    if(Diego_DI_Ammo_Day <= Wld_GetDay())
    {
        B_RefreshAmmo(self,50);
        Diego_DI_Ammo_Day = Wld_GetDay() + 1;
    };
    AI_Output(self,other,"DIA_Diego_DI_TRADE_11_01");    //Возможно, я смогу помочь тебе.
};
Story\Dialoge\PIR_1357_Addon_Garett.d:
Код:
func void DIA_Addon_Garett_Trade_Info()
{
    var int Garett_Random;
    Garett_Random = Hlp_Random(3);
    if(Garett_Random == 0)
    {
        B_Say(other,self,"$TRADE_1");
    }
    else if(Garett_Random == 1)
    {
        B_Say(other,self,"$TRADE_2");
    }
    else
    {
        B_Say(other,self,"$TRADE_3");
    };
    B_GiveTradeInv(self);
    if(Garett_Ammo_Day <= Wld_GetDay())
    {
        B_RefreshAmmo(self,25);
        Garett_Ammo_Day = Wld_GetDay() + 1;
    };
};
 
Последнее редактирование:

Udar

Участник форума
Регистрация
16 Авг 2014
Сообщения
18
Благодарности
36
Баллы
175
На счет ограничения стрел в день. Если я отыгрываю стрелка и, допустим, покупаю всегда стрелы у Боспера, мне 50 стрел в день в первой главе будет крайне маловато. Что мне теперь, тратить время и бегать по всему Хоринису, а то за пределами и скупать стрелы у всех торгашей? Это не игра, а беготня получается. Сделайте тогда сразу у всех торговцев стрел по 300-400 по умолчанию с 1-ой главы. А то, тратить время на беготню, из-за того что кому-то не нравится генерация несчастных стрел, мне кажется, не разумным.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
@Udar:
По 50 стрел и болтов в день от Боспера и Беннета вполне достаточно для хорошего стрелка. Разумеется, если не пытаться зачистить всю локацию ещё в 1-й главе. А если не умеешь метко стрелять - бегай по торговцам.

P.S.: ликвидировал бесконечную генерацию стрел и болтов у Беннета, Гаретта и Диего на Ирдорате.
 
Последнее редактирование:

Boockman

Участник форума
Регистрация
28 Апр 2015
Сообщения
1.587
Благодарности
489
Баллы
300
P.S.S Заметил, что у Джоры из предметов продажи пропал Композитный лук (700). (Хотя раньше был)

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

. Если я отыгрываю стрелка и, допустим, покупаю всегда стрелы у Боспера, мне 50 стрел в день в первой главе будет крайне маловато. .

А ты попродавай всем торговцам луки и каждый день у них будет по полсотни стрел. В одном Хоринисе это с десяток торговцев где-то. А если стрел мало - ну, отоспись сутки, и скупи по новой)
 

Boockman

Участник форума
Регистрация
28 Апр 2015
Сообщения
1.587
Благодарности
489
Баллы
300
Другое дело, что глуповато выглядит ситуация: скупил у торговца все стрелы, вышел из диалога, снова заговорил с ним, а у него опять полный набор.

И в чем проблема? Торговец пошел в подсобку и выложил на прилавок новый колчан стрел, только и всего)

По 50 стрел и болтов в день от Боспера и Беннета вполне достаточно для хорошего стрелка. Разумеется, если не пытаться зачистить всю локацию ещё в 1-й главе

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


А вообще можно много, как поизвращаться над игроком. Например, ограничить носимое им количество стрел. А заодно и вообще грузоподъемность. И количество носимых денег. И количество еды, которую герой может слопать в один присест. Короче, сделать все, чтобы игрок задолбался, сказал "да ну нафиг этих извращенцев-мододелов" и ушел играть в оригинальную версию игры, бгг)))


Не баг. Это скорее дырка в балансе игры.

Простите, а в чем именно дырка в балансе? Стрелы у Боспера не бесплатные, количество денег у ГГ не бесконечно. Какая разница для баланса - купит ГГ у Боспера три сотни стрел за минуту или ему придется в промежутках бегать до гостинницы и отсыпаться каждый раз сутки?
 
Последнее редактирование:
Сверху Снизу