Does anyone know what this error means?to provide context, Im using a local script to make another local script parent the players character when they equip their tool, and make it so when the player unequips their tool the local script that was parented gets destroyed. but whenever i equip the weapon again, this error shows up
I believe it’s an instance that had :Destroy() called on it or one of it’s ancestors, but is still referenced inside of a script.
Demonstrated here:
i dont really get it, how come it does it for me when i didnt parent and destroy it at the same time?
I’m assuming dash is a script. Deleting scripts from within themselves can always cause some weirdness.
You can try using Debris Service’s Debris:AddItem(script, 1)
, which should give it some delay and may not cause the error.
i tried this and it still gave me the same error as before
The error you’re getting is from trying to parent an item you’ve already destroyed. Are you cloning the script and moving it? Or are you moving the original script itself?
What im trying to do is make a clone of the script each time the player equips their tool, when they unequip it the script gets destroyed, then after that when the player equips it again a new clone of the script is made and parented just like before
Yeah. But I see that you’re using Debris:AddItem()
on the same variable that you’re then setting to another parent on the following line
thats because i want the clone to be parented to the players character
ohhh i think i get the problem now, the script in the replicated storage is getting parented instead of the clone, and each time the player equips their weapon that error happens because that script from replicated storage doesnt exist anymore
That happens when an instane is added to the Debris of the game and still being referenced on other scripts or modules.
The instance was likely deleted using :Destroy()
or game:GetService("Debris"):AddItem()
.