Pular para o conteúdo

getElementsWithinRange

Compartilhada Elementos OOP Element.getWithinRange(...)

Lista os elementos dentro de um raio a partir de um ponto.

table getElementsWithinRange ( number x, number y, number z, number raio
[, string tipo, number interior, number dimensao ] )
NomeTipoPadrãoDescrição
x, y, znumber—Centro da busca.
raionumber—Raio. No servidor, não pode ser negativo.
tipostring—Se informado, filtra pelo tipo do elemento.
interiornumber—Se informado, só devolve elementos nesse interior.
dimensaonumber—Se informado, só devolve elementos nessa dimensão. Objetos visíveis em todas as dimensões passam sempre.

Tabela com os elementos encontrados, ou false se as coordenadas ou o raio não forem finitos ou, no servidor, se o raio for negativo. Elementos raiz nunca entram no resultado.

No cliente a busca percorre o índice espacial do cliente. Ela cobre jogadores, peds, veículos, objetos, armas, pickups, marcadores, colshapes, sons 3D, construções e holofotes, e aceita um elemento quando a esfera que o envolve encosta no quadrado em volta do centro no plano x/y; só quando tipo, interior ou dimensao é informado ela também confere a distância 3D até a posição do elemento. Um raio negativo conta como positivo, um raio ou centro além de 12000 unidades dá uma tabela vazia, um interior ou dimensao negativo registra um aviso e devolve false, e objetos visíveis em todas as dimensões não têm exceção.

local x, y, z = getElementPosition(jogador)
for _, alvo in ipairs(getElementsWithinRange(x, y, z, 20, "player")) do
setElementHealth(alvo, 0)
end