Всем привет! а функция:
call BlzSetAbilityIntegerLevelFieldBJ( BlzGetItemAbility(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I01C'), 'A01G'), ABILITY_ILF_SUMMON_1_AMOUNT, 1, 15 )
вообще рабочая? я так понимаю, можно изменить поле в самой способности, что упрощает множество старых наработок.
но что-то она у меня не срабатывает
в коде я написал, что у способности предмета, переносимого героем по типу = "Книга Мертвых" - меняю поле количество призыва юнитов тип 1 и ставлю количество - 15, на первом уровне способности. Но он по-прежнему призывает 4ых

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

Может и не работать, лично не проверял, но кажись 0 уровень = 1, попробуй
BlzSetAbilityIntegerLevelFieldBJ( BlzGetItemAbility(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I01C'), 'A01G'), ABILITY_ILF_SUMMON_1_AMOUNT, 0, 15 )
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
32
5 лет назад
Отредактирован Берги
2
Может и не работать, лично не проверял, но кажись 0 уровень = 1, попробуй
BlzSetAbilityIntegerLevelFieldBJ( BlzGetItemAbility(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I01C'), 'A01G'), ABILITY_ILF_SUMMON_1_AMOUNT, 0, 15 )
Принятый ответ
0
16
5 лет назад
0
Bergi_Bear, сейчас проверю, я правильно понял, кто-нибудь вообще эти функции проверял?
Bergi_Bear, братишка ты прав, лол. Офигеть - это просто золотые функции!!!!!!!!!!!!!!!!!! Все работает!
0
29
5 лет назад
0
Может и не работать, лично не проверял, но кажись 0 уровень = 1, попробуй
Все Blz* функции 0 indexed, это было в описании патча.
кто-нибудь вообще эти функции проверял?
На хайве проверяли.
TeX13, что за странная любовь к BJ? Вы бы хоть посмотрели, во что они раскрываются:
function GetInventoryIndexOfItemTypeBJ takes unit whichUnit, integer itemId returns integer
    local integer index
    local item    indexItem

    set index = 0
    loop
        set indexItem = UnitItemInSlot(whichUnit, index)
        if (indexItem != null) and (GetItemTypeId(indexItem) == itemId) then
            return index + 1
        endif

        set index = index + 1
        exitwhen index >= bj_MAX_INVENTORY
    endloop
    return 0
endfunction

function GetItemOfTypeFromUnitBJ takes unit whichUnit, integer itemId returns item
    local integer index = GetInventoryIndexOfItemTypeBJ(whichUnit, itemId)

    if (index == 0) then
        return null
    else
        return UnitItemInSlot(whichUnit, index - 1)
    endif
endfunction
0
16
5 лет назад
0
NazarPunk, а как поступить? при желании, я бы выбирал "AbillityBeingCast", но там либо спел предмета, либо спел героя
2
29
5 лет назад
2
TeX13, так в чём проблема, абилку можете получить с помощью GetSpellAbility(). Останется только выбрать событие, при котором можно изменить данные способности. Они срабатывают в таком порядке:
  • EVENT_PLAYER_UNIT_SPELL_CHANNEL
  • EVENT_PLAYER_UNIT_SPELL_CAST
  • EVENT_PLAYER_UNIT_SPELL_EFFECT
  • EVENT_PLAYER_UNIT_SPELL_ENDCAST
  • EVENT_PLAYER_UNIT_SPELL_FINISH
0
16
5 лет назад
0
NazarPunk, огромное спасибо, я знаю функции, только которые конвертируются из ГУИ.
2
29
5 лет назад
2
я знаю функции, только которые конвертируются из ГУИ.
Все с конвертирования начинали, я тоже иногда малоиспользуемые вещи конвертацией узнаю))
А на последнем патче можно и на lua перейти. Можно набрать ключевые слова и IDE вам все варианты покажет)
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.