Type Index Pages
- BillboardGui
- CanvasGroup
- Frame
- Hint
- ImageButton
- ImageLabel
- PlayerGui
- ScreenGui
- ScrollingFrame
- StarterGui
- SurfaceGui
- TextBox
- TextButton
- TextLabel
- UIAspectRatioConstraint
- UIGradient
- UIGridLayout
- UIListLayout
- UIPadding
- UIPageLayout
- UIScale
- UISizeConstraint
- UITableLayout
- UITextSizeConstraint
- VideoFrame
- ViewportFrame
- ChangeHistoryService
- CoreGui
- DataModelSession
- DockWidgetPluginGui
- MultipleDocumentInterfaceInstance
- Plugin
- PluginAction
- PluginGui
- PluginGuiService
- PluginManager
- PluginMenu
- PluginMouse
- PluginToolbar
- PluginToolbarButton
- QWidgetPluginGui
- Selection
- StandalonePluginScripts
- StatsItem
- StudioService
- StudioTheme
No results found!
-
Instance
- GameSettings
- DebugSettings
- BodyMover
- WeldConstraint
- HttpRbxApiService
- NotificationService
- Translator
- Lighting
- Beam
- GuiService
- UserInputService
- Studio
- Plugin
- HttpService
- Mouse
- BindableEvent
- RunService
- Pages
- Humanoid
- TestService
- PathfindingService
- Chat
- NetworkPeer
- Feature
- CharacterAppearance
- Constraint
- NetworkReplicator
- JointInstance
- Light
- BasePlayerGui
- AnalyticsService
- NetworkMarker
- BinaryStringValue
- FlyweightService
- Geometry
- LoginService
- InstancePacketCache
- ThirdPartyUserService
- TouchInputService
- RuntimeScriptService
- GuidRegistryService
- PartOperationAsset
- DialogChoice
- PhysicsService
- AdService
- TextService
- MarketplaceService
- TeleportService
- Accoutrement
- GamePassService
- AssetService
- InsertService
- PointsService
- ChangeHistoryService
- ServerScriptService
- JointsService
- LogService
- InputObject
- Toolbar
- LuaSettings
- RenderSettings
- AnimationTrack
- PhysicsSettings
- NetworkSettings
- CFrameValue
- Animation
- Color3Value
- BoolValue
- BrickColorValue
- Vector3Value
- AnimationController
- BindableFunction
- Button
- Trail
- LocalizationTable
- LocalizationService
- DebuggerBreakpoint
- DebuggerWatch
- ScriptDebugger
- Animator
- Attachment
- RemoteFunction
- RemoteEvent
- PluginManager
- Camera
- Stats
- Sky
- StarterPlayer
- Dragger
- TerrainRegion
- Path
- TextFilterResult
- Dialog
- StatsItem
- GoogleAnalyticsConfiguration
- ScriptContext
- ControllerService
- CacheableContentProvider
- ReflectionMetadataClasses
- ReflectionMetadataEnums
- DebuggerManager
- GuiBase
- UIBase
- LuaSourceContainer
- GuiItem
- DataModelMesh
- ServiceProvider
- ReflectionMetadataItem
- PostEffect
- PhysicsPacketCache
- TouchTransmitter
- RobloxReplicatedStorage
- Visit
- LuaWebService
- ScriptService
- FlagStandService
- VirtualUser
- SpawnerService
- TimerService
- CookiesService
- Team
- GroupService
- StarterGear
- Message
- PlayerScripts
- Configuration
- ContentProvider
- CollectionService
- Debris
- ReplicatedFirst
- ServerStorage
- ReplicatedStorage
- Folder
- TweenService
- Players
- ContextActionService
- StarterPlayerScripts
- SoundService
- KeyframeSequenceProvider
- VRService
- PluginGuiService
- Player
- Teams
- Pose
- Keyframe
- KeyframeSequence
- IntConstrainedValue
- DoubleConstrainedValue
- ForceField
- RayValue
- Fire
- Smoke
- Sparkles
- ParticleEmitter
- IntValue
- StringValue
- NumberValue
- Explosion
- ObjectValue
- SoundGroup
- UserGameSettings
- ClickDetector
- Sound
- Selection
- BadgeService
- TaskScheduler
- GlobalDataStore
- DataStoreService
- CustomEvent
- CustomEventReceiver
- VirtualInputManager
- FunctionalTest
- TweenBase
- SoundEffect
- ReflectionMetadataEvents
- ClusterPacketCache
- PVInstance
- FaceInstance
- Controller
- ReflectionMetadataCallbacks
- ReflectionMetadataFunctions
- ReflectionMetadataYieldFunctions
- ReflectionMetadataProperties
- ReflectionMetadata
- AdvancedDragger
- HapticService
- FriendService
- GamepadService
No Result Found !!!
MouseEnabled
This property can only be read from. Attempting to write to it will cause an error.
This item is not replicated across Roblox’s server/client boundary.
This property describes whether the user’s device has a mouse available. This property is true when the user’s device has an available mouse, and false when it does not.
local UserInputService = game:GetService("UserInputService") if (UserInputService.MouseEnabled) then print("The user's device has an available mouse!") else print("The user's device does not have an available mouse!") end
It is important to check this before using UserInputService
mouse functions such as UserInputService/GetMouseLocation
.
As UserInputService
is client-side only, this property can only be used in a LocalScript
.
See also
UserInputService/MouseBehavior
UserInputService/MouseDeltaSensitivity
UserInputService/MouseIconEnabled
UserInputService/GetMouseLocation
UserInputService/GetMouseDelta
UserInputService/GetMouseButtonsPressed
Code Samples
Create a Binoculars Script
This example creates a binoculars script that decreases the player’s Camera/FieldOfView|FieldOfView
and UserInputService/MouseDeltaSensitivity|MouseDeltaSensitivity
when a player with a UserInputService/MouseEnabled|MouseEnabled
left mouse clicks. The script also points the player’s Camera
towards the DataType/Vector3|Vector3
world position of the mouse click determined by the Mouse|Mouse’s
Mouse/Hit|Mouse.Hit.p
property.
When the player left mouse clicks again, the player’s camera reverts back to the a custom Enum/CameraType|CameraType
with the same field of view and Camera/CFrame|CFrame
as before the player zoomed in with the script.
While the player uses the binoculars, the script locks the player’s mouse to the center of the screen by setting the player’s UserInputType/MouseBehavior|MouseBehavior
to LockCenter. The player’s camera moves when the player moves their mouse according to the InputObject/Delta|InputObject.Delta
property passed by UserInputService/InputChanged|InputChanged
indicating the mouse’s DataType/Vector2|Vector2
change in screen position.
In order for this example to work as expected, it should be placed in a LocalScript
.
local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local player = Players.LocalPlayer local character = player.CharacterAdded:Wait() local head = character:WaitForChild("Head", false) local mouse = player:GetMouse() local zoomed = false local camera = game.Workspace.CurrentCamera local target = nil local originalProperties = { FieldOfView = nil, _CFrame = nil, MouseBehavior = nil, MouseDeltaSensitivity = nil } local AngleX,TargetAngleX = 0,0 local AngleY,TargetAngleY = 0,0 -- Reset camera back to CFrame and FieldOfView before zoom local function ResetCamera() target = nil camera.CameraType = Enum.CameraType.Custom camera.CFrame = originalProperties._CFrame camera.FieldOfView = originalProperties.FieldOfView UserInputService.MouseBehavior = originalProperties.MouseBehavior UserInputService.MouseDeltaSensitivity = originalProperties.MouseDeltaSensitivity end local function ZoomCamera() -- Allow camera to be changed by script camera.CameraType = Enum.CameraType.Scriptable -- Store camera properties before zoom originalProperties._CFrame = camera.CFrame originalProperties.FieldOfView = camera.FieldOfView originalProperties.MouseBehavior = UserInputService.MouseBehavior originalProperties.MouseDeltaSensitivity = UserInputService.MouseDeltaSensitivity -- Zoom camera target = mouse.Hit.p local eyesight = head.Position camera.CFrame = CFrame.new(eyesight, target) camera.Focus = CFrame.new(target) camera.FieldOfView = 10 -- Lock and slow down mouse UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter UserInputService.MouseDeltaSensitivity = 1 -- Reset zoom angles AngleX,TargetAngleX = 0,0 AngleY,TargetAngleY = 0,0 end -- Toggle camera zoom/unzoom local function MouseClick() if zoomed then -- Unzoom camera ResetCamera() else -- Zoom in camera ZoomCamera() end zoomed = not zoomed end local cameraRotation = Vector2.new(0,math.rad(-60)) local function MouseMoved(input) if zoomed then local sensitivity = 0.6 -- anything higher would make looking up and down harder; recommend anything between 0~1 local smoothness = 0.05 -- recommend anything between 0~1 local delta = Vector2.new(input.Delta.x/sensitivity,input.Delta.y/sensitivity) * smoothness local X = TargetAngleX - delta.y local Y = TargetAngleY - delta.x TargetAngleX = (X >= 80 and 80) or (X <= -80 and -80) or X TargetAngleY = (Y >= 80 and 80) or (Y <= -80 and -80) or Y AngleX = AngleX + (TargetAngleX - AngleX) *0.35 AngleY = AngleY + (TargetAngleY - AngleY) *0.15 camera.CFrame = CFrame.new(head.Position, target) * CFrame.Angles(0,math.rad(AngleY),0) * CFrame.Angles(math.rad(AngleX),0,0) end end local function InputBegan(input, gameProcessedEvent) if input.UserInputType == Enum.UserInputType.MouseButton1 then MouseClick() end end local function InputChanged(input, gameProcessedEvent) if input.UserInputType == Enum.UserInputType.MouseMovement then MouseMoved(input) end end if UserInputService.MouseEnabled then UserInputService.InputBegan:Connect(InputBegan) UserInputService.InputChanged:Connect(InputChanged) end
How this site use cookies
This Platform uses cookies to offer you a better experience, to personalize content, to provide social media features and to analyse the traffic on our site. For further information, including information on how to prevent or manage the use of cookies on this Platform, please refer to our Privacy and Cookie Policy.