function InitTrig_SPELL_END takes nothing returns nothing
local trigger t = CreateTrigger()
local integer i = 0
loop
call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_FINISH, null)
set i = i + 1
exitwhen i == GetPlayerId(GetOwningPlayer(GetTriggerUnit()))
endloop
call TriggerAddAction(t, function SPELL_END )
set t = null
endfunction
local trigger t = CreateTrigger()
local integer i = 0
loop
call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_FINISH, null)
set i = i + 1
exitwhen i == GetPlayerId(GetOwningPlayer(GetTriggerUnit()))
endloop
call TriggerAddAction(t, function SPELL_END )
set t = null
endfunction
Принятый ответ
MATRITSA, причём тут событие?
чтобы существовал GetTriggerUnit() необходимо чтобы функция в которой он используется была вызвана по событию связанным с юнитом
функция InitTrig_SPELL_END вызывается из мейна и как следствие не содержит никакого юнита
элементарная логика же
короче сначала иди в школу (первые 4 класса)
а потом в статьи
чтобы существовал GetTriggerUnit() необходимо чтобы функция в которой он используется была вызвана по событию связанным с юнитом
функция InitTrig_SPELL_END вызывается из мейна и как следствие не содержит никакого юнита
элементарная логика же
короче сначала иди в школу (первые 4 класса)
а потом в статьи
и начни писать нормально
надоел слова коверкать
надоел слова коверкать
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
откуда там возьмется local unit u = GetTriggerUnit() ?
Ред. biridius
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_SPELL_FINISH)
или
call TriggerRegisterUnitEvent(t,GetTriggerUnit() ,EVENT_UNIT_SPELL_FINISH) так
я думал тригер создаст
не нифига всеравно не кастуюца
Ред. biridius
Ред. MATRITSA
local trigger t = CreateTrigger()
local integer i = 0
loop
call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_FINISH, null)
set i = i + 1
exitwhen i == 10
endloop
call TriggerAddAction(t, function SPELL_END )
set t = null
endfunction
развернутый врянт вот этого call TriggerRegisterAnyUnitEventBJ
и ана переберает по цыклу и выдает юнита и плеира а мне плеер не нужен тока юнит
все работала а я добавил вот это и стала не работати GetPlayerId(GetOwningPlayer(GetTriggerUnit())) почему кто знает
Ред. biridius
неработает потому что не сушествует GetTriggerUnit() этот момент
Ред. biridius
Но все равно это все ерунда, просто поменяй назад как было, не надо ломать то что работает. Эти события не нужно оптимизировать.