How can I change camera mode on input?

Hi, I was wondering if you could help me with my code

The script:

local Players = game:GetService("Players")
local player = Players.LocalPlayer

local FP = Enum.CameraMode.LockFirstPerson

local TP = Enum.CameraMode.Classic

local UIs = game:GetService("UserInputService")

UIs.InputBegan:Connect(function(input)
	if input.KeyCode.Value == "101" then
		player.CameraMode = FP
		
	elseif input.KeyCode.Value == "102"  then
		player.CameraMode = TP
	
		
		
		
	end
end)

What keybinds are you trying to assign when switching the camera type?

keybinds e and f, but preferebably switched with one keybind

local UIs = game:GetService("UserInputService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local FP = Enum.CameraMode.LockFirstPerson
local TP = Enum.CameraMode.Classic

UIs.InputBegan:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.E then
		player.CameraMode = FP
	elseif input.KeyCode == Enum.KeyCode.F  then
		player.CameraMode = TP
	end
end)
2 Likes

Works, thanks. But when I press f, it stays zooms in and requires the player to manually scroll out.

you can repair it like this:

local UIs = game:GetService("UserInputService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local FP = Enum.CameraMode.LockFirstPerson
local TP = Enum.CameraMode.Classic

UIs.InputBegan:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.E then
		player.CameraMode = FP
	elseif input.KeyCode == Enum.KeyCode.F  then
		player.CameraMode = TP
		player.CameraMinZoomDistance = 10
		player.CameraMinZoomDistance = 0.5
	end
end)
1 Like

Thanks for your help!

ignore this text, 30 limit.

local UIs = game:GetService("UserInputService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local FP = Enum.CameraMode.LockFirstPerson
local TP = Enum.CameraMode.Classic

UIs.InputBegan:Connect(function(input, processed)
	if processed then
		return
	end
	
	if input.KeyCode == Enum.KeyCode.E then
		player.CameraMode = FP
	elseif input.KeyCode == Enum.KeyCode.F  then
		player.CameraMode = TP
		player.CameraMinZoomDistance = 10
		player.CameraMinZoomDistance = 0.5
	end
end)

Don’t forget the processed parameter (you wouldn’t want the player’s camera to switch modes while they are chatting).

1 Like