function Trig_Move_Region1_Conditions takes nothing returns nothing
endfunction
function Trig_Move_Region1_Actions takes nothing returns nothing
set gg_rct_Tel1RECT = RectFromCenterSizeBJ(GetUnitLoc(gg_unit_h005_0060), 600.00, 600.00)
endfunction
===========================================================================
function InitTrig_Move_Region1 takes nothing returns nothing
call TriggerRegisterTimerEventPeriodic( gg_trg_Move_Region1, 0.40 )
call TriggerAddAction( gg_trg_Move_Region1, function Trig_Move_Region1_Actions )
endfunction
endfunction
function Trig_Move_Region1_Actions takes nothing returns nothing
set gg_rct_Tel1RECT = RectFromCenterSizeBJ(GetUnitLoc(gg_unit_h005_0060), 600.00, 600.00)
endfunction
===========================================================================
function InitTrig_Move_Region1 takes nothing returns nothing
call TriggerRegisterTimerEventPeriodic( gg_trg_Move_Region1, 0.40 )
call TriggerAddAction( gg_trg_Move_Region1, function Trig_Move_Region1_Actions )
endfunction
Для перемещения области я использую этот код, однако, когда боевая единица заходит в перемещенную область (другой триггер событие Unit Enter region Tel1RECT)то ничего не происходит.... как так и что делать?
Принятый ответ
Сделал простой пример на jass. Если пехотинец в радиусе 300 от паладина, ему дается способность доспех веры.
jass
globals
unit Unit1
unit Unit2
timer Timer = CreateTimer()
endglobals
function Trig_sample_Conditions takes nothing returns boolean
return GetFilterUnit() == Unit2 and GetUnitAbilityLevel(GetFilterUnit(), 'AHad') == 0
endfunction
function Trig_sample_Actions2 takes nothing returns nothing
if not IsUnitInRange(Unit1, Unit2, 300.) then
call UnitRemoveAbility(Unit2, 'AHad')
call PauseTimer(GetExpiredTimer())
endif
endfunction
function Trig_sample_Actions takes nothing returns nothing
call UnitAddAbility(Unit2, 'AHad')
call TimerStart(Timer, .1, true, function Trig_sample_Actions2)
endfunction
//===========================================================================
function InitTrig_sample takes nothing returns nothing
local trigger trig = CreateTrigger( )
set Unit1 = CreateUnit(Player(0), 'Hpal', 0., 0., 0.)
set Unit2 = CreateUnit(Player(0), 'hfoo', 0., 0., 0.)
call TriggerRegisterUnitInRange(trig, Unit1, 300., function Trig_sample_Conditions)
call TriggerAddAction(trig, function Trig_sample_Actions)
endfunction
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Так же есть событие - Event Units in Range. Кто то подошел к юниту.
Отредактирован ApEJI
И какое событие создать в таком случае?
Или
Если мой код двигает регион(хотя я был уверен что рект) то как двигать рект?
Так же что мешает просто проверять координаты.
Отредактирован nvc123
так ты ведь ничего нигде не перемещаешь
просто создал новый рект и всё
Отредактирован N7 Molot
Отредактирован nvc123
для передвижения ректа функция MoveRectTo
только quq_CCCP слегка перепутал
событие создаётся на регион
а регион двигать нельзя