Con esta funcion puedes optener todo los jugadores cercanos al jugador seleccionado y en un rango establecido:
function getPlayersInRange(playerSource, range) local x, y, z = getElementPosition(playerSource) local playersInRange = {} local count = 0 for _, player in ipairs(getElementsByType("player")) do if player ~= playerSource then local px, py, pz = getElementPosition(player) if getDistanceBetweenPoints3D(x, y, z, px, py, pz) <= range then count = count + 1 table.insert(playersInRange, player) end end end return count > 0 and playersInRange or false end
Ejemplo de uso:
function mostrarJugadoresCercanos(source) local players_in_range = getPlayersInRange(source, 4) for _, player in ipairs(players_in_range) do outputChatBox(getPlayerName(player), source) end end addCommandHandler("cercanos", mostrarJugadoresCercanos)