I'm trying to save the hair color in a datastore but for some reason it would just delete all customization things like hair, face, skin color, accessories etc. I have no idea why, it all works before I try saving the hair color. The hair is put into a folder inside head. Heres the Script to save the data:
game.ReplicatedStorage.CustomizeDataEvents.CustomizeData.OnServerEvent:Connect(function(plr) local char = plr.Character local CurrentHair = char.Head.Hair:FindFirstChildOfClass("MeshPart") or char.Head.Hair:FindFirstChildOfClass("UnionOperation") or char.Head.Hair:FindFirstChildOfClass("Part") local HairCol = CurrentHair.Color local HairColData = {HairCol.R, HairCol.G, HairCol.B} local data = { AccessId = plr.CustomizeDataFolder.AccessoryId.Value; FaceId = plr.CustomizeDataFolder.FaceId.Value; HairId = plr.CustomizeDataFolder.HairId.Value; SkinId = plr.CustomizeDataFolder.SkinId.Value; HairColData; } local success, errormessage = pcall(function() CustomizeDataStore:SetAsync("Player_"..plr.UserId, data) end) if success then print("Data Successfully Saved") else print("Error Saving Data") warn(errormessage) end end)
And this is the script to load the hair color:
game.Players.PlayerAdded:Connect(function(plr) local char = plr.Character or plr.CharacterAdded:Wait() local CurrentHair = char.Head.Hair:FindFirstChildOfClass("MeshPart") or char.Head.Hair:FindFirstChildOfClass("UnionOperation") or char.Head.Hair:FindFirstChildOfClass("Part") local data local success, errormessage = pcall(function() data = CustomizeDataStore:GetAsync("Player_"..plr.UserId) end) if success then print("Success Getting Hair Color Data") if CurrentHair then CurrentHair.Color = Color3.fromRGB(data.HairColData[1], data.HairColData[2], data.HairColData[3]) end else print("Error Getting Hair Color Data") warn(errormessage) end end)