local Player = game:GetService("Players") script.Parent.Equipped:connect(function(gun) local Handle = script.Parent.Handle local Union = script.Parent.Union local Shoot = script.Parent.Shoot local Hand = Player.LocalPlayer.Character Handle.Anchored = false Union.Anchored = false Shoot.Anchored = false wait() local weld = Instance.new ("Weld", Handle) weld.Part0 = Handle weld.Part1 = Union weld.C1 = CFrame.Angles(0,0,0) * CFrame.new(0,1,0) local weld2 = Instance.new ("Weld", Hand) weld2.Part0 = game.Players.LocalPlayer.Character["Right Arm"] weld2.Part1 = Handle weld2.C1 = CFrame.Angles(math.rad(120), math.rad(30),0) * CFrame.new(1,0.4,0) local weld3 = Instance.new ("Weld", Union) weld3.Part0 = Union weld3.Part1 = Shoot weld3.C1 = CFrame.Angles(0,0,0) * CFrame.new(0,0,0) end) function KeyPressed(inputObject, gameProcessedEvent) if inputObject.KeyCode == Enum.KeyCode.One then local Handle = script.Parent.Handle local Union = script.Parent.Union local Shoot = script.Parent.Shoot local Hand = Player.LocalPlayer.Character Handle.Anchored = false Union.Anchored = false Shoot.Anchored = false wait() local weld = Instance.new ("Weld", Handle) weld.Part0 = Handle weld.Part1 = Union weld.C1 = CFrame.Angles(0,0,0) * CFrame.new(0,1,0) local weld2 = Instance.new ("Weld", Hand) weld2.Part0 = game.Players.LocalPlayer.Character["Right Arm"] weld2.Part1 = Handle weld2.C1 = CFrame.Angles(math.rad(120), math.rad(30),0) * CFrame.new(1,0.4,0) local weld3 = Instance.new ("Weld", Union) weld3.Part0 = Union weld3.Part1 = Shoot weld3.C1 = CFrame.Angles(0,0,0) * CFrame.new(0,0,0) end end game:GetService("UserInputService").InputBegan:connect(KeyPressed)
So, what happens is that it sometimes goes in the direction where its suppose to be. But other times it just gives up and stays in a "Default" position. There are NO output errors, and I'm about to bust my monitor. Thanks!