The way I've always known about disabling a players ability to reset their character is through renaming their humanoid. Usually this is a perfectly fine method of doing so, except now it seems that it is causing the characters default animations to no longer work after the character respawns once. This is the code in a local script inside of StarterPlayerScripts
local player=game.Players.LocalPlayer function onCharacter(char) char:WaitForChild("Humanoid").Name="humanoid" end if player.Character then onCharacter(player.Character) end player.Changed:connect(function(prop) if prop=="Character" and player.Character then onCharacter(player.Character) end end)
The animations must be loaded to the Humanoid
in order to work. The Animate
script looks for an object called "Humanoid"
, so when you rename it to "humanoid", the Animate
script can no longer find an object called "Humanoid", thus causing the script to fail.
TL;DR the Animate script in a player can't find a humanoid.
EDIT: To fix this you're going to have to delete the player's current animation script(not putting it in since it's 500+ lines long) and replace it with a new one where line 17 is
local Humanoid = waitForChild(Figure, "humanoid")
So yes, you have to delete the entire script and reload it with a one character change.