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 класса)
а потом в статьи
и начни писать нормально
надоел слова коверкать
надоел слова коверкать
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован 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
Но все равно это все ерунда, просто поменяй назад как было, не надо ломать то что работает. Эти события не нужно оптимизировать.
Отредактирован MATRITSA
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 SPELL_ACT takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterUnitEvent(t,GetTriggerUnit(),EVENT_UNIT_SPELL_FINISH)
call TriggerAddAction(t, function F_SPELL_ACT )
set t = null
endfunction
Отредактирован biridius
на
call TriggerRegisterAnyUnitEventBJ(t,EVENT_UNIT_SPELL_FINISH)
в триггере "SPELL ACT" было EVENT_UNIT_SPELL_EFFECT
Отредактирован MATRITSA
call TriggerRegisterUnitEvent
я не заметил все исправил
но как не работала событие так и не работает и я фиг знает как его зделать рабочим call TriggerRegisterUnitEvent
чтобы существовал GetTriggerUnit() необходимо чтобы функция в которой он используется была вызвана по событию связанным с юнитом
функция InitTrig_SPELL_END вызывается из мейна и как следствие не содержит никакого юнита
элементарная логика же
короче сначала иди в школу (первые 4 класса)
а потом в статьи
надоел слова коверкать