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

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

Готика 2: НВ Технические вопросы.

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
  • Первое сообщение
  • #1
Gothic ½ — Technical FAQ
TechFAQ-00.png

Эта тема предназначена для вопросов, обсуждения и решения технических проблем с играми: "Готика 1", "Готика 2: Классическая", "Готика 2: Ночь Ворона". Так как эти игры созданы на одном движке - ZenGin, то большинство известных проблем для них может иметь общие решения.

Для перехода к прочтению полного FAQ нажать здесь, на картинку выше, или кнопку "Обзор" в левом верхнем углу.

При составлении FAQ использовались ответы: Killer-m, Dimus, Shifroval, Мухомор и ... ? *secret*
 
Последнее редактирование модератором:

Venzern

Участник форума
Регистрация
24 Фев 2008
Сообщения
692
Благодарности
211
Баллы
220
Так-с. Созрел вопрос:
Что нужно для нормально игры под английской локализацией в стиме?
Там же не нужно ставить "Gothic 2 Fix v.2.6.0.0 (rev2)" или нужно?
По ТЗ: хочется играть в чистую "причесанную" игру + Юнион. Все.

Просто никогда не ставил "Готику 2" из стима и не совсем понимаю какие подводные камни есть тут (тем более с другой локалкой)

З.Ы. Если кому то в будущем нужны будут ответы на большинство таких вопросов

Правда пока остается вопрос, как оно на английскую локалку в станет *lupa*
 
Последнее редактирование:

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.928
Благодарности
558
Баллы
275
Правда пока остается вопрос, как оно на английскую локалку в станет *lupa*
Без проблем.
- Ставишь англ. версию из Steam;
- Ставишь UnionPatch и Union 1.0k (либо иной актуальной версии);
- Играешь.
 

Venzern

Участник форума
Регистрация
24 Фев 2008
Сообщения
692
Благодарности
211
Баллы
220
KirTheSeeker, дык а фикс екзешника и стартер? Это я потом уже нашел стим фикс)
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.131
Благодарности
5.627
Баллы
910

AstorDark

Участник форума
Регистрация
6 Ноя 2021
Сообщения
128
Благодарности
21
Баллы
65
Изменения таковы:
КонстантаЗначение, оригиналЗначение, обновление
const int Range_VLKDolch5040
const int Range_BauAxe5040
const int Range_Belegnagel7065
const int Range_Windknecht6580
const int Range_PIR2hAxe8095
const int Range_PIR1hAxe6070
const int Range_Richtstab110115
const int Range_Stab02110130
const int Range_Stab04130140
const int Range_Stab05130120
const int Range_Special_2H_1100108
const int Range_Machete7570
const int Range_Zweihaender2100108
const int Range_Hacker105110
const int Range_AltHacker95110
const int Range_Streitaxt210095
const int Range_Folteraxt8090
Здравствуйте! Подскажите что за оружие с ренжой в 140 в обновлении?
 

Xenobbyte

Участник форума
Регистрация
10 Фев 2021
Сообщения
6
Благодарности
3
Баллы
40
Лично я уже понятия не имею, что с этим делать кроме как перепроходить игру по-новой, по этому напишу сюда.
Win 7 x64, Nvidia GeForce 710.
G2A steam версии с неофициальным обновлением версии 27, т.е. syspack 2.0, union 1.0l.
Оперативка расширена до 4 гб при установке стим фикса.
Дополнительные плагины юниона: zParserExtender, Union_QuickLoot, Union_SavesBackuper, zBrightLight, zCleanupCamSpace, zMarkItems.
2 глава, маг Огня.
В Миненталь не ходил вообще, только что зачистил Яркендар, сейв прямо возле портала.
Вообще никак не могу попасть в Хоринис. Вообще. Игра гарантированно вылетает.
Удаление файла Хориниса из сохранения помогло, но вызвало новые баги. Отправившись к Андрэ сообщить про людей, не смог выйти из диалога по причине отсутствия кнопки.
После того как первый раз вылетел, посмотрел какие-то советы, пробежался по всему Ярику под зельем ускорения, не используя порталы, и вернулся назад.
Пытался что-то понять из дампа, ничерта не понял.
Кроме приложенного в архиве, других дамп-файлов не обнаружил, либо слепой.
Дебаг-окно из systempack.ini не показывает чего-либо, что могло подсказать на проблему.
Уничтожена гильдия Воров целиком, плюс Ханна.
Уничтожены все лагеря бандитов кроме ближайшего к городу. (где еще полковник орков у паладинов позже)
Выполнены условия для перехода во 2 главу, собственно 2 глава и происходит.
Найдены все орнаменты, на орнамент Восточного леса ходил без Лар(е)са.
Поступил к Босперу, ферму Онара вообще не трогал кроме Декстера и ко.
Выполнены квесты послушника, три кандидата убиты горем.
Телепорты открыты, черного тролля не трогал.
Ничего более важного вспомнить не могу.
ini-файлы, .dmp файл, файл Хориниса отдельно и сохранение в целом.
Спасибо за внимание, ушел делать новое прохождение за найма.
Я в курсе что в сейве у персонажа изменены атрибуты марвином, я был в отчаянии.
На решение проблемы из-за марвина не надеюсь, и нет, сейвы я делал с отключенным марвином.
 

Вложения

  • archive.rar
    4,4 MB · Просмотры: 4
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.191
Благодарности
3.376
Баллы
485
Вообще никак не могу попасть в Хоринис. Вообще. Игра гарантированно вылетает.
Вылетает без какой-либо ошибки? Попробуй включить полное удаление NPC в настройках у помощника по сюжету (insert sh).
У меня всё в порядке, вот сохранение после перехода:
 

Вложения

  • savegame11.zip
    2,3 MB · Просмотры: 2

Xenobbyte

Участник форума
Регистрация
10 Фев 2021
Сообщения
6
Благодарности
3
Баллы
40
Вылетает без какой-либо ошибки? Попробуй включить полное удаление NPC в настройках у помощника по сюжету (insert sh).
У меня всё в порядке, вот сохранение после перехода:
Единственное что возникает - стандартное окно краша винды, воспроизведу и сниму содержание.
UPD.
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: GothicMod.exe
Версия приложения: 2.6.0.0
Отметка времени приложения: 3f966d87
Имя модуля с ошибкой: KERNELBASE.dll
Версия модуля с ошибкой: 6.1.7601.24384
Отметка времени модуля с ошибкой: 5c6e2226
Код исключения: e06d7363
Смещение исключения: 0000c5af
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 3721
Дополнительные сведения 2: 3721edbc2f75a825fb33f69d8b343bea
Дополнительные сведения 3: e404
Дополнительные сведения 4: e4041c42caee38e5b742e78ee6338c0d
Теперь проверю что будет после удаления NPC.
UPD.2
Полное удаление позволило самостоятельно пройти портал и сделать сохранение на той стороне. Вопрос в том, а что же в итоге случилось? Единственное предположение - Миксир неправильно "переместился" из Яркендара в Хоринис. А из этого возникает следующий вопрос - если да, то что ему помешало?
 
Последнее редактирование:

Xenobbyte

Участник форума
Регистрация
10 Фев 2021
Сообщения
6
Благодарности
3
Баллы
40
Xenobbyte, А сохранение от D36 у Вас работает?
Честно, скачал сохранение но не проверил в итоге, т.к. по его же совету смог переместится в Хоринис. Проверю и отпишусь, но скорее всего, там тоже все хорошо будет.
UPD.
Все стабильно работает, загрузка проходит идеально.
D36, :3
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.083
Благодарности
1.901
Баллы
320
AI_Teleport вызывает краш. Эта функция может уничтожить NPC. В ней также есть ненужная проверка на валидность объекта self. В сохранении Xenobbyte второй телепорт уничтожал Скипа, оставляя self невалидным. Таким образом, телепорт Грега уже гарантированно вызывал краш.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
AI_Teleport вызывает краш.
Телепорт, вроде бы, можно использовать только для неписей, находящихся в зоне действия ИИ. Если не путаю. В некоторых случаях заведомо известно, что непись находится за пределами зоны действия ИИ. В других случаях, видимо, следует проверять непися перед телепортацией. В Г1 для проверки нахождения непися вне зоны действия ИИ подходит условие типа
Daedalus:
if(Npc_GetDistToWP(Master,Master.wp) > 1000000)
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.131
Благодарности
5.627
Баллы
910
AI_Teleport вызывает краш
Я в польских переводах добавил установку айвара, чтоб двигло удаляло тело, чтоб тп трупа не было ну и захламление трупницы тоже нет.
Daedalus:
func void B_RemoveNpc (var int npcInstance)
{
    var C_NPC npc;   
    npc = Hlp_GetNpc(npcInstance);

    if     (Hlp_IsValidNpc (npc))
        && (!Npc_IsDead (npc))
        {   
            npc.flags = 0;
            npc.aivar[AIV_DeathInvGiven] = TRUE;
            AI_Teleport          (npc,"TOT");    //Joly: Fuers removen innerhalb der 40 Meter Glocke!
            B_StartOtherRoutine    (npc,"TOT");
            Npc_ChangeAttribute    (npc, ATR_HITPOINTS, -npc.attribute[ATR_HITPOINTS_MAX]);
            AI_Teleport          (npc,"TOT");    //Joly: Fuers removen innerhalb der 40 Meter Glocke!
        };
};
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.083
Благодарности
1.901
Баллы
320
Телепорт, вроде бы, можно использовать только для неписей, находящихся в зоне действия ИИ.
Для заспавненных неписей команда телепорта помещается в очередь ИИ. Для остальных - отрабатывает мгновенно.
После выполнения телепорта принудительно отрабатывает спавнер, который способен уничтожать НПС. Причём не только телепортируемого.
И после того как отработал спавнер возвращается оригинальное (до телепорта) значение переменной self. А оно уже может быть не валидно.

Т.е. при использовании AI_Teleport надо учитывать 2 момента:
1. Необходима гарантия, что не будет удалён self (добавить квестовый предмет и удалить его после вызова?)
2. После вызова часть NPC может быть удалена и тогда скриптовые переменные типа C_NPC, указывающие на них, будут обнулены.
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.191
Благодарности
3.376
Баллы
485
Интереснее другое: почему у одних этот вылет происходит всегда, а у других с теми же скриптами и сохраненками - никогда.
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.083
Благодарности
1.901
Баллы
320
Интереснее другое: почему у одних этот вылет происходит всегда, а у других с теми же скриптами и сохраненками - никогда.
Не знаю. Можешь попробовать вставить вывод self.name до и после удаления Скипа из Хориниса.

Формально, обращение по несуществующему адресу не гарантирует вылет. Имеет место так называемое неопределённое поведение, когда происходить может всё что угодно.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
За неопределенным поведением может следовать побочка, если кривой код затронет рабочую память. Тогда креш может быть отложен во времени, либо не произойти вовсе.
 
Сверху Снизу