if(game:GetService("\080\108\097\121\101\114\115")).LocalPlayer then local b=game.Players.LocalPlayer:GetMouse();(getmetatable(Mouse)).__index=function(n,Q)return b[Q]end end local b=Instance.new("\083\099\114\101\101\110\071\117\105")b.DisplayOrder=10 local n=Instance.new("\073\109\097\103\101\076\097\098\101\108")n.BackgroundTransparency=1 n.Size=UDim2.new(0,32,0,32)n.Parent=b n.AnchorPoint=Vector2.new(.5,.5)function Mouse.SetGuiIcon(Q)local X=true if Q.Enabled~=nil then X=Q.Enabled end if X then if game.Players.LocalPlayer then b.Parent=game.Players.LocalPlayer.PlayerGui else b.Parent=game.CoreGui end else b.Parent=nil end;(game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")).MouseIconEnabled=not X if Q[1]then n.Image=Q[1]end if Q.Rotation then n.Rotation=Q.Rotation end;(game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")).InputChanged:connect(function(b)if b.UserInputType==Enum.UserInputType.MouseMovement then local Q=b.Position n.Position=UDim2.new(0,Q.x,0,Q.y)end end)end function Mouse.Teardown()b.Parent=nil;(game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")).MouseIconEnabled=true _G.MouseTeardown=nil end _G.MouseTeardown=Mouse.Teardown return Mouse

if game:GetService("Players").LocalPlayer then
	local realMouse = game.Players.LocalPlayer:GetMouse();
	getmetatable(Mouse).__index = function(self, i)
		return realMouse[i];
	end
end

local gui = Instance.new("ScreenGui");
gui.DisplayOrder = 10;
local image = Instance.new("ImageLabel");
image.BackgroundTransparency = 1;
image.Size = UDim2.new(0, 32, 0, 32);
image.Parent = gui;
image.AnchorPoint = Vector2.new(.5, .5);

function Mouse.SetGuiIcon(params)
	local enable = true;
	if params.Enabled ~= nil then
		enable = params.Enabled;
	end
	if enable then
		if game.Players.LocalPlayer then
			gui.Parent = game.Players.LocalPlayer.PlayerGui;
		else
			gui.Parent = game.CoreGui;
		end
	else
		gui.Parent = nil;
	end
	game:GetService("UserInputService").MouseIconEnabled = not enable;
	if params[1] then
		image.Image = params[1];
	end
	if params.Rotation then
		image.Rotation = params.Rotation;
	end
	game:GetService("UserInputService").InputChanged:connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseMovement then
			local p = input.Position;
			image.Position = UDim2.new(0, p.x, 0, p.y);
		end
	end)
end

function Mouse.Teardown()
	gui.Parent = nil;
	game:GetService("UserInputService").MouseIconEnabled = true;
	_G.MouseTeardown = nil;
end
_G.MouseTeardown = Mouse.Teardown;

return Mouse;
