Делаю проект для мультиплеера, но столкнулся с такой проблемой:
  • Как сделать нормальное воскрешение героев после смерти?
Я пробовал разные способы, но работает только один и этот способ будет баговать при игре с игроками.
Просьба давать советы на GUI. С Jass не дружу.

Очень просто)

События:
Юнит Умирает
Условия:
(Diying unit) равно Герой
Owner of (Diying unit) не равно Нейтрально-враждебный
Действия:
Wait 10 секунд
Воскресить (Diying unit)

В этом триггере (Diying unit) не будет меняться с каждой новой смертью, она как локалка.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
В этом триггере (Diying unit) не будет меняться с каждой новой смертью, она как локалка.
Ага, а вот если бы я занёс Dying Unit в переменную, то она бы менялась с каждым вызовом триггера.
Sergarr:
поддержка МУИ
Что же такое МУИ?
26
Что же такое МУИ?
multi user instance, если верно помню, означает что можно применять несколько раз и не будет никаких маразмов
26
но лучше при пике героя каждому герою присвоить свою переменную
ещё лучше при каждой смерти юнита, чекать его на воскрешение (либо отдельный ивент на него/них заводить), и поднимать напрямую из записи...
32
Вейты в мультимплеере нормально работать не будут это раз, два пора давать уже по башке за такие советы. Есть куда более простые и изящные решения, два массива - один массив героев, второй массив таймеров - герой умер, проверяем есть ли герой в массиве, если есть ищем таймер с таким же номером как у героя в массиве и запускаем его, во втором триггере ставим событие что любой из таймеров истек, действие найти таймер в массиве и воскресить героя, которого ищем по номеру таймера в массиве - легко и просто, работает стабильно на всех патчах, не будет никакого говна и неточностей, во многих картах близзардов есть такой код - копируй не хочу.
26
quq_CCCP, с чего это Wait не будет в мультиплеере работать?
26
8gabriel8:
quq_CCCP, с чего это Wait не будет в мультиплеере работать?
он написал "нормально работать не будет"
работать будет, да, только криво и неточно
18
Hate:
8gabriel8:
quq_CCCP, с чего это Wait не будет в мультиплеере работать?
он написал "нормально работать не будет"
работать будет, да, только криво и неточно
разница в точности +-0.10 будет играть роль?
В некоторых простых случаях достаточно одной локалки и TriggerSleepAction (ни в коем случае PolledWait).
И прошу привести пример насчет "кривой" работы
32
UrsaBoss, мало того что обрывается поток и функции Get*** могут вернуть черти знает что, оно еще может быть причиной десинха, игрок залагал а вейт то тикает, этого мало? Потом 2018 а мы досихпор советуем вейты...
18
quq_CCCP:
UrsaBoss, мало того что обрывается поток и функции Get*** могут вернуть черти знает что, оно еще может быть причиной десинха, игрок залагал а вейт то тикает, этого мало? Потом 2018 а мы досихпор советуем вейты...
а пауза != лагскрин?
Get***
локальную объявить можно
26
В некоторых простых случаях достаточно одной локалки и TriggerSleepAction (ни в коем случае PolledWait).
Кстати, TriggerSleepAction в GUI простой Wait, а PolledWait в GUI Wait (game seconds).
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.