Here's how it goes: https://streamable.com/8xl8ty
local speed = script.Parent.Main.Speed.Value
function fire()
local NewShell = Instance.new("Part", game.workspace)
NewShell.Transparency = 0
NewShell.Position = script.Parent.Barrel.Position
NewShell.Velocity = script.Parent.Barrel.CFrame.RightVector * speed
wait(0.1)
NewShell.Touched:Connect(function(TouchedPart)
print(TouchedPart.Name)
NewShell.Anchored = true
end)
print("works")
end
script.Parent.Button.ClickDetector.MouseClick:Connect(fire)

2 comments
there is no invisible part?
No invisible part, if I move the cannon forwards past the baseplate - the part just drops okay and does not touch anything.