Pointer für Autoit

12/04/2009 17:43 love4k21#1
Hallöchen
bitte schlagt mich nicht bin schon alle möglichen tuts durchgegangen doch ich raff es einfach nicht.

[Only registered and activated users can see links. Click Here To Register...]

das hier ist mein Pointer doch wie schreib ich ihn nun in mein bot?
Hab keine Lust ihn immer rein zu schreib.
Wie gesagt bin schon ca 1 Woche daran und ich verzweifel langsam da ich nie ein gescheites Beispiel finde...

Hoffe einer kann mir helfen.
12/04/2009 17:51 Xereon#2
Ähm wo liegt dein Problem?

[Only registered and activated users can see links. Click Here To Register...]
12/04/2009 18:06 love4k21#3
wo mein problem ist?
Ich finde einfach keine gescheiten Beispiele.
Habs jetzt versucht nach einer Anleitung zu schreiben

Quote:
#include <Pointer.au3>

$PID = ProcessExists("TLoader.exe") ; Prozessname, der z.B im Taskmanager angezeigt wird.
$MemOpen = _MemoryOpen($PID) ; Memory wird geöffnet

Global $Offset[3] ; Array des Offsets vom Pointer
$Offset[0] = 0 ; Ist nicht von bedeutung, einfach bei 0 lassen.
$Offset[1] = Dec("9cc") ; Static Addr Oset.
$Offset[2] = Dec("84")
$StaticOffset = Dec("0026767C") ; Das statische Offset (Prozess.exe+???????)

$BaseAddr = _MemoryGetBaseAddress($MemOpen, 1) ; Um die BaseAddresse herauszufinden (Funktion im Anhang
$Addr = "0x" & Hex($baseADDR + $StaticOffset) ; Finale Addresse die für MemoryPointerRead/Write verwendet wird

$Value = _MemoryPointerRead($Addr, $MemOpen, $Offset) ; Liest den Wert aus

MsgBox(0,"Test",$Value[0]) ; $Value[0] gibt den Wert zurück.
funktioniert aber immer noch nicht weil ich weiß das es falsch ist^^
werd mir jetzt mal deinen link durchlesen
12/04/2009 20:21 Xereon#4
84

Da liegt zB. der Fehler(haste überall im Script): 84 ist 84.
0x84 ist was ganz anderes.
12/04/2009 20:25 HardCore.1337#5
wie geht man mit der 0x84 um?
Sry, lern grade erst selber Pointer
12/04/2009 22:18 Xereon#6
84 -> Dezimalsystem
0x84 -> Hexadezimalsystem

Ist doch ganz easy o.O
12/05/2009 08:55 HardCore.1337#7
ja, stimmt...
hab ich übersehn ;)
12/07/2009 22:31 love4k21#8
So hab jetzt so weit hinbekommen:

Quote:
#include <Pointer.au3>

$open = _MemoryOpen(ProcessExists ("Client.exe"))

SetPrivilege("SeDebugPrivilege", 1)

$iv_Address = 0x0067767C

Dim $av_X1[3]
$av_X1[0] = 0
$av_X1[1] = 0x9CC
$av_X1[2] = 0x84

Dim $av_X2[3]
$av_X2[0] = 0
$av_X2[1] = 0x9CC
$av_X2[2] = 0x44

Dim $av_Y1[3]
$av_Y1[0] = 0
$av_Y1[1] = 0x9CC
$av_Y1[2] = 0x8c

Dim $av_Y2[3]
$av_Y2[0] = 0
$av_Y2[1] = 0x9CC
$av_Y2[2] = 0x4c

Dim $av_HPG[3]
$av_HPG[0] = 0
$av_HPG[1] = 0x524
$av_HPG[2] = 0x190

Dim $av_HP[3]
$av_HP[0] = 0
$av_HP[1] = 0x9CC
$av_HP[2] = 0x428

$HPG = _MemoryPointerRead($iv_Address, $open, $av_HPG, "dword")
$HP = _MemoryPointerRead($iv_Address, $open, $av_HP, "dword")
Einziges Problem ist jetzt noch:
Func read()
while $HPG > 0
sleep (200)
ControlSend ("Client", "", 0, "{1}")
sleep (45)
live()
WEnd
EndFunc

Eigentlich hieß das wenn Leben über 1 dann soll er weiter machen tut er aber überhaupt net er macht was er will und fängt dauert von neu an -.-