Mouse.Icon Returning nothing

To be simple, im trying to get the default mouse icon of roblox :
Capture d’écran 2022-11-26 233532

Except that when im trying to do :

print(game.Players.LocalPlayer:GetMouse().Icon)

It returns nothing, any idea how to get this icon during runtime? ( i need it to make an exploit detection. Thank you )

You can set the mouse Icon to “” I believe.

1 Like

Hello ! I suggest that you can use the developer documentation to find what you are looking for and in 30 seconds I found it
https://create.roblox.com/docs/reference/engine/classes/Mouse
Have a good day/night

Hi, thank you for your reply

But im not interested into setting it, i need to GET it, i cannot explain the full context as it would ruin the goal of the detection, but i need to be able to know if the exploiter have the “Click” icon or the “pointer icon” without using any gui to know it

Click :
Click
Point:
Point

1 Like

Like i did explain in my post, the mouse.Icon does not return anything.

Btw, you aren’t going to get any information out of an exploiter. They can just delete the code for your anti-cheat.

i do know they can delete local things, except that i know a way to prevent that, so im not scared abt this

1 Like

There is no way to prevent that actually, even if you refresh a local script inside their player or character, they’re still able to disable it or delete it before it even runs. Trust me on how I spent hours of thinking about this to come up to that the server is the only way. Also, I have a game with over 500 concurrent players so I know what I’m talking about too. I’m also going to make an open sourced anti-cheat near Christmas time, so stay tuned for that.

i already have my own anticheat. And yes there is a way that is none of what you said. It’s a way that is not publicly known and of course i won’t explain it here as my anticheat is paid for a reason.

1 Like

Mouse icon will be a blank string if using the default pointer. There isn’t a way to change the mouse icon unless it is not the default pointer.

1 Like

there is a way to bypass it and it’s

script.Parent = nil
1 Like

They can loop through all nil objects with this one function btw. Also, even if that function wasn’t there, that script is still being hosted on their client, so they can easily just make it stop running since THEY’RE the one hosting it.

1 Like

I’ve just done some digging in my program files. It may be interesting to know where these cursors come from, but as to your problem, I don’t think it can be solved from the resources we have.

Here is the address to the ArrowFarCursor:

rbxasset://textures/Cursors/KeyboardMouse/ArrowFarCursor.png
image

Here is the address to the ArrowCursor
rbxasset://textures/Cursors/KeyboardMouse/ArrowCursor.png
image

Important: You can use these addresses to set the mouse icon to one of these images, but you can’t check to see if the current mouse icon is one of these images. As @SubtotalAnt8185 mentioned (and you have already stated yourself), the mouse.Icon value will inherently point to an empty string and won’t be automatically set to the above images unless manually overwritten. In other words, there is no reliable way to discern the click vs pointer icon because they both point to the same icon reference, unless you do some manual overriding (which I suggest against).

1 Like

getnilinstances() can be bypassed too, then to find the script they’d have to break the whole game as soon as it starts lol

Thank you for the help, it’s kind of dumb roblox does not give us a way to check the current mouse icon as it could help for a lot of things, especially that detection.