local rnd = Random.new() local minTimePerDrop = 2 local maxTimePerDrop = 6 local minFallVelocity =-5 local maxFallVelocity = -15 local tools = game.ReplicatedStorage.Tools:GetChildren() while true do task.wait(rnd:NextNumber(minTimePerDrop, maxTimePerDrop)) local drop = script:WaitForChild("Drop"):Clone() local randomPos = Vector3.new( rnd:NextNumber(-512,512), 200, rnd:NextNumber(-512,512) ) local newCF = CFrame.new(randomPos) * CFrame.Angles(0,rnd:NextNumber(0,2 * math.pi), 0) drop:PivotTo(newCF) local atch0 = Instance.new("Attachment") atch0.Name = "Attachment0" atch0.Parent = drop.Crate local lv = Instance.new("LinearVelocity") lv.MaxForce = math.huge lv.RelativeTo = Enum.ActuatorRelativeTo.World lv.VelocityConstraintMode = Enum.VelocityConstraintMode.Vector lv.VectorVelocity = Vector3.new( rnd:NextNumber(-5,5), rnd:NextNumber(maxFallVelocity,minFallVelocity), rnd:NextNumber(-5,5) ) lv.Attachment0 = atch0 atch0.Parent = drop.Crate local av = Instance.new("AngularVelocity") av.MaxTorque = math.huge av.RelativeTo = Enum.ActuatorRelativeTo.Attachment0 av.AngularVelocity = Vector3.new(0, rnd:NextNumber(-1,1),0) av.Attachment0 = atch0 av.Parent = drop.Crate drop.Crate.Touched:Connect(function(hit) local plr = game.Players end) end