Есть такой триггер:
Юнит приводит способность в действие
в условии применяемая способность = 1
В действии:
Юнит добавить способность 1 цель способности
Вопрос такой, мне нужно спустя время удалить способность 1 юниту, который получил ее.
Как это можно осуществить?

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

Все получилось. Спасибо всем за помощь)
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
6 лет назад
0
Похожие вопросы:

ответ
Ох уж эти отловы урона
ответ
это баг карты
попробуй удалить их в обычном редакторе либо через mpq
ответ
на сколько я понял проблема в том что после смерти способность не удаляется
тогда нужен триггер с событием юнит умирает
и если юнит герой то удалять эту способность
Melissa:
Ну и если вдруг скилл используют одновременно или почти одновременно десятки юнитов - то не у всех панцирь будет корректно удаляться.
можно решить локалками
ответ
Ну хз, ручками удали скилл слк или тхт, хз как там у тебя, после деоптимизации карты (снятия защиты) часто бывают баги с обьектными данными, попробуйте другой деоптимизатор, или правьте ручками...

0
26
6 лет назад
0
самый примитивный это использовать wait, но он работает неточно, и если будет несколько таких применений, начнутся оч инересные вещи, так что в другом случае учитесь работать с таймерами и параллельными массивами, хеш таблицами, локальными переменными, все есть в базе статей и тонна примеров в теме с заклинаниями на заказ
0
3
6 лет назад
0
Hate:
самый примитивный это использовать wait, но он работает неточно, и если будет несколько таких применений, начнутся оч инересные вещи, так что в другом случае учитесь работать с таймерами и параллельными массивами, хеш таблицами, локальными переменными, все есть в базе статей и тонна примеров в теме с заклинаниями на заказ
Я ставил таймер, после прописывал - удалить способность 1 цель способность. Но ничего не вышло, как я понимаю, потому, что триггер через время не запоминает цель способности.
0
21
6 лет назад
0
все верно, не запоминает
используй локальные переменные и сохраняй в них цель способности
как-то так xgm.guru/p/wc3/216678?postid=400696#comment3
у тебя офк не триггеринг сохранять надо а target of ability being cast
0
21
6 лет назад
Отредактирован biridius
0
Likon, кидай скриншот своего триггера сюда
прикрепить файлы > потом "вставить ссылку на файл"
0
3
6 лет назад
0
Загруженные файлы
0
21
6 лет назад
Отредактирован ClotPh
0
да всё правильно не сохраняется
создавай глобальную переменную unit и делай так:
Custom script: local unit u
set unit = Target unit of ability being cast
Боевая единица add нужную способность to unit
Custom script: set u = udg_unit
wait 2.00 seconds
Custom script: set udg_unit = u
Боевая единица Remove нужную способность from unit
Custom script set u = null
всё
всё будет действовать
это всё равно не идеально, т. к. вейт, но не сложно, тебе пока пойдет
0
3
6 лет назад
0
ClotPh:
да всё правильно не сохраняется
создавай глобальную переменную unit и делай так:
Custom script: local unit u
set unit = Target unit of ability being cast
Боевая единица add нужную способность to unit
Custom script: set u = udg_unit
wait 2.00 seconds
Custom script: set udg_unit = u
Боевая единица Remove нужную способность from unit
Custom script set u = null
всё
всё будет действовать
это всё равно не идеально, т. к. вейт, но не сложно, тебе пока пойдет
У меня вылазят ошибки в кастом скрипт. Я в этом деле полный ноль. Создал переменную боевая единица, без массива и под название unit ну и дальше как ты писал.
0
28
6 лет назад
0
Likon, скрины того что получилось и скрины ошибок
Likon:
Я в этом деле полный ноль
поэтому у нас есть куча статей которые помогут тебе стать про
0
3
6 лет назад
0
nvc123:
Likon, скрины того что получилось и скрины ошибок
Likon:
Я в этом деле полный ноль
поэтому у нас есть куча статей которые помогут тебе стать про
Загруженные файлы
3
28
6 лет назад
Отредактирован nvc123
3
Likon, Custom script: local unit u это одна строка
set unit = Target unit of ability being cast это не кастом скрипт а действие
0
21
6 лет назад
0
Не с Triggering unit удаляй, а с unit! Ты же unit из локальной переменной достаешь
Custom script: set u = null в конце не забудь
без него будет действовать но будет утечка
А вот это
Custom script: set u = udg_unit
Custom script: set udg_unit = u
вроде сделал правильно и где нужно
только проверь, нет ли лишних пробелов
ты пойми ты один раз такой шаблон запилишь потом всегда будешь им пользоваться и будет легче
0
26
6 лет назад
0
ClotPh:
Custom script: set u = null в конце не забудь
без него будет действовать но будет утечка
Разве утечки не будет при обнулении переменной? Раньше читал, что только Remove избавляет от утечки.
2
26
6 лет назад
2
8gabriel8:
ClotPh:
Custom script: set u = null в конце не забудь
без него будет действовать но будет утечка
Разве утечки не будет при обнулении переменной? Раньше читал, что только Remove избавляет от утечки.
как бы удалять объект или ссылку на объект разные вещи
0
3
6 лет назад
Отредактирован Likon
0
ClotPh:
Не с Triggering unit удаляй, а с unit! Ты же unit из локальной переменной достаешь
Custom script: set u = null в конце не забудь
без него будет действовать но будет утечка
А вот это
Custom script: set u = udg_unit
Custom script: set udg_unit = u
вроде сделал правильно и где нужно
только проверь, нет ли лишних пробелов
ты пойми ты один раз такой шаблон запилишь потом всегда будешь им пользоваться и будет легче
Так, добавил в конце Custom script: set u = null
и такая ошибка вылазит
а переменная правильно сделана?
Загруженные файлы
0
21
6 лет назад
0
Likon, лишний раз написал "custom script: custom script"
еще забыл после добавления абилки занести unit = Target unit of ability being cast
0
3
6 лет назад
0
еще забыл после добавления абилки занести unit = Target unit of ability being cast
Это как сделать?
0
21
6 лет назад
Отредактирован biridius
0
перед занесением set u = unit, а то у тебя в unit пусто
Загруженные файлы
4
3
6 лет назад
4
Все получилось. Спасибо всем за помощь)
Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.