Stronghold Crusader Trainer

06/13/2011 15:26 Ludder231#1
Hi epvpers,

ich habe einen funktionnierenden Trainer für Stronghold Crusader gebastelt und nun wollte ich eine funktion einfügen das man nach einer eingebenen Zeit (Bsp: 1000 Msec) eine bestimmte Menge Gold HINZUFÜGT.

Ich habs so versucht:
PHP Code:
    case $button3
            $len
=stringlen("123456")
                if 
StringLen(guictrlread($Input3))>$len Then
                MsgBox
(16"Error""Max Value is '999999'"& @CRLF _
                
"Value changed to max '999999'")
                
GUICtrlSetData($Input3$zahl)
            endif  
            if 
not ProcessExists("Stronghold Crusader.exe"Then
            msgbox
(16"Error""Make sure that Crusader is running!")
            else
            
            while 
1
            $open 
_MemoryOpen(ProcessExists("Stronghold Crusader.exe"))
            
$Read _MemoryRead($Adresse $Open'dword')
            
sleep(GUICtrlRead($input2))
            
$write _MemoryWrite($Adresse$Open$Adresse+GUICtrlRead($input3), 'dword')
            
wend
            
endif
            
    EndSwitch
WEnd 
Ich weiß es ist unnötig immer wieder die Adresse auszulesen, werde es auch noch umschreiben...
06/13/2011 15:30 BlackHybrid#2
Ich denke du musst erst das Gold auslesen und dann das zum gelesenen Werd das Gold hinzufügen und dann den Wert ändern.

Ohne Pointer und Offset?
06/13/2011 19:30 Ludder231#3
Äh ja ohne Pointer und offset gehts mit dem Gold verändern, bloß nicht mit dem drauf rechnen.
Wie meinst du das mit dem Gold auslesen? Mach ich doch mit $Adresse oder nicht?
Es ist ja ein Singleplayer Spiel, darum brauch ich auch keine Pointer....
06/13/2011 19:41 BlackHybrid#4
Achso dachte die verändern sich immer. Du musst als erstes den Wert hinter der Adresse auslesen und nicht die Adresse an sich. Also als ersts mit read deinen Goldstand auslesen und dann die Anzahl vom Gold die du willst dazu addieren und dann erst den Wert schreiben.
06/13/2011 19:42 Ludder231#5
Hmm, werds mal Morgen versuchen hab Heute keine Lust

So macht er immer wieder auf 1000:
PHP Code:
    case $button3
            $len
=stringlen("123456")
                if 
StringLen(guictrlread($Input3))>$len Then
                MsgBox
(16"Error""Max Value is '999999'"& @CRLF _
                
"Value changed to max '999999'")
                
GUICtrlSetData($Input3$zahl)
            endif  
            if 
not ProcessExists("Stronghold Crusader.exe"Then
            msgbox
(16"Error""Make sure that Crusader is running!")
            else
            
            while 
1
            $open 
_MemoryOpen(ProcessExists("Stronghold Crusader.exe"))
            
$Read1 _MemoryRead($Adresse $Open'dword')
            
$Read2 _MemoryRead($Read1 ""'dword')
            
sleep(GUICtrlRead($input2))
            
$write _MemoryWrite($Adresse$Open$read2+GUICtrlRead($input3), 'dword') ; macht dann immer auf guiinput3
            wend
            
endif 
06/13/2011 19:48 BlackHybrid#6
Ich glaub du hast nur eine Variable verwächselt^^
Wenn ich richtig liege muss es so aussehen.
PHP Code:
While 1
    $open 
_MemoryOpen(ProcessExists("Stronghold Crusader.exe"))
    
$Read _MemoryRead($Adresse$open'dword')
    
Sleep(GUICtrlRead($input2))
    
$write _MemoryWrite($Adresse$open$Read GUICtrlRead($input3), 'dword')
WEnd 
06/13/2011 21:41 Ludder231#7
Ohmann für meine eigene Blödheit erstmal jemanden bemühen müssen -.- Tut mir echt leid sorry ... :(