Custom Mouse [Open Source]

Custom Mouse is a free script for you that you can use if you want to have proper control over the player’s mouse. This could be useful and fun in fighting games or for various utilities.

Here’s an example of what it can do:

Roblox Custom Mouse|video

Uncopylocked game link:

9 Likes

Please provide some documentation for this module.

Documentation can be found within the script, I’ll copy and paste it for you:

HookTextLabelMouse1Down(TextLabel, EventToHook)
	-Hooks a text label to a function of your choosing when a text label or
	other GUI object (such as a frame) is mouse 1 downed by the custom mouse
	
	-Example usage:
		HookTextLabelMouseDown(game.Players.LocalPlayer.a3nim.PlayerGui.ScreenGui.TextLabel, function()
			print("hi")
		end)

HookTextLabelMouse1Up(TextLabel, EventToHook)
	-Hooks a text label to a function of your choosing when a text label or
	other GUI object (such as a frame) is mouse 1 upped by the custom mouse

HookTextLabelMouse2Down(TextLabel, EventToHook)
	-Hooks a text label to a function of your choosing when a text label or
	other GUI object (such as a frame) is mouse 2 downed by the custom mouse

HookTextLabelMouse2Up(TextLabel, EventToHook)
	-Hooks a text label to a function of your choosing when a text label or
	other GUI object (such as a frame) is mouse 2 upped by the custom mouse

CheckMouseIsOnBoundary()
	-Returns "-X" if the custom mouse is outside of bounds on the left side of the screen, "X" if on
	the right, "-Y" if on the top, "Y" if on the bottom and nil if it is on the screen

FlingMouse(Velocity, DirectionXY, Drag, Rotation)
	-Flings the custom mouse in a direction.
	-Velocity should be a positive integer which will determine the force at which it is flung.
	-DirectionXY should be a table at which index 1 determines the force in the X direction and
	index 2 determines the force in the Y direction.
	-Drag should be a positive number greater than 0 which will determine how slowly the velocity
	slows down. 0.5 is quickly, 3 is slowly.
	-Rotation should be a number which will determine the rotation velocity of the fling. Leave it
	at 0 if you want no rotation, and 3 will provide a fast rotation.
	
	-Example usage:
		FlingMouse(55, {1, 0.5}, 2, 3)
	
SetMouseXOffset(Offset)
	Sets the custom mouse's X offset from the real mouse to the offset given.
	
SetMouseYOffset(Offset)
	Sets the custom mouse's Y offset from the real mouse to the offset given.	
	
ChangeMouseXOffset(Offset)
	Sets the custom mouse's X offset from the real mouse to the offset given.
	
ChangeMouseYOffset(Offset)
	Sets the custom mouse's Y offset from the real mouse to the offset given.
1 Like

Looks awesome! Love it thanks. :+1: :grin: :heart_eyes:

1 Like

Awesome stuff, It is also recommended to make a custom chat in order to maintain the effect even in chat.