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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый конкурс - "Такая одна среди множеств".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду.

Не стесняюсь спросить....

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.089
Благодарности
1.041
Баллы
315

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.516
Благодарности
3.330
Баллы
525
Всё оказалось куда проще - что бы сработал телепорт ГГ без багов, нужно что бы диалог заканчивался фразой нпс, а у меня ГГ говорил в конце. Добавил еще одну фразу для нпс и всё заработало))
Думаю, вариант, предложенный камрадом MW 7, всё-таки более правильный. Бывает так, что костыль, нормально работающий в одной системе, перестаёт работать в другой системе. Вариант с краткосрочным переводом непися в особое состояние для запуска события по окончанию диалога должен работать надёжнее, как мне кажется. Во всяком случае, я ещё не сталкивался с тем, чтобы он не работал. :)

Да, возможно, следует таки назвать это особое состояние как-то так: ZS_xxxxx. Не знаю, учитывает ли движок наличие этого префикса в названии функции. Думаю, должен учитывать.
 

Vlad_Torop

Участник форума
Регистрация
2 Май 2014
Сообщения
886
Благодарности
511
Баллы
245
Может, я что-то недопонял из вышестоящих постов, а чем плох вариант использовать ZS_Talk_End?
В диалоге, после которого должна быть телепортация, ставить какую-нить переменную в true, а в ZS_Talk_End установить ID персонажа + условие, что эта переменная true, и прописать телепортацию(вставку НПС, убийство НПС, смену рутины, как для ГГ так и для НПС, да хоть что).
В итоге: диалог закончен, и дальше все команды работают без сбоев.
 
Последнее редактирование:

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.089
Благодарности
1.041
Баллы
315
Да, возможно, следует таки назвать это особое состояние как-то так: ZS_xxxxx. Не знаю, учитывает ли движок наличие этого префикса в названии функции. Думаю, должен учитывать.
не обязательно. то есть если что то мощное будет в твоём стиле с эффектами, паузами, пафосными взглядами, тогда конечно нужно делать zs_** и в loop наводить красоту. а если что то простое, то можно и без zs_. Например выход из диалога с ищущими.

Может, я что-то недопонял из вышестоящих постов, а чем плох вариант использовать ZS_Talk_End?
скажем так: если проект использует zparser Union тогда в ZS_Talk_End можно добавить вызов функции эвента E_Talk_End, что бы потом использовать её в нужном файле, но даже в таком случае нужны будут проверки и доп переменные, так как вызов идёт однократный. Можно ещё и триггеры юнион использовать, НО.. совершенно не понятно зачем всё это городить если это AI_StartState нормальное, штатное, рабочее решение:
  1. ставится в нужную часть нужного файла, когда проект большой это важно
  2. не требует дополнительных проверок
  3. не требует введение дополнительных переменных
я её использую много лет в разных проектах. везде работает корректно, без сбоев.
 
Сверху Снизу