Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Renaming a players humanoid causing animations to no longer run?

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)

1 answer

✓ Accepted answer

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.

This discussion is preserved as it was. New answers, comments, and votes are closed.