Problem with cursor node in game (no recoil for games system)

i recently made a no recoil system in vvvv, it works perfect anyway when i open counter strike: global offensive, it doesn’t works right,

DEMO EXPERIENCE:

1- I open the game and start a server with bots.
2- I touch Esc button, the game gonna stop (“pause mode”).
3- When i left click my mouse in “pause mode”, the Y axis of my mouse gonna go down, it means that the system works good.
4- I touch Esc button again to go out from “pause mode” and go to the “ingame mode”.
5- When i test this “ingame mode”, no in “pause mode”, it does not work!

DEMO:
http://i.gyazo.com/3d2393ed00bff756032c70c98a0e7e34.gif

it means that the cursor node doesn’t works well with games :/

how can i fix it?

V4P FILE (3.3 kB)

UP, PLEASE I NEED HELP!

up… no text …

UP!!.. no text …

what should your patch do? that’s not clear to me. perhaps you should provide a more explaining patch that exposes the problem you actually have.

The patch currently makes the Y axis of the mouse get down when I leftclick, the problem is that when I’m in the game this does not work.

does Mouse (Devices Desktop) (instead of the rather old Mouse-Node you use, i guess it’s copied from somewhere) work? Which vvvv version do you use? Try the newest Version with the node mentioned above.

First, I’d have been surprised, if this would have worked, Punkbuster or not.

For this to understand, you have to understand the many tiers of mouse handling in windows. In essence, the main body of your mouse sends a packet of it’s data (mostly relative delta movements away from the last packet and button bools, ofc in weird binary fashion) through the wire. To handle this communication, Windows sets up a HID device (with a representation in the Device Manager).

Remember, what it receives is just raw data, and often even obfuscated by vendors. But because it is a device, you might be able to access its HID data provided by the operating system and get an un-obfuscated glimps of the data.

There is a downside too. As soon as it reports to be a mouse (or touch, but thats a different story), it is automatically hooked into the singular windows Mouse you are used to: depending on fast deltas it might cross your screen further, detect a double-click or even auto-correct mouse terrain mal-detections.
I’m assuming here a lot, I reckon that this is where the vvvv node comes in- it repositions this high-level mouse cursor.

In classic fps like CS there are none of the default Windows Mouse movement enhancements, they are deemed disturbing and eliminated by design. Thats why these games hook deeper, below the level of access of the plugin.
So your question is indeed a deep one, even though it is just for the cheap reason of cheating ;)
Your approach might work for browser, java and flash games, but not for CS.

There has been some user32.dll plugin work done for low-level access of mice by @woei)) and ((user:herbst, I believe, but none which involved overwriting data. I am still assuming here: it is hard.
That said, there is nothing stopping you from glueing a secondary mouse to a arduino-driven piston and nudge it a little, or some mini-belt below the laser, all driven by vvvv.

tl;dr

Cheating can be hard.

thanks to all!