You can use FindPartsInRegion3 and find all of the parts in the region, then generate a random CFrame and position it. If the part is from a model,you’ll have to find that model, clone and position it. You’ll have to register that it’s already cooked in a table,so that it’s not cloned again
Well, you simply create a random Vector3 where each of its components (x, y, z) is a random number between each of the components of the two vectors that you used to define that region.
local v1 = Vector3.new(2,2,2)
local v2 = Vector3.new(5,5,5)
local v3 = Vector3.new(math.random(v1.X, v2.X), math.random(v1.Y, v2.Y), math.random(v3.Z, v3.Z))