You're mixing up the variables.
On line 6 of your script, you'll notice you create a variable named boom. This variable points to what the part, "meteor", touched. On line 8 of your script however, you create another variable named boom again.
How do I fix this?
You don't have to delete an explosion, it does it for you. If you want to delete the part the meteor touched, rename the variable boom, the first boom, to something else.
Example,
01 | local meteor = Instance.new( 'Part' , game.Workspace) |
03 | meteor.Anchored = false |
05 | meteor.Touched:connect( function (part) |
06 | if part.Name ~ = 'Baseplate' then |
07 | local boom = Instance.new( 'Explosion' , game.Workspace) |
08 | boom.Position = part.Position |
I also removed the part where you checked if boom exists, because it will always exist.
Good Luck!
if I helped, please don't forget to accept my answer.