Quadtree utilities for FiveM
Set it as a dependency in you fxmanifest.lua
client_script '@quadtree/quadtree.lua'
local tree = QuadTree.new({
center = vector3(4000.0,4000.0,30.0),
size = vector3(8000.0,8000.0,8000.0)
}, 10)
for i=1,10000 do
local x = math.random(0,8000)
local y = math.random(0,8000)
local z = math.random(0,8000)
tree:insert_point(vector3(x,y,z))
end
print(tree)
print(tree.topleft)
print(tree.topright)
print(tree.bottomleft)
print(tree.bottomright)
print(tree.topleft.topleft)
print(tree.topleft.topright)
print(tree.topright.topleft)
print(tree.topright.topright)
print(tree.topleft.topleft.topleft)
print(tree.topleft.topleft.topleft.topleft)
print("point by rectangle",#tree:query_points_by_rectangle({
center = vector3(222.0,4000.0,30.0),
size = vector3(40000.0,40000.0,40000.0)
}))
print("point by point",#tree:query_points_by_point(vector3(1.0,1.0,30.0),1000))
print("point by circle",#tree:query_points_by_point(vector3(1.0,1.0,30.0),100000))