Button mit hotkey verbinden?

01/02/2010 16:06 antrix99#1
hallo

ich habe mir per autoit nen trainer fürn spiel gemacht..keine große sache..aber ich will per tastendruck INGAME das der im trainer einen button drückt....
hier mal der sourcecode:

unten habe ich dann verucht per hotkeyset den button gedrückt zu bekommen..was aber nicht geht...und deswegen frage ich euch ob ihr mir dabei helfen könnt ^^

pls stemplet mich nicht gleich als scriptkiddy/noob oder faggot ab^^
01/02/2010 16:24 | Moep |#2
Ruf einfach die funktion direkt auf.

Code:
#include <GUIConstants.au3>
#include <NomadMemory.au3>

$pid = ProcessExists("######.exe")

If $pid = 0 Then
	MsgBox(16,@ScriptName,'Prozess nicht gefunden, Skript wird beendet.')
	Exit 1
EndIf

$mem = _MemoryOpen($pid)

$adr = 0x00D5E168

$newValue = 999999

#Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Administrator\Desktop\Form2.kxf
$Form2 = GUICreate("Gold Trainer", 387, 181, 370, 400)
GUISetIcon("C:\Programme\AutoIt3\Icons\filetype3.ico")
$Label1 = GUICtrlCreateLabel("Gold Trainer", 24, 8, 338, 29)
GUICtrlSetFont(-1, 13, 400, 0, "Unreal Tournament")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetBkColor(-1, 0x008000)
$Label2 = GUICtrlCreateLabel("By antrix99", 0, 160, 56, 17)
$Label3 = GUICtrlCreateLabel("999999 GOLD", 136, 56, 87, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetBkColor(-1, 0x008000)
$Button1 = GUICtrlCreateButton("GOLD!!!", 128, 104, 107, 41, 0)
GUICtrlSetCursor (-1, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			_MemoryWrite($adr,$mem,$newValue)

	EndSwitch
WEnd
HotKeySet ("{insert}","gold")

Func gold()
[COLOR="Red"]_MemoryWrite($adr,$mem,$newValue)[/COLOR]
EndFunc
01/02/2010 17:09 antrix99#3
stimmt..hätte mir eigentlich einfallen sollen ^^ thx
01/03/2010 01:00 antrix99#4
jetzt habe ich aber noch ein probem unswar habe ich jetzt eine run funktion mit button eingebaut nur startet das spiel...und schließt sich sofort wieder

hier wieder der source:
der "RUN" befehl ist im "CASE" damit ihr es findet^^
01/03/2010 03:03 KDeluxe#5
Code:
#include <GUIConstants.au3>
#include <NomadMemory.au3>

$Form2 = GUICreate("####### Gold Trainer", 388, 182, 383, 276)
GUISetIcon("C:\Programme\AutoIt3\Icons\filetype3.ico")
$Label1 = GUICtrlCreateLabel("####### Gold Trainer", 24, 8, 338, 29)
GUICtrlSetFont(-1, 13, 400, 0, "Unreal Tournament")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetBkColor(-1, 0x008000)
$Label2 = GUICtrlCreateLabel("By antrix99", 0, 160, 56, 17)
$Label3 = GUICtrlCreateLabel("999999 GOLD", 104, 96, 87, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetBkColor(-1, 0x008000)
$Button1 = GUICtrlCreateButton("GOLD!!!", 96, 128, 107, 41)
GUICtrlSetCursor (-1, 0)
$Button2 = GUICtrlCreateButton(">RUN<", 96, 40, 107, 41, 0)
GUICtrlSetCursor (-1, 0)
$Edit1 = GUICtrlCreateEdit("", 208, 40, 177, 137)
GUICtrlSetData(-1, StringFormat("Hilfe:\r\n\r\nStarte ########\r\nmit den "&Chr(34)&">RUN<"&Chr(34)&" Button\r\n\r\nWechsel ingame mit ALT+ TAB zum Trainer\r\nund drücke den "&Chr(34)&"GOLD!!!"&Chr(34)&"Button\r\num 999999 Gold zu bekommen\r\n\r\nOder du drückst ingame die "&Chr(34)&"Einfg"&Chr(34)&" taste\r\num die 999999 Gold zu bekommen"))
GUISetState(@SW_SHOW)

HotKeySet ("{insert}","gold")

$pid = ProcessExists("#########.exe")
$mem = _MemoryOpen($pid)
$adr = 0x00D5E168
$newValue = 999999

While True
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			Call("gold")
		Case $Button2
			ShellExecute("#########.exe", "", "C:\Programme\Firefly Studios\#########\")
	EndSwitch
WEnd

Func gold()
	_MemoryWrite($adr,$mem,$newValue)
EndFunc
Probiers mal so
01/03/2010 17:46 antrix99#6
ne geht immernoch nicht :/ startet...kurz schwarzer bildschirm...wieder aus
01/03/2010 18:10 KDeluxe#7
Beendet sich das Spiel auch wenn du es normal startest?
01/04/2010 23:12 antrix99#8
nein das ist es ja....und wenn ich ingame den hotkey drücke sodas er eigentlich das gold auf 999999 bringen soll tut er das auch nicht
01/04/2010 23:23 KDeluxe#9
Vielleicht brauchst du dafür einfach nur ein Pointer und Offset

Falls du Vista/Win 7 hast deaktivier mal deine Benutzerkontensteurung und versuchs dann
01/09/2010 14:38 antrix99#10
die gold adresse ist bei jeden spielstart die selbe und ich habe xp kein vist oder win 7
01/09/2010 14:42 Kazaaa#11
Versuch mal unter dem ShellExecute ein WinWaitClose einzubauen, dann sollte das Script erst weiterlaufen wenn das Fenster geschlossen wird und somit sollte es offen bleiben (außer der Fehler liegt weiter oben im Script)