はじめに
Marketplace のアセットIDをもとに、プレース内のキャラクターにアクセサリを装着する方法です。
概要
-
InsertSevice:LoadAsset()でMarketplaceのアセットを読み込みます -
Humanoid:AddAccessory()でアクセサリをキャラクターに装着します
環境:
Roblox Studio: バージョン 0.710.0.7100702
🧥アクセサリを1つ装着
LoadAsset()は アセットID をもとに、アセットを含む Model を返します。
Model 内の Accessory を取得して、 AddAccessory()でキャラクターに装着します。
local assetId = 16969430252 -- 使用したいassetId
local npc = workspace.Rig -- NPCのオブジェクト名
local loadedAsset = game:GetService("InsertService"):LoadAsset(assetId)
local accessory = loadedAsset:FindFirstChildWhichIsA("Accessory")
if accessory then
npc.Humanoid:AddAccessory(accessory)
else
warn("読み込み失敗: " .. tostring(result))
end
スクリプト実行後:
仮面が表示されました。Rig の中に Accessory(maskAccessory) が追加されています。
スクリプトはコマンドバーで実行しています。

🧥アクセサリをまとめて装着
使いたいアセットID を配列にします。
配列の要素数分、アセットの読み込みと装着の処理を繰り返します。
local InsertService = game:GetService("InsertService")
-- アセットを取得して返却する
local function getAccessory(assetId)
local success, result = pcall(function()
return InsertService:LoadAsset(assetId)
end)
if success and result then
-- 成功した場合、 Model 内で Accessory を探す
print("読み込み成功: " .. assetId .. " のアクセサリを取得しました")
return result:FindFirstChildWhichIsA("Accessory")
else
warn("読み込み失敗: " .. tostring(result))
return nil
end
end
local assetIds = { 127187569335196, 9608287011, 123374577956094, 85066707631645, 137313412612438 } -- 使いたいassetId
local npc = workspace.Rig -- NPCのオブジェクト名
for _, assetId in ipairs(assetIds) do
local accessory = getAccessory(assetId)
if accessory then
npc.Humanoid:AddAccessory(accessory)
end
end
スクリプト実行後:
ボトムス、シャツ、ペット、メガネ、バックパック が追加されました。

参考資料 ・ アバターアイテム
公式リファレンス
使用したアバターアイテム
