Да, ищу возможность реализовать постоянно срабатывания триггера, когда герой находится на нём (ну или движется)Тебе нужно чтобы пока юнит ходит в триггере каждый кадр срабатывало событие?
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, с ними тоже нужно быть аккуратным, если их накопится очень много, то игра может тормозить, а при превышении лимита энтити просто вылетит.