local userInputService = game:GetService("UserInputService")
local runService = game:GetService("RunService")
local player = game:GetService("Players").LocalPlayer
local camera = workspace.CurrentCamera
local isMouseFree = false
local isRightMouseDown = false
-- Функция переключения режима мыши
local function toggleMouse()
isMouseFree = not isMouseFree
if isMouseFree then
-- Разблокируем мышь, чтобы можно было кликать по интерфейсу
userInputService.MouseBehavior = Enum.MouseBehavior.Default
userInputService.MouseIconEnabled = true
print("Мышь разблокирована (нажми V снова, чтобы вернуть управление)")
else
-- Возвращаем стандартный режим управления камерой от первого/третьего лица
userInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
userInputService.MouseIconEnabled = false
isRightMouseDown = false
print("Управление камерой возвращено")
end
end
-- Отслеживаем нажатие клавиши V
userInputService.InputBegan:Connect(function(input, gameProcessed)
-- Игнорируем, если игрок пишет что-то в чате
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.V then
toggleMouse()
end
-- Следим за зажатием правой кнопки мыши
if input.UserInputType == Enum.UserInputType.MouseButton2 and isMouseFree then
isRightMouseDown = true
-- Пока ПКМ зажата — крутим камеру мышкой
userInputService.MouseBehavior = Enum.MouseBehavior.LockCurrentPosition
end
end)
-- Отслеживаем отпускание правой кнопки мыши
userInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 and isMouseFree then
isRightMouseDown = false
-- Отпустил ПКМ — курсор снова свободно ходит по экрану
userInputService.MouseBehavior = Enum.MouseBehavior.Default
end
end)