All bundles from their bundle info have a thing called UserOutfit
, which acts like an outfit.
That might explain the reverting to 1.0
Also, all bundles have extra info and will not be only a head.
An example can be shown from this dynamic head bundle and its info:
[1] = â–Ľ {
["Id"] = 71993263971199,
["Name"] = "Silly Smile - Dynamic Head",
["Type"] = "Asset"
},
[2] = â–Ľ {
["Id"] = 14618207727,
["Name"] = "Default Mood",
["Type"] = "Asset"
},
[3] = â–Ľ {
["Id"] = 4313357581472228,
["Name"] = "Silly Smile Head",
["Type"] = "UserOutfit"
}
We only want the Dynamic Head and its Id as the UserOutfit
will give us a funky outfit that will override a player’s outfit. Hence the if not item.Name:find("Dynamic Head") then continue end
Now, what about full/character bundles?
They spew out similar info above, but also showing its body parts and their info.
Even having the same - Dynamic Head
section.
So, you want to grab that instead!
(Classic bundles will give a face/decal)
humDesc["Head"] = item.Id
Uses the grabbed Dynamic Head Id and then sets the HumanoidDescription’s head Id to the Dynamic Head’s Id instead.
Since changing any of the Ids of a HumanoidDescription will NOT change the mesh/appearance of the player!
That’s why there is the humanoid:ApplyDescriptionReset(humDesc)
!
Which will reset the humanoid’s appearance to match the altered description.
And since we only changed the head Id, it won’t mess with anything else!
Hopefully, you get what I mean but if ya need more help, let me know!
For implementation, I don’t really know cause I made the code for a plugin of mine, not a game and I don’t know what you coded up over there!!