Hey James,
If I understand your problem correctly, you are trying to display the character’s avatar in the display port. If this is the case, I would like to describe why your code is not working and I would like to improve your code as a whole.
Firstly, your code is not working as you are setting limbs of the CurrentDescription to have an assetID of 0. In addition to this, Roblox does not allow you to apply a description to a humanoid on the client like you are trying to do. This means that you will have to spawn in a new character on the client using Players:CreateHumanoidModelFromDescription. I have provided sample code below, but please note that this solution will still take a bit of work to fully accomplish. We’re here to guide you and help you if you need further assistance.
Secondly, please read up on this article. Not only is it a good read, it also contains some valuable information that you may benefit from.
--Sample code intended to be used within a localScript.
local player = game.Players.LocalPlayer
local id = game:GetService("Players"):GetUserIdFromNameAsync(player.Name)
local char = player.Character
local myHum = char:FindFirstChild("Humanoid")
local function positionCharacter(rig : Model)
--TODO: CFrame the humanoidRootPart so that it appears in the viewportFrame
local humanoidRootPart = rig:FindFirstChild("HumanoidRootPart")
end
local function createCharacter(desc : HumanoidDescription) : Model
local rig = game.Players:CreateHumanoidModelFromDescription(desc, Enum.HumanoidRigType.R15)
positionCharacter(rig)
rig.Parent = game.Workspace
return rig
end
local function getDesc(id : number) : HumanoidDescription
return game.Players:GetHumanoidDescriptionFromUserId(id)
end
--TODO: Wrap the below code in a function
local desc = getDesc(id)
local viewportChar = createCharacter(desc)
If you have any questions, feel free to ask them below,
Bees