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

Принятый ответ

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

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
21
6 лет назад
Отредактирован biridius
0
Совсем без джасса, т.е. без локальных переменных?
Ну можно хранить героев и время до воскрешения в массивах, пробегаться по ним циклом по таймеру, и когда время достигает 0 воскрешать героя.
триггер1 - герой умер - установить время до реса №индекс_игрока на столько-то сек.
триггер2 - каждые 0,3 сек - цикл А от 1 до сколько там игроков - если герой №А мертв, то отнять 0,3 от времени №А; если время меньше либо равно 0, воскресить героя №А
0
17
6 лет назад
0
biridius, ну, если ты подскажешь как это сделать на джасс. Я просто не разбираюсь.
Попробую сделать по твоему примеру
4
26
6 лет назад
4
Очень просто)

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

В этом триггере (Diying unit) не будет меняться с каждой новой смертью, она как локалка.
Принятый ответ
0
12
6 лет назад
0
8gabriel8:
Очень просто)

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

В этом триггере (Diying unit) не будет меняться с каждой новой смертью, она как локалка.
Я 100% уверен, что это ложь и провокация.
2
26
6 лет назад
2
Sergarr, проверь. Мне тоже так казалось раньше)
0
12
6 лет назад
0
8gabriel8:
Sergarr, проверь. Мне тоже так казалось раньше)
Проверил. Действительно, работает. Прям как то неожиданно даже - нативная поддержка МУИ? В варике?
2
26
6 лет назад
2
Игре уж много лет, а она всё удивляет и удивляет
0
18
6 лет назад
Отредактирован Hodor
0
Sergarr:
Я 100% уверен, что это ложь и провокация.
GetTriggeringUnit() и прочее - хранятся в самом потоке, а поток создается каждый раз при срабатывании триггера
И лучше не использовать PolledWait, можно сразу TriggerSleepAction
И кто бы ни говорил, TriggerSleepAction не продолжает отсчет при паузе в одиночной игре и в мультиплеере.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.