Есть функция, которая вытаскивает координаты точки, куда была применена способность, событием "приводит способность в действие" если тип цели у способности точка?
Или координаты можно вытащить только событием "отдал приказ цель точка" через GetOrderPointXY() ?

constant native GetSpellTargetLoc           takes nothing returns location
native GetLocationX             takes location whichLocation returns real
native GetLocationY             takes location whichLocation returns real
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
Хотя мне казалось что заклинания которые юнит поддерживает (channeling) тоже запускают "EVENT_PLAYER_UNIT_SPELL_CAST".
Я тестировал, EVENT_PLAYER_UNIT_SPELL_CAST и EVENT_PLAYER_UNIT_SPELL_CHANNEL абсолютно одинаковые события.
А что именно не работает?

constant native GetSpellTargetLoc           takes nothing returns location
Лучше это.
constant native GetSpellTargetX				takes nothing returns real
constant native GetSpellTargetY				takes nothing returns real

function SCOnDeathFilter takes nothing returns boolean
  local boolean isConvertable = false
  local unit u = GetDyingUnit()
  set isConvertable = not IsUnitType(u, UNIT_TYPE_UNDEAD) and not IsUnitType(u, UNIT_TYPE_MECHANICAL)
  return isConvertable and (SCQuantity > 0)
endfunction
Забыл про обнуление.
function SCOnDeathFilter takes nothing returns boolean
    return (SCQuantity > 0) and not (IsUnitType(GetDyingUnit(), UNIT_TYPE_UNDEAD) or IsUnitType(GetDyingUnit(), UNIT_TYPE_MECHANICAL))
endfunction
21
PT153, ты уверен? точно одно не срабатывает раньше другого?
30
Лучше это.
constant native GetSpellTargetX takes nothing returns real
constant native GetSpellTargetY takes nothing returns real
Странно, Function List о них не знает
function SCOnCastCallback takes nothing returns nothing
// Забыли 
call RemoveLocation(loc)
И заклинание лучше всего в library обернуть.
Загруженные файлы
28
ты уверен? точно одно не срабатывает раньше другого?
Может одно и срабатывает раньше на пару микро или наносекунд.
Нет, я ставил таймер, они срабатываю одновременно.
Я хотел статейку накатать о способностях вообще, но лень)
Вот тестовая карта.
Загруженные файлы
28
Странно, Function List о них не знает
TESH обнови. Но тогда, правда, подсветка cJass пропадёт.
30
TESH обнови. Но тогда, правда, подсветка cJass пропадёт.
Тогда проще будет запомнить.

Это ж нужно будет обновить опубликованные заклинания, а то как дурак через Location((
22
Да, он остался в памяти потому что он нужен в другой функции: SCOnDeathCallback
И затем удаляется когда он больше не нужен.
Попрошу модератора удалить оффтопик.
28
Указатель на объект обнулили, а Location остался в памяти
Да не факт. В статье ADOLF писал, что удалять не надо.
Я вот из-за таких непоняток и не использую точки.
30
Я вот из-за таких непоняток и не использую точки.
Согласен, координаты всяко лучше и не плодят мусора наподобии
call RemoveLocation(loc)
set loc = null
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.