Помогите, пожалуйста, создать способность, желательно, на гуи.
Способность такова: его взять на время целевое существо под контроль. Есть, конечно, близкая способность "шарм" у Сильваны, но она не на время, а нужно существенно на время, по истечении которого оно возвращается к исходному владельцу.

но она не на время
Смысла тогда нет, все умные игроки будут убивать захваченного юнита до того, как он перейдёт назад к своему владельцу. Лучше сразу убивать.
Ниже карта, где реализовано с убийством по истечению указанного времени.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Событие:
Юнит начинает применять способность
Условие:
Применяемая способность [Способность 1]
Действие:
Удалить [Способность 1] у [Переключающий юнит]
Добавить [Способность 2] [Переключающий юнит]
ответ
Steal nerves:
Дать/отнять способность легко. А вот как отследить это, что он отошел и прочее. Надо подумать, нужно делать так, чтобы утечек, и нагрузок было меньше. Смотря как делать:
юнит привязан к участку
Если привязан юнит к одному участку, как здание например. То можно по событию - юнит входит / юнит выходит в область. Это типа как в Survival Chaos, там башеньки всю игру стоят, пока всех не уничтожат.
xgm.guru/p/100/180244 двигать не получится
Если юнит динамически сменяет локацию
не может привязан к одному участку. Но есть несколько способов:
  1. Вот отследить еще можно "событие - юнит замечен в радиусе ...", только вот нельзя отследить когда отходит, только когда входит. Примечательно, тем то не привязан к участку.
  2. Проверяешь периодически расстояние между юнитом и героем. Если расстояние больше предназначенного, то убавляем защиту. В этом нам помогает группа +pick units и подсчет кол-ва юнитов.
  3. Аналогично как в во втором способе, но может еще попробовать с аурой. Проверяешь есть аура. нет ауры.
ответ
что за костыли блин
событие - приводит способность в действие
условие - применённая способность == божественный щит
действия:
unit u=GetTriggerUnit()
SetUnitVertexColor(u,0,0,0,255)
TriggerSleepAction(15) // здесь указываем время действия способности
SetUnitVertexColor(u,255,255,255,255)
если время действия зависит от уровня то юзай арифметику как писали выше
в твоём случае это 2 + (уровень способности * 2)
ответ
XGM Bot:
Похожие вопросы:

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

все необходимые действия и проверки есть в триггерах
если попытки действительно имели место - в студию


26
Слева в блоке 2 ссылки на заклинания на заказ, вторая платная, но плата символическая.
12
8gabriel8:
Слева в блоке 2 ссылки на заклинания на заказ, вторая платная, но плата символическая.
Платно не надо, сам как-нибудь соображу тогда.
33
Ничего так не стимулирует делать "всё самому", как нежелание платить
28
но она не на время
Смысла тогда нет, все умные игроки будут убивать захваченного юнита до того, как он перейдёт назад к своему владельцу. Лучше сразу убивать.
Ниже карта, где реализовано с убийством по истечению указанного времени.
Загруженные файлы
Принятый ответ
6
PT153, Ну, может у него как в моей разрабатываемой кампании - при попытке атаки дружественного воина - отмена приказа. В итоге самые страшные враги из дебафферов врага внезапно оказываются усыпляющие:)
12
PT153:
но она не на время
Смысла тогда нет, все умные игроки будут убивать захваченного юнита до того, как он перейдёт назад к своему владельцу. Лучше сразу убивать.
Ниже карта, где реализовано с убийством по истечению указанного времени.
Огромное спасибо! Смысл, на самом деле, как в героях -- брать в гипноз сильные юниты врага на время битвы. А потом проедать их под подобие темного ритуала у лича, таким образом, эффект лучше, чем у просто убийства, но хуже, чем шарм (нечто среднее).
28
Ну, может у него как в моей разрабатываемой кампании - при попытке атаки дружественного воина - отмена приказа. В итоге самые страшные враги из дебафферов врага внезапно оказываются усыпляющие:)
В таком случае надо переходить на JASS, потому что это легко реализовать с хеш-таблицей.
При рождении каждому юниту записываем в таблицу его родного игрока. При касте смотрим, кто захватывает. Если родной игрок (перехватывает назад), то удаляем таймер, который был создан ранее, и чистим таблицу. Если не свой, то проверяем, есть ли такой таймер на юните. Если нет, то создаём таймер, сохраняем по id таймера юнита и захватившего игрока, а по id юнита таймер. Если да, то перезапускаем таймер и заменяем сохранённого игрока на нового. По истечению таймера удаляем таймер и чистим таблицу.
26
даже джасс и хештаблица не нужна если реализовывать параллельными массивами что доступно на гуи
но это уже оффтоп
Чтобы оставить комментарий, пожалуйста, войдите на сайт.