Hola a todos, tengo una pequeña duda que me ocurre con un calculo. Intento hacer que en el mapa aparezcan zonas (radarareas) en especifico por todo el mapa y que a la vez, estas no choquen entre ellas o con las zonas ya existentes en el mapa. Cree esta función, pero igualmente de vez en cuando chocan algunas radarareas entre si o con las ya existentes y no se como hacer. Si alguien es tan amable de ayudarme con esta formula, le estaría eternamente agradecido. La formula que yo había diseñado era esta:
function isPositionsAble(x, y, size)
local bool = true
for i, k in ipairs(getElementsByType("radararea")) do
local rx, ry = getElementPosition(k)
local rw, rh = getRadarAreaSize(k)
--
local h = (x < rx ) ~= (x + size < rx ) or ( x > rx ) ~= ( x > rx + rw)
local v = (y < ry ) ~= (y + size < ry ) or ( y > ry ) ~= ( y > ry + rh)
--
if ( h ) and ( v ) then
bool = false
break
else
bool = true
end
end
---
return bool
end
Pero, de igual forma como dije, las radarareas se siguen creando una sobre la otra, o chocan entre ellas o con las ya existentes en el mapa.
Gracias de antemano por leer