HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

FPS Control

04-03-2006, 02:11 AM#1
Azumarril
I'm working on a new FPS Control, which can currently search for the control array itself, and you can change the mouse polling time. I'll give out the source too, but VB isn't working for me right now..

It's working, with a few hours of hitting my computer.
Attached Files
File type: zipAzuFPSControl.zip (17.5 KB)
04-03-2006, 02:34 PM#2
TheEpigoni
I actually have Stoned's original source on my computer, but it's in Delphi so I'm not sure it'll be useful to anyone even if I did release it. From what I've read it seems like he didn't intend to share it although I don't really see what in there is crazy enough to be hidden, but *shrug*.

As far as the basics of searching through the memory, if you already know how to write to memory, reading is easy enough. The difficulty comes in knowing the memory range that War3 uses for trigger variables, Stoned had that part figured out but it's semi-obsolete now because it changes by a little bit every patch, mind you his program still works 100% for me, but I havn't exactly tried it on many different maps.

Although I don't imagine you will, if you need any help with developing this, feel free to ask.
04-03-2006, 11:54 PM#3
Azumarril
This is my first release, it gives itself the debug privelege, searches for the control array (accurately) and it doesn't work too bad :D. It shouldn't be too hard to extend work off of. Any comments or suggestions are appreciated.
04-04-2006, 03:47 PM#4
Ant
I have no idea what delphi is, but I didn't know someone had the source code. And I always thought it was written in C...

Woot.

And I can't seem to get anything out of the link in your siggy.
04-04-2006, 04:25 PM#5
TheEpigoni
Ant:
Delphi is to Pascal, as what Visual Basic is to Basic.

I got the source code from Stoned when we were working on the mod together, he showed me a few good tutorials and I then wrote my own test version in C (Not released, since it's useless =P).

The link is in the original message, he edited it. Although the video in the signature is pretty funny. =). It takes advantage of the rounding that happens when a trigger tries to unit out of bounds.

Azu:
Great job if this works, I'll have to try it out when I get home, although I'm still curious what you used as the start and end memory range.
04-04-2006, 09:20 PM#6
Azumarril
I don't know how or what Stoned did in his program, but here's how i did it:
GetSystemInfo buffer
and buffer has the minimum address space, and the maximum (it's in the wrong order in my code, so it starts at 0)
then it takes a chunk of memory and checks if it's part of the process, and used.
once it finds a suitable chunk, it reads, and checks for 99999 and 1 after that since there are false positives when you run it multiple times.
04-05-2006, 02:10 PM#7
TheEpigoni
Sounds pretty accurate, Stoned just used a static min/max memory value range to search through, not sure how/why he picked it though.