Я создал триггер, который должен был добавлять выбранному юниту способность на 5 секунд, а затем ее удалить. Но после появления способности она не исчезала, потому прошу вашей помощи.

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

ответ
Всем спасибо, проблему решил за счет проверки на цвет/номер игрока как индекс в массиве переменных. Все работает как запланировано.
Вопрос вдогонку: как можно задавать сам индекс переменной-массива?)
З.Ы. Массивы конечно зло, но другого способа хранить инфо по одному спеллу, не используя множество переменных - пока не умею.
ответ
Заклинание "Подчинение" или "Очарование"(зависит от перевода) или "Charm" в английской версии.
ответ
Pingvinromeo, проблема в том что ты фигню творишь
если спел применён в точку то точка есть
перемещение это 1 действие
за это время точка не исчезнет
короче пруфы того что не работает
ответ
  1. Для этого есть xgm.guru/p/wc3/needspells
  2. Рекомендую прочитать статьи по этому поводу.
3.
  1. Или такой пример
local unit c = GetTriggerUnit()
local unit tg = GetSpellTargetUnit()
//local real x1 = GetUnitState(c, UNIT_STATE_MAX_LIFE )
//local real x2 = GetUnitState(c, UNIT_STATE_MAX_MANA )
//local real x3 = GetUnitState(c, UNIT_STATE_MANA )
//local real z = I2R(GetHeroAgi(c, TRUE ))
//local real z1 = I2R(GetHeroAgi(c, TRUE ))
//local real z2 = I2R(GetHeroStr(c, TRUE ))
//local real z3 = I2R(GetHeroInt(c, TRUE ))
local real zall = I2R(GetHeroInt(c, TRUE ) + GetHeroStr(c, TRUE ) + GetHeroAgi(c, TRUE ))
call UnitDamageTarget( c, tg, zall, true, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS )
set c = null
set tg = null
И вообще сформулируйте вопрос правильнее..
ответ
Alexey103, а у меня работает, проверял. тут ошибка в названии переменной, скорее всего, зачем ты задал такое. Мб оно слишком длинное и через нижнее подчеркивание? и путь модель указывают в jass не через один обратный слэш "/", а через двойной слэш "//". Это на гуи один, на джаз два слэша

28
Какому Юниту ()
Не знаю точно что у тебя в русском редакторе - но тебе нужен - Triggering/Casting Unit вместо Юнит ()
Вообще юзать Wait не оч хорошо...
Ответы (6)
28
Daroro, думаю да. - я не уверен насчет перевода (но в твоем случае может Применяющий юнит = Casting Unit)
2
Roy Mustang, Да это оно, но мне нужно, чтобы это был союзный юнит, а не сам маг.
28
Daroro, Тогда тебе нужна - Цель Заклинания или что-то в этом духе
28
Roy Mustang, юнит триггера в большинство событий лезет, вместо того же кастера
28
rsfghd, Я знаю, но ему все равно был нужен Target of Ability Being Cast.
21
Сохрани юнита в переменную, и обращайся к ней, тогда сработает.
Принятый ответ
Ответы (2)
21
Daroro, Создать переменную юнита unit в редакторе переменных
В начале триггера сделать Установить переменную unit = юнит триггера итп
Давать абилку юниту unit.
И да, как правильно заметил nazarpunk, когда будет второй юнит, всё сломается. Поскольку локалок в гуи ещё не завезли (хотя давно можно было бы), чтобы это исправить, придётся изгаляться с массивом или хэш таблицей.
2
Кажется получилось, способность появляется и пропадает.
Загруженные файлы
31
Когда абилку кастанёт второй юнит всё сломается.
28
Может кто-то, лучше сделает - но вот мой вариант
я так же мог напортачить - триггеры не совсем мой конёк

Наши Переменные

Назначим способности под переменные

Действия при касте способности.

Убираем способность
Комментарий с длительностью пассивки лишний
Ответы (2)
2
Roy Mustang, спасибо вам, но мне интересно правильно ли я сделал триггер как без утечки памяти
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.