Доброго времени суток. у меня такой вопрос можно ли как-то отловить зону по принципу:
юнит вошел в зону А
юнит вошел в зону Б
юнит вошел в зону В
Если Зона = зона А
Действие...
или же как-то занести данную зону в переменную?

naxim, можно сделать wait 0.40 Этого хватит, чтобы всё прореагировало...
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
33
Unit Enters Region? В действиях, соответственно, к «зоне» обращаться как Triggering Region.
1
Кет, ну проблема в том. что у меня несколько зон. возможно ли найти Triggering area для определения оной.
хочется сделать все в 1м скрипте а не к каждой зоне.
Кет, , а тогда такой вопрос... как обратиться? излазил все условия не нашел конкретно Triggering region, находил maxX,maxY и т.д. если не сложно можно пример?
33
А, блин, я забыл, что region и rect — не одно и то же.
Если знаешь JASS, можно так:
globals
    region reg1
    region reg2
    region reg3
endglobals

function Trig_region_Actions takes nothing returns nothing
    if GetTriggeringRegion() = reg1 then
        // do thing
    elseif GetTriggeringRegion() = reg2 then
        // do other thing
    else
        // do something
    endif
endfunction

//===========================================================================
function InitTrig_region takes nothing returns nothing
    set gg_trg_region = CreateTrigger()
    set reg1 = CreateRegion()
    call RegionAddRect(gg_rct_rect1)
    set reg2 = CreateRegion()
    call RegionAddRect(gg_rct_rect2)
    set reg3 = CreateRegion()
    call RegionAddRect(gg_rct_rect3)
    call TriggerRegisterEnterRegion(gg_trg_region, reg1, null)
    call TriggerRegisterEnterRegion(gg_trg_region, reg2, null)
    call TriggerRegisterEnterRegion(gg_trg_region, reg3, null)
    call TriggerAddAction(gg_trg_region, function Trig_region_Actions)
endfunction
33
Как на GUI решить эту проблему именно так, как ты хочешь, я даже и не знаю. Если попробовать по-другому, самое простое — сделать три триггера.
TriggeringRegion есть на GUI в UMSWE, но от этого не легче — области в игре создаются в виде переменных другого типа, чем возвращает это событие. Хз, почему так.
А, можно после срабатывания триггера проверять, в какой области находится юнит. Это тип условия Boolean Comparison, функция «Боевая единица — Unit In Region».
24
Логическое - юнит в регионе. Придётся проверять каждый отдельно. Или изначально занести все зоны в переменные[] и потом проверять циклом
16
А, можно после срабатывания триггера проверять, в какой области находится юнит. Это тип условия Boolean Comparison, функция «Боевая единица — Unit In Region».
Циклом. Но беда в том, что в момент, когда срабатывает событие вхождения юнита в регион, функция «Боевая единица — Unit In Region» не вернёт юнита в регионе, в который он вошёл, т.к. юнит должен успеть пройти дальше в регион, чтобы быть в нём.
Поэтому надо делать два региона. Один чуть больше и внутри него другой. И когда событие на вхождение во внутренний срабатывает, проверять находится ли юнит во внешнем.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.