SirNikolas, Code
function Trig_fake_shot_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A001' ) ) then
return false
endif
return true
endfunction
function Trig_fake_shot_Actions takes nothing returns nothing
call TriggerSleepAction( ( DistanceBetweenPoints(GetUnitLoc(GetTriggerUnit()), GetUnitLoc(GetSpellTargetUnit())) / 3000.00 ) )
set udg_deadeye_point = GetUnitLoc(GetTriggerUnit())
set udg_deadeye_angle = GetUnitFacing(GetTriggerUnit())
call UnitAddAbilityBJ( 'AOwk', GetTriggerUnit() )
call SetUnitAbilityLevelSwapped( 'AOwk', GetTriggerUnit(), GetUnitAbilityLevelSwapped('A001', GetTriggerUnit()) )
call IssueImmediateOrderBJ( GetTriggerUnit(), "windwalk" )
call CreateNUnitsAtLoc( 1, 'hfoo', GetOwningPlayer(GetSpellAbilityUnit()), udg_deadeye_point, bj_UNIT_FACING )
call UnitAddItemByIdSwapped( 'will', GetLastCreatedUnit() )
call UnitUseItemTarget( GetLastCreatedUnit(), GetLastCreatedItem(), GetSpellAbilityUnit() )
call DisplayTextToForce( GetPlayersAll(), "TRIGSTR_025" )
set udg_deletedummy = GetLastCreatedUnit()
call UnitRemoveAbilityBJ( 'AOwk', GetTriggerUnit() )
call StartTimerBJ( udg_timer, false, 5.00 )
endfunction
//===========================================================================
function InitTrig_fake_shot takes nothing returns nothing
set gg_trg_fake_shot = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_fake_shot, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_fake_shot, Condition( function Trig_fake_shot_Conditions ) )
call TriggerAddAction( gg_trg_fake_shot, function Trig_fake_shot_Actions )
endfunction
Почему если я перенёс вверх создание юнита, выдачу предмета и заюз всё заработало?
Тему close