sylar Posted August 30, 2009 Share Posted August 30, 2009 (edited) ive been trying to make program to read the memory of world of warcraft and display the hp so after looking around for awhile i decided to give it a go its been a few days now and i cant seem to get any of my programs to read the memory of minesweeper or world of warcraft im sure i have the right address but it wont read and display the value #include <NomadMemory.au3> $Mem_Address = 0x0100579C $Process1 = WinGetProcess("winmine.exe") while 1 $mem_open = _MemoryOpen($process1) $mem_read = _MemoryRead($Mem_Address, $mem_open) tooltip($mem_read,100,100,"time") _memoryclose($mem_open) wend what am i doing wrong Edited August 30, 2009 by sylar Link to comment Share on other sites More sharing options...
cageman Posted August 30, 2009 Share Posted August 30, 2009 http://www.autoitscript.com/forum/index.php?showtopic=100794 look at that one also made with NomadMemory. Uses the same adress as you do, but check out if you use the same version. Link to comment Share on other sites More sharing options...
sylar Posted August 30, 2009 Author Share Posted August 30, 2009 http://www.autoitscript.com/forum/index.php?showtopic=100794look at that one also made with NomadMemory. Uses the same adress as you do, but check out if you use the same version.that works with my version of minesweeper after looking over it for abit i still cant work out why my script shouldnt work Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 well its only a guess it doesnt work its only returning 0 when the values changed Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 bump Link to comment Share on other sites More sharing options...
jvanegmond Posted August 31, 2009 Share Posted August 31, 2009 Are you using Vista and forgetting to run this as administrator? github.com/jvanegmond Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 no im useing windows xp and im runing as admin Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 http://www.autoitscript.com/forum/index.php?showtopic=100794 this one works for me just fine and we are useing the same address for time so why wont mine read it and display it? Link to comment Share on other sites More sharing options...
jvanegmond Posted August 31, 2009 Share Posted August 31, 2009 (edited) After reviewing the differences in code line by line I found this: #include <NomadMemory.au3> $Mem_Address = 0x0100579C $Process1 = WinGetProcess("winmine.exe") ;<== WinGetProcess is not used like this. It should be ProcessExists!! while 1 $mem_open = _MemoryOpen($process1) $mem_read = _MemoryRead($Mem_Address, $mem_open) tooltip($mem_read,100,100,"time") _memoryclose($mem_open) wend Edited August 31, 2009 by Manadar github.com/jvanegmond Link to comment Share on other sites More sharing options...
cageman Posted August 31, 2009 Share Posted August 31, 2009 the mistake is.. WinGetProcess() if you look it up in the helpfile it needs a windowtitle, not the executable name. Use ProcessExists("winmine.exe") if you want it to work for everyone. Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 #include <NomadMemory.au3> $Mem_Address = 0x0100579C $Process1 = ProcessExists("winmine.exe") while 1 $mem_open = _MemoryOpen($process1) $mem_read = _MemoryRead($Mem_Address, $mem_open) tooltip($mem_read,100,100,"time") _memoryclose($mem_open) wend there fixed its working now thank you manadar now for my next trick makeing it send keys in world of warcraft Link to comment Share on other sites More sharing options...
jvanegmond Posted August 31, 2009 Share Posted August 31, 2009 Good luck, be careful of Warden. github.com/jvanegmond Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 that wont be a problem for now useing it on private servers for the moment and i think just useing memory read shouldnt be a problem with warden? Link to comment Share on other sites More sharing options...
jvanegmond Posted August 31, 2009 Share Posted August 31, 2009 No idea. : ) github.com/jvanegmond Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 #include <NomadMemory.au3> $Mem_Address = 0x0100579C $Process1 = ProcessExists("winmine.exe") while 1 $mem_open = _MemoryOpen($process1) $mem_read = _MemoryRead($Mem_Address, $mem_open) tooltip($mem_read,100,100,"time") _memoryclose($mem_open) wend since i want it to constantly search and show me the value of $mem_read should i still have _memoryclose? my cpu is going threw the roof Link to comment Share on other sites More sharing options...
jvanegmond Posted August 31, 2009 Share Posted August 31, 2009 Probably this: #include <NomadMemory.au3> $Mem_Address = 0x0100579C $Process1 = ProcessExists("winmine.exe") $mem_open = _MemoryOpen($process1) while 1 $mem_read = _MemoryRead($Mem_Address, $mem_open) tooltip($mem_read,100,100,"time") Sleep(50) wend _memoryclose($mem_open) You need a little sleep in there or its going to read the memory as often as possible, consuming maximum CPU. github.com/jvanegmond Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 but when i close the script it will still close the memory or is that not important if its stoped running? Link to comment Share on other sites More sharing options...
jvanegmond Posted August 31, 2009 Share Posted August 31, 2009 (edited) The script posted here: http://www.autoitscript.com/forum/index.php?showtopic=100794 does not close the memory at all. I don't think it's such a big deal.Edit: Of course you should always try to close anything that wants to be closed, even if its not something that has to be closed. Just putting it in your script as a sign of "good will" (I'll do it later) is usually enough.For prototyping it is not important that everything is perfect. If it goes wrong and the process is corrupted, you can always reboot the program or reboot your computer. Edited August 31, 2009 by Manadar github.com/jvanegmond Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 just tryed it with world of warcraft didnt work looks like ill have to try some thing else Link to comment Share on other sites More sharing options...
sylar Posted August 31, 2009 Author Share Posted August 31, 2009 and what if your going to open and read alot of memory should you put the close memory after it each time? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now