Пытаюсь при входе в морфа добавить ему способность от оригинала(если она существует у оригинала) и установить соответствующий уровень(какой установлен у оригинала), но не получается
знаю, что логически у меня он находит способность у самого себя, но как сделать правильно, что бы работал

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

Razor_dex, необходимо запоминать уровень во время "Юнит приводит способность в действие" и выдавать этот уровень уже в "Заканчивает применять способность". Это можно сделать через Custom Value юнита (UserData) или через хеш-таблицы.
Но самый просто вариант я уже сказал: после того, как юнит появился на карте, нужно сделать нужную способность постоянной.
А также есть опция сделать способность постоянной, которая позволяет способности оставаться после превращения. Она есть только в GUI JNGP.
На JASS.
call UnitMakeAbilityPermanent(unit, true, abil_rawcode)
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
28
5 лет назад
Отредактирован PT153
0
Тебе нужно событие "Заканчивает применять способность".
А также есть опция сделать способность постоянной, которая позволяет способности оставаться после превращения. Она есть только в GUI JNGP.
На JASS.
call UnitMakeAbilityPermanent(unit, true, abil_rawcode)

"Ничего не делать" бесполезное действие, оно было нужно в RoC. Лучше его не писать.
0
13
5 лет назад
0
PT153:
Тебе нужно событие "Заканчивает применять способность".
А также есть опция сделать способность постоянной, которая позволяет способности оставаться после превращения. Она есть только в GUI JNGP.
На JASS.
call UnitMakeAbilityPermanent(unit, true, abil_rawcode)

"Ничего не делать" бесполезное действие, оно было нужно в RoC. Лучше его не писать.
Пробовал, не получается, мне кажется проблема в условии, т.е он сравнивает уровень способности по логике не у оригинала, а у морфа, следовательно не выдает способность, а вот как в условии указать именно оригинала, т.е его нужно отследить и как то занести в память, только как...
2
28
5 лет назад
2
Razor_dex, необходимо запоминать уровень во время "Юнит приводит способность в действие" и выдавать этот уровень уже в "Заканчивает применять способность". Это можно сделать через Custom Value юнита (UserData) или через хеш-таблицы.
Но самый просто вариант я уже сказал: после того, как юнит появился на карте, нужно сделать нужную способность постоянной.
А также есть опция сделать способность постоянной, которая позволяет способности оставаться после превращения. Она есть только в GUI JNGP.
На JASS.
call UnitMakeAbilityPermanent(unit, true, abil_rawcode)
Принятый ответ
0
13
5 лет назад
Отредактирован SoulRazor
0
PT153, Спасибо, воспользовался простым способом, все работает
вот что вышло, все правильно?
и еще вопрос, эта функция не будет работать в 1.31 патче?
Загруженные файлы
1
28
5 лет назад
1
Razor_dex, локальные переменные должны быть определены в самом верху. После самого использования переменная должна быть обнулена set u = null. На втором скриншоте достаточно определить переменную в самом верху 1 раз.
и еще вопрос, эта функция не будет работать в 1.31 патче?
Почему не будет? Будет, как и все остальные старые функции.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.