Memory read von Hp (in Progressbar anzeigen)

03/26/2011 12:28 Masterscripter#1
Hey Leute,

ich hab da mal ne Frage...unzwar hab ich so ne nette GUI aufgebaut mit einer Progressbar, die anzeigen soll, wieviel hp man ingame noch hat. So die Adresse hab ich auch rausbekommen (mit Cheat Engine) und konnte auch alles wunderbar ins Script einfügen. Nur jetzt hab ich keine Ahnung, wie man das so macht, dass die Hp Leiste auch in der Progressbar von meinem Programm genau so angezeigt wird, wie im Spiel. Also wenn ich jetzt sagen wir mal 100% Hp Ingame habe, das der dann auch 100% in meiner Progressbar anzeigt usw. Danke für eure Hilfe =)
03/26/2011 13:16 BlackHybrid#2
Versuchs mit der Prozent Anzahl deines lebens. Noch Adresse von dem Maximalem Leben raussuchen und dann einfach
PHP Code:
GuiCtrlSetData($Progressbar,$MomentanesLeben*100/$MaxLeben
03/26/2011 13:31 Masterscripter#3
Also danke erstmal für die schnelle Antwort. Ich habs genau so gemacht nur es tut sich leider immernoch nichts in der Progressbar. Ne Idee woran's liegt?

Also ich zeig dir mal den Teil des Scriptes vielleicht bau ich hier auch Mist ^^

Script :

$Maxleben = 0x2B444AB8;
$MomentanesLeben = 0x77756D00

$Open = _memoryopen(ProcessExists("AION.bin"))
$Read = _MemoryRead($Maxleben , $Open, 'dword')
GuiCtrlSetData($Progressbar1,$MomentanesLeben*100/$Maxleben)
03/26/2011 13:41 BlackHybrid#4
Du musst erst den Wert auslesen mit der Adresse kann der Progressbar nicht viel anfangen ;)
03/26/2011 14:26 Masterscripter#5
Gibts dafür n Tut oder kannste mir das kurz erklären oder so? Ich hab das noch nich so drauf mit memory read :D
03/26/2011 15:08 BlackHybrid#6
$Adresse1 = 0x2B444AB8;
$Adresse2 = 0x77756D00

$Open = _memoryopen(ProcessExists("AION.bin"))
$MaxLeben = _MemoryRead($Adresse1, $Open, 'dword')
$MomentanesLeben = _MemoryRead($Adresse2, $Open, 'dword')
GuiCtrlSetData($Progressbar1,$MomentanesLeben*100/$Maxleben)
03/26/2011 15:31 Masterscripter#7
Okay danke...nur es passiert immernoch nichts in der Progressbar...komisch
03/26/2011 15:32 BlackHybrid#8
Schick mal dein momentanes script
03/26/2011 15:39 Masterscripter#9
Okay...hab bestimmt iwo Mist gebaut

Script :

#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\..\aion_1.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <nomadmemory.au3>

#Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Marian\Desktop\autoit un so\Magic Aion\GUI\GUI.kxf
$Form1_1 = GUICreate("Magic Aion", 633, 447, 192, 124)
$Progress1 = GUICtrlCreateProgress(24, 128, 233, 25)
$Adresse1 = 0x2B444AB8;
$Adresse2 = 0x77756D00

$Open = _memoryopen(ProcessExists("AION.bin"))
$MaxLeben = _MemoryRead($Adresse1, $Open, 'dword')
$MomentanesLeben = _MemoryRead($Adresse2, $Open, 'dword')
GuiCtrlSetData($Progress1,$MomentanesLeben*100/$Maxleben)

$Progress2 = GUICtrlCreateProgress(24, 192, 233, 25)
$Progress3 = GUICtrlCreateProgress(24, 256, 241, 25)
$Progress4 = GUICtrlCreateProgress(24, 328, 433, 17)
$Label2 = GUICtrlCreateLabel("Target", 448, 81, 35, 17)
$Progress5 = GUICtrlCreateProgress(368, 128, 249, 25)
$Button1 = GUICtrlCreateButton("Run bot", 24, 400, 153, 33, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Player", 24, 80, 33, 17)
$Button2 = GUICtrlCreateButton("Magic Aion Homepage", 432, 8, 145, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Forum", 432, 40, 145, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Exit", 464, 400, 145, 33, $WS_GROUP)
$Button5 = GUICtrlCreateButton("Settings", 248, 400, 153, 33, $WS_GROUP)
$Label3 = GUICtrlCreateLabel("HP", 104, 96, 19, 17)
$Label4 = GUICtrlCreateLabel("MP", 104, 168, 20, 17)
$Label5 = GUICtrlCreateLabel("GK", 104, 232, 19, 17)
$Label6 = GUICtrlCreateLabel("EP", 104, 304, 18, 17)
$Label3 = GUICtrlCreateLabel("Magic Aion - www.magic-aion.com", 24, 8, 219, 26)
GUICtrlSetFont(-1, 12, 400, 0, "Minion Pro Cond")
GUICtrlSetColor(-1, 0x000080)
if not processexists("AION.bin") Then
msgbox(0,"ERROR","Aion process is not open. The will now exit.")
exit
endif
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg

case $Button4
Exit

case $Button2
ShellExecute("www.magic-aion.com")

case $Button3
ShellExecute("http://magic-aion.**************/index.php")


Case $GUI_EVENT_CLOSE
Exit

EndSwitch
WEnd
03/26/2011 15:42 BlackHybrid#10
Du musst schon bei GuiCtrlSetData das Handel angeben. In dem Fall müsstest du erst einmal den $Progress1 haben aber den gibt es ja nicht
03/26/2011 16:10 Masterscripter#11
Was meinst du mit Handel angeben? und Progress1 gibt es
Sorry wenn ich dich nerv^^

#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=..\..\aion_1.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <nomadmemory.au3>

#Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Marian\Desktop\autoit un so\Magic Aion\GUI\GUI.kxf
$Form1_1 = GUICreate("Magic Aion", 633, 447, 192, 124)
$Progress1 = GUICtrlCreateProgress(24, 128, 233, 25)
$Adresse1 = 0x2B444AB8;
$Adresse2 = 0x77756D00

$Open = _memoryopen(ProcessExists("AION.bin"))
$MaxLeben = _MemoryRead($Adresse1, $Open, 'dword')
$MomentanesLeben = _MemoryRead($Adresse2, $Open, 'dword')
GuiCtrlSetData($Progress1,$MomentanesLeben*100/$Maxleben)

$Progress2 = GUICtrlCreateProgress(24, 192, 233, 25)
$Progress3 = GUICtrlCreateProgress(24, 256, 241, 25)
$Progress4 = GUICtrlCreateProgress(24, 328, 433, 17)
$Label2 = GUICtrlCreateLabel("Target", 448, 81, 35, 17)
$Progress5 = GUICtrlCreateProgress(368, 128, 249, 25)
$Button1 = GUICtrlCreateButton("Run bot", 24, 400, 153, 33, $WS_GROUP)
$Label1 = GUICtrlCreateLabel("Player", 24, 80, 33, 17)
$Button2 = GUICtrlCreateButton("Magic Aion Homepage", 432, 8, 145, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Forum", 432, 40, 145, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Exit", 464, 400, 145, 33, $WS_GROUP)
$Button5 = GUICtrlCreateButton("Settings", 248, 400, 153, 33, $WS_GROUP)
$Label3 = GUICtrlCreateLabel("HP", 104, 96, 19, 17)
$Label4 = GUICtrlCreateLabel("MP", 104, 168, 20, 17)
$Label5 = GUICtrlCreateLabel("GK", 104, 232, 19, 17)
$Label6 = GUICtrlCreateLabel("EP", 104, 304, 18, 17)
$Label3 = GUICtrlCreateLabel("Magic Aion - www.magic-aion.com", 24, 8, 219, 26)
GUICtrlSetFont(-1, 12, 400, 0, "Minion Pro Cond")
GUICtrlSetColor(-1, 0x000080)
if not processexists("AION.bin") Then
msgbox(0,"ERROR","Aion process is not open. The will now exit.")
exit
endif
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg

case $Button4
Exit

case $Button2
ShellExecute("www.magic-aion.com")

case $Button3
ShellExecute("http://magic-aion.**************/index.php")


Case $GUI_EVENT_CLOSE
Exit

EndSwitch
WEnd
03/26/2011 16:48 BlackHybrid#12
Oh :D Dann überprüf nochmal die Adressen und das was AutoIt für Values zurück gibt.
03/26/2011 16:55 omer36#13
GUICtrlSetData($Progress1, $MomentanesLeben * 100 / $MaxLeben)
unten in die while schleife einbauen...
am besten noch immer dann ändern lassen, wenn sich deine HP auch verändert
03/26/2011 17:05 Masterscripter#14
Okay danke hab ich mal wieder gemacht, aber die Progressbar ist immernoch Leer...nichts passiert und mein Leben ist voll...ich versteh das nich =(
03/26/2011 17:45 BlackHybrid#15
Liegt dann an den Adressen. Die ändern sich ja auch jedes mal falls du es noch nicht weist :D