[AutoIT] Koordinaten anzeigen

08/05/2010 17:20 No Chance#1
Hi,

ich will das beim meinen 2 labels X und Y die Koordinaten angezeigt werden wo ich mich grade im spiel befinde. Wie geht das?


Mfg
08/05/2010 17:22 HardCore.1337#2
Du musst mit CE deine aktuellen Koordinaten heraus finden und die kannst du dann auslesen.

Einfach mit Change/Unchange arbeiten.
08/05/2010 17:32 No Chance#3
Quote:
Originally Posted by HardCore.1337 View Post
Du musst mit CE deine aktuellen Koordinaten heraus finden und die kannst du dann auslesen.

Einfach mit Change/Unchange arbeiten.
Sagen wirs mal so, ich ahbe die Pointer für's Teleportieren Y und X.
Wenn ich die Pointer mit CE öffne zeigt er mir immer die Aktuellen Koordinaten an (muss auf float sein).
Jetzt will ich, dass er mit die Koordinaten in meinem Hack anzeigt, unter Label1 und Label2.
WIe mache ich das jetzt?
08/05/2010 17:48 HardCore.1337#4
Ach so.

PHP Code:
$Adresse 0x000000
$Offset
[3] = [0x0x000x00...]
$PID WingetProcess(DeinProzess)
$Open _MemoryOpen($PID)

While 
1
$ReadX 
_MemoryPointerRead($Adresse$PID$Offset)
$ReadY _MemoryPointerRead($Adresse$PID$Offset)

GuiCtrlSetData($Label1$ReadX)
GuiCTRLSetData($Label2$ReadY)
WEnd 
08/05/2010 18:34 KDeluxe#5
Etwas verbessert und die Fehler behoben:
PHP Code:
$Address 0x0
$OffsetX
[4] = [00x10x20x3]
$OffsetY[4] = [00x10x20x3]
$Handle _MemoryOpen(WinGetProcess("4Story"))

While 
True
    $PosX 
_MemoryPointerRead($Address$Handle$OffsetX"float")
    
$PosY _MemoryPointerRead($Address$Handle$OffsetY"float")

    
$ReadX GUICtrlRead($LabelX)
    If 
$ReadX <> $PosX Then GUICtrlSetData($LabelX$PosX)

    
$ReadY GUICtrlRead($LabelY)
    If 
$ReadY <> $PosY Then GUICtrlSetData($LabelY$PosY)
WEnd 
08/05/2010 19:44 HardCore.1337#6
Ok, bei dir ist zusätzlich noch ein Check ob sich was verändert hat.
Aber Fehler..?
Ich hab keinen gefunden.
08/05/2010 19:53 v0lle#7
Poste ich meine Frage noch gleich hinzu ;D
Wie funktioniert das mit "Zur Leiche teleportieren" ? ^^
Hab dazu was im Forum gefunden aber wieder aus den Augen verloren -.-
08/05/2010 20:23 Italien...Donni#8
Du lässt die werte von X/Y lesen und dan in 2 Inputboxen schreiben.
08/05/2010 20:27 No Chance#9
Bei mir sieht das ganze so aus:
Für X und Y
PHP Code:
Case $BUTTON11
            $TELX 
GUICtrlRead($INPUT2)
            
$TELY GUICtrlRead($INPUT3)
            
_MEMORYPOINTERWRITE($POINTER9$OPEN$OFFSET9$TELX"float")
            
_MEMORYPOINTERWRITE($POINTER10$OPEN$OFFSET10$TELY"float"
Und für Z
PHP Code:
Case $Button28
            $TELZ 
GUICtrlRead($Input4)
            
_MEMORYPOINTERWRITE($POINTER20$OPEN$OFFSET20$TELZ"float"
Wie mache ich es aus dem Script? :D

X = $Label18
Y = $Label17
Z = $Label22
08/05/2010 21:40 KDeluxe#10
Quote:
Originally Posted by HardCore.1337 View Post
Ok, bei dir ist zusätzlich noch ein Check ob sich was verändert hat.
Aber Fehler..?
Ich hab keinen gefunden.
Quote:
Originally Posted by HardCore.1337 View Post
Ach so.

Code:
$Adresse = 0x000000
$Offset[3] = [0x, 0x00, 0x00...]
$PID = WingetProcess(DeinProzess)
$Open = _MemoryOpen($PID)

While 1
$ReadX = _MemoryPointerRead($Adresse, [COLOR="Red"]$PID[/COLOR], $Offset)
$ReadY = _MemoryPointerRead($Adresse, [COLOR="#ff0000"]$PID[/COLOR], $Offset)

GuiCtrlSetData($Label1, $ReadX)
GuiCTRLSetData($Label2, $ReadY)
WEnd
Ich habs mal rot gefärbt, müsste in deinem Beispiel ja $Open sein.

Außerdem benutzt du für x und y das selbe Offset, sollte aber ja nur ein Beispiel sein.
WingetProcess(DeinProzess) müsste aber auch "WinGetProcess("DeinFenster")" sein.

@No Chance
Wo soll das Problem sein? Deine "BezeichnungX" Methode ist außerdem nicht zu empfehlen.
08/06/2010 12:31 No Chance#11
Schon Gelährt.
#vote for closed
08/06/2010 15:52 KDeluxe#12
Wie wärs den mit einer Lösung für andere, die evtl. die selbe Frage haben?
08/06/2010 17:02 | Moep |#13
Quote:
Originally Posted by KillerDeluxe View Post
Wie wärs den mit einer Lösung für andere, die evtl. die selbe Frage haben?
Why? Hier macht doch eh jeder nen neuen Tread auf wenn die Lösung nicht mehr auf der ersten Seite zu finden ist...
08/06/2010 22:31 KDeluxe#14
Nicht jeder, nur fallen nur die schlecht auf, die das machen. Im Grunde hast du aber recht...