When I use just the CFrame to change the position, he changes the position correctly. But, when I use the LookAt() too, he sets the position too away of the waited position.
-- Some Instances
local RS = game:GetService('ReplicatedStorage')
local char = plr.Character or plr.CharacterAdded:Wait()
local animator = char.Humanoid.Animator :: Animator
local animation = RS.Animations.SnapNeck
local pos = char.PrimaryPart.Position
local Energy = char:FindFirstChild('Energy').Value
-- HandSmite config
if target.Parent:FindFirstChildOfClass('Humanoid') then
local enemy = target.Parent :: Model
local enemyPos = enemy.PrimaryPart.CFrame
local calc = enemyPos * CFrame.new(0, 0, -2)
char:PivotTo(calc * CFrame.lookAt(calc.Position, enemy.PrimaryPart.Position))
end