Code
function NoSelect_Action takes nothing returns nothing
local unit u
local player pl
set u=GetTriggerUnit()
set pl=GetOwningPlayer(u)
if( IsUnitSelected(u,pl)==false) then
return
endif
call ClearSelectionForPlayer(pl)
if (GetConvertedPlayerId(pl)<5 ) then
call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetUnitLoc(gg_unit_haro_0001) )
else
call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetUnitLoc(gg_unit_haro_0000) )
endif
endfunction
function InitTrig_NoSelect1 takes nothing returns nothing
set gg_trg_NoSelect1 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_NoSelect1, EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerAddAction( gg_trg_NoSelect1, function NoSelect_Action )
endfunction
Теоретически если игрок хочет послать юнита в другое место ,то триггер ловит это событие и если юнит выделен этим игроком то снимается выделение и юнит отсылается по прежнему маршруту. Если выделение не снимать ,то всё зациклится.