Показать сообщение отдельно
Старый 13.03.2011, 12:26   #4229
Wandar

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Gothic 1, 2, 3: Технические вопросы

Вот ещё один баг нашёл, но не могу разобраться, из-за чего он проявляется. А именно - алхимик Саландрил не возвращается к себе после того, как его вытащили в монастырь для расследования. Исходя из скрипта, он должен вернуться к себе в начале следующей главы, но не возвращается, хоть ты тресни, так и стоит в монастыре. Понравилось, видать. :D
Для его возвращения в скрипте B_Enter_NewWorld.d, в каждой главе, после третьей, есть следующие строки:
Cпойлер(щелкните, чтобы прочесть):
if(Npc_GetDistToWP(Salandril,"ALTAR") < 10000)
* * * * * *{
* * * * * * * * *B_StartOtherRoutine(Salandril,"Start");
* * * * * *};

Этот код выполняется только один раз в начале каждой главы. Но почему-то Саландрил всё равно остаётся стоять в монастыре. С условием всё в порядке, т.к. такое же условие используется при сдаче квеста Серпентесу, а квест сдаётся нормально. Может тут какая-нибудь особенность движка, ведь каждый раз, когда начинается следующая глава, ГГ находится довольно далеко от монастыря, и поэтому неверно считается расстояние, или что-то в этом роде. В общем, предлагаю поменять условие на такое:
Cпойлер(щелкните, чтобы прочесть):
if(MIS_Serpentes_BringSalandril_SLD == LOG_SUCCESS)
* * * * * *{
* * * * * * * * *B_StartOtherRoutine(Salandril,"Start");
* * * * * *};

Только что потестил - вроде всё работает. При смене глав Саландрил гордо удалился обратно в свой магазин. Правда, польза от этого фикса - чисто эстетическая. Поторговать с ним после этого квеста не удастся в любом случае. :)

Добавление от 03/13/11, в 11:31:01
2Dimus:
- Джеспер и Кассия всегда атакуют ГГ с целью убить его.
Это тот самый баг, на который указывал Black Phantom? Так в чём там дело было-то? Интересно просто. :)

Добавление от 03/13/11, в 11:33:10
2Black Phantom:
Спасибо за сейв, попробую сегодня потестить. :)
Ответить с цитированием