When a player joins, they should have the part stuck to them. There is no weld in the part either.
local Part = script.Parent game.Players.PlayerAdded:connect(function(plr) plr.CharacterAdded:connect(function(char) local Torso = char:WaitForChild("Torso") local Weld = Instance.new("Weld") Weld.Part0 = Torso Weld.C0 = Torso.CFrame:inverse() Weld.Part1 = Part Weld.C1 = Part.CFrame:inverse() Weld.Parent = Part Part.Anchored = false end) end)
Here is an example of what you are trying to do. Play around with positioning, for the purpose of this it is named shieldpart.
--PUT THIS IN STARTER GUI, SHOULD BE A LOCALSCRIPT wait() player = game.Players.LocalPlayer character = player.Character leftarm = character["Left Arm"] shieldpart = game.Workspace.Shield local shield = shieldpart.ShieldHandle if shieldpart.Parent ~= character then shieldpart.Parent = character local weld = Instance.new("Weld", shield) weld.Part0 = leftarm weld.Part1 = shield weld.C0 = CFrame.new() * CFrame.fromEulerAnglesXYZ(0,0,0) end