Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Удачи!
Друзья, доброго времени суток!
Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря". Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных
Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
По желанию, аргументировать свой выбор можете в теме обсуждения голосования.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Попрошу Вас не оскорблять меня.
AI_ContinueRoutine - не продолжает анимацию, а её по новой запускает. (действия вызываемые командой из справки отличаются от написанного в справке)
Npc_ExchangeRoutine - продолжает анимацию.
Сейчас тебе специально сырую сборку соберу и вышлю.
AI_ContinueRoutine - не продолжает анимацию, а её по новой запускает. (действия вызываемые командой из справки отличаются от написанного в справке)
Npc_ExchangeRoutine - продолжает анимацию.
Эмм, не понял, о какой анимации речь. AI_ContinueRoutine - непись продолжит (или начнёт) выполнение назначенного ему распорядка. Npc_ExchangeRoutine - один распорядок заменится другим, но выполнение этого другого распорядка начнётся только после того, как непись будет проинициализирован или поступит команда AI_ContinueRoutine.
В инстанциях диалогов для непися-владельца диалога можно использовать Npc_ExchangeRoutine. По окончании диалога напись приступит к выполнению нового распорядка. Для третьих лиц нужно использовать связку Npc_ExchangeRoutine и AI_ContinueRoutine или скриптовую функцию, где эта связка уже присутствует.
Эмм, не понял, о какой анимации речь. AI_ContinueRoutine - непись продолжит (или начнёт) выполнение назначенного ему распорядка. Npc_ExchangeRoutine - один распорядок заменится другим, но выполнение этого другого распорядка начнётся только после того, как непись будет проинициализирован или поступит команда AI_ContinueRoutine.
В инстанциях диалогов для непися-владельца диалога можно использовать Npc_ExchangeRoutine. По окончании диалога напись приступит к выполнению нового распорядка. Для третьих лиц нужно использовать связку Npc_ExchangeRoutine и AI_ContinueRoutine или скриптовую функцию, где эта связка уже присутствует.
Если пишем AI_ContinueRoutine(Bau_900_Onar); - при подряд втором вызове диалога получаем не успевание игры закончить прошлую анимацию и из диалога не выходит игра.
Если пишем Npc_ExchangeRoutine(Bau_900_Onar,"START"); - игра при любом вызове диалога успевает выходить из диалога, но анимация получается рваной.
Если пишем AI_ContinueRoutine(self); - пока анимация не будет проиграна вызов нового диалога не возможен.
Если пишем Npc_ExchangeRoutine(self,"START"); - вызов диалога в любой момент возможен и не ограничен. Анимация полностью работает. Продолжается и по новой запускается.
Попрошу Вас не оскорблять меня.
AI_ContinueRoutine - не продолжает анимацию, а её по новой запускает. (действия вызываемые командой из справки отличаются от написанного в справке)
Npc_ExchangeRoutine - продолжает анимацию.
Сейчас тебе специально сырую сборку соберу и вышлю.
Прошу простить. Просто с утра таким злым проснулся (соседи целую ночь музыку слушали, но сегодня так на них наорал что наверно они меня будут смотреть как на психа).
А зачем вообще лезть в это "указанное место"? Не, в особых случаях тут, конечно, можно что-то приписать. Сам пару раз так делал. Но уверен ли ты, что твой случай особенный?
Если пишем AI_ContinueRoutine(Bau_900_Onar); - при подряд втором вызове диалога получаем не успевание игры закончить прошлую анимацию и из диалога не выходит игра.
А зачем вообще лезть в это "указанное место"? Не, в особых случаях тут, конечно, можно что-то приписать. Сам пару раз так делал. Но уверен ли ты, что твой случай особенный?
А если вообще ничего не писать? Этот баг тоже имеет место?
Если ставить выше AI_StopProcessInfos(self); у Вас не будет завершаться диалог.
Если совсем ничего не писать имеем NPC который таращится на ГГ пока ГГ из его диапазона чувств не пропадёт.
А если ГГ не принадлежит определённой гильдии которая в данном помещении прописана, любой распорядок дня автоматически блокируется и NPC переходит в режим наблюдения за ГГ.
А любая AI_StopProcessInfos(self); следующая в других instance после EXIT-instance диалога автоматически проходит через EXIT-instance диалог. (И не нужно костылей использовать, Пираньи всё заложили заранее)
До всех подробностей Vam не добирался. А вот мододелы данного ресурса должны были за 10 лет всё разобрать.
Добрался до компа, посмотрел поведение Онара в оригинале. Ничего не глючит. Даже если повторный диалог инициировать сразу же, пока он не успел сесть, анимация не прерывается, он садится, но диалог не подвисает. И на ГГ он НЕ ТАРАЩИТСЯ. Если у тебя не так, ищи отличие своих скриптов от оригинала.
А если ГГ не принадлежит определённой гильдии которая в данном помещении прописана, любой распорядок дня автоматически блокируется и NPC переходит в режим наблюдения за ГГ.
Добрался до компа, посмотрел поведение Онара в оригинале. Ничего не глючит. Даже если повторный диалог инициировать сразу же, пока он не успел сесть, анимация не прерывается, он садится, но диалог не подвисает. И на ГГ он НЕ ТАРАЩИТСЯ. Если у тебя не так, ищи отличие своих скриптов от оригинала.
Про это уже написали тебе. Это вполне естественное поведение. Если ГГ забрёл в чужое помещение, то за ним наблюдают, кабы чего не стащил.
пропиши так
AI_ContinueRoutine(Bau_900_Onar);
AI_StopProcessInfos(self);
и посмотри пожалуйста результат
и пропиши так
AI_ContinueRoutine(self);
AI_StopProcessInfos(self);
и посмотри пожалуйста результат
и пропиши так
AI_StopProcessInfos(self);
AI_ContinueRoutine(self);
и посмотри пожалуйста результат
и пропиши так
AI_StopProcessInfos(self);
AI_ContinueRoutine(Bau_900_Onar);
и посмотри пожалуйста результат
Пример почему после AI_StopProcessInfos(self); ставлю можно увидеть в файлах диалогах Ночи Ворона NPC.
А также VLK_427_Buergerin у Боспера гражданка почему до разговора с ней (она жарит мясо), когда её спрашиваешь и EXIT выбираешь, но она продолжает смотреть на ГГ? (хотя достаточно одного Боспера, чтобы за ГГ смотреть. А её задача продолжать распорядок дня т.е. жарку мяса)
А также VLK_427_Buergerin у Боспера гражданка почему до разговора с ней (она жарит мясо), когда её спрашиваешь и EXIT выбираешь, но она продолжает смотреть на ГГ?
Вчера по ряду причин перепутал и протестил не Онара, а Секоба. Сегодня протестил и Онара, и указанную дамочку. Оба непися переходят в состояние ZS_ObservePlayer, как и предусмотрено скриптами и авторской задумкой. Можешь, как тебе советовали, отключить переход в это состояние в функции ZS_Talk_End. А можешь и поправить состояние ZS_ObservePlayer так, как считаешь нужным. Вот это будет ПРАВИЛЬНЫЙ подход.
Можешь поставить выход из состояния после первого же цикла. Можешь организовать счётчик циклов в секции с установкой таймера и заканчивать состояние через 2-3 цикла (2-9 секунд). Можешь изменить расстояние между неписем и ГГ, на котором происходит выход (PERC_DIST_INTERMEDIAT = 1000). Можешь ввести в условие выхода проверку видит ли непись ГГ (Npc_CanSeeNpcFreeLOS), иначе ГГ может уйти за стену, а непись будет смотреть на него сквозь стену. Можешь учесть ещё что-то или комбинировать названные факторы...
У меня более проще реализовано. Используются NPC которые всегда в игре жарят мясо, для жарки от 10 до 100 кусков мяса сразу (за деньги) и не нужно переделывать все плиты в игре.
Ответ в твоем же вопросе: Если есть шаманы у Орков.., то что мешает тебе посмотреть что для них используется и сделать по аналогии с ними?
Если Гоблинец не может пользоваться магией из-за ограничений движка, то пробуем прописать ему гильдию Орка или Человека, либо править через костыли..
Во-первых, я не занимаюсь моддингом Г2, во-вторых, помощь, как я наивно полагал, нужна тебе, а не мне... Оно мне нужно?
К тому же, твой способ имеет существенный изъян. Многие диалоги завершаются не через EXIT-инстацию.
Вчера по ряду причин перепутал и протестил не Онара, а Секоба. Сегодня протестил и Онара, и указанную дамочку. Оба непися переходят в состояние ZS_ObservePlayer, как и предусмотрено скриптами и авторской задумкой. Можешь, как тебе советовали, отключить переход в это состояние в функции ZS_Talk_End. А можешь и поправить состояние ZS_ObservePlayer так, как считаешь нужным. Вот это будет ПРАВИЛЬНЫЙ подход.
Можешь поставить выход из состояния после первого же цикла. Можешь организовать счётчик циклов в секции с установкой таймера и заканчивать состояние через 2-3 цикла (2-9 секунд). Можешь изменить расстояние между неписем и ГГ, на котором происходит выход (PERC_DIST_INTERMEDIAT = 1000). Можешь ввести в условие выхода проверку видит ли непись ГГ (Npc_CanSeeNpcFreeLOS), иначе ГГ может уйти за стену, а непись будет смотреть на него сквозь стену. Можешь учесть ещё что-то или комбинировать названные факторы...
Большое спасибо, Ваш вариант (Npc_CanSeeNpcFreeLOS) уже используется.
Т.к. в стандартной готике наблюдается: ГГ уходит за стену, а NPC продолжает смотреть на ГГ сквозь стену.
Более правильный вариант: объединение вашего варианта и моего т.к. каждый правит только свою часть. А нужно 99% вариантов поведений, чтобы было исправлено.
P.S. Я не против помощи, мною проверились все возможные варианты постановки кода и до этого были указаны 4 варианта при которых случаются наибольшее число глюков. (хотя в справке Vam было указано, что AI_ContinueRoutine панацея от всех бед. Но AI_ContinueRoutine в Exit-instance ведёт себя по другому, чем описал Vam. Значит Vam всем дал основы, остальное узнавайте сами, что я и делаю.)
У меня более проще реализовано. Используются NPC которые всегда в игре жарят мясо, для жарки от 10 до 100 кусков мяса сразу (за деньги) и не нужно переделывать все плиты в игре.
хотя в справке Vam было указано, что AI_ContinueRoutine панацея от всех бед. Но AI_ContinueRoutine в Exit-instance ведёт себя по другому, чем описал Vam. Значит Vam всем дал основы, остальное узнавайте сами, что я и делаю.
Доброй ночи. Кто-то может пояснить. Добавлен волкодав в Хоринисе работает, в Минентале не отслеживает NPC к которым привязан, к Яркендаре вовсе пропадает.
Инициализация всех волкодавов идёт через
start_aistate = zs_mm_rtn_kosfollow;
start_aistate = zs_mm_rtn_kosfollow1;
start_aistate = zs_mm_rtn_kosfollow2;
Но в Хоринисе всё работает, в двух других локациях не работает.
В Яркендаре даже зацикленный триггер не срабатывает на возврат волкодава, но в Хоринисе срабатывает:
В Минентале ошибка в цикле: первый return LOOP_CONTINUE; должен стоять на строчку выше, до }; Сейчас он просто обрубает дальнейшее выполнение тела цикла.
Пропадание NPC часто бывает из-за того, что они привязаны к несуществующему WP. Волкодав вообще не появляется или в какой-то момент пропадает? Он вообще в мире присутствует, Марвином удается к нему телепортироваться (goto waypoint NONE_996_BOBIKA)?
В Минентале ошибка в цикле: первый return LOOP_CONTINUE; должен стоять на строчку выше, до }; Сейчас он просто обрубает дальнейшее выполнение тела цикла.
Пропадание NPC часто бывает из-за того, что они привязаны к несуществующему WP. Волкодав вообще не появляется или в какой-то момент пропадает? Он вообще в мире присутствует, Марвином удается к нему телепортироваться (goto waypoint NONE_996_BOBIKA)?
Не там цифры стояли. 4 раза всё переписывалось в поисках ошибки.
goto waypoint NONE_996_BOBIK переносит меня на точку волкодава в Яркендаре. Попытаюсь поменять точку дальше от магов воды, может зона против существ в движке прописана.
Если прописать ADW_ENTRANCE_PLATEAU_01 и 02 и т.д. любой монстр не относящийся к GIL_SEPERATOR_HUM не появляется. (если монстра прописать через Startup.d)
А вот на точке ADW_ENTRANCE_PLATEAU_16 любой монстр появляется, в том числе и волкодав. (если прописать через Startup.d)
Возможно потому что никто не пытался призвать монстра именно в этом месте? Хотя я не помня точно, но вроде в возвращении когда инвазия орков в Яркендаре - то они вроде на месте магов воды спавнятся вроде. Может вейпоинты частично под землёй и любой монстр проваливается вниз(у меня такое было)? Попробуй заспавнить волкодава на месте появления гг при входе в Яркендар.
Возможно потому что никто не пытался призвать монстра именно в этом месте? Хотя я не помня точно, но вроде в возвращении когда инвазия орков в Яркендаре - то они вроде на месте магов воды спавнятся вроде. Может вейпоинты частично под землёй и любой монстр проваливается вниз(у меня такое было)? Попробуй заспавнить волкодава на месте появления гг при входе в Яркендар.
Доброе утро. Человек на этих местах нормально появляется (ADW_ENTRANCE_PLATEAU_01 и ADW_ENTRANCE_PLATEAU_02 и т.д.), а вот волкодав нет. Пришлось перебирать точки.
Орк не полностью относится к монстрам.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.