HumanoidDescription not working

1 Like

Could you show me what the script printed?

The code that I have written provided an output that read the following: “0” (had to do that to pass the char limit)

Um, I’m not sure if you saw but I am trying to change the body type, from what I read that basically loads the players default if I’m not mistaken (which I very well might be).

You still have to apply it, it will not update when you change the value to my knowledge.

1 Like

Try using this:

local humanoidDesc = humanoid.HumanoidDescription:Clone()
humanoidDesc.Torso = 0
humanoid:ApplyDescription(humanoidDesc)

1 Like

Ohhhh I see now, thank you for helping me with this difficult challenge, that as I’ve predicted, could be easily solved by one of a higher experience level. Once again, my greatest thanks! Cheers.

1 Like

thank you as well (this is to extend the characters of my reply)

Does the script work? (ignore this text)

yes it does (though I wrote my version of it here:

local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	print(player.Name .. " joined the game!")
	local humanoid = player.Character and player.Character:FindFirstChild("Humanoid")

	local descriptionClone = humanoid:GetAppliedDescription()
	descriptionClone.Torso = 0
	descriptionClone.RightLeg = 0
	descriptionClone.RightArm = 0
	descriptionClone.LeftLeg = 0
	descriptionClone.LeftArm = 0
	
	
	humanoid:ApplyDescription(descriptionClone)
end)

)

ok (ignore this text again is only for extend this reply)

1 Like

Wait, im getting an error now,
ServerScriptService.HumanoidDesc:8: attempt to index nil with 'GetAppliedDescription'
on line 8

try to use Player.CharacterAdded event

ok so i tried that and it still doesn’t work, there’s no error, but here’s my code:

I know it’s messy but it’s quite late for me



local Players = game:GetService("Players")

local function onCharacterAdded(character)
local player = nil

	local function getPlayerFromCharacter(character)
		for _, player in pairs(game:GetService("Players"):GetPlayers()) do
			if player.Character == character then
					player = player
				return player

			end
		end
	end

local humanoid = player.Character and player.Character:FindFirstChild("Humanoid")

	local descriptionClone = humanoid:GetAppliedDescription()
	descriptionClone.Torso = 0
	descriptionClone.RightLeg = 0
	descriptionClone.RightArm = 0
	descriptionClone.LeftLeg = 0
	descriptionClone.LeftArm = 0
	
	
	humanoid:ApplyDescription(descriptionClone)
end

Is that the entire script? …

1 Like

yep (charrrrrrrssssssssssssss)
(Sorry if I don’t respond for a while, I’ll be afk sleeping)

Try to put this

local Players = game:GetService("Players")

local function onCharacterAdded(character)
	local player

	local function getPlayerFromCharacter(character)
		for _, player in pairs(game:GetService("Players"):GetPlayers()) do
			if player.Character == character then
				return player
			end
		end
	end

	player = getPlayerFromCharacter(character)
	local humanoid = player and (player.Character and player.Character:FindFirstChildOfClass("Humanoid"))

	if humanoid then
		local descriptionClone = humanoid:GetAppliedDescription()
		descriptionClone.Torso = 0
		descriptionClone.RightLeg = 0
		descriptionClone.RightArm = 0
		descriptionClone.LeftLeg = 0
		descriptionClone.LeftArm = 0

		humanoid:ApplyDescription(descriptionClone)
	else
		warn("Humanoid not found") --This is optional
	end
end

Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(onCharacterAdded)
end)
1 Like

I tried it and got this error:
Humanoid::ApplyDescription() DataModel was not available

add wait? (ignore ignore)

3 Likes

aye! It worked! Thank you for walking me through this script. Never knew how complex the humanoid was! Thanks again :slight_smile:

Final code, made by @RobloxGamerPro20007


local Players = game:GetService("Players")

local function onCharacterAdded(character)
	local player

	local function getPlayerFromCharacter(character)
		for _, player in pairs(game:GetService("Players"):GetPlayers()) do
			if player.Character == character then
				return player
			end
		end
	end

	player = getPlayerFromCharacter(character)
	local humanoid = player and (player.Character and player.Character:FindFirstChildOfClass("Humanoid"))

	if humanoid then
		local descriptionClone = humanoid:GetAppliedDescription()
		descriptionClone.Torso = 0
		descriptionClone.RightLeg = 0
		descriptionClone.RightArm = 0
		descriptionClone.LeftLeg = 0
		descriptionClone.LeftArm = 0
wait(.2)
		humanoid:ApplyDescription(descriptionClone)
	else
		warn("Humanoid not found") --This is optional
	end
end

Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(onCharacterAdded)
end)

^ just for anyone who comes here for help with the same issue

3 Likes