Right now I have a gun that always looks at your cursor.
Local:
local serverarms = game.Players.LocalPlayer.Character.Arms game.ReplicatedStorage.Events.MoveArms:FireServer(serverarms,game.Players.LocalPlayer:GetMouse().Hit)
Server:
local absoluteCFrame = CFrame.new(plr.Character.Head.Position, pos.p) local relativeCFrame = plr.Character.Head.CFrame:toObjectSpace(absoluteCFrame) model.HeadBaseAnchor.Weld.C0 = relativeCFrame
Pretty much the code above will automatically move the arms weld (it is welded to the Head) to the cursor. The problem is, however, that the arms can sometimes (when your mouse is looking up or down) 'dismantle' from your torso. Pretty much the arms, from that distance, move away from the torso, though still is welded to the head.
This is what it looks like:
https://i.imgur.com/3hcudjj.png
I've tried using lookvectors to change the offset, but I couldn't figure out how it would automatically offset to be in the correct spot. Does anybody know how I can fix this? Thanks!