The velocity you are applying to the Turret could be so weak that it doesn’t fling, you can increase the velocity you are going to apply to the turret higher.
local VehicleTurret = VehicleMainParts.VehicleTurret:GetChildren()
And you tried to change properties of the table, ( :GetChildren() returns table of Children Instances )
Instead of this, you should do
local VehicleTurret = VehicleMainParts.VehicleTurret:GetChildren()
for i, v in pairs(VehicleTurret) do
if v:IsA('BasePart') then
v.Material = Enum.Material.Sandstone
v.BrickColor = BrickColor.new("Dark stone grey")
v.Anchored = false
v.CanCollide = false
v.Parent = workspace
v.Velocity = v.Velocity+Vector3.new(math.random(-25,25),math.random(25,50),math.random(-25,25)) * 100
v.RotVelocity = v.RotVelocity+Vector3.new(math.random(-10,10),math.random(10,10),math.random(-10,10)) * 100
print("Turret Disabled")
end
end
You should use for Loops to assign properties of childrens of a Instance.
Do not use a random velocity, instead I suggest getting the CFrame of (the middle of) the turret , then using the lookVector, upVector or rightVector for the upwards fling direction, this purely depends on how your model is rotated.
Then just add a tiny bit of random velocity and you’re finished.
Also I highly suggest that you keep the VehicleTurret welded and only put a high velocity & rotVelocity on one part, the center.
Else what will happen is the same as what current is going on: there will be forces working against eachother.
You can also make the force a lot stronger so that it works.
Finally I believe you might be forgetting to delete the weld which connects the base to the turret, you have to destroy this for the turret to pop off the base.