Триггеры

vlad85151

Пользователь
24 Июн 2022
17
0
Есть ли свойство триггера, который срабатывал бы каждый раз, когда по нему ходят, то есть постоянно?
 
Тебе нужно чтобы пока юнит ходит в триггере каждый кадр срабатывало событие?
 
Вот это самый просто вариант я думаю, и он предполагает что у тебя есть библиотека с таймерами
Lua:
local units_in_trigger = {}

function OnStartTouch(event)
    units_in_trigger[event.activator] = true
end

function OnEndTouch(event)
    units_in_trigger[event.activator] = nil
end

Timers:CreateTimer(0.03, function()
    for unit, _ in pairs(units_in_trigger) do
        -- Делаем что нам нужно
    end
    return 0.03
end)
 
Вот это самый просто вариант я думаю, и он предполагает что у тебя есть библиотека с таймерами
Lua:
local units_in_trigger = {}

function OnStartTouch(event)
    units_in_trigger[event.activator] = true
end

function OnEndTouch(event)
    units_in_trigger[event.activator] = nil
end

Timers:CreateTimer(0.03, function()
    for unit, _ in pairs(units_in_trigger) do
        -- Делаем что нам нужно
    end
    return 0.03
end)
Низкий вам поклон!!!
 
Тебе нужно чтобы пока юнит ходит в триггере каждый кадр срабатывало событие?
Теперь появился новый вопрос. Можно ли изменить время исчезновения трупа крипа? Так как из-за того что его моделька пропадает не сразу, данные в памяти изменяются только секунд через 5
 
Как изменить? Уменьшить или увеличить?
Можно изменить время через которое удаляется юнит после смерти сразу для ВСЕХ юнитов в игре с помощью консольной команды, но это неприменимо в реальной игре, только в режиме разработчика, когда включены читы. Но есть некоторые виды юнитов, которые после смерти вообще не удаляются, например npc_dota_lone_druid_bear, с ними тоже нужно быть аккуратным, если их накопится очень много, то игра может тормозить, а при превышении лимита энтити просто вылетит.
 
Как изменить? Уменьшить или увеличить?
Можно изменить время через которое удаляется юнит после смерти сразу для ВСЕХ юнитов в игре с помощью консольной команды, но это неприменимо в реальной игре, только в режиме разработчика, когда включены читы. Но есть некоторые виды юнитов, которые после смерти вообще не удаляются, например npc_dota_lone_druid_bear, с ними тоже нужно быть аккуратным, если их накопится очень много, то игра может тормозить, а при превышении лимита энтити просто вылетит.
Спасибо за ответ, необходимо было уменьшить, но проблема уже решена.
 
Реклама: