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

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

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

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
18
t = null
потому что близзардам прямоты рук не хватило чтобы сделать нормальную работу с памятью.
Не было бы претензий если это был бы какой то высокоуровневый яп или низкоуровневый, но это же jass)
По сути все переменные handle - это те же integer, не понимаю как близзарды с этим накосячили
10
Очень просто)
События:
Юнит Умирает
Условия:
(Diying unit) равно Герой
Owner of (Diying unit) не равно Нейтрально-враждебный
Действия:
Wait 10 секунд
Воскресить (Diying unit)
В этом триггере (Diying unit) не будет меняться с каждой новой смертью, она как локалка.
Согласен на 99%, но лучше при пике героя каждому герою присвоить свою переменную
17
8gabriel8, работать то работает, но тут немного баги будут. Все герои будут появляться только в одной области, а мне такое не нужно. У меня 2 разные команды
А, все, разобрался
26
Согласен на 99%, но лучше при пике героя каждому герою присвоить свою переменную
Ну это больше зависит от остальных триггеров.
Интересно, тут переменная (Diying unit) тоже не утекает?
18
8gabriel8:
Интересно, тут переменная (Diying unit) тоже не утекает?
это не переменная, это нативка которая берет инфу из потока и возвращает юнита
28
В этом триггере (Diying unit) не будет меняться с каждой новой смертью, она как локалка.
Ага, а вот если бы я занёс Dying Unit в переменную, то она бы менялась с каждым вызовом триггера.
Sergarr:
поддержка МУИ
Что же такое МУИ?
26
Что же такое МУИ?
multi user instance, если верно помню, означает что можно применять несколько раз и не будет никаких маразмов
26
но лучше при пике героя каждому герою присвоить свою переменную
ещё лучше при каждой смерти юнита, чекать его на воскрешение (либо отдельный ивент на него/них заводить), и поднимать напрямую из записи...
32
Вейты в мультимплеере нормально работать не будут это раз, два пора давать уже по башке за такие советы. Есть куда более простые и изящные решения, два массива - один массив героев, второй массив таймеров - герой умер, проверяем есть ли герой в массиве, если есть ищем таймер с таким же номером как у героя в массиве и запускаем его, во втором триггере ставим событие что любой из таймеров истек, действие найти таймер в массиве и воскресить героя, которого ищем по номеру таймера в массиве - легко и просто, работает стабильно на всех патчах, не будет никакого говна и неточностей, во многих картах близзардов есть такой код - копируй не хочу.
26
quq_CCCP, с чего это Wait не будет в мультиплеере работать?
26
8gabriel8:
quq_CCCP, с чего это Wait не будет в мультиплеере работать?
он написал "нормально работать не будет"
работать будет, да, только криво и неточно
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.