Всем привет. Как можно наиболее простым способом сделать скилл, который давал бы всем юнитам в области невидимость на определенное время?

Даммикаст способности "Невидимость волшебницы"
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
33
получит... чтобы юзать 1 даммики его надо более тонко настроить, а конкретно убрать ему скорость движения таким образом у него не будет поворота, и он сможет мгновенно обкастовывать толпы юнитов
32
Ну а вручение руны никто чет не догадался? Не требует даммиков, мгновенное, можно сделать и виндвалк.
7
quq_CCCP:
Ну а вручение руны никто чет не догадался? Не требует даммиков, мгновенное, можно сделать и виндвалк.
только перед вручением руны делайте PauseUnit(unit,boolean)
хотя надо нахер все паузы убрать и ставить вместо них BlzPauseUnitEx(unit,boolean) она работает с рунами не сбивает приказы виден панель способностей рефорджед функция топ!)
20
quq_CCCP, как дать обычному юниту руну, есть какой-нибудь мануал?
33
Yury13, Дать ему инвентнарь, например геройский, если что это способность, есть у каждого героя, но лишь на 1 мгновение, дать и сразу удалить..
А ещё не стоит давать руны негеройским существам, это вызывает фатал
32
Bergi_Bear, не стоит давать предметы на статы, не героям, прочим же юнитам с инвентарём можно, работает.

Я же писал статью ссылка
Там все описано и есть примеры, что надо делать. Руны прекрасно работают у любых типов юнитов, главное чтобы в них не оказались способности, требующие наличие красного плюса (Это отдельная абилка, которая есть лишь у героев) если юнит не герой, это все предметы на изменнение силы, ловкости и разума героев, это способность механика 'ANeg' = техника, все способности что взаимодействуют с опытом героя, или прочими чисто геройскими фишками.
Прочие же, вроде рун на повышение здоровья будут работать исправно, естественно нужно вручить инвентарь, дать руну, затем инвентарь удалить.


function UnitAddPowerUpItem takes unit u, integer id returns boolean // автор DracoL1ch, помогает безопасно вручать руны даже не героям.
    local item it
    local boolean invAdded = false
    local boolean added = true
    
    set it = CreateItem( id, GetUnitX( u ), GetUnitY( u ) )
    if GetUnitAbilityLevel(u, 'AInv') == 0 then     //AInv -> Inventory
        set invAdded = true
        call UnitAddAbility(u, 'AInv')              //AInv -> Inventory
    endif
    
    if UnitAddItem(u, it) == false then
        set added = false
    elseif GetWidgetLife(it) > 0.00 then
        set added = false
    endif
    
    call RemoveItem(it)
    
    if invAdded then
        call UnitRemoveAbility(u, 'AInv')           //AInv -> Inventory
    endif

    set it = null
    return added
endfunction

function IsUnitDead takes unit u returns boolean 
    return IsUnitType( u, UNIT_TYPE_DEAD ) or GetUnitTypeId( u ) < 1
endfunction
Вот код для вручения руны любому юниту, важно, проверяем жив ли юнит, чтобы не вручить способность сдохшему юниту и не словить фатал.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.