Бафф на 1 секунду
не подскажете как сделать выбор героя, на пустом месте спавнятся герои при нажатии на них наклабывается бафф на 1 сек. если игрок нажмет на героя еще раз то он получит этого героя при наличии баффа тоесть своеобразная выбора по клику не знаю как сделать так чтоб бафф держался 1 сек. обычно они длятся 2-3 сек. если не ошибаюсь

Лучший ответ:
Гуванч, когда игрок кликает на юнита проверяешь, что кликнутый юнит равен прошлому под индексом игрока и булевая под индексом игрока тоже равна да, меняешь юнита, иначе - показываешь информацию о юните, переменишь его, устанавливаешь булевую на да и запускаешь таймер, который выставит булевую обратно на нет

и прекрати полное сообщение пересылать, просто нажми на ник человека)


Views: 54

XGM Bot #1 - 4 days ago 0
Голосов: +0 / -0
Похожие вопросы:

» ответ
вот, смотри триггер cast и способность "Божественный щит" в карте
xgm.guru/p/wc3/179535?postid=336091#comment72 ищи 72 коммент, костыльный
xgm.guru/p/wc3/179535?postid=336719#comment142 ищи 142 коммент, это то что в карте
» ответ
Ну тебе нужно чтобы был прямо таки бафф который можно рассеивать?
Для начала сделай способность, и баф на основе какой нибудь пустышки, подойдет ярость у некромантов, так же переодический триггер который раз в пол секунды проверяет всех юнитов в группе, есть ли у них бафф если юнит мертв или у него нет баффа, то у юнита удаляется способность на доп урон зданиям и сам унит удаляется из группы.
При касте твоим шаманов заклинания на цель, ты добавляешь цель заклинания в группу, которую и перебирает описанный выше триггер.
Надеюсь понятно?
» ответ
Руками.
» ответ
  1. Уже создали, основан на хаке на память, лучше юзайте поиск.
  2. Удаляйте бафф триггерно.

rsfghd #2 - 4 days ago (изм. ) 1
Голосов: +1 / -0
Ага, только первый клик сделан для получения информации о герое, а второй клик для его выбора. А если ты сделаешь через бафф - то другой игрок, кликнувший на бафнутого юнита - сразу выберет его, не получив информации. Впрочем это твоё дело. Баффы убираются сразу, мб есть исключения. Вот баффы аур не сразу убираются, их нужно вручную тогда удалять. Заклинание ауры можно увидеть в соответствующей графе в ро
Гуванч #3 - 4 days ago 0
Голосов: +0 / -0
rsfghd:
Ага, только первый клик сделан для получения информации о герое, а второй клик для его выбора. А если ты сделаешь через бафф - то другой игрок, кликнувший на бафнутого юнита - сразу выберет его, не получив информации. Впрочем это твоё дело. Баффы убираются сразу, мб есть исключения. Вот ауры не сразу убираются, их нужно вручную удалять
оу щет спасибо а не подскажешь как сделать так чтоб таких вещей не было
rsfghd #4 - 4 days ago 0
Голосов: +0 / -0
Гуванч, массив булевой с индексом игрока тебе нужен, а не бафф
goodlyhero #5 - 4 days ago 0
Голосов: +0 / -0
Для такой системы не жалко запускать по 1му самоуничтожающемуся таймеру для игрока (ну или делать то же самое с глобальным таймером, что чуть сложнее) .
Пока клик не произошел есть массив заполненный нулями.
Второй массив - для хранения юнитов, которые были последними, в которых кликнул игрок.
Соответственно, клик произошел, если в ячейке игрока ноль - запустить таймер., сложить в массив. Сложить юнита в массив. Если игрок кликнул до его истечения, то в соотв. ячейке массива не ноль. Уничтожить таймер. Дать героя. запретить игроку использовать систему. Если таймер закончился - в соответствующую ячейку массива положить ноль, а таймер уничтожить. Кликнутого юнита в массиве занулить.
Конечно, система чуть не оптимальна, но это мелочь, не заслуживающая нашего внимания. Вряд ли она будет использоваться хоть сколько-нибудь часто.
Гуванч #6 - 4 days ago 0
Голосов: +0 / -0
goodlyhero:
Для такой системы не жалко запускать по 1му самоуничтожающемуся таймеру для игрока (ну или делать то же самое с глобальным таймером, что чуть сложнее) .
Пока клик не произошел есть массив заполненный нулями.
Второй массив - для хранения юнитов, которые были последними, в которых кликнул игрок.
Соответственно, клик произошел, если в ячейке игрока ноль - запустить таймер., сложить в массив. Сложить юнита в массив. Если игрок кликнул до его истечения, то в соотв. ячейке массива не ноль. Уничтожить таймер. Дать героя. запретить игроку использовать систему. Если таймер закончился - в соответствующую ячейку массива положить ноль, а таймер уничтожить. Кликнутого юнита в массиве занулить.
Конечно, система чуть не оптимальна, но это мелочь, не заслуживающая нашего внимания. Вряд ли она будет использоваться хоть сколько-нибудь часто.
не совсем понял что ты сказал
rsfghd #7 - 4 days ago 0
Голосов: +0 / -0

Гуванч, когда игрок кликает на юнита проверяешь, что кликнутый юнит равен прошлому под индексом игрока и булевая под индексом игрока тоже равна да, меняешь юнита, иначе - показываешь информацию о юните, переменишь его, устанавливаешь булевую на да и запускаешь таймер, который выставит булевую обратно на нет

и прекрати полное сообщение пересылать, просто нажми на ник человека)
Гуванч #8 - 4 days ago 0
Голосов: +0 / -0
rsfghd:
Гуванч, когда игрок кликает на юнита проверяешь, что кликнутый юнит равен прошлому под индексом игрока и булевая под индексом игрока тоже равна да, меняешь юнита, иначе - показываешь информацию о юните, переменишь его, устанавливаешь булевую на да и запускаешь таймер, который выставит булевую обратно на нет

и прекрати полное сообщение пересылать, просто нажми на ник человека)
о спасибо