local function applyBundle(humanoid, bundleId)
local bundleInfo = AssetService:GetBundleDetailsAsync(bundleId)
print(bundleInfo)
for _,assets in pairs(bundleInfo.Items) do
if assets.Type == "Asset" then
local bundleDesc = humanoid:GetAppliedDescription()
print(assets.Name)
bundleDesc.Torso = assets.Id
bundleDesc.RightArm = assets.Id
humanoid:ApplyDescription(bundleDesc)
end
end
end
I’m trying to load the arms, legs and torso part of the bundles onto my character. I don’t want to load in the entire bundle as it will just remove the entire humanoidDescription of the players. I’ve been at this for a while and haven’t come up with anything.
local Game = game
local Players = Game:GetService("Players")
local AssetService = Game:GetService("AssetService")
local MarketplaceService = Game:GetService("MarketplaceService")
local AssetTypes = {[17] = "Head", [27] = "Torso", [28] = "RightArm", [29] = "LeftArm", [30] = "LeftLeg", [31] = "RightLeg"}
local function OnPlayerAdded(Player)
local function OnCharacterAdded(Character)
if not Player:HasAppearanceLoaded() then Player.CharacterAppearanceLoaded:Wait() end
local Humanoid = Character:FindFirstChildOfClass("Humanoid")
if not Humanoid then return end
local HumanoidDescription = Humanoid:GetAppliedDescription()
local Success, Result = pcall(AssetService.GetBundleDetailsAsync, AssetService, 192)
if not Success then warn(Result) return end
for _, Item in ipairs(Result.Items) do
Success, Result = pcall(MarketplaceService.GetProductInfo, MarketplaceService, Item.Id)
if not Success then warn(Result) continue end
local BodyPart = AssetTypes[Result.AssetTypeId]
if BodyPart then HumanoidDescription[BodyPart] = Item.Id end
end
Humanoid:ApplyDescription(HumanoidDescription)
end
Player.CharacterAdded:Connect(OnCharacterAdded)
end
Players.PlayerAdded:Connect(OnPlayerAdded)