You forgot to assign the C1 property of the Motor6D instance.
local character = player.Character
local Anim = Instance.new("Animation")
Anim.AnimationId = "rbxassetid://8078765593"
Animpro = character.Humanoid:LoadAnimation(Anim)
tool.Equipped:Connect(function(Animpro)
character.UpperTorso:WaitForChild("RightGrip"):Destroy()
local Motor6D = Instance.new("Motor6D")
Motor6D.Parent = character.UpperTorso
Motor6D.Name = "Engineers_RevolverMotor6D"
Motor6D.Part0 = character.UpperTorso
Motor6D.Part1 = tool.Handle
Motor6D.C0 = CFrame.new(-0.1,-0.2,0.3)
Motor6D.C1 = CFrame.new(0, 0, 0)
Animpro:Play()
end)
Also avoid reloading the same animation (resulting in the repetitive creation of the same AnimationTrack instance) by moving the code which loads the animation outside of the function connected to the tool’s Equipped event, also you should avoid using the parent parameter of “Instance.new()” as it’s highly inefficient.