Player dosen't respawn when using HumanoidDescription

  1. What do you want to achieve? I want the player to be able to respawn

  2. What is the issue? the player dies and just stays there as if the game has froze

  3. What solutions have you tried so far?
    Here is the script,

 -- Stop automatic spawning so it can be done in the "PlayerAdded" callback
game.Players.CharacterAutoLoads = false

local function onPlayerAdded(player)
	-- Create a HumanoidDescription
	repeat wait() until player:WaitForChild("AvatarConf")
	repeat wait() until player:FindFirstChild("AvatarConf") 
	local humanoidDescription = Instance.new("HumanoidDescription")
	humanoidDescription.HatAccessory = player.AvatarConf.Hat.Value
	humanoidDescription.Face = player.AvatarConf.Face.Value
	humanoidDescription.Shirt = player.AvatarConf.Shirt.Value
	humanoidDescription.Pants = player.AvatarConf.Pant.Value
	humanoidDescription.LeftLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.RightLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.TorsoColor = player.AvatarConf.Torso.Value
	humanoidDescription.RightArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.LeftArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.HeadColor = player.AvatarConf.Head.Value
	-- Spawn character with the HumanoidDescription
	player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
 
-- Connect "PlayerAdded" event to "onPlayerAdded()" function
game.Players.PlayerAdded:Connect(onPlayerAdded)

I tried adding a game.Players.CharacterAutoLoads = true to the end of the script but that caused the player to spawn without the HumanoidDescription properties however it did cause the player to be able to respawn.

If anyone has any questions then feel free to ask :smiley:

Characters don’t automatically respawn if CharacterAutoLoads is false, you need to script in that behaviour yourself.

As you are modifying the character’s appearance, you should be using LoadCharacterAppearance in StarterPlayer and not the property from Players. This prevents the appearance from loading instead of the character. You can then apply the HumanoidDescription to the blank Humanoid.

Alternatively, you can continue with your current implementation, but you need to include a line of code that checks for the death of the character’s Humanoid via the Died event and then respawns the character by loading the character with the HumanoidDescription again.

So you’d like to start this code again when player dies if I am correct here? If I am true then you should call on player died function. Here is an example from your code:

local function onPlayerAdded(player)
  -- Create a HumanoidDescription
	repeat wait() until player:WaitForChild("AvatarConf")
	repeat wait() until player:FindFirstChild("AvatarConf") 
	local humanoidDescription = Instance.new("HumanoidDescription")
	humanoidDescription.HatAccessory = player.AvatarConf.Hat.Value
	humanoidDescription.Face = player.AvatarConf.Face.Value
	humanoidDescription.Shirt = player.AvatarConf.Shirt.Value
	humanoidDescription.Pants = player.AvatarConf.Pant.Value
	humanoidDescription.LeftLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.RightLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.TorsoColor = player.AvatarConf.Torso.Value
	humanoidDescription.RightArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.LeftArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.HeadColor = player.AvatarConf.Head.Value
	-- Spawn character with the HumanoidDescription
	player:LoadCharacterWithHumanoidDescription(humanoidDescription)


 player.Character:FindFirstChild('Humanoid').Died:Connect(function() -- calls when player dies
	-- Create a HumanoidDescription
	repeat wait() until player:WaitForChild("AvatarConf")
	repeat wait() until player:FindFirstChild("AvatarConf") 
	local humanoidDescription = Instance.new("HumanoidDescription")
	humanoidDescription.HatAccessory = player.AvatarConf.Hat.Value
	humanoidDescription.Face = player.AvatarConf.Face.Value
	humanoidDescription.Shirt = player.AvatarConf.Shirt.Value
	humanoidDescription.Pants = player.AvatarConf.Pant.Value
	humanoidDescription.LeftLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.RightLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.TorsoColor = player.AvatarConf.Torso.Value
	humanoidDescription.RightArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.LeftArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.HeadColor = player.AvatarConf.Head.Value
	-- Spawn character with the HumanoidDescription
	player:LoadCharacterWithHumanoidDescription(humanoidDescription)
   end)
end
 
-- Connect "PlayerAdded" event to "onPlayerAdded()" function
game.Players.PlayerAdded:Connect(onPlayerAdded)

I hope this helps. :herb:

that seems to only let the player die and respawn once for whatever reason?

Do you receive any error on client or server output?

nope, there is no output in the client or server (in studio)

Where do you Instance.new the ‘AvatarConf’ thing?

local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local DataStore = DataStoreService:GetDataStore("AvatarData")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Data = {
	Face = 0;
	Shirt = 0;
	Pant = 0;
	Hat = 0;
	Torso = {5, 105, 174};
	Arms = {245, 206, 44};
	Head = {245, 206, 44};
	Legs = {165, 190, 69}
}

local function color3ToDictionary(color3Object)

    local color3Dictionary = {
        R = color3Object.R,
        G = color3Object.G,
        B = color3Object.B,
    }

    return color3Dictionary
end


local playersavetable = {};

local function loadStarterData(Player)
		local CharData = Instance.new("Folder")
		CharData.Name = "AvatarConf"
		CharData.Parent = Player
		for statname, statvalue in pairs(Data) do
			if type(statvalue) == 'number' then
			local intvalue = Instance.new("IntValue")
			intvalue.Name = statname
			intvalue.Value = statvalue
			intvalue.Parent = CharData
			else
			local colorvalue = Instance.new("Color3Value")
			colorvalue.Name = statname
			colorvalue.Value = Color3.fromRGB(statvalue[1],statvalue[2],statvalue[3])
			colorvalue.Parent = CharData
		end
	end
end

local function loadData(player)
	local Data
	local s, e = pcall(function()
	Data = DataStore:GetAsync('UserId'..player.UserId)
	end)
	
	if s then 
		print (player.Name.."Data loaded")
	else
		print(player.Name.."Data failed to load")
	end
	
	if Data then
		for statname, statvalue in pairs(Data) do
			if type(statvalue) == "number" then
			player.AvatarConf[statname].Value = statvalue
			else
			player.AvatarConf[statname].Value = Color3.new(statvalue.R,statvalue.G,statvalue.B)
			end
		end
		print(player.Name.."Data has been loaded")
	else
		print(player.Name.."No data found! generating..")
		end
	end

local function saveData(player)
	--if RunService:IsStudio() then return end
	local Data = {}
	for _, stat in ipairs(player.AvatarConf:GetChildren()) do
    if stat:IsA("Color3Value") then
		Data[stat.Name] = color3ToDictionary(stat.Value)
    else
        Data[stat.Name] = stat.Value
    end
end
	local s, e = pcall(function()
		DataStore:SetAsync('UserId'..player.UserId, Data)
	end)
		if s then 
	print(player.Name.."Data has been saved")
		else
	warn (player.Name.."Data failed to save"..e)
	end
end

ReplicatedStorage.SaveEvent.OnServerEvent:Connect(function(player)
 saveData(player)	
end)

---------------------------------------------------------------------------------------------------------------

--Hats
ReplicatedStorage.Hats.None.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 0
end)
ReplicatedStorage.Hats.Shaggy.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 20573078
end)
ReplicatedStorage.Hats.SantaHat.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1098277
end)
ReplicatedStorage.Hats.Sombrero.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1028804
end)
ReplicatedStorage.Hats.Teapot.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1045408
end)
ReplicatedStorage.Hats.WitchHat.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1165248
end)
ReplicatedStorage.Hats.Visor.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 2646473721
end)
ReplicatedStorage.Hats.BChat.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1080951
end)
ReplicatedStorage.Hats.DominoCap.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1031429
end)
ReplicatedStorage.Hats.GoldenCrown.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1081300
end)
ReplicatedStorage.Hats.PoliceCap.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1028793
end)
ReplicatedStorage.Hats.RedBaseballCap.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 1028606
end)
ReplicatedStorage.Hats.RobloxSanta.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Hat.Value = 19398728
end)


--Faces
ReplicatedStorage.Faces.catface.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 15432080
end)
ReplicatedStorage.Faces.BracketFace.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 15470193
end)
ReplicatedStorage.Faces.CheckIt.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 7074786
end)
ReplicatedStorage.Faces.Chill.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 7074764
end)
ReplicatedStorage.Faces.DashFace.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 15471035
end)
ReplicatedStorage.Faces.Dface.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 14812981
end)
ReplicatedStorage.Faces.Freckles.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 12145366
end)
ReplicatedStorage.Faces.GoodIntent.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 7317793
end)
ReplicatedStorage.Faces.Pface.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 14861743
end)
ReplicatedStorage.Faces.Silly.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Face.Value = 7699174
end)

--Legs
ReplicatedStorage.LegColors.Black.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Legs.Value = Color3.fromRGB(20, 37, 50)
end)
ReplicatedStorage.LegColors.Yellow.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Legs.Value = Color3.fromRGB(245, 206, 44)
end)
ReplicatedStorage.LegColors.Blue.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Legs.Value = Color3.fromRGB(5, 105, 174)
end)
ReplicatedStorage.LegColors.Green.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Legs.Value = Color3.fromRGB(165, 190, 69)
end)
ReplicatedStorage.LegColors.Red.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Legs.Value = Color3.fromRGB(197, 35, 21)
end)
ReplicatedStorage.LegColors.Peach.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Legs.Value = Color3.fromRGB(235, 185, 147)
end)

--Torso
ReplicatedStorage.TorsoColors.Black.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Torso.Value = Color3.fromRGB(20, 37, 50)
end)
ReplicatedStorage.TorsoColors.Yellow.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Torso.Value = Color3.fromRGB(245, 206, 44)
end)
ReplicatedStorage.TorsoColors.Blue.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Torso.Value = Color3.fromRGB(5, 105, 174)
end)
ReplicatedStorage.TorsoColors.Green.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Torso.Value = Color3.fromRGB(165, 190, 69)
end)
ReplicatedStorage.TorsoColors.Red.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Torso.Value = Color3.fromRGB(197, 35, 21)
end)
ReplicatedStorage.TorsoColors.Peach.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Torso.Value = Color3.fromRGB(235, 185, 147)
end)

--Arms
ReplicatedStorage.ArmColors.Black.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Arms.Value = Color3.fromRGB(20, 37, 50)
end)
ReplicatedStorage.ArmColors.Yellow.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Arms.Value = Color3.fromRGB(245, 206, 44)
end)
ReplicatedStorage.ArmColors.Blue.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Arms.Value = Color3.fromRGB(5, 105, 174)
end)
ReplicatedStorage.ArmColors.Green.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Arms.Value = Color3.fromRGB(165, 190, 69)
end)
ReplicatedStorage.ArmColors.Red.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Arms.Value = Color3.fromRGB(197, 35, 21)
end)
ReplicatedStorage.ArmColors.Peach.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Arms.Value = Color3.fromRGB(235, 185, 147)
end)

--Head
ReplicatedStorage.HeadColors.Black.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Head.Value = Color3.fromRGB(20, 37, 50)
end)
ReplicatedStorage.HeadColors.Yellow.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Head.Value = Color3.fromRGB(245, 206, 44)
end)
ReplicatedStorage.HeadColors.Blue.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Head.Value = Color3.fromRGB(5, 105, 174)
end)
ReplicatedStorage.HeadColors.Green.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Head.Value = Color3.fromRGB(165, 190, 69)
end)
ReplicatedStorage.HeadColors.Red.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Head.Value = Color3.fromRGB(197, 35, 21)
end)
ReplicatedStorage.HeadColors.Peach.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Head.Value = Color3.fromRGB(235, 185, 147)
end)

--Shirts
ReplicatedStorage.Shirts.None.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 0
end)
ReplicatedStorage.Shirts.Bloxcon.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 130220741
end)
ReplicatedStorage.Shirts.BattleShirt.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 1804771
end)
ReplicatedStorage.Shirts.BlueMarble.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 1821650
end)
ReplicatedStorage.Shirts.DogeShirt.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 1506494533
end)
ReplicatedStorage.Shirts.FREE.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 323171733
end)
ReplicatedStorage.Shirts.Guest.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 120325469
end)
ReplicatedStorage.Shirts.Spartan.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 1806215
end)
ReplicatedStorage.Shirts.HeavenlyArmor.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 1818507
end)
ReplicatedStorage.Shirts.Purple.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 1867443
end)
ReplicatedStorage.Shirts.WhiteTuxedo.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 2219153
end)
ReplicatedStorage.Shirts.NukeTheWhales.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 1514826269
end)
ReplicatedStorage.Shirts.Lua.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Shirt.Value = 14014339
end)

--Pants
ReplicatedStorage.Pant.None.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 0
end)
ReplicatedStorage.Pant.BoneArmor.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 130619129
end)
ReplicatedStorage.Pant.DarkArmor.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 348591269
end)
ReplicatedStorage.Pant.DogePants.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 276137445
end)
ReplicatedStorage.Pant.GreyRobe.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 182688161
end)
ReplicatedStorage.Pant.RedRobe.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 206488197
end)
ReplicatedStorage.Pant.Jeans.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 880648184
end)
ReplicatedStorage.Pant.ToxicPants.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 1819273
end)
ReplicatedStorage.Pant.WanWood.OnServerEvent:Connect(function(player)
	game.Players[player.Name].AvatarConf.Pant.Value = 22751528
end)


----------------------------------------------------------------------------------------------------------
Players.PlayerAdded:Connect(function(player)
	playersavetable[player] = tick()
	loadStarterData(player)
	loadData(player)
end)

Players.PlayerRemoving:Connect(function(player)
	saveData(player)
end)

It is from the DataStore, it may seem like a long script but the most of it is just for RemoteEvents

You should review your code carefully in the future, since we’re starting to get into unnecessary questions. You didn’t implement CharacterAdded or anything, so your code only checks the Humanoid of the first character.

local Players = game:GetService("Players")

local function onPlayerAdded(player)
    -- Add the new player stuff here

    local function onCharacterAdded(character)
        -- Add the character stuff here
    end

    player.CharacterAdded:Connect(onCharacterAdded)
    if player.Character then
        onCharacterAdded(player.Character)
    end
end

Players.PlayerAdded:Connect(onPlayerAdded)
for _, player in ipairs(Players:GetPlayers()) do
    onPlayerAdded(player)
end
2 Likes

You should change the playeradded function at the bottom like this as well:

Players.PlayerAdded:Connect(function(player)
	playersavetable[player] = tick()
  player.Character:FindFirstChild("Humanoid").Died:Connect(function()
	loadStarterData(player)
	loadData(player) 
   end)
end)
local Players = game:GetService("Players")

local function onPlayerAdded(player)
    repeat wait() until player:WaitForChild("AvatarConf")
	repeat wait() until player:FindFirstChild("AvatarConf") 
	local humanoidDescription = Instance.new("HumanoidDescription")
	humanoidDescription.HatAccessory = player.AvatarConf.Hat.Value
	humanoidDescription.Face = player.AvatarConf.Face.Value
	humanoidDescription.Shirt = player.AvatarConf.Shirt.Value
	humanoidDescription.Pants = player.AvatarConf.Pant.Value
	humanoidDescription.LeftLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.RightLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.TorsoColor = player.AvatarConf.Torso.Value
	humanoidDescription.RightArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.LeftArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.HeadColor = player.AvatarConf.Head.Value
	player:LoadCharacterWithHumanoidDescription(humanoidDescription)
	
	
	
local function onCharacterAdded(character)
	repeat wait() until player:WaitForChild("AvatarConf")
	repeat wait() until player:FindFirstChild("AvatarConf") 
	local humanoidDescription = Instance.new("HumanoidDescription")
	humanoidDescription.HatAccessory = player.AvatarConf.Hat.Value
	humanoidDescription.Face = player.AvatarConf.Face.Value
	humanoidDescription.Shirt = player.AvatarConf.Shirt.Value
	humanoidDescription.Pants = player.AvatarConf.Pant.Value
	humanoidDescription.LeftLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.RightLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.TorsoColor = player.AvatarConf.Torso.Value
	humanoidDescription.RightArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.LeftArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.HeadColor = player.AvatarConf.Head.Value
	player:LoadCharacterWithHumanoidDescription(humanoidDescription)
    end

player.CharacterAdded:Connect(onCharacterAdded)
if player.Character then
        onCharacterAdded(player.Characrer)
    end
end

Players.PlayerAdded:Connect(onPlayerAdded)
for _, player in ipairs(Players:GetPlayers()) do
    onPlayerAdded(player)
end

I’m assuming you were referring to the HumanoidDescription script rather then the DataStore. Using this now causes the player to not ever respawn but there is this output “[Characrer is not a valid member of Player]”

‘Characrer’ is not spelled correctly might changing it to Character?

I made a spelling mistake. See:

Make sure to apply basic debugging and investigate code if you run into smaller issues like this. I had corrected this on the original sample but it seems you copied it before I finished.

How I loathe typing on mobile.

err… my player does respawn but it respawns constantly as soon as the game loads. I have a youtube clip of it I could link if you need it.

That’s because you put the HumanoidDescription loading code in the CharacterAdded event so the load event with the HumanoidDescription continually gets called every time your character respawns. You’re meant to put the Died connection inside of the CharacterAdded event. My reply was simply towards the original code poster that their code did not implement CharacterAdded and thus would only link up character-based events for the first character.

All in all, this is not something I personally would do and I’ve already suggested what may be a better way to go about this, though it doesn’t seem that reply was heeded in any way. I’ll relink you to that post:

AHHH!

local Players = game:GetService("Players")

local function onPlayerAdded(player)
    repeat wait() until player:WaitForChild("AvatarConf")
	repeat wait() until player:FindFirstChild("AvatarConf") 
	local humanoidDescription = Instance.new("HumanoidDescription")
	humanoidDescription.HatAccessory = player.AvatarConf.Hat.Value
	humanoidDescription.Face = player.AvatarConf.Face.Value
	humanoidDescription.Shirt = player.AvatarConf.Shirt.Value
	humanoidDescription.Pants = player.AvatarConf.Pant.Value
	humanoidDescription.LeftLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.RightLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.TorsoColor = player.AvatarConf.Torso.Value
	humanoidDescription.RightArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.LeftArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.HeadColor = player.AvatarConf.Head.Value
	player:LoadCharacterWithHumanoidDescription(humanoidDescription)
	
	
	
local function onCharacterAdded(Character)
	player.Character:FindFirstChild('Humanoid').Died:Connect(function()
end)

player.CharacterAdded:Connect(onCharacterAdded)
if player.Character then
        onCharacterAdded(player.Character)
    end
end

Players.PlayerAdded:Connect(onPlayerAdded)
for _, player in ipairs(Players:GetPlayers()) do
    onPlayerAdded(player)
end

I tried modifying a few things with “(” and “)” as well as “end” but I can’t for the life of me figure this out and as for colbert’s idea I have no idea how difficult that will be.

I’ll simplify your life right now, well the code should look like this.

local Players = game:GetService("Players")

local function onPlayerAdded(player)
    repeat wait() until player:WaitForChild("AvatarConf")
	repeat wait() until player:FindFirstChild("AvatarConf") 
	local humanoidDescription = Instance.new("HumanoidDescription")
	humanoidDescription.HatAccessory = player.AvatarConf.Hat.Value
	humanoidDescription.Face = player.AvatarConf.Face.Value
	humanoidDescription.Shirt = player.AvatarConf.Shirt.Value
	humanoidDescription.Pants = player.AvatarConf.Pant.Value
	humanoidDescription.LeftLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.RightLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.TorsoColor = player.AvatarConf.Torso.Value
	humanoidDescription.RightArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.LeftArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.HeadColor = player.AvatarConf.Head.Value
	player:LoadCharacterWithHumanoidDescription(humanoidDescription)
end
	
	
local function onCharacterAdded(Character)
  Character:FindFirstChild('Humanoid').Died:Connect(function()
    repeat wait() until player:WaitForChild("AvatarConf")
	repeat wait() until player:FindFirstChild("AvatarConf") 
	local humanoidDescription = Instance.new("HumanoidDescription")
	humanoidDescription.HatAccessory = player.AvatarConf.Hat.Value
	humanoidDescription.Face = player.AvatarConf.Face.Value
	humanoidDescription.Shirt = player.AvatarConf.Shirt.Value
	humanoidDescription.Pants = player.AvatarConf.Pant.Value
	humanoidDescription.LeftLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.RightLegColor = player.AvatarConf.Legs.Value
	humanoidDescription.TorsoColor = player.AvatarConf.Torso.Value
	humanoidDescription.RightArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.LeftArmColor = player.AvatarConf.Arms.Value
	humanoidDescription.HeadColor = player.AvatarConf.Head.Value
	player:LoadCharacterWithHumanoidDescription(humanoidDescription)
    end)
end

player.CharacterAdded:Connect(onCharacterAdded)
if player.Character then
        onCharacterAdded(player.Character)
    end
end

Players.PlayerAdded:Connect(onPlayerAdded)
for _, player in ipairs(Players:GetPlayers()) do
    onPlayerAdded(player)
end

I hope this helps. :herb:

I just tried the same thing lol (but one end was changed) so you fixed one error but now I got " [Workspace.Script:44: Expected eof, got ‘end’]" I will try to work this out

oh you need to add one ‘end’ at the end of script.

Tried that, I also tried swapping the order of the last two events but still no dice