
Key RequiredUniversal

local UIS = game:GetService("UserInputService")
local screenGUI = Instance.new("ScreenGui")
local player = game.Players.LocalPlayer
screenGUI.Parent = player.PlayerGui
screenGUI.ResetOnSpawn = false
local mindistance = player.CameraMinZoomDistance
local maxdistance = player.CameraMaxZoomDistance
local MainFrame = Instance.new("Frame")
MainFrame.Parent = screenGUI
MainFrame.Size = UDim2.new(0, 250, 0, 100)
MainFrame.Position = UDim2.new(0.033, 0, 0.757, 0)
local UICorner = Instance.new("UICorner")
UICorner.Parent = MainFrame
UICorner.CornerRadius = UDim.new(0, 8)
local button = Instance.new("TextButton")
button.Parent = MainFrame
button.Size = UDim2.new(0, 30, 0, 30)
button.Position = UDim2.new(0.028, 0, 0.07, 0)
button.Text = "Cam"
button.TextColor3 = Color3.new(0, 0, 0)
button.BackgroundColor3 = Color3.new(0.27451, 0.27451, 0.27451)
button.TextScaled = true
local UICorner = Instance.new("UICorner")
UICorner.Parent = button
UICorner.CornerRadius = UDim.new(0, 8)
local textbox = Instance.new("TextBox")
textbox.Parent = MainFrame
textbox.Size = UDim2.new(0, 100, 0, 30)
textbox.Position = UDim2.new(0.32, 0, 0.47, 0)
textbox.Text = "camera id here..."
textbox.TextColor3 = Color3.new(0, 0, 0)
textbox.BackgroundColor3 = Color3.new(0.27451, 0.27451, 0.27451)
textbox.TextScaled = true
local keyToCam = {
[Enum.KeyCode.KeypadOne] = 1,
[Enum.KeyCode.KeypadTwo] = 2,
[Enum.KeyCode.KeypadThree] = 3,
[Enum.KeyCode.KeypadFour] = 4,
[Enum.KeyCode.KeypadFive] = 5,
[Enum.UserInputType.MouseButton1] = 0,
[Enum.UserInputType.MouseButton2] = 6,
}
local currentCam = ""
local function placeCamera()
local text ,wrongtext = textbox.Text:gsub("%D","")
local cameraId = tonumber(text)
if cameraId > 5 then
print("id is too high, you dont have that many buttons idiot.")
else
local Camera = Instance.new("Part")
if workspace:FindFirstChild("Camera" .. cameraId) then
Camera:Destroy()
local camera2 = workspace:FindFirstChild("Camera" .. cameraId)
camera2.Position = player.Character.HumanoidRootPart.Position + Vector3.new(0, 5, 0)
else
Camera.Name = "Camera" .. cameraId
Camera.Parent = workspace
Camera.Anchored = true
Camera.CanCollide = false
Camera.Size = Vector3.new(1, 1, 1)
Camera.Position = player.Character.HumanoidRootPart.Position + Vector3.new(0, 5, 0)
end
end
end
local highlight = Instance.new("Highlight")
highlight.Parent = player.Character
highlight.FillTransparency = 1
highlight.OutlineTransparency = 0
highlight.Enabled = false
local function changeCamera(cameraNum)
print(currentCam == ("Camera" .. cameraNum))
if currentCam == ("Camera" .. cameraNum) then
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
workspace.CurrentCamera.CameraSubject = humanoid
player.CameraMode = Enum.CameraMode.Classic
player.CameraMaxZoomDistance = 5
player.CameraMinZoomDistance = 5
task.wait(0.1)
player.CameraMaxZoomDistance = maxdistance
player.CameraMinZoomDistance = mindistance
currentCam = ""
highlight.Enabled = false
else
workspace.CurrentCamera.CameraSubject = workspace:FindFirstChild("Camera" .. cameraNum)
player.CameraMode = Enum.CameraMode.LockFirstPerson
currentCam = "Camera" .. cameraNum
keyToCam[Enum.UserInputType.MouseButton1] = cameraNum
UIS.MouseBehavior = Enum.MouseBehavior.Default
highlight.Enabled = true
print(cameraNum)
end
end
for i = 1, 5 do
local clone = button:Clone()
clone.Parent = MainFrame
clone.Position = UDim2.new(0.028 + ((i - 1) * 0.2), 0, 0.07, 0)
clone.Text = "Cam " .. i
clone.Name = "button" .. i
clone.MouseButton1Click:Connect(function()
changeCamera(tonumber(clone.Name:gsub("%a", "")))
end)
end
button:Destroy()
local button6 = Instance.new("TextButton")
button6.Parent = MainFrame
button6.Size = UDim2.new(0, 50, 0, 30)
button6.Position = UDim2.new(0.028, 0, 0.47, 0)
button6.Text = "place cam"
button6.TextColor3 = Color3.new(0, 0, 0)
button6.BackgroundColor3 = Color3.new(0.27451, 0.27451, 0.27451)
button6.MouseButton1Click:Connect(function()
placeCamera()
end)
local UICorner = Instance.new("UICorner")
UICorner.Parent = button6
UICorner.CornerRadius = UDim.new(0, 8)
local flipandflop = true
UIS.InputBegan:Connect(function(input, gameProcessed)
-- Ignore inputs if the player is typing in your text box
if gameProcessed then return end
-- Check if the pressed key matches one of our camera numbers
local cameraNum = keyToCam[input.KeyCode]
if cameraNum then
changeCamera(cameraNum)
end
if input.KeyCode == Enum.KeyCode.KeypadSix or input.UserInputType == Enum.UserInputType.MouseButton2 and currentCam ~= "" then
if flipandflop then
workspace.CurrentCamera.FieldOfView = 10
UIS.MouseDeltaSensitivity = 0.1428571428571429
flipandflop = false
else
workspace.CurrentCamera.FieldOfView = 70
UIS.MouseDeltaSensitivity = 1
flipandflop = true
end
end
if input.UserInputType == Enum.UserInputType.MouseButton1 and currentCam ~= "" then
changeCamera(keyToCam[Enum.UserInputType.MouseButton1])
end
end)No comments yet for this script.



