XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
happy_horror
2 + 2 = 22 :-D
offline
Опыт: 7,818
Активность:
Как вернуть в переменную уровень применяемой абилки?
Как вернуть в переменную уровень применяемой абилки?
При условии что это будет внутри триггера...
Стандартный метод записи в глобалку ,при изучении способности юнитом ,не годится...т.к. юнитов несколько, да и значение должно быть записано в локальной переменной.
Если это возможно только через RB то желательно примерчеГ, по возможности...
Старый 05.03.2008, 15:27
J
expert
offline
Опыт: 48,447
Активность:
Код:
local integer lvl = GetUnitAbilityLevel(GetSpellAbilityUnit(), GetSpellAbilityId())

?
Старый 05.03.2008, 15:50
adic3x

offline
Опыт: 108,439
Активность:
тт, в варе потоки не пересекаються=/ пусть афтор норм обьяснит что ему нужно
Старый 06.03.2008, 13:53
happy_horror
2 + 2 = 22 :-D
offline
Опыт: 7,818
Активность:
Способ, описанный Jon'ом работает, подробнее - у меня есть тригерное заклинание, в котором есть переменная (integer) в которую мне нужно поместить уровень применённой способности, далее эта переменная будет использована для циклов и вычислений...
Старый 06.03.2008, 15:49
happy_horror
2 + 2 = 22 :-D
offline
Опыт: 7,818
Активность:
Почему если я определяю лвл эффекта способности (доспехи веры) он всегда пишется 1? Хотя сам эффект чётко отображает 2 и 3 левлы??
Старый 24.03.2008, 13:56
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
happy_horror
Потому что телепатов пока новых нет, а старые отдыхают на Багамах.
Код в студию!
Старый 24.03.2008, 16:33
happy_horror
2 + 2 = 22 :-D
offline
Опыт: 7,818
Активность:
весь класть не будут но вот хотя б кусок

Код:
set c = 0
    loop
    exitwhen c == 1 //проверяем наличие у юнита бафов/способностей дающих бонус защиты
        if GetUnitAbilityLevel(Attacked,1093677105 + c) != 0 then
        set lvl = GetUnitAbilityLevel(Attacked,1093677105 + c)
        call DisplayTextToForce( GetPlayersAll(), I2S(lvl))//это строка выводит на экран уровень абилки которая проверяется
        set BonusArmor = BonusArmor + GetStoredReal(udg_cache,"DB Buffs",I2S(1093677105 + c) + "lvl" + I2S(lvl))
        endif 
        set c = c + 1
    endloop


сразу поясню длинное число - это рав-код спела в 10-ичной системе, изначально я нацелил его на проверку заклинания (доспехи веры - именно заклинания а не способности, рав-код этого заклинания есть копия оригинала с ID I001:BHad)

так получается что на юните аура показывает лвл 2 - но как я понял, само заклинание - эффект не содержит в себе левла способности распространяемой на местность.
Старый 24.03.2008, 19:27
Аминь
Crazy about that shit
offline
Опыт: 3,214
Активность:
омг о_0 равзве интеджер может хранить такое число?
Старый 24.03.2008, 19:35
S

offline
Опыт: 43,833
Активность:
если c == хекс, то по-моему его надо записывать как 'c'... + афтор - непарьсо - первые 4 знака - равкод абилы =\ I000, I001, I002 и.т.п - равкоды, то что после двоеточия не записывают... по крайней мере так делаю я.
Старый 24.03.2008, 21:07
J
expert
offline
Опыт: 48,447
Активность:
после дввоеточия стоит равкод абилки на основе которой сделана эта...
Старый 24.03.2008, 21:16
happy_horror
2 + 2 = 22 :-D
offline
Опыт: 7,818
Активность:
Дело не в рав коде, тут всё работает замечательно, я переводил равкоды потому-что код абилы пищется либо хексом либо десятичным, я записывал десятичными...

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

А функция
Код:
set lvl = GetUnitAbilityLevel(Attacked,1093677105 + c)
почему-то всегда определяет уровень заклинания (эффекта ауры) как 1, а должен быть по идее уровень способности, или я не прав?

P.S. возможно конешно, что эффект/заклинание ауры не улавливает уровня самой способности, но при этом в игре почему-то подписывается верно, т.е. наводим на иконку ауры и там пишется: Уровень n и т.д.
Старый 25.03.2008, 02:24
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 18:07.