Could you provide more code samples so we can see what is happening within the code?
If the code errors but still seems to work, most likely you have multiple threads are running at the same time of which only some are working correctly.
If we’re looking at weapons then any threads created will most likely be in a section of code with a .Touched event or similar, but this of course is a guess as I don’t know the exact code at play here.
Also, the error is stating that “Blade is not a valid member of tool”, even though you have written “Weapon:WaitForChild(“Blade”)” at the beginning of the script. This suggests that the blade is being removed during runtime and the script is still trying to reference it somewhere. If this is happening when the player dies, maybe it’s to do with the blade falling out of the world to the PartDestroyHeight where the Handle, or Blade, is destroyed.
The chat issue is probably a similar scenario with different code.
That’s at least as much as I could try and deduce, I’d be happy to try and help more if you could supply more code or example