Why aren't cloned scripts doing anything for newly instanced parts?

I tried to modify the old brickbattle slingshot script and try to fix it because it wasn’t dealing any damage. I was also trying to make the balls that it shot parent another cloned script from ReplicatedStorage.

The problem is, the scripts just don’t seem to work. When I tested them in other parts that weren’t instanced, they worked just fine and completed their functions. I wonder if it’s bug or if it’s something that I did wrong?

I’ve tried different solutions like cloning scripts from the tool itself before cloning scripts from ReplicatedStorage, which hasn’t worked. I couldn’t find anyone else with a similar problem or anything like this addressed on the developer hub, so it’s probably something I did wrong.

Here’s the part of code that makes the pellet the parent of the script:

WaitForChild(Tool, 'PelletScript'):clone().Parent = Pellet
WaitForChild(Tool, 'Damage Script'):clone().Parent = Pellet

function Fire(mouse_pos)

Can someone please explain what went wrong?

Actually I’ve found that this problem occurs for any part created by the tool. I tried to clone a seperate part as the projectile from ReplicatedStorage but the problem has still not been fixed.

I found another solution, I just edited the main script to make it so that when the part is touched the humanoid takes 100 damage, but the main problem still remains. Oh well.