Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 04:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Tool Problem

Discussion on Tool Problem within the AutoIt forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Tool Problem

Hallo.
Ich habe ein Problem mit meinem Script.


Ich habe ein Tool geschrieben, dass so sein sollte.
Wenn ich auf den Button AFK drücke, soll er mich zu diesen Coordinaten ( 811.97 , 117.55 ) porten.
Die Pointer etc. habe ich schon.

Die Coordinaten sind natürlich vom typ Float.

Nun das Problem. Wenn ich auf den Button drücke, portet er mich irgendwo hin, wo er bock hat, also nicht zu den zugewiesenen Koordinaten

PHP Code:

Global $Pid ProcessExists ("TClient.exe")
Global 
$Open _MemoryOpen ($PID)

Global 
$ModuleX _MemoryModuleGetBaseAddress ($PID"TClient.exe") + 0x12345678
Global $OffsetX[4]
$OffsetX[0] = 0
$OffsetX
[1] = 0x123
$OffsetX
[2] = 0x123
$OffsetX
[3] = 0x123

Global $ModuleY _MemoryModuleGetBaseAddress ($PID"TClient.exe") + 0x12345678
Global $OffsetY[4]
$OffsetY[0] = 0
$OffsetY
[1] = 0x123
$OffsetY
[2] = 0x123
$OffsetY
[3] = 0x123


While 1
    $nMsg 
GUIGetMsg()

    If 
ProcessExists ("TClient.exe") = False Then
    MsgBox 
(48,"Error","4story konnte nicht gefunden werden!")
    Exit
    EndIf

    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$AFK
            $Open 
_MemoryOpen ($PID)
            
$Write _MemoryPointerWrite ($ModuleX$Open$OffsetX811.97,"float" ) & _MemoryPointerWrite ($ModuleY$Open$OffsetY117.55,"float")
            
$Close _MemoryClose ($Open)

        Case 
$Exit
            
Exit

    EndSwitch
WEnd 
Wo liegt der Fehler :S

mfg Logtetsch
Logtetsch is offline  
Old 10/09/2011, 23:23   #2
 
elite*gold: 0
Join Date: Oct 2010
Posts: 51
Received Thanks: 12
$Write = _MemoryPointerWrite ($ModuleX, $Open, $OffsetX, 811.97 = "float" )
müsste da nicht ein Komma anstatt einem = hin?
evtl deshalb der Fehler.
klavier22 is offline  
Old 10/10/2011, 08:47   #3
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Hab ich auch schon versucht, leider ohne Erfolg :/
Logtetsch is offline  
Old 10/10/2011, 12:56   #4
 
elite*gold: 0
Join Date: Oct 2010
Posts: 51
Received Thanks: 12
Der Fehler muss ja eigentlich bei _MemoryPointerWrite liegen, da du ja sagst, dass er dich portet, nur nicht dahin wo du willst.

Was ich noch probieren würde, ist nicht die beiden Schreibvorgänge in eine Variable quetschen, sondern jeden einzeln machen.
Da du die Variable nachher ja nicht verarbeitest, kann man das ja dort übersichtlicher Gestalten, also
$write1 = XKoordSchreiben
$write2 = YKoordSchreiben
evtl bringt das ja was (glaub ich aber nicht)

Außerdem verwirrt es micht, dass du in Offset1, 2, 3 immer das gleiche Schreibst, nur Offset1 würde da ja genügen.

Einen Fehler hab ich noch gesehen:
Oben öffnest du den Speicher aber schließt ihn dann nicht wieder, was evtl beim 2. $Open einen Fehler verursacht, weshalb die Schreibvorgänge dort einen falschen Wert bekommen - kann aber eigentlich nicht sein, da du ja sagst, dass er dich portet, nur nicht dahin wo du willst.

Wenn du genau das gleiche in CE machst, geht es dann?
also in AutoIT die ModuleX&Y ausgeben lassen und in CE als Pointer eintragen und bearbeiten.

Ach ja: du sagst er portet dich beliebig, heißt das immer zu einer anderen bestimmten Stelle oder immer zu einer anderen anderen Stelle? (evtl schwer verständlich, also ich meine immer zu der selben oder immer zu einer anderen Stelle?)
klavier22 is offline  
Old 10/10/2011, 12:59   #5
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Quote:
Originally Posted by klavier22 View Post
Der Fehler muss ja eigentlich bei _MemoryPointerWrite liegen, da du ja sagst, dass er dich portet, nur nicht dahin wo du willst.

Was ich noch probieren würde, ist nicht die beiden Schreibvorgänge in eine Variable quetschen, sondern jeden einzeln machen.
Da du die Variable nachher ja nicht verarbeitest, kann man das ja dort übersichtlicher Gestalten, also
$write1 = XKoordSchreiben
$write2 = YKoordSchreiben
evtl bringt das ja was (glaub ich aber nicht)

Außerdem verwirrt es micht, dass du in Offset1, 2, 3 immer das gleiche Schreibst, nur Offset1 würde da ja genügen.
sowie du es gesagt hast habe ichs auch schon gemacht. Das sind keine Echten Offsets die Orginalen sind schon unterschiedlich .. :/
Kann es sein das ich den falschen Pointer benutze ?
Wenn ich in cheat engine die Koordinate verändere Portet er mich genau da hin, aber in autoit portet er mich dahin, wo er lust hat
Logtetsch is offline  
Old 10/10/2011, 13:30   #6
 
elite*gold: 0
Join Date: Oct 2010
Posts: 51
Received Thanks: 12
ne den Pointer benutzt du schon richtig, sonst würde er dich ja garnicht porten - auch wenn ich diese Funktionsweise von Pointern nocht nicht so gesehen hab - aber egal

Der Fehler MUSS bei dem _MemoryPointerWrite liegen wenn in Ce alles geht. Und wenn ichs mir jetzt so anschaue, hast du zwei "" (bei dem Koords) vergessen *facepalm*
klavier22 is offline  
Old 10/10/2011, 14:00   #7
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Hab es auch schon mit den zwei "" versucht... klappt trotzdem nicht. :/
Logtetsch is offline  
Old 10/10/2011, 14:33   #8
 
elite*gold: 0
Join Date: Oct 2010
Posts: 51
Received Thanks: 12
Es muss aber in "" oder in ''.
Ansonsten seh ich keine weiteren fehler mehr. Er kann auch nur bei den Werten von Memorypointerwrite liegen, denn er portet dich ja --> Pointer + Offset richtig.
Außerdem geht in CE alles --> Pointer + Offset + Werte richtig.
Also kann es nurnoch ein Syntax Error sein. Und da ist wie gesagt dass du beides in eine Variable quetschst, was Probleme machen kann und dass "" fehlen.
Außerdem kann das fehlende _MemoryClose oben einen Fehler verursachen.
das "float" ist auch richtig, hab ich grade nachgeguckt.
Ich hab aber leider das Spiel nicht, also kann ich dir dann auch nichtmehr weiterhelfen.

Evtl mal ein MemoryPointerRead einbauen und gucken was er ausspuckt und evtl auch die Rückgabe von MemoryPointerWrite auswertten (0 = Fehler, Adresse= kein Fehler)
klavier22 is offline  
Old 10/10/2011, 14:53   #9
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Ich hab das Script mal umgeschrieben......
Funktionieren tut es leider immernoch nicht.

PHP Code:

#RequireAdmin
#include <NomadMemory.au3>

If ProcessExists ("TClient.exe") = False Then
    MsgBox 
(48,"Error","Tclient.exe konnte nicht gefunden werden!")
    Exit
EndIf

If 
FileExists ("AGB.txt") = false Then
    IniWrite 
("AGB.txt","Allgemeine Geschäfts Bedingung","AGB","Ich überneheme keinerlei Haftung!")
    
MsgBox (48,"AGB","Bitte lese dir die AGB in dem Textdokument, was sich gerade erstellt hat, durch!")
    
ShellExecute ("AGB.txt")
EndIf




#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Porter GUICreate("Porter"337140192124)
$Porter GUICtrlCreateGroup("Porter"241628973)
$X GUICtrlCreateLabel("X"40401117)
$Y GUICtrlCreateLabel("Y"40641117)
$Input1 GUICtrlCreateInput(""643212121)
$Input2 GUICtrlCreateInput(""645612121)
$Port GUICtrlCreateButton("Port"208328141$WS_GROUP)
GUICtrlCreateGroup("", -99, -9911)
$AFK GUICtrlCreateButton("AFK"241046725$WS_GROUP)
$Farm GUICtrlCreateButton("Farm"1041047525$WS_GROUP)
$Exit GUICtrlCreateButton("Exit"2401047525$WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


Global $Pid ProcessExists ("TClient.exe")
Global 
$Open _MemoryOpen ($PID)
Global 
$end _MemoryClose ($Open)

Global 
$ModuleX _MemoryModuleGetBaseAddress ($PID"TClient.exe") + 0x00123123
Global $OffsetX[5]
$OffsetX[0] = 0
$OffsetX
[1] = 0x123
$OffsetX
[2] = 0x123
$OffsetX
[3] = 0x123
$OffsetX
[4] = 0x123

Global $ModuleY _MemoryModuleGetBaseAddress ($PID"TClient.exe") + 0x003123123
Global $OffsetY[4]
$OffsetY[0] = 0
$OffsetY
[1] = 0x123
$OffsetY
[2] = 0x123
$OffsetY
[3] = 0x123


While 1
    $nMsg 
GUIGetMsg()

    If 
ProcessExists ("TClient.exe") = False Then
    MsgBox 
(48,"Error","Tclient.exe konnte nicht gefunden werden!")
    Exit
    EndIf

    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit

        Case 
$AFK
            $Open 
_MemoryOpen ($PID)
            
$Write _MemoryPointerWrite ($ModuleX$Open$OffsetX"811""float")
            
$Write2 _MemoryPointerWrite ($ModuleY$Open$OffsetY"117""float")
            
$Close _MemoryClose ($Open)

        Case 
$Exit
            
Exit

        Case 
$Port
            $Open 
_MemoryOpen ($PID)
            
$Write _MemoryPointerWrite ($ModuleX$Open$OffsetX$Input1"float")
            
$Write2 _MemoryPointerWrite ($ModuleY$Open$OffsetY$Input2"float")
            
$Close _MemoryClose ($Open)

    EndSwitch
WEnd 
Logtetsch is offline  
Old 10/10/2011, 14:55   #10
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Schonmal gekuggt, ob du nach dem Porten in der CE auch die gleichen Werte hast?
BlackHybrid is offline  
Old 10/10/2011, 14:57   #11
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
erst refreshen, dann posten ^^



€2
bei "Case $Port"
$Input1 und $Input2 ?

guictrlread($Input1) und guictrlread($Input2) müssen dahin
omer36 is offline  
Old 10/10/2011, 15:16   #12
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Hab es so versucht, aber er portet mich immernoch hin , wo er lust hat.... Eventuell könnte man eine TeamViewer Präsentation oder ne Bildschirmübertragung in Skype einrichten :/

Vl kann mir dann jemand helfen ...
Logtetsch is offline  
Old 10/10/2011, 15:21   #13
 
elite*gold: 0
Join Date: Oct 2010
Posts: 51
Received Thanks: 12
Ich glaub nicht dass man ein , braucht, denn AutoIT kommt ja ausm Englischen und da wird nen . genommen.
Das mit der Zeile trennen hatte ich ja schon vorgeschlagen.
Es kann eigentlich nur gehen - aber warum sagst du uns nicht die richtigen Adressen?
Die sind ja eh bei jedem gleich.

Und du hast in CE alles so gemacht wie ichs gesagt hab?
Erst mit AutoIT die $ModuleX und Y ausgeben lassen und dann bei CE als Pointer eingeben mit dem Offset?
Wenns dann geht dann ist alles richtig.

Außerdem gibt es bei mir in der NomadMemory nur
MemoryGetBaseAdress,
nicht
MemoryGetModuleBaseAdress
klavier22 is offline  
Old 10/10/2011, 15:31   #14
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Quote:
Originally Posted by klavier22 View Post
Ich glaub nicht dass man ein , braucht, denn AutoIT kommt ja ausm Englischen und da wird nen . genommen.
Das mit der Zeile trennen hatte ich ja schon vorgeschlagen.
Es kann eigentlich nur gehen - aber warum sagst du uns nicht die richtigen Adressen?
Die sind ja eh bei jedem gleich.

Und du hast in CE alles so gemacht wie ichs gesagt hab?
Erst mit AutoIT die $ModuleX und Y ausgeben lassen und dann bei CE als Pointer eingeben mit dem Offset?
Wenns dann geht dann ist alles richtig.

Außerdem gibt es bei mir in der NomadMemory nur
MemoryGetBaseAdress,
nicht
MemoryGetModuleBaseAdress
_MemoryModuleGetBaseAddress ist schon richtig. Bei deisem hack habe ich das auch benutzt :

Ich habe mal das gemacht, was du gesagt hast. Hier die Ergebnise

PHP Code:
$hotkey HotKeySet ("4","_read")

Func _read ()

 
$Open _MemoryOpen ($PID)
 
$PointerRead _MemoryPointerRead ($ModuleX$Open$OffsetX"float")
 
$auslesen GUICtrlRead ($PointerRead)
 
MsgBox (0,"",$auslesen)
 
$end _MemoryClose ($Open)

EndFunc 
ERGEBNIS = 0


PHP Code:
$hotkey HotKeySet ("4","_read")

Func _read ()

 
$Open _MemoryOpen ($PID)
 
$PointerRead _MemoryPointerRead ($ModuleX$Open$OffsetX"float")
 
MsgBox (0,"",$PointerRead)
 
$end _MemoryClose ($Open)

EndFunc 
ERGEBNIS = nichts
Logtetsch is offline  
Old 10/10/2011, 15:35   #15
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
$Open = _MemoryOpen ($PID)
$PointerRead = _MemoryPointerRead ($ModuleX, $Open, $OffsetX, "float")
MsgBox (0,"",$PointerRead[1])
omer36 is offline  
Closed Thread


Similar Threads Similar Threads
problem bei Api Tool fix
01/09/2011 - Metin2 Private Server - 5 Replies
Halöle liebe Forum schnüffler, Ich hab ein problem mit dem api tool fix. Ich wollte den Api Tool fixen so wie es in dem tutorial beschrieben wurde. Hab rebootet aber als ich mich eingeloggt hab kam der corefehler. Ich glaub mein fehler war das ich als ich den P2P port geändert habe einfach die CONFIG datei einfach aus dem game1_1 in alle anderen rein kopiert habe und keine backups gemacht hab. Deshalb wollt ich mal fragen ob mir jemand die CONFIG dateien usr/rain/auth/CONFIG ...
[PROBLEM]API-tool fixx problem
01/01/2011 - Metin2 Private Server - 1 Replies
hallo ich war grade dabei api-tool zu fixxen dann sollte ich auf cmd dann UPX.exe game eingeben das hatte ich getan doch dann kam der befehl ''Upx.exe ist entweder falsch geschrieben oder konnte nicht gefunden werden. BITTE hilfe übrigens das video mit der upx.exe game ist von youtube link:YouTube - How to Fix Api Tool



All times are GMT +1. The time now is 04:06.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.