game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
wait()
local backpack = folder.DefaultBackpack:Clone()
local CFchar = char.UpperTorso.CFrame
local weld = Instance.new("Weld")
weld.Part0 = char.UpperTorso
weld.Part1 = backpack.Part
weld.C0 = CFchar
weld.C1 = CFrame.new(CFchar.X + 0, CFchar.Y + 0, CFchar.Z - backpack.Offset.Value)
weld.Parent = backpack
for i, v in pairs(backpack:GetDescendants()) do
if v:IsA("BasePart") then
v.Anchored = false
end
end
backpack.Parent = char
end)
end)
To make the backpack face behind the player instead of in front, you can modify the code as follows:
Script
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(char)
wait()
local backpack = folder.DefaultBackpack:Clone()
local CFchar = char.UpperTorso.CFrame
local weld = Instance.new("Weld")
weld.Part0 = char.UpperTorso
weld.Part1 = backpack.Part
weld.C0 = CFchar
weld.C1 = CFchar * CFrame.new(0, 0, -backpack.Offset.Value) * CFrame.Angles(0, math.rad(180), 0)
weld.Parent = backpack
for i, v in pairs(backpack:GetDescendants()) do
if v:IsA("BasePart") then
v.Anchored = false
end
end
backpack.Parent = char
end)