Camera Manipulation code not working when supposed to

My problem: Code isn’t giving any errors and is not undisabling.
My code:

local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")

local target = workspace.ClerkPart -- The object to rotate around
local camera = workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Scriptable
local rotationAngle ="NumberValue")
local tweenComplete = false

local cameraOffset =, 10, 12)
local rotationTime = 15  -- Time in seconds
local rotationDegrees = 360
local rotationRepeatCount = -1  -- Use -1 for infinite repeats
local lookAtTarget = true  -- Whether the camera tilts to point directly at the target

local function updateCamera()
	if not target then return end
	camera.Focus = target.CFrame
	local rotatedCFrame = CFrame.Angles(0, math.rad(rotationAngle.Value), 0)
	rotatedCFrame = * rotatedCFrame
	camera.CFrame = rotatedCFrame:ToWorldSpace(
	if lookAtTarget == true then
		camera.CFrame =, target.Position)

-- Set up and start rotation tween
local tweenInfo =, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut, rotationRepeatCount)
local tween = TweenService:Create(rotationAngle, tweenInfo, {Value=rotationDegrees})
	tweenComplete = true

-- Update camera position while tween runs
	if tweenComplete == false then

My 2nd code:

local Player = game:GetService("Players").LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local Players = game:GetService("Players")
local PlayerModule = require(game.Players.LocalPlayer.PlayerScripts:WaitForChild("PlayerModule"))
local Controls = PlayerModule:GetControls()
local Badge_Service = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BadgeID = 2125784344
local BadgeID1 = 2125784379
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TypeWriter = require(ReplicatedStorage:WaitForChild('TypeWriter'))

local Prompt = game.Workspace.signupredirectlol.ProximityPrompt
local screengui = game.Players.LocalPlayer.PlayerGui.ScreenGui
local CGUI = game.Players.LocalPlayer.PlayerGui.CGUI
local greeting = game.Players.LocalPlayer.PlayerGui.CGUI.greeting
local No = game.Players.LocalPlayer.PlayerGui.CGUI.No
local Yes = game.Players.LocalPlayer.PlayerGui.CGUI.Yes
local NResponse = game.Players.LocalPlayer.PlayerGui.CGUI.NResponse
local YResponse = game.Players.LocalPlayer.PlayerGui.CGUI.YResponse
local Frame = game.Players.LocalPlayer.PlayerGui.CGUI.Frame
local money =
local noc = game.Players.LocalPlayer.PlayerGui.CGUI.Frame.noc
local CAMCODE = game.StarterPlayer.StarterCharacterScripts.ClerkHandler

	Prompt.Enabled = false
	No.Visible = true
	Yes.Visible = true
	greeting.Visible = true
	CAMCODE.Disabled = false
	TypeWriter.typeWrite(script.Parent, "hey, you here to buy cheese? we only have one left")


It isn’t the full code for the undisabler, that is just to show where it is.

What is should do when it is undisabled and when the promt is triggered:

I don’t think I use Wait() in the ClerkHandler or GUI Handler?

My bad, try doing the following in the disabler script.

Camera.CameraType = Custom
Camera.CFrame = Character.Head.CFrame

No that didn’t work, it just made the camera’s position the first player’s head position

Well that’s what it was supposed to do,

You can set it to something else if you would like to for your intentions.

Yes your answer is correct, but it’s doing it regularly instead of when the prompt is enabled.