oskdemon Posted February 22, 2009 Posted February 22, 2009 Simple game, not important, private community. I'm new to AutoIt, but I'm very experienced with programming. My Task: In this game, Level Character to 400 (Top Level) -- RealTime takes 4 minutes to complete task. There is many things I need to do to be able to do this. There must be 1 main loop, Read from memory (Level) If Level is <50 Map Check If Map is not desired map, enter command to move map Read from memory (Coordinates) **for example we want to get to coord 10,10** If Coordinates x = lower than 10, move up, if higher than 10, move down. If Coordinates y = lower than 10, move right, if higher than 10, move left. **here is where I will add simple key strokes to level in the desired area** ElseIf Level is <400 Map Check If Map is not desired map, enter command to move map Coordinate check again ElseIf Level is 400 Display Message Box (Level 400 Achieved) **Simple keystrokes, Resulting in a loop, where level will be reset to 1, and main loop with begin again.** As I am not firmilliar with the codes of AutoIt I am asking that anybody could post some of the commands I'm needing to write my macro. Ex, commands to read memory, check if memory is meeting desired... Thanks for the time guys. I WILL be finishing my project if anyone is interested in seeing it when im done. If nobody is willing to help, no worrys, I finally took the time to make my coding template, besides... I'm sure the search button works haha.
anunes Posted February 22, 2009 Posted February 22, 2009 (edited) Simple game, not important, private community.I'm new to AutoIt, but I'm very experienced with programming.My Task: In this game, Level Character to 400 (Top Level) -- RealTime takes 4 minutes to complete task.There is many things I need to do to be able to do this.There must be 1 main loop,Read from memory (Level)If Level is <50 Map Check If Map is not desired map, enter command to move mapRead from memory (Coordinates)**for example we want to get to coord 10,10**If Coordinates x = lower than 10, move up, if higher than 10, move down.If Coordinates y = lower than 10, move right, if higher than 10, move left.**here is where I will add simple key strokes to level in the desired area**ElseIf Level is <400 Map Check If Map is not desired map, enter command to move mapCoordinate check againElseIf Level is 400Display Message Box (Level 400 Achieved)**Simple keystrokes, Resulting in a loop, where level will be reset to 1, and main loop with begin again.**As I am not firmilliar with the codes of AutoIt I am asking that anybody could post some of the commands I'm needing to write my macro. Ex, commands to read memory, check if memory is meeting desired...Thanks for the time guys. I WILL be finishing my project if anyone is interested in seeing it when im done. If nobody is willing to help, no worrys, I finally took the time to make my coding template, besides... I'm sure the search button works haha.Sorry, I don't understood what exactly is this "memory" you say? Edited February 22, 2009 by anunes
cageman Posted February 22, 2009 Posted February 22, 2009 some autoit functions you should look at:Send() for keystrokesnomadmemory.au3 UDF for memory functionsMsgbox() for messageboxesautoit has the same loops as most other languages.for, while loops etc. you can look these all up in the help file or online documentationif statements work like this:if $level<50 Thencheckmap()Endif gl
oskdemon Posted February 22, 2009 Author Posted February 22, 2009 Sorry, I don't understood what exactly is this "memory" you say?computers store memory for everything they do.memory allows me to read a certain value from a programin this case, a game, we can read the memory that contains the value of the level of my character.
jvanegmond Posted February 22, 2009 Posted February 22, 2009 oskdemon, if you're so VERY experienced with programming, the AutoIt help file should be enough of a reference to you. Look in your Start Menu > Programs > AutoIt > Help github.com/jvanegmond
oskdemon Posted February 22, 2009 Author Posted February 22, 2009 Always 1 person who ABSOLUTELY has to add their couple of words to make everyone feel like shit and turn things into a flame war. Thats fine. You didn't help at all. Quoting myself: "If nobody is willing to help, no worrys, I finally took the time to make my coding template, besides... I'm sure the search button works haha." Now if your gonna be one of those people who is not willing to help. Stop adding your two cents and go masturbate or something.
jvanegmond Posted February 22, 2009 Posted February 22, 2009 I pointed you to the location to the help file, which is the single most valuable resource in AutoIt. If you're not satisfied with that then nothing is going to satisfy you. github.com/jvanegmond
cageman Posted February 22, 2009 Posted February 22, 2009 it seems your not such an experienced programmer.. the script you mention shouldn't be hard. Only problem might be finding the memoryadresses.. manadar gave you some help even if its just a tip to the helpfile appreciate he pointed it out.
bundyxc Posted February 22, 2009 Posted February 22, 2009 Always 1 person who ABSOLUTELY has to add their couple of words to make everyone feel like shit and turn things into a flame war.Thats fine. You didn't help at all. Quoting myself: "If nobody is willing to help, no worrys, I finally took the time to make my coding template, besides... I'm sure the search button works haha."Now if your gonna be one of those people who is not willing to help. Stop adding your two cents and go masturbate or something..... I have a question, then I'll be on my way out of this thread: What exactly were you looking for?Did you want him to code the entire thing for you? I didn't think so.You see, what he just did is gave you the most comprehensive library of AutoIt commands, functions, etcetera, and you decided that you were going to get offended. He legitimately helped you, by giving you the exact place to find an answer.That's like if you posted a thread asking something like "hey, where is France?", and instead of giving you the answer, we helped you find it by giving you this: http://en.wikipedia.org/wiki/France. Would you have been offended? I sure hope not. You see, instead of just coding your program for you, we try to help you. Ask specific questions if you need help with a small portion of code. But please don't just come in here, ask us a question, and get all pissy when we answer it for you.Contact me via PM if you'd like to engage in a private debate. I'd like to try to keep these forums clean of immature crap.Thank you. Global $arr[2] $arr[0]="hip" $arr[1]="hip" ;^^ hip hip array. ^^
oskdemon Posted February 22, 2009 Author Posted February 22, 2009 (edited) lol Edited February 22, 2009 by oskdemon
bundyxc Posted February 22, 2009 Posted February 22, 2009 Go back to 4chan. If you're going to be immature, don't do it here. We don't want your porn. Do you want help with your program, or not? Global $arr[2] $arr[0]="hip" $arr[1]="hip" ;^^ hip hip array. ^^
Ealric Posted February 22, 2009 Posted February 22, 2009 I pointed you to the location to the help file, which is the single most valuable resource in AutoIt. If you're not satisfied with that then nothing is going to satisfy you.Amen, brother.Three things I always have open when coding with Autoit:1. My script2. The helpfile3. The MSDN libraryIf I had to add a 4th, I'd say these forums... My Projects: [topic="89413"]GoogleHack Search[/topic], [topic="67095"]Swiss File Knife GUI[/topic], [topic="69072"]Mouse Location Pointer[/topic], [topic="86040"]Standard Deviation Calculator[/topic]
Ealric Posted February 22, 2009 Posted February 22, 2009 And, to answer you Osk, it depends on the game. Nomad is going to be your best bet on memory functions but with games like WoW that houses warden and some other anti-mem features, the memory pointers are going to change often and to the point that you will have to utilize a concept called cheatengine or similar to find out the new memory pointers. My Projects: [topic="89413"]GoogleHack Search[/topic], [topic="67095"]Swiss File Knife GUI[/topic], [topic="69072"]Mouse Location Pointer[/topic], [topic="86040"]Standard Deviation Calculator[/topic]
oskdemon Posted February 22, 2009 Author Posted February 22, 2009 (edited) ...How about a simple question Can anybody provide me with an EXAMPLE code of NomadMemory being used to gather memory on an address without an offset. Like I said... I am firmilliar with programming, I'm new to autoit and I was in need of tips, not the help file, although it is very usefull, I am very aware of it. Ealric, I was typing that while you were typing yours, Its a simple game, I've already found all offsets/pointers, some addresses are already static though. Edited February 22, 2009 by oskdemon
bundyxc Posted February 22, 2009 Posted February 22, 2009 ...How about a simple questionCan anybody provide me with an EXAMPLE code of NomadMemory being used to gather memory on an address without an offset.Like I said... I am firmilliar with programming, I'm new to autoit and I was in need of tips, not the help file, although it is very usefull, I am very aware of it.Ealric, I was typing that while you were typing yours, Its a simple game, I've already found all offsets/pointers, some addresses are already static though.Thank you.I don't have any examples of this, and I haven't heard any talk of this around the forum.. but there has to be something. Maybe if you could write it in a different language, we could work on translating it into AutoIt? Global $arr[2] $arr[0]="hip" $arr[1]="hip" ;^^ hip hip array. ^^
oskdemon Posted February 22, 2009 Author Posted February 22, 2009 (edited) I came to autoit because of the lack of memory reading commands, saw nomadmemory, looked promising. I have the same code written in another macro language but the commands are completely different. I found and example of memory being used and read with offsets/pointers, maybe if I add the offset as 0, it would work the same? $ID=_MemoryOpen(ProcessExists("main.exe")) $pid = ProcessExists("main.exe") $Offset = Dec("0") $openmem = _MemoryOpen($pid) $baseADDR = _MemoryGetBaseAddress($openmem, 1) $FinalStatic = "0x" & Hex($baseADDR + $Offset) $value=_MemoryRead($FinalStatic,$ID) Thats what I'm working with right now... Update: The only problem I'm currently having is getting the value of my level, else I can write this very easily. $Level=_MemoryRead($MemoryAddress,$ID) If $Level > 50 Then ElseIf $Level > 200 Then ElseIf $Level > 400 Then ElseIf $Level = 400 Then MsgBox(4096,"", "Level 400 Achieved.") EndIf Thats what the script will lie on (not including EVERYTHING else obviously lmfao) Edited February 22, 2009 by oskdemon
Szhlopp Posted February 22, 2009 Posted February 22, 2009 I came to autoit because of the lack of memory reading commands, saw nomadmemory, looked promising. I have the same code written in another macro language but the commands are completely different. I found and example of memory being used and read with offsets/pointers, maybe if I add the offset as 0, it would work the same? $ID=_MemoryOpen(ProcessExists("main.exe")) $pid = ProcessExists("main.exe") $Offset = Dec("0") $openmem = _MemoryOpen($pid) $baseADDR = _MemoryGetBaseAddress($openmem, 1) $FinalStatic = "0x" & Hex($baseADDR + $Offset) $value=_MemoryRead($FinalStatic,$ID) Thats what I'm working with right now... Update: The only problem I'm currently having is getting the value of my level, else I can write this very easily. $Level=_MemoryRead($MemoryAddress,$ID) If $Level > 50 Then ElseIf $Level > 200 Then ElseIf $Level > 400 Then ElseIf $Level = 400 Then MsgBox(4096,"", "Level 400 Achieved.") EndIf Thats what the script will lie on (not including EVERYTHING else obviously lmfao) Those variables look familiar=P The problem you may be having is not using a pointer. In most games the values are changed everytime you log, travel, change hud, ect. I would suggest using the pointer scanner to find your green. RegEx/RegExRep Tester!Nerd Olympics - Community App!Login UDFMemory UDF - "Game.exe+753EC" - CE pointer to AU3Password Manager W/ SourceDataFiler - Include files in your au3!--- Was I helpful? Click the little green '+'
Developers Jos Posted February 22, 2009 Developers Posted February 22, 2009 (edited) Always 1 person who ABSOLUTELY has to add their couple of words to make everyone feel like shit and turn things into a flame war.Thats fine. You didn't help at all. Quoting myself: "If nobody is willing to help, no worrys, I finally took the time to make my coding template, besides... I'm sure the search button works haha."Now if your gonna be one of those people who is not willing to help. Stop adding your two cents and go masturbate or something.You better take your attitude somewhere else as this is not a great start and is not going to be allowed here. As for the rest: please clam down a little ..... thanksGamers BS as usual ... *click* Edited February 22, 2009 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past.
Recommended Posts