denbagoos Posted February 17, 2009 Share Posted February 17, 2009 i want to make a trainer for a dance gametrainer read address value from game and then send a key to game if i press enter key based from that valueand that value is change every turnmaybe like this in newbie's brain dim a as byte (i don't know the true command)a="address's value"if a=0 then sendkeys "a"elseif a=1 then sendkeys "w"elseif a=2 then sendkeys "d"else sendkeys "s"end ifthe problem is :I HAVE NO CLUE TO BEGIN WITHso please help me ...sori, i'm bad in english Link to comment Share on other sites More sharing options...
Billy Posted February 17, 2009 Share Posted February 17, 2009 You do not say how you get the value for "a". However, I think this starts to address your issue. Dim $A $A = "YOU DO NOT SAY HOW THIS VALUE IS OBTAINED" Switch $A Case 0 Send("a") Case 1 Send("w") Case 2 Send("d") Case Else Send("s") EndSwitch Link to comment Share on other sites More sharing options...
denbagoos Posted February 18, 2009 Author Share Posted February 18, 2009 (edited) ok, this is my read memory script (i get this from google ) #include <GUIConstants.au3> #include <NomadMemory.au3> GUICreate("My GUI Button") $Button_1 = GUICtrlCreateButton ("Check Memory Address", 10, 30, 150) $Label_1 = GUICtrlCreateLabel("(lvl)",20, 60) GUISetState () $Mem_Address = 0x01A0AC5C $Process1 = WinGetProcess("Idol Street") While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $Button_1 $Mem_Open = _MemoryOpen($Process1) $Mem_Read = _MemoryRead($Mem_Address, $Mem_Open) _MemoryClose($Mem_Open) GUICtrlSetData($Label_1,$Mem_Read) EndSelect Wend when i press a button trainer read its value,the problem is i must always press a button to read its value i wanna its always read its address value in one click and stop if i click for the second time not like this that always click it for read address's value so please help me.... Edited February 18, 2009 by denbagoos Link to comment Share on other sites More sharing options...
denbagoos Posted February 19, 2009 Author Share Posted February 19, 2009 help me pleasee....... Link to comment Share on other sites More sharing options...
GrungeRocker Posted February 19, 2009 Share Posted February 19, 2009 Try it with a loop While 1 ... Wend [font="Verdana"]In work:[list=1][*]InstallIt[*]New version of SpaceWar[/list] [/font] Link to comment Share on other sites More sharing options...
GrungeRocker Posted February 19, 2009 Share Posted February 19, 2009 Or give this a try: #include "NomadMemory.au3" HotKeySet("{ESC}", "Terminate") $Mem_Address = 0x01A0AC5C $Process1 = WinGetProcess("Idol Street") $Mem_Open = _MemoryOpen($Process1) While 1 $Mem_Read = _MemoryRead($Mem_Address, $Mem_Open) Switch $Mem_Read Case 0 Send("a") Case 1 Send("w") Case 2 Send("d") Case Else Send("s") EndSwitch Wend Func Terminate() _MemoryClose($Mem_Open) Exit EndFunc [font="Verdana"]In work:[list=1][*]InstallIt[*]New version of SpaceWar[/list] [/font] Link to comment Share on other sites More sharing options...
denbagoos Posted February 20, 2009 Author Share Posted February 20, 2009 ok thanks, that help me out but there's another problem, i want this trainer just send a key just once after read that address in your script,trainer continue send keys until i stop the trainer, so it not work with ido street because there another address for another arrow example: arrow that came out = ↓ (down arrow),its value is 3,so trainer send "s" key,if its just one arrow its okay but if it's like this = ↓→ (down and right arrow) its not work anymore,because trainer continue send "s" key for second arrow,so its became false value so i want trainer just send a key once for first arrow and then loop for read another address for second arrow,send a key again for second arrow then loop for third address for third arrow and send a key again,and so on and i want trainer begin loop for read at first time if a press enter key and stop if i press enter key for the second time (its level address for loop reference,because if its lvl 1=1 arrow,lvl2=2 arrow,lvl3=3 arrow,and so on) how to make it.... i need your help here.... Link to comment Share on other sites More sharing options...
jvanegmond Posted February 20, 2009 Share Posted February 20, 2009 denbagoos, based on your posts we can pretty much conclude you are a newbie to programming and your intention is not to learn the language but make other people do this for you. This may be a new thing to you, but this is called exploiting other peoples good will.If you change your mind and are serious about this, then I suggest you start learning the language by performing a few basic steps first.This is a good place to start: http://www.autoitscript.com/forum/index.php?showtopic=21048 github.com/jvanegmond Link to comment Share on other sites More sharing options...
denbagoos Posted February 20, 2009 Author Share Posted February 20, 2009 ok thanks.... i'll give it a try... Link to comment Share on other sites More sharing options...
jvanegmond Posted February 20, 2009 Share Posted February 20, 2009 Make sure to give it a good long try. Spanning over a month or so. github.com/jvanegmond Link to comment Share on other sites More sharing options...
denbagoos Posted February 21, 2009 Author Share Posted February 21, 2009 (edited) ok,this is my last script CODE#include "NomadMemory.au3" HotKeySet("{ESC}", "Terminate") $Mem_Address = 0x0F0A21B8 $Arrowke=0x0F0A1FB8 $Process1 = WinGetProcess("Idol Street") $Mem_Open = _MemoryOpen($Process1) $Tampung ='' $Narrow='' While 1 $Arrowke=0x0F0A1FB8 $Mem_Read = _MemoryRead($Mem_Address, $Mem_Open) For $i=1 to $Mem_Read if $i=1 Then $Narrow='' EndIf Sleep(500) $Narrow = $Narrow & _MemoryRead($Arrowke, $Mem_Open) if $i>1 Then $Arrowke=$Arrowke+20 $Arrowke=Hex($Arrowke) EndIf Next If $Tampung <> $Narrow And $Mem_Read<>0 Then for $i=1 to $Mem_Read if $i=1 Then Send("{Enter}") EndIf if StringMid($Narrow,$i,1) =0 Then Send("a") ElseIf StringMid($Narrow,$i,1) =1 Then Send("w") ElseIf StringMid($Narrow,$i,1) =2 Then Send("d") Elseif StringMid($Narrow,$i,1) =3 Then Send("s") EndIf if $i=$Mem_Read Then Send("{Enter}") EndIf Next EndIf $Tampung = $Narrow Wend Func Terminate() _MemoryClose($Mem_Open) Exit EndFunc 1st address arrow is 0x0F0A1FB8 and address for 2nd arrow is first arrow's address+20 and address for 3rd arrow is 2nd arrow's address+20 and so on.so the formula for address is 1st address+20=2nd address and so on this script does work for 1st arrow but its not work for 2nd,3rd,4th-->> arrow,its read false value or maybe read false address. here my script that work CODE #include "NomadMemory.au3" #include <Array.au3> HotKeySet("{ESC}", "Terminate") Dim $avArray[13] $avArray[0] = 0x0F0A1FB8 $avArray[1] = 0x0F0A1FD8 $avArray[2] = 0x0F0A1FF8 $avArray[3] = 0x0F0A2018 $avArray[4] = 0x0F0A2038 $avArray[5] = 0x0F0A2058 $avArray[6] = 0x0F0A2078 $avArray[7] = 0x0F0A2098 $avArray[8] = 0x0F0A20B8 $avArray[9] = 0x0F0A20D8 $avArray[10] = 0x0F0A20F8 $avArray[11] = 0x0F0A2118 $avArray[12] = 0x0F0A2138 $Mem_Address = 0x0F0A21B8 Const $Arrowke=0x0F0A1FB8 Const $nilai=32 $Process1 = WinGetProcess("Idol Street") $Mem_Open = _MemoryOpen($Process1) $Tampung ='' $Narrow='' While 1 $Mem_Read = _MemoryRead($Mem_Address, $Mem_Open) For $i=1 to $Mem_Read if $i=1 Then $Narrow='' EndIf $Narrow = $Narrow & _MemoryRead($avArray[$i-1], $Mem_Open) Next If $Tampung <> $Narrow And $Mem_Read<>0 Then for $i=1 to $Mem_Read if $i=1 Then Send("{Enter}") EndIf if StringMid($Narrow,$i,1) =0 Then Send("a") ElseIf StringMid($Narrow,$i,1) =1 Then Send("w") ElseIf StringMid($Narrow,$i,1) =2 Then Send("d") Elseif StringMid($Narrow,$i,1) =3 Then Send("s") EndIf if $i=$Mem_Read Then Sleep(800) Send("{Enter}") EndIf Next EndIf $Tampung = $Narrow Wend Func Terminate() _MemoryClose($Mem_Open) Exit EndFunc its work fine if i use array,but i want use that formula and here the example arrow that came out : ↓↑→ so its should be : ↓=0x0F0A1FB8 (value 3) ↑=0x0F0A1FD8 (0x0F0A1FB8+20) (value 1) →=0x0F0A1FF8 (0x0F0A1FD8+20) (value 2) for 1st arrow it fine (send right key),but for 2nd and 3rd arrow its send false value (its always read "0" value so its always send "a" key) (if i use script that based on that formula) this is my question: how i can get address for 2nd or more address based on that formula... where wrong with my script..?? i will appreciate your help.... (i forgot to told id this game's international name is 5street) Edited February 22, 2009 by denbagoos Link to comment Share on other sites More sharing options...
denbagoos Posted February 25, 2009 Author Share Posted February 25, 2009 please.... see my script,there is an error in my script i don't know which part is it...... 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