I think the logical solution to this would be Region3 . The post below is an example of how you can use it.
local pos1 = part.Position - (part.Size / 2 + Vector3.new(0,0,0))
local pos2 = part.Position + (part.Size / 2 + Vector3.new(0,50,0))
local region = Region3.new(pos1, pos2)
game:GetService("RunService").Stepped:Connect(function()
for i,v in pairs(workspace:FindPartsInRegion3(region, part, math.huge)) do
if v.Parent:FindFirstChild("Humanoid") then
print('You are in region!: ', v.Parent:FindFirstChild("Humanoid").Parent.Name)
end
end
end)
You need to set the pos…
You can also use Zone+ created by @ForeverHD . The post below includes the answers to any questions you might have about the module and several examples of how to use it.
Disclaimer: Updates are planned to modernize ZonePlus for 2026 - you can listen out for these at our community server - please note inbetween I won’t be monitoring this thread or codebase
[ZonePlus v3]
Source Code | Documentation | Playground
ZonePlus utilises the new Spatial Query API and Whitelists to effectively determine players, parts and custom items within a zone. You can have as many zones as you like, as large as you like, with zero-to-minimal ad…
3 Likes