Как можно отловить исцеление?

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

Я делал так:
function UnitHealTarget takes unit whichUnit, unit target, real amount returns nothing
    local  real    maxLife      =  GetUnitState( target, UNIT_STATE_MAX_LIFE )
    local  real    currentLife  =  GetUnitState( target, UNIT_STATE_LIFE )

    if ( ( currentLife + amount ) > maxLife ) then
        set amount  =  maxLife - currentLife
    endif

    call SetWidgetLife( target, GetWidgetLife( target ) + amount )

    call SetScoreboardHeal( GetOwningPlayer( whichUnit ), GetScoreboardHeal( GetOwningPlayer( whichUnit ) ) + amount )
endfunction
То есть весь хил на карте должен быть триггерным.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
11
6 лет назад
0
Через бафф?
0
10
6 лет назад
0
orc01:
Через бафф?
А через действие дать бафф цели заклинания, хорошо.
А как тогда занести кол-во исцеления в таблицу?
0
11
6 лет назад
Отредактирован orc01
0
Loran124:
orc01:
Через бафф?
А через действие дать бафф цели заклинания, хорошо.
А как тогда занести кол-во исцеления в таблицу?
Нет. Делаешь проверку - есть ли у цели спецефический бафф и уже дальше делаешь так, как тебе нужно.
При исцелении лекаря у хуманов. ясен пень, на юнита накладывается бафф "Исцеление"
Ну а кол-во исцеления уже, верно, только через джасс отловить реально
0
10
6 лет назад
0
orc01,
ну как тогда занести кол-во исцеления в мультибоард\лидербоард?
(и да хил может быть аое, или еще какой-нибудь, и использовать исцеление приста-нет)
0
11
6 лет назад
0
Тут уже извиняй, бро, я не мастак. Отлов колличества исцеленных хит-поинтов не знаю как ловить. Верно, как-нибудь через джасс
1
21
6 лет назад
Отредактирован scopterectus
1
Я делал так:
function UnitHealTarget takes unit whichUnit, unit target, real amount returns nothing
    local  real    maxLife      =  GetUnitState( target, UNIT_STATE_MAX_LIFE )
    local  real    currentLife  =  GetUnitState( target, UNIT_STATE_LIFE )

    if ( ( currentLife + amount ) > maxLife ) then
        set amount  =  maxLife - currentLife
    endif

    call SetWidgetLife( target, GetWidgetLife( target ) + amount )

    call SetScoreboardHeal( GetOwningPlayer( whichUnit ), GetScoreboardHeal( GetOwningPlayer( whichUnit ) ) + amount )
endfunction
То есть весь хил на карте должен быть триггерным.
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.