А если у меня приручено пять крипов, и нужно, чтобы каждый отдельный триггер реагировал только на одного крипа?)Если захват кастомный, то при захвате крипа
А когда юнит встаёт на триггер, то делаешь проверкуКод:unit.hero = caster
Код:if unit.hero and unit.hero:GetUnitName()=="npc_dota_hero_chen" then ... end
Всё-таки докопался.Нет, копайся дальше
if math.abs(point.x - point1.x) <= 128 and math.abs(point.y - point1.y) <= 128 then -- 128 - размер хитбокса триггера, point - положение крипа, point1 - положение триггера
-- Used to find if a position is insde the trigger entity bounds
function BuildingHelper:IsInsideEntityBounds(entity, location) -- entity = trigger | location = UnitPos
local origin = entity:GetAbsOrigin()
local bounds = entity:GetBounds()
local min = bounds.Mins
local max = bounds.Maxs
local X = location.x
local Y = location.y
local minX = min.x + origin.x
local minY = min.y + origin.y
local maxX = max.x + origin.x
local maxY = max.y + origin.y
local betweenX = X >= minX and X <= maxX
local betweenY = Y >= minY and Y <= maxY
return betweenX and betweenY
end
О, круто, спасибо! А то уже устал кастылить)Взял из билдинг хелпера как раз подойдет под твои нужды чтобы не выставлять в ручную размер триггера.
Lua:-- Used to find if a position is insde the trigger entity bounds function BuildingHelper:IsInsideEntityBounds(entity, location) -- entity = trigger | location = UnitPos local origin = entity:GetAbsOrigin() local bounds = entity:GetBounds() local min = bounds.Mins local max = bounds.Maxs local X = location.x local Y = location.y local minX = min.x + origin.x local minY = min.y + origin.y local maxX = max.x + origin.x local maxY = max.y + origin.y local betweenX = X >= minX and X <= maxX local betweenY = Y >= minY and Y <= maxY return betweenX and betweenY end