Jump to content

help me please


 Share

Recommended Posts

i want to make a trainer for a dance game

trainer read address value from game and then send a key to game if i press enter key based from that value

and that value is change every turn

maybe 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 if

the problem is :

I HAVE NO CLUE TO BEGIN WITH

so please help me ...

sori, i'm bad in english

Link to comment
Share on other sites

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

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 by denbagoos
Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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 by denbagoos
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...