Как Правильно Делать Триггер при котором ЮНИТ к примеру ГЕРОЙ. Когда остаётся 10% хп начнёт бежать к Определённой области и там останавливатся. Покажи в виде Триггера. Больше спасибо помогающим нубасикам в Плане триггеров.
Принятый ответ
Привет, скрин+карта, может быть сразу и поймешь :)
Или конвертированый триггер в jass и немного сократить код, возможно так будет понятнее
globals
unit array HERO
endglobals
function Trig_BD_Func008002 takes nothing returns boolean
return ( GetUnitStateSwap(UNIT_STATE_LIFE,(HERO[GetPlayerId(GetOwningPlayer(GetBuyingUnit()))])) <= ((GetUnitState(HERO[GetPlayerId(GetOwningPlayer(GetBuyingUnit()))],UNIT_STATE_MAX_LIFE)) * 0.10 ) )
endfunction
function Trig_BD_Func010002 takes nothing returns nothing
call DisplayTextToForce( GetPlayersAll(), "У героя меньше 10% хп, отправляем его на базу" )
call IssuePointOrderLoc(HERO[GetPlayerId(GetOwningPlayer(GetBuyingUnit()))], "move", GetRectCenter(gg_rct_Base))
endfunction
function Trig_BD_Actions takes nothing returns nothing
local unit u=GetSoldUnit() // Запоминаем купленного Героя
local integer id=GetPlayerId(GetOwningPlayer(GetBuyingUnit())) //Запоминаем номер игрока купившего Героя
local trigger t=CreateTrigger()
set HERO[id]=u
call DisplayTextToForce( GetPlayersAll(), ( "HERO" + GetUnitName(HERO[0]) ) )
call TriggerRegisterUnitEvent( t, HERO[id], EVENT_UNIT_DAMAGED ) //Создаем Триггер с событием которое будет срабатывать, как наш герой получит урон
// Создаем условие которое будет проверять на количество ХП у героя
call TriggerAddCondition(t, Condition(function Trig_BD_Func008002) )
// А здесь будут все наши действия
call TriggerAddAction(t, function Trig_BD_Func010002 )
set u=null
set t=null
endfunction
//===========================================================================
function InitTrig_BD takes nothing returns nothing
set gg_trg_BD = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_BD, EVENT_PLAYER_UNIT_SELL )
call TriggerAddAction( gg_trg_BD, function Trig_BD_Actions )
endfunction
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
в случае чего могу закинуть аналог на гуи
Если честно я не смог это реализовать на гуи изначально, так как забыл про существование действия: добавить событие в уже существующий триггер.
Ты бы так сделал?