function tc takes nothing returns boolean
	// GetConstructedStructure()- ???
    return true
endfunction
function ta takes nothing returns nothing
    // Action
endfunction

function Trig_A_Actions takes nothing returns nothing
    local trigger t = CreateTrigger(  )
    call TriggerAddCondition(t, Condition(function tc))
    call TriggerAddAction(t, function ta)
    call TriggerRegisterUnitInRange(t, GetConstructedStructure(), 500, null)
endfunction

//===========================================================================
function InitTrig_A takes nothing returns nothing
    set gg_trg_A = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_A, EVENT_PLAYER_UNIT_CONSTRUCT_FINISH )
    call TriggerAddAction( gg_trg_A, function Trig_A_Actions )
endfunction
Как вытащить в условие динамического триггера построенную структуру ?
Глобалка не подходит
Есть еще варианты кроме ХТ ?
Заносить структуру в группу и чекать периодическим триггером радиус не хочется

Принятый ответ

таймер я так понимаю глобальный делать ?
да. смотри чтоб менее утечный был, на гуи все действия мб утечны с группами
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
16
5 лет назад
0
только хт
всю логику в динамических триггерах нужно делать в Codnition, Action не уничтожаются и оставляют следы в памяти, поэтому в динамические их нельзя пихать
0
32
5 лет назад
0
Ну тут и триггер ненужен, то что к зданию кто то подошел можно проверить таймером, причем одним таймером на все здания...
0
20
5 лет назад
0
DracoL1ch:
только хт
всю логику в динамических триггерах нужно делать в Codnition, Action не уничтожаются и оставляют следы в памяти, поэтому в динамические их нельзя пихать
мануальная очистка тоже не помогает? Более детальная аналитика есть?
0
32
5 лет назад
0
Diaboliko, нет удаление конечно же помогает, но акшины нужно сохранять, а вот кондишены необязательно.
2
16
5 лет назад
2
никак не помогает. Создание action создает объект, который не чистится, по какой-то причине, после разрушения. Детальнее не скажу, сам тестил год назад примерно.
0
20
5 лет назад
0
Я все равно в танке, за рулем - слепая вера в кэширование кондишенов. (как известно оно точно кэшируется для фильтров по объектам, ну вот мне как-то приспичило все позапихивать в них) :D
0
16
5 лет назад
0
ну да, они кэшируются, поэтому вдвойне профитны для повторябющихся триггеров
0
9
5 лет назад
0
Hate, ммм
PT153, я знаю
Clamp, я знаю
DracoL1ch, да, читал об этом
quq_CCCP, можешь дать ссылку на пример, где один таймер отвечает за все ?
0
27
5 лет назад
Отредактирован MpW
0
можешь дать ссылку на пример, где один таймер отвечает за все ?
думаю имеет в виду таймером каждый раз выбирать в группу вокруг здания (функции есть такие, где выбираются в группу всех юнитов в опред радиусе от точки. Где точка - позиция нашего здания)
  1. сначала выбираешь группу здании (просто на карте выбираешь)
  2. затем вокруг каждого здания выбирает всех в еще одну группу
  3. что-то делаем со всеми попавшимися
0
9
5 лет назад
0
Steal nerves, постройку заносить в группу, для всех построек в этой группе чекать радиус и добавлять всех ко попадает в другую группу над которой будут производится определенные действия.
таймер я так понимаю глобальный делать ?
0
27
5 лет назад
0
таймер я так понимаю глобальный делать ?
да. смотри чтоб менее утечный был, на гуи все действия мб утечны с группами
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.