Sign in to follow this  
Followers 0
oskdemon

Starting new game macro.

18 posts in this topic

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.

Share this post


Link to post
Share on other sites



#2 ·  Posted (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 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.

Sorry, I don't understood what exactly is this "memory" you say?

Edited by anunes

Share this post


Link to post
Share on other sites

some autoit functions you should look at:

Send() for keystrokes

nomadmemory.au3 UDF for memory functions

Msgbox() for messageboxes

autoit has the same loops as most other languages.

for, while loops etc. you can look these all up in the help file or online documentation

if statements work like this:

if $level<50 Then

checkmap()

Endif

gl

Share this post


Link to post
Share on other sites

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 program

in this case, a game, we can read the memory that contains the value of the level of my character.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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. ^^

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

lol

Edited by oskdemon

Share this post


Link to post
Share on other sites

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. ^^

Share this post


Link to post
Share on other sites

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 script

2. The helpfile

3. The MSDN library

If 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]

Share this post


Link to post
Share on other sites

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]

Share this post


Link to post
Share on other sites

#14 ·  Posted (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 by oskdemon

Share this post


Link to post
Share on other sites

...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.

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. ^^

Share this post


Link to post
Share on other sites

#16 ·  Posted (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 by oskdemon

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

#18 ·  Posted (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 ..... thanks

Gamers BS as usual ... *click*

Edited by Jos

Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0