I’ve been trying to make a locker GUI, essentially attaching a watch to the players arm, although the problem is I cannot get the right orientation in the arm since the animation is constantly moving it as the screenshot shows when moving it attaches in a really weird way vs how it attaches when the player isn’t moving.
I’ve looked a bit to try and find solutions to this but I’m not sure where to start.

vs

-- local W = Instance.new("WeldConstraint")
local Prime = Stor.SPLockers[B]:Clone()
W.Parent = Character[Type]
Prime.BASE.Anchored = false
Prime.Parent = Character[Type]
Prime:SetPrimaryPartCFrame(CFrame.new(Character[Type].Position) * CFrame.Angles(math.rad(Character[Type].Orientation.x),math.rad(Character[Type].Orientation.y),math.rad(Character[Type].Orientation.z)))
W.Part0 = Prime.BASE
W.Part1 = Character[Type]
try attaching the watch as an accessory using Humanoid:AddAccessory instead of welding it
You will probably have better results using a standard Weld over a WeldConstraint. WeldConstraints are great when connecting things together in Studio, but their more-implicit nature makes them harder to work with in runtime.
Try something like this:
local W = Instance.new("Weld")
local Prime = Stor.SPLockers[B]:Clone()
Prime.BASE.Anchored = false
W.Part0 = Prime.BASE
W.Part1 = Character[Type]
W.C0 = CFrame.new(0,0,0) --Change this to whatever gets the watch to fit correctly.
W.Parent = Character[Type]
Prime.Parent = Character[Type]
By changing the CFrame of C0, you can position the watch relative to the block it is being connected to rather than relative to connected part’s world data.
1 Like
That was a WHOLE lot more simple than I was expecting, I appreciate your help, it was indeed a problem with the part not welding quick enough, thank you.
1 Like