Hello there,
I have been getting this error on all of my weapons which causes them to break after I respawn, the error says that the LoadAnimation requires the Humanoid Object to be a decedent of the game object. Does anyone know how to fix this?
Hello there,
I have been getting this error on all of my weapons which causes them to break after I respawn, the error says that the LoadAnimation requires the Humanoid Object to be a decedent of the game object. Does anyone know how to fix this?
The problem is that when you respawn the Humanoid becomes nil so all of the loaded animations become broken animations (humanoid they are assigned to is not a descendant of game)
i reread and saw that you are indeed reloading the animations, i saw someone talking about this a few weeks ago and the fix was to wait for a new character ? (give me a moment to try to find the post)
That’s exactly what happens. Is there a solution to this though?
while char.Parent == nil do
char.AncestryChanged:wait()
end
from TheGamer101 at Getting error "LoadAnimation requires the Humanoid object to be a descendant of the game object" despite waiting for Character - #2 by TheGamer101
havent tested it out but it should probably work (char should be player.Character)
I believe that this thread should assist you, I can look for more if you’d like!
This will not be sufficient in this case. The character exists before being parented to game.Workspace, with a nil parent. My games have a slight variation of what’s suggested a few posts up:
while char.Parent ~= game.Workspace do
char.AncestryChanged:wait()
end
This is not a solution to the problem.
First of all, if you’re going to introduce something which you believe yourself is “inefficient/unprofessional”, it’s better off to just not post it. There’s no reason to be providing inefficient fixes to problems.
Second, the issue in the thread has been answered with a more adequate solution already. The issue wasn’t that the humanoid didn’t exist yet, it was that it wasn’t a descendant of the game object yet. When responding to a support thread, it’s important to gain an understanding of what the issue is, which @CheetahSp33d supplied with the error in the developer console.
I was having this same issue and I tried all of the previous suggestions and they didn’t work for me. I was able to solve the problem by defining the Humanoid from the Tool and NOT from the character.
What I was doing:
local h = plr.Character:WaitForChild("Humanoid")
What ended up working is:
local h = tool.Parent:WaitForChild("Humanoid")
Update[1]:
Never mind sorry. This worked all 5-10 times I tried it before posting this but I just tried it again and it doesn’t work so it must not work all the time.
Update[2]:
I “think” that this is now working:
local Tools = game.ReplicatedStorage:WaitForChild("StarterTools"):GetChildren()
game.Players.PlayerAdded:Connect(function(plr)
plr.CharacterAdded:Connect(function()
wait(1)
for i,v in pairs(Tools) do
local NewV = v:Clone()
for j,k in pairs(NewV:GetChildren()) do
if k.ClassName == "LocalScript" then
k.Disabled = true
k.Disabled = false
end
end
NewV.Parent = plr.Backpack
end
end)
end)
I was having the same issue. But I have a way that is working for me now. In your local script, just add a wait(5) on the utmost top (before you define any variables).
Note: You might need to change the wait time.
Use animators (animator:LoadAnimation) instead of humanoid:LoadAnimation.
Or disable the localscript and enable it from the server when the tool is equipped.