Хелло китти всем! Помогите пожалуйста, у меня если гг умерает то происходит вылет игры, если есть юнит которому отдается приказ следовать за гг. как это пофиксить?

Эх.. мне кажется, что логически не верно. Ты в триггере Travl должен фиксировать на то, что не изменился ли приказ. Я так понял.
С:
Боевая единица - получает приказ (в точку) (цель) (без указания цели)
У:
(Переключаемый юнит равно Pet) И ((Приказ равно "следовать") И (таргет-цель не равно GEPOU)) ИЛИ (Приказ не равно "следовать"))
Ты должен сам дебажить ошибки.
Попробуй выключать действия.. в гуи достаточно удалить это лействие. если вылеты прекратились, значит, это действие вызывает вылеты
Ты перед отдачей приказа выключи триггер. Как юнит получит приказ следовать, тут же включи триггер.
Триггер - Выключить триггер (Travl)
Боевая единица - Приказать Pet следовать GEPOU
Триггер - Включить триггер (Travl)
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
27
anton1623,
Обычно такое происходит из-за бесконечного зацикливания. Пример: у вас где-то есть триггер, который ловит приказ, и переназначает другой (отдаёт новый приказ). У вас триггер зацикливаться. Вот допустим, срабатывает ивент получения приказа, затем получает новый, и опять срабатывает триггер с ивентом, получает новый приказ, и опять срабатывает триггер. Так цикл без конца срабатывает
Либо сделай так:
  1. фильтруем какой приказ, какой юнит. Это важно. Так без условии ты ловишь все.
С: получает приказ
У: приказ == следовать
  1. делай задержку после срабатывания приказа. Так хотя бы игра вылетать не будет. Юнит даже не успевает сделать, а уже постоянно получает приказы. Это помогало в одной системе продаж, сразу заложить с 6 слотов в магазин предметы
Д:
Ждать 0.00 сёк( или таймер)
Отдаём приказ
  1. выключить триггер с отловом приказа, отдаем приказ, и тут же включить. Это происходит мгновенно. Зачем? Ну дабы не происходило зацикливание. Выключаем все триггер с отловом приказа.
Д:
Выключить триггер
Отдать приказ
Включить триггер

anton1623, что конкретно не работает?
8
Вот смотрите, есть два триггера но проблема в том который приказывает идти за ГГ после отдачи приказа.Если гг умерает когда есть вот такой юнит к которому привязан этот триггер, происходит вылет.
*Извените что так позно*
27
Эх.. мне кажется, что логически не верно. Ты в триггере Travl должен фиксировать на то, что не изменился ли приказ. Я так понял.
С:
Боевая единица - получает приказ (в точку) (цель) (без указания цели)
У:
(Переключаемый юнит равно Pet) И ((Приказ равно "следовать") И (таргет-цель не равно GEPOU)) ИЛИ (Приказ не равно "следовать"))
Ты должен сам дебажить ошибки.
Попробуй выключать действия.. в гуи достаточно удалить это лействие. если вылеты прекратились, значит, это действие вызывает вылеты
Ты перед отдачей приказа выключи триггер. Как юнит получит приказ следовать, тут же включи триггер.
Триггер - Выключить триггер (Travl)
Боевая единица - Приказать Pet следовать GEPOU
Триггер - Включить триггер (Travl)
Принятый ответ
7
скорее всего ты после смерти героя его из игры удаляешь или како-то из твоих триггеров. Не удаляй его из игры после смерти и по идее не должно вылетать... наверное....
Ну или добавь условие к следованию крипов, если герой мёртв, то пусть идут туда где он помер или ничего не делают.
27
nazarpunk, вэйт, да вэйт. Можно и таймером.
Автора вряд ли беспокоит данная тема, ведь на гуи. Главное, чтобы работало. Когда ьудет переходить на след этап - jass, подучит
Я вот свою систему автопродажи написал через вэйт. Отдал приказ, двлее задержка 0.00 сек, и отдаем приказ заложить итем след слота. Могу припомнить много случаев, когда нужна была задержка.. если юнит попросту не успевает, или ивент триггера срабатывает раньше.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.