local function weld(p1, p2)
local weld = Instance.new(“WeldConstraint”)
weld.Parent = p1
weld.Part0 = p1
weld.Part1 = p2
return weld
end
game.Players.PlayerAdded:Connect(function(p)
p.CharacterAdded:Connect(function(char)
local Armor = game.ServerStorage.Armor.Default
for i, v in pairs(Armor:GetChildren()) do
local w = char:WaitForChild(v.Name)
local cloned = v:Clone()
cloned.CFrame = CFrame.new(w.Position)
weld(cloned, w)
cloned.Parent = workspace
end
end)
end)
The armor pieces ARE unions.
My issue is that the armor is slanted rather than upright. I have no idea how to orient it upright, orientation didn’t work, and I don’t know what else to do. And I have no experience with welding + unions.
rather than welding armor directly to the character’s body parts have proxy body parts with armor already on them, and then weld the proxy part to the matching character body part
e.g a proxy right arm that has a shoulder pad already welded to it, and then weld that to the character’s actual arm
example on how it would look like, it’s R6 but it can still be applied to R15
Weld the all the Armor Pieces to it’s parent proxy (I usually do this once on runtime so I don’t have to manually do it) and then clone the armor and weld the proxy to it’s matching part
Part of the problem is that you’re parenting first before setting the properties of welds. In addition, WeldConstraint welds in place relative to the part it’s being welded to, so without setting the position of the pieces it won’t move anywhere.
You may have better success with using the above method and even better success by using Roblox’s native support for attaching extra pieces to players via accessories and attachments.
I have a tutorial on how you can add parts to a player via accessories, however it’s for weapons. You can use the same concept to add armour parts to players however if you spend enough time reviewing the post and testing out some things. Here’s that post: