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 класса)
а потом в статьи
и начни писать нормально
надоел слова коверкать
надоел слова коверкать
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
вобщем меняй на exitwhen i > 15
а вот тут что не так
function SPELL_ACT takes nothing returns nothing
if ( IsUnitInGroup(GetTriggerUnit(), udg_OtratALL[94]) == false ) {
SpellLink.execute(GetSpellAbilityId(), 0)
set udg_TrigerUnit = GetTriggerUnit()
set udg_IndexPlayer = GetUnitUserData(udg_TrigerUnit)
call DisplayTextToForce( GetPlayersAll(), I2S(udg_IndexPlayer) )
}
endfunction
function InitTrig_SPELL_ACT takes nothing returns nothing
local trigger t = CreateTrigger()
local unit u = GetTriggerUnit()
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_SPELL_FINISH)
call TriggerAddAction(t, function SPELL_ACT )
set t = null
set u = null
endfunction
откуда там возьмется local unit u = GetTriggerUnit() ?
Ред. biridius
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_SPELL_FINISH)
или
call TriggerRegisterUnitEvent(t,GetTriggerUnit() ,EVENT_UNIT_SPELL_FINISH) так
я думал тригер создаст
не нифига всеравно не кастуюца
Ред. biridius