Problem mit Autoit im stealth Modus

01/08/2009 21:40 Heikofant#1
#CLOSED
01/08/2009 21:45 xSharkoonX#2
um /resign zu schreiben braucht er die shift taste..nur mal so als tipp
01/08/2009 22:08 Heikofant#3
ich mach wenn überhaupt -resign , aber meistens löse ich das über up+enter

also im code hab nirgends ein zeichen, welches shift erfordert ...
01/08/2009 22:21 Hokler#4
hast du, den bei /resign brauchst du das zeichen : "/" und dafür braucht man die shift taste ;)
01/08/2009 22:31 Heikofant#5
NEIN, ich hab doch geschrieben, dass ich "-resign" mache, da brauch ich kein Shift -.-
01/08/2009 22:31 Illuminatus#6
Er hat doch schon gesagt das er ken shift braucht und es auch nicht benutzt?!?!
//E: gleichzeitig :)
01/08/2009 22:34 Heikofant#7
ja, und ausserdem ist das buchstaben killen sehr komisch ... wenn ich chatte lässt er einfach einen buchstaben, den ich tippe weg ...und ich hab auch keil Delete oder sonstiges im Macro drinne
01/08/2009 22:46 i4mSoH34Vy#8
Opt("SendKeyDelay", 25) erhöhen.
01/08/2009 23:07 Heikofant#9
ich hab nur einmal diesen befehl, ganz zu anfangs tippt er -resign ein und dann nurnoch up+enter

hab aber jetzt beim looten von "ö" auf "o" gewechselt, vlt lags an dem ö, was ja auf ner ami tastatur recht schwierig ist^^
01/08/2009 23:21 NBA#10
Code:
Code:
Opt("SendkeyDelay",100)
Opt("SendkeyDownDelay,100)
So geht das bei mir meistens :) (und bei englischer tastatur braucht man shift auch nicht, / ist schon auf dem keyboard, ganz ohne shift)
01/08/2009 23:27 __wadim#11
es sollte mal wirklich einer eine funktion schreiben, die zuverlässig resign an gw übergeben kann, damit hier nicht noch öffter dannach gefragt wird.
01/08/2009 23:47 Dunham#12
wie wärs hiermit :-p

Code:
Func giveup()
	RS(500,1000)
	ControlSend($client, "", "", "{-}")
RS(200,1000)
ControlSend($client, "", "", "r")
RS(50,100)
ControlSend($client, "", "", "e")
RS(50,100)
ControlSend($client, "", "", "s")
RS(50,100)
ControlSend($client, "", "", "i")
RS(50,100)
ControlSend($client, "", "", "g")
RS(50,100)
ControlSend($client, "", "", "n")
RS(50,100)
	ControlSend($client, "", "", "{Enter}")
	Sleep(100)
	While _memoryread($death,$hprocess,'int')<>1
	RS(25,50)
	WEnd
	RS(2000,3000)
	$x = Random(413,601) 
	$y = Random(385,397)
	ControlClick($client,"","","left",1,$x,$y)
	Sleep(1000)

EndFunc
da können ja eigenlich keine buchstaben verschlugt werden :-p
01/08/2009 23:51 Gabba2#13
Code:
#include <WindowsConstants.au3>
#include <WinAPI.au3>
Opt("WinTitleMatchMode", 3)


Dim $Keys[0xFF + 1]

For $i = 1 To 0xFF
	$Chr = DllCall("user32.dll", "int", "MapVirtualKey", "int", $i, "int", 2)
	$Chr = StringLower(ChrW(BitAND($Chr[0], 0xFFFF)))
	$Keys[$i] = $Chr
Next

Func _GetVK($Chr)
	$Chr = String($Chr)
	For $i = 1 To 0xFF
		If $Keys[$i] = $Chr Then Return $i
	Next
EndFunc   ;==>_GetVK

Func WINAPI_send($Text, $win = "Guild Wars", $Sleep1 = 90, $Sleep2 = 130)
	$hwnd = WinGetHandle($win)
	$len = StringLen($Text)
	$Array_Text = StringSplit($Text, "")
	For $i = 1 To $len
		_WinAPI_PostMessage($hwnd, $WM_KEYDOWN, _GetVK($Array_Text[$i]), 0)
		Sleep(Random($Sleep1 - 5, $Sleep1 + 5))
		_WinAPI_PostMessage($hwnd, $WM_KEYup, _GetVK($Array_Text[$i]), 0)
		Sleep(Random($Sleep2 - 5, $Sleep2 + 5))
	Next
EndFunc   ;==>WINAPI_send

Func Paste_send($Text, $win = "Guild Wars", $Sleep1 = 90, $Sleep2 = 130); 80, 120
	Opt("SendKeyDownDelay", $Sleep1)
	Opt("SendKeyDelay", $Sleep2)
	$hwnd = WinGetHandle($win)
	$Anfang = ClipGet()
	ClipPut($Text)
	Sleep(Random($Sleep1 - 5, $Sleep1 + 5))
	ControlSend($hwnd, "", "", "{CTRLDOWN}v{CTRLup}")
	Sleep(Random($Sleep2 - 5, $Sleep2 + 5))
	ClipPut($Anfang)
EndFunc   ;==>Paste_send
Macht beides halt im Endeffekt das selbe. Mit Winapi gehts eigentlich schon ganz gut aber ab und an verschluckt er da auch was (wenn er erstmal durcheinander ist mit einer Taste dann so richtig). Mit Paste gehts wunderbar. Ist nicht die schönste Lösung aber es macht eigentlich keine Probleme. Verwendung sollte selbsterklärend sein bei einem so kurzen Code.
Credits gehen an jeden der in irgendeinem Forum irgendwas auch nur annähernd zu dem Thema geschrieben hat insbesondere Azunai.
01/09/2009 09:44 Heikofant#14
wie gesagt, dass resign ist nicht das Problem, da ich es mit up+enter mache.

Aber dennoch macht der manchmal shift/killt buchstaben.

funktionierts denn mit winapi besser?