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

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

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

Diego1987

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

Defman

Участник форума
Регистрация
26 Май 2013
Сообщения
3.165
Благодарности
245
Баллы
300

Ganmaker

Участник форума
Регистрация
8 Окт 2012
Сообщения
104
Благодарности
12
Баллы
170
У вас что,сборка "Gothic 2 Bug Edition"?*lol*
Да вроде нет:D, приходиться извращаться из-за отсутствия эффективных заклинаний и приличного дефицита маны :mad:, а стрелы/болты действительно могут попадать в цели справа, слева или сзади при зажатом Ctrl - автоматическое наведение и сопровождение цели, следующий раз буду проходить лучником, однозначно.
Никакой жалости к оркам,они и сами не прочь избить тебя.До смерти.
Да из-за своей тупости они гибнут часто - опыт теряется, парочка даже умудрилась утонуть ...
 

mad_zebra

Участник форума
Регистрация
27 Июн 2012
Сообщения
35
Благодарности
5
Баллы
155
Не знаю, баян или нет, но вот на ютубе нашел один интересный баг:
http://www.youtube.com/watch?feature=player_detailpage&v=xltRaYqh7oQ&t=480
Суть: ГГ съедает кусок черной руды и превращается в какое-нибудь животное. После того, как эффект от руды кончится, ГГ приобретает поистине огромную скорость, как в облике животного, так и в своем собственном.:)Но у меня почему-то не всегда это срабатывает, иногда супер-скорость длится очень недолго. Может кто знает, с чем это связано?
Кстати, я попробовал сделать подобное с косяком травы. То есть, выкурить косяк, превратиться с помощью свитка и дождаться окончания действия травы... Но получилось так, что действие это не окончилось, ГГ так и ходил в замедлении.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
Это не баян, а известный баг: происходит сбой эффекта SLOW_MOTION при использовании заклинаний превращения и вызова. Исправлен в MiniMod Balance и неофициальном обновлении для G2a_NR_Scriptpatch:
- Даваемый чёрной рудой эффект замедления времени деактивируется перед заклинанием вызова или превращения.
Спасибо вам за информацию о том, что также сбоит эффект SLOW_TIME, даваемый болотной травой и косяками из неё, в т.ч. и "Зелёным послушником". Можете проверить такую последовательность действий: сначала ГГ выкуривает косяк, а затем вызывает какое-нибудь существо?

P.S.: проверил последовательность действий накурка - вызов и накурка - превращение на скриптпатче от Efectivo и неофициальном обновлении (сборка от 30.07.2012 и последняя тестовая от 18.08.2013). Всё работает как надо - действие эффекта замедления заканчивается вовремя и без глюков.
 

Ganmaker

Участник форума
Регистрация
8 Окт 2012
Сообщения
104
Благодарности
12
Баллы
170
Во 2-й главе, превратился в падальщика, маны было 89, забрался на таран, превратился назад, маны стало 109 ед. Возможно баг из-за артефактов, к-е ману прибавляют, есть посох, кольца, амулет, точно не выяснил :confused: .
 

mad_zebra

Участник форума
Регистрация
27 Июн 2012
Сообщения
35
Благодарности
5
Баллы
155
Dimus
Можете проверить такую последовательность действий: сначала ГГ выкуривает косяк, а затем вызывает какое-нибудь существо?
К сожалению, не заметил никаких эффектов. Замедление длится столько, сколько ему положено. Проверял в обычной Г2 и в "Возвращении".
 

Ganmaker

Участник форума
Регистрация
8 Окт 2012
Сообщения
104
Благодарности
12
Баллы
170
Молился Инносу, пропали все наличные) порядка 10000 золотых

Это не предусмотрено скриптами игры, поэтому вот вам вопросы от Dimus:
1. Благословлением паладинских мечей не занимался? За каждый благословлённый меч Иннос берёт по 5000 золота.
2. Случайно выбросить всё золото из инвентаря (Alt) не мог?
3. Неписи не отбирали у побитого ГГ всё золото?
 

Diego1987

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

PalladinGOLD

Участник форума
Регистрация
17 Мар 2010
Сообщения
33
Благодарности
0
Баллы
150
После выполнения услуги кантару и разговора с Андре, квест исчезает, а Кантар просит 500 голды. Выполнил квест в рамках 2 дней готики.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.134
Благодарности
7.554
Баллы
1.950
После выполнения услуги кантару и разговора с Андре, квест исчезает, а Кантар просит 500 голды. Выполнил квест в рамках 2 дней готики.
Квест за Кантара выполняется так:

-Принимаешь его предложение
-Попадаешь в город любым способом
-Находишь Кантара на рыночной площади и обещаешь ему подставить Сару
-В этот же день подбрасываешь ей записку и сдаешь ее Андре
-Отчитываешься Кантару
Если все делать именно так, то никаких вымогательств со стороны Кантара не будет.
 

Ganmaker

Участник форума
Регистрация
8 Окт 2012
Сообщения
104
Благодарности
12
Баллы
170
Это не предусмотрено скриптами игры, поэтому вот вам вопросы от Dimus:
1. Благословлением паладинских мечей не занимался? За каждый благословлённый меч Иннос берёт по 5000 золота.
2. Случайно выбросить всё золото из инвентаря (Alt) не мог?
3. Неписи не отбирали у побитого ГГ всё золото?

Это было раз, при загрузке сейва не повторилось. Сохранился перед молитвой, чтоб получить нужную прибавку. Молился статуе Инноса, к-я находиться у скалы на ферме Онара за полями, там ещё ущелье, в к-м крестьяне будут прятаться. Обнаружил почти сразу, когда пытался купить свитки у магов воды, появилась фраза "недостаточно золота". Ни с кем по пути не говорил, не торговал, ничего не освещал, никто меня не отметелил, играю магом.

P.S. Мне, Магу Огня, Кантар придложил подставить Сару аж в 3 главе, когда я липовые акции рудников искал, ну я его вежливо послал и никаких денег не платил. Общался с ним в 1 главе, он ничего не предлагал.
 

unknown111

Участник форума
Регистрация
5 Фев 2013
Сообщения
1.075
Благодарности
1.586
Баллы
290
Это было раз, при загрузке сейва не повторилось. Сохранился перед молитвой, чтоб получить нужную прибавку. Молился статуе Инноса, к-я находиться у скалы на ферме Онара за полями, там ещё ущелье, в к-м крестьяне будут прятаться. Обнаружил почти сразу, когда пытался купить свитки у магов воды, появилась фраза "недостаточно золота". Ни с кем по пути не говорил, не торговал, ничего не освещал, никто меня не отметелил, играю магом.

в какой главе золото пропало? если в 1-2 около башни бандитов в горах, то все просто...
это плата за использование заклинаний массового поражения при уничтожении шайки Декстера.
ее "под шумок" забирает Грег, якобы обыскивая бандита, а на самом деле к тебе в карман заглянул...
пару раз сталкивался с подобным, со второго вывел его на чистую воду, а он мне как обычно "Золото - это не самое важное на свете, друг мой"
 

Dimus

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

P.S.: Помню, что в релизе Gothic II (v1.28) был странный баг с золотом: в инвентаре ГГ есть деньги, а когда в диалоге с NPC нужно отдать ему определённую сумму, то собеседник заявляет, что у ГГ недостаточно золота. Помогало только выбрасывание и подбирание своей наличности перед разговором.
 

Валера

Забанен
Регистрация
27 Сен 2008
Сообщения
2.404
Благодарности
300
Баллы
270
Dimus, да баг это, стопудовый. Во-первых, о таком никто не упоминал ни в "Изменениях", ни в "Обсуждениях", а во-вторых, и в главных после перестановки игры ни разу такого безобразия не случалось. Я написал это только потому, что и у вопрошающего, видимо, такой же банальный сбой.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Скорее всего истории с неожиданно пропавшим золотом - результат случайных сбоев.

Это кривой алгоритм обыскивания тела. Нужно навесить доп. условие, чтобы изымание денег происходило, только если непись всё ещё находится в состоянии отключки. В противном случае, может быть изъято золото у уже вставшего непися или вообще у другого непися (в данном случае ГГ), если идентификатор "other" был переназначен на него.

P.S.: Помню, что в релизе Gothic II (v1.28) был странный баг с золотом: в инвентаре ГГ есть деньги, а когда в диалоге с NPC нужно отдать ему определённую сумму, то собеседник заявляет, что у ГГ недостаточно золота. Помогало только выбрасывание и подбирание своей наличности перед разговором.

Это как-то связано с обновлением ссылок на предметы, которое движок выполняет с задержкой.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915
@ ElderGamer:
Т.е. для исключения этой ситуации надо изменить пару функций в скрипте AI\Human\ZS_Human\ZS_RansackBody.d?
func void ZS_RansackBody()
{
Perception_Set_Normal();
AI_Standup(self);
AI_GotoNpc(self,other);
};

func int ZS_RansackBody_Loop()
{
return LOOP_END;
};

func void ZS_RansackBody_End()
{
var int x;
if(C_NpcIsDown(other))
{
AI_TurnToNpc(self,other);
AI_PlayAni(self,"T_PLUNDER");
if(Npc_HasItems(other,Holy_Hammer_MIS) && (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Garwig)))
{
CreateInvItems(self,Holy_Hammer_MIS,1);
Npc_RemoveInvItems(other,Holy_Hammer_MIS,1);
};
if(Npc_HasItems(other,ItMw_2h_Rod) && (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Rod)))
{
CreateInvItems(self,ItMw_2h_Rod,1);
Npc_RemoveInvItems(other,ItMw_2h_Rod,1);
AI_EquipBestMeleeWeapon(self);
};
if(Npc_HasItems(other,ITKE_Greg_ADDON_MIS) && (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Francis)))
{
CreateInvItems(self,ITKE_Greg_ADDON_MIS,1);
Npc_RemoveInvItems(other,ITKE_Greg_ADDON_MIS,1);
};
if(Npc_HasItems(other,ItMi_Gold))
{
x = Npc_HasItems(other,ItMi_Gold);
CreateInvItems(self,ItMi_Gold,x);
Npc_RemoveInvItems(other,ItMi_Gold,x);
B_Say(self,other,"$ITOOKYOURGOLD");
}
else
{
B_Say(self,other,"$SHITNOGOLD");
};
};
Npc_PerceiveAll(self);
if(Wld_DetectItem(self,ITEM_KAT_NF))
{
if(Hlp_IsValidItem(item) && (Npc_GetDistToItem(self,item) < 500))
{
AI_TakeItem(self,item);
B_Say(self,self,"$ITAKEYOURWEAPON");
AI_EquipBestMeleeWeapon(self);
};
};
if(Wld_DetectItem(self,ITEM_KAT_FF))
{
if(Hlp_IsValidItem(item) && (Npc_GetDistToItem(self,item) < 500))
{
AI_TakeItem(self,item);
B_Say(self,self,"$ITAKEYOURWEAPON");
AI_EquipBestRangedWeapon(self);
};
};
if(self.attribute[ATR_HITPOINTS] < (self.attribute[ATR_HITPOINTS_MAX] / 2))
{
AI_StartState(self,ZS_HealSelf,0,"");
return;
};
};

func void ZS_GetMeat()
{
var int x;
Perception_Set_Minimal();
AI_Standup(self);
AI_GotoNpc(self,other);
if(C_NpcIsDown(other))
{
AI_TurnToNPC(self,other);
AI_PlayAni(self,"T_PLUNDER");
x = Npc_HasItems(other,ItFoMuttonRaw);
CreateInvItems(self,ItFoMuttonRaw,x);
Npc_RemoveInvItems(other,ItFoMuttonRaw,x);
};
if(self.attribute[ATR_HITPOINTS] < (self.attribute[ATR_HITPOINTS_MAX] / 2))
{
AI_StartState(self,ZS_HealSelf,0,"");
return;
};
};

P.S.: Спасибо за уточнение насчёт подбора выпавшего оружия - исправил функцию с учётом этого момента.
 

ElderGamer


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

Упс! Посмотрел скрипт со свежей головой. Там всё правильно: и золото не отнимут у вставшего непися, и оружие подберут. :)
 

unknown111

Участник форума
Регистрация
5 Фев 2013
Сообщения
1.075
Благодарности
1.586
Баллы
290

ElderGamer, Dimus,
насколько я понимаю вы являетесь хорошими скриптерами, так вот есть небольшой вопросик...
просто мои навыки в скриптах это Ctrl+C & Ctrl+V

если достать оружие во время нагрева стали в кузнечном горне, то раскаленная сталь умножается на 2...
можно это как-то исправить скриптом?
и еще если, при потреблении зелий, по ГГ нанесут удар, то используемый напиток остается а стат прибавляется...
 

Dimus

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

ElderGamer


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

Гм... подобный баг свойственен и другим кузнечным приспособлениям, только в Г2 это не так заметно из-за изменённой системы кузнечного дела. В Г1, вроде как, работает такой способ борьбы с этим багом. Нужно изменить сценарий анимации в файле HUMANS.MDS.

// Fireplace - useWithItem = BS_SWORD_RAW
ani ("t_BSFIRE_Stand_2_S0" 1 "s_BSFIRE_S0" 0.1 0.0 M. "Hum_BSFire_M01.asc" F 0 2)

ani ("s_BSFIRE_S0" 1 "s_BSFIRE_S0" 0.0 0.0 M. "Hum_BSFire_M01.asc" F 3 3)
ani ("t_BSFIRE_S0_2_Stand" 1 "" 0.0 0.1 M. "Hum_BSFire_M01.asc" R 0 2)

ani ("t_BSFIRE_S0_2_S1" 1 "s_BSFIRE_S1" 0.0 0.0 M. "Hum_BSFire_M01.asc" F 4 37)
{
*eventTag (4 "DEF_INSERT_ITEM" "ZS_LEFTHAND")
*eventTag (4 "DEF_CREATE_ITEM" "ZS_LEFTHAND" "ItMiSwordraw")
}

ani ("s_BSFIRE_S1" 1 "s_BSFIRE_S1" 0.0 0.0 M. "Hum_BSFire_M01.asc" F 38 99)
ani ("t_BSFIRE_S1_2_S0" 1 "s_BSFIRE_S0" 0.0 0.0 M. "Hum_BSFire_M01.asc" R 4 37)
{
*eventTag (37 "DEF_EXCHANGE_ITEM" "ZS_LEFTHAND" "ItMiSwordrawhot")
*eventTag (4 "DEF_REMOVE_ITEM")
}

Замена тега DEF_INSERT_ITEM тегом DEF_CREATE_ITEM на первый взгляд выглядит нелогично. Правильно-то как раз использовать тег DEF_INSERT_ITEM. Но движок, видимо, содержит ошибки, в следствие которых неправильное использование тега приводит к правильному результату. С движком от камрада Керракс такой номер уже не проходит.

В Г2 в фазу анимации нагрева перенесена замена простой стальной заготовки на раскалённую. Выглядит это, как её нагрев: сунул серую заготовку, через некоторое время она стала красной. Работает это правда не всегда. Думаю, этой фичей придётся пожертвовать, изменив сценарий по образцу и подобию Г1.

// Fireplace - useWithItem = BS_SWORD_RAW
ani ("t_BSFIRE_Stand_2_S0" 1 "s_BSFIRE_S0" 0.1 0.0 M. "Hum_BSFire_M01.asc" F 0 2)

ani ("s_BSFIRE_S0" 1 "s_BSFIRE_S0" 0.0 0.0 M. "Hum_BSFire_M01.asc" F 3 3)
ani ("t_BSFIRE_S0_2_Stand" 1 "" 0.0 0.1 M. "Hum_BSFire_M01.asc" R 0 2)

ani ("t_BSFIRE_S0_2_S1" 1 "s_BSFIRE_S1" 0.0 0.0 M. "Hum_BSFire_M01.asc" F 4 37)
{
*eventTag (4 "DEF_INSERT_ITEM" "ZS_LEFTHAND")
*eventTag (4 "DEF_CREATE_ITEM" "ZS_LEFTHAND" "ItMiSwordraw")
*eventTag (37 "DEF_EXCHANGE_ITEM" "ZS_LEFTHAND" "ItMiSwordrawhot")
}

ani ("s_BSFIRE_S1" 1 "s_BSFIRE_S1" 0.0 0.0 M. "Hum_BSFire_M01.asc" F 38 99)
ani ("t_BSFIRE_S1_2_S0" 1 "s_BSFIRE_S0" 0.0 0.0 M. "Hum_BSFire_M01.asc" R 4 37)
{
*eventTag (37 "DEF_EXCHANGE_ITEM" "ZS_LEFTHAND" "ItMiSwordrawhot")
*eventTag (4 "DEF_REMOVE_ITEM")
}

Работает ли это в Г2, я не проверял. Да и в Г1 требуется более длительный тестинг.

и еще если, при потреблении зелий, по ГГ нанесут удар, то используемый напиток остается а стат прибавляется...

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

// Potion aus "Tasche" holen
ani ("t_potionfast_Stand_2_S0" 3 "s_potionfast_S0" 0.1 0.0 M. "Hum_DrinkPotion_M02.ASC" F 1 5)
{
*eventTag (5 "DEF_INSERT_ITEM" "ZS_LEFTHAND")
}

// Potion halten
ani ("s_potionfast_S0" 3 "s_potionfast_S0" 0.0 0.0 M. "Hum_DrinkPotion_M02.asc" F 6 6)

// Potion trinken und wieder weg
ani ("t_potionfast_S0_2_Stand" 3 "" 0.0 0.1 M. "Hum_DrinkPotion_M02.asc" F 7 39)
{
*eventSFX (19 "DrinkBottle" R:1000 )
*eventTag (35 "DEF_DESTROY_ITEM")
}

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