Player not looking at punching bag [SOLVED]

I’m trying to make the player look at the punching bag while moving in half-circle but when I use CFrame.lookAt it causes tons of issue

Here’s the code of the punching bag stuff


function FindNearestTarget(HRP, punchingBagUsed)
	local TargetDistance = 50
	local Target

	--[[for i, v in pairs(workspace.Punchingbag:GetDescendants()) do
		if v:IsA("Model") and v:FindFirstChild("Punchingbag") and v.Name ~= char.Name then
			local TargetHRP = v.Punchingbag.Bag
			local Mag = (HRP.Position - TargetHRP.Position).Magnitude
			if Mag < TargetDistance then
				TargetDistance = Mag
				Target = TargetHRP
			end
		end
	end]]

	local Mag = (HRP.Position - punchingBagUsed.Bag.Position).Magnitude
	if Mag < TargetDistance then
		TargetDistance = Mag
		Target = punchingBagUsed.Bag
	end

	return Target

end

local function OnUpdate()
	if Target and LockOn then
		local Mag = (Part.Position - Target.Position).Magnitude
		print("MAGNITUDE IS : " .. Mag)

		Hum.AutoRotate = true
		UserInput.MouseBehavior = Enum.MouseBehavior.Default
		HRP.CFrame = HRP.CFrame * CFrame.Angles(0, math.rad(-120), 0)
		--Camera.CFrame = CFrame.lookAt(Camera.CFrame.Position, (Target.Position + Vector3.new(0, -1, 0)))
		

		if LookingSide == 1 then
			if UserInput:IsKeyDown(Enum.KeyCode.A) and theta > -2.5 then
				theta -= 0.1

				print("THETA IS : " .. theta)

				KeyDown = true

				HumanoidPosition = Vector3.new(MainPart.Position.X + radius*-math.sin(theta), HumanoidPosition.Y, MainPart.Position.Z + radius*-math.cos(theta))
				humanoid:MoveTo(HumanoidPosition)
			else
				ContextActionService:BindActionAtPriority(
					"PunchKeys",
					function()
						return Enum.ContextActionResult.Sink;
					end,
					false,
					Enum.ContextActionPriority.High.Value,
					Enum.PlayerActions.CharacterLeft
				)
			end

			if UserInput:IsKeyDown(Enum.KeyCode.D) and theta < 2.5 then
				theta += 0.1
				print("THETA IS : " .. theta)


				HumanoidPosition = Vector3.new(MainPart.Position.X + radius*-math.sin(theta), HumanoidPosition.Y, MainPart.Position.Z + radius*-math.cos(theta))
				humanoid:MoveTo(HumanoidPosition)
			else
				ContextActionService:BindActionAtPriority(
					"PunchKeys",
					function()
						return Enum.ContextActionResult.Sink;
					end,
					false,
					Enum.ContextActionPriority.High.Value,
					Enum.PlayerActions.CharacterRight
				)
			end
		else
			if UserInput:IsKeyDown(Enum.KeyCode.A) and theta > -2.5 then
				theta -= 0.1

				print("THETA IS : " .. theta)

				KeyDown = true

				HumanoidPosition = Vector3.new(MainPart.Position.X + radius*math.sin(theta), HumanoidPosition.Y, MainPart.Position.Z + radius*math.cos(theta))
				humanoid:MoveTo(HumanoidPosition)
			else
				ContextActionService:BindActionAtPriority(
					"PunchKeys",
					function()
						return Enum.ContextActionResult.Sink;
					end,
					false,
					Enum.ContextActionPriority.High.Value,
					Enum.PlayerActions.CharacterLeft
				)
			end

			if UserInput:IsKeyDown(Enum.KeyCode.D) and theta < 2.5 then
				theta += 0.1
				print("THETA IS : " .. theta)


				HumanoidPosition = Vector3.new(MainPart.Position.X + radius*math.sin(theta), HumanoidPosition.Y, MainPart.Position.Z + radius*math.cos(theta))
				humanoid:MoveTo(HumanoidPosition)
			else
				ContextActionService:BindActionAtPriority(
					"PunchKeys",
					function()
						return Enum.ContextActionResult.Sink;
					end,
					false,
					Enum.ContextActionPriority.High.Value,
					Enum.PlayerActions.CharacterRight
				)
			end
		end
		
		

	else
		theta = -2.5
		Target = nil
		LockOn = false
		Hum.AutoRotate = false
		--M2("On")
		UserInput.MouseIconEnabled = true
	end
end

BoxingTraining.OnClientEvent:Connect(function(player, punchingBagUsed, spawningPoint, direction)
	MainPart = punchingBagUsed.Bag

	Part = spawningPoint

	LookingSide = direction
	radius = (Part.Position - MainPart.Position).Magnitude


	local animation = Instance.new("Animation")
	animation.AnimationId = "http://www.roblox.com/Asset?ID=16021081080"

	local humanoid = char:WaitForChild("Humanoid")
	local YourAnimationTrack = humanoid.Animator:LoadAnimation(animation)

	ContextActionService:BindActionAtPriority(
		"PunchKeys",
		function()
			return Enum.ContextActionResult.Sink;
		end,
		false,
		Enum.ContextActionPriority.High.Value,
		Enum.PlayerActions.CharacterBackward,
		Enum.PlayerActions.CharacterForward

	)

	--[[ContextActionService:BindActionAtPriority(
		"BoxingTraining",
		function()
			print("PLAYER MUST MOVE IN A SPECIFIC DIRECTION")
			
			return Enum.ContextActionResult.Pass
		end,
		false,
		Enum.ContextActionPriority.High.Value,
		Enum.PlayerActions.CharacterLeft,
		Enum.PlayerActions.CharacterRight
	)]]

	LockOn = true
	Target = FindNearestTarget(HRP, punchingBagUsed)


	FightingStance = UserInput.InputBegan:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseButton1 or (Enum.UserInputType.Touch and UserInput.TouchEnabled) then
			if CanPunch == true then
				CanPunch = false

				YourAnimationTrack.Priority = Enum.AnimationPriority.Action2
				YourAnimationTrack:Play()
				--hitboxEvent:FireServer(Vector3.new(3,3,3), Vector3.new(2,5), 0, 0.3)
				wait(YourAnimationTrack.Length)

				CanPunch = true
			end


		end
	end)

	Connection = RunService:BindToRenderStep("Camera",Enum.RenderPriority.Camera.Value, OnUpdate)
end)



ReplicatedStorage.UnbindAction.UnbindFightingStance.OnClientEvent:Connect(function()
	LockOn = false
	ContextActionService:UnbindAction("PunchKeys")
	Hum.AutoRotate = true
	Camera.CameraType = Enum.CameraType.Custom

	--theta = 0

end)


LOL

Nevermind I solved it again by myself lol

The audio in the videos tho :skull: nah

Lion King song : HAKUNA MATATA IT’S A PROBLEM FREE PHILOSOPHY HAKUNA MATATA !

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.