Hi! I’m making an armor equipping system for my inventory system, but the right arm and left arm parts aren’t positioned properly. I’ve tried adding CFrames to the model. (It’s also welded with weldconstraints.) But for some reason, I get this error on line 52
local rs = game:GetService("ReplicatedStorage")
local invremo = rs.RemoteEvents.Inventory.Inventory
local itemstorage = rs.Item
local fruits = itemstorage.Fruits
local weapons = itemstorage.Weapons
local armors = itemstorage.Armor
game.Players.PlayerAdded:Connect(function(play)
play.CharacterAdded:Connect(function(char)
local folder = Instance.new("Folder", char)
folder.Name = "Armor"
end)
end)
invremo.OnServerInvoke = function(plr, item, condition, itemtype)
if condition == "Equipped" then
if itemtype == "Weapon" then
local cloneitem = weapons[item]:Clone()
cloneitem.Parent = plr.Backpack
cloneitem["Owner"].Value = plr
cloneitem["Equip"]:Destroy()
print("Equipped " .. item)
return cloneitem
elseif itemtype == "Fruit" then
local cloneitem = fruits.Fruit[item]:Clone()
cloneitem.Parent = plr.Backpack
cloneitem["Owner"].Value = plr
print("Equipped " .. item)
return cloneitem
elseif itemtype == "Armor" then
for i, v in pairs(armors:GetChildren()) do
if v.Name == item then
for i, k in pairs(v.Model:GetChildren()) do
if k:IsA("Model") then
for i, e in pairs(plr.Character.Armor:GetChildren()) do
if e:IsA("Folder") then
e:Destroy()
end
end
local clone = v:Clone()
clone.Parent = plr.Character.Armor
for i, armorparts in pairs(clone.Model:GetChildren()) do
for i, bodyparts in pairs(plr.Character:GetChildren()) do
if bodyparts:IsA("BasePart") then
if armorparts.Name == bodyparts.Name then
local weld = Instance.new("WeldConstraint")
weld.Part0 = bodyparts
weld.Part1 = armorparts.PrimaryPart
weld.Parent = armorparts.PrimaryPart
if armorparts.Name == "Right Arm" or armorparts.Name == "Left Arm" then
armorparts.PrimaryPart.CFrame = bodyparts.CFrame + CFrame.new(0, 0.15, 0)
else
armorparts.PrimaryPart.CFrame = bodyparts.CFrame
end
end
end
end
end
return clone
end
end
end
end
end
elseif condition == "Unequipped" then
invremo:InvokeClient(plr, item, itemtype)
end
end```