Bots und nebeneffeckte??

03/09/2010 18:59 Robin,249#1
Wenn ich mein bot anhabe geht alles gut aber nach ca 30 mins fängt es an bsp ALT zu freazen oder gross und kleinschreibung wechselt. usw

von wo kommt das bzw wie kann man das umgehen?

Ich benütze autoIt
und code:
Quote:
RequireAdmin

MsgBox(4096, "Robin R.", " F9=Space, F10=Pause, F11=Ende", 10)
HotKeySet ("{F9})","start1")
HotKeySet ("{F11}","ende")
HotKeySet ("{F10}","pause")

While 1
WEnd

Func start1()
While 1
ControlSend("NosTale", "", 0, "{Space}")
sleep(75)
ControlSend("NosTale", "", 0, "{Space}")
sleep(75)
ControlSend("NosTale", "", 0, "{x}")
sleep(75)
WEnd
EndFunc

Func pause()
While 1
WEnd
EndFunc

Func ende()
Exit 0
EndFunc
03/09/2010 22:06 Haygu#2
Das ist ein Problem von Autoit...
Am besten ist es, wenn mann sich eben einen Script in einer Hochsprache schreiben lässt (c++ und Co)
Die machen da keine Probleme.

MfG Me ^^
03/10/2010 08:48 ¿Freaky¿#3
Wieso Hochsprache ?
Das geht auch mit AutoIt
03/10/2010 18:46 Robin,249#4
@haygu kannst du das vlt erläutern?
03/10/2010 19:54 larsii#5
es gibt eine funktion um es bei autoit auch zu machen wie freaky schon gesagt hat aber ich sag mal nix da die so "halb" geheim ist :P
03/10/2010 20:01 Robin,249#6
hmm warrum nicht (kannst auch per nachricht sagen XDD)
03/11/2010 00:23 Atheuz#7
Quote:
Originally Posted by larsii View Post
es gibt eine funktion um es bei autoit auch zu machen wie freaky schon gesagt hat aber ich sag mal nix da die so "halb" geheim ist :P
Was soll an Postmessage / Sendmessage geheim sein? Wer die WinAPI nicht kennt und sich programmierer nennt soll sich bitte selbst erschießen :facepalm:

Der Grund wieso ControlSend unzuverlässig ist, dass in der Funktion selber nicht richtig released wird und die CPU nicht richtig entlastet wird. Deswegen ist es sinnvoller eine eigene Funktion mit Postmessage zu schreiben um das selber anzupassen.
03/11/2010 17:54 larsii#8
ich mein ganz bestimmt nich postmessage / sendmessage
naja
egal
03/11/2010 18:07 ¿Freaky¿#9
doch das meinst du, du weißt es aber nicht das es das ist xD
03/11/2010 21:56 Haygu#10
Jo Sendmassage aus der User32.dll importieren geht auch, ich hatte aber bei sehr langen gebrauch mit vielen bots gleichzeitig auch da abundzu meine Problemchen...

aber naja...
An die die´s interessiert wies geht:

SendMessage(hWnd, WM_KEYDOWN,0x5A, 0x12001);
SendMessage(hWnd, WM_KEYUP,0x5A, 0x12001);

Das wäre der Code in C++ um die Z taste ein mal zu drücken.
Sooo... wie nutze ich diese Funktion jetzt in Autoit ?
Das ist relativ einfach...

DllCall("user32.dll", "int", "SendMessage", _
"hwnd", WinGetHandle( "NosTale" ), _
"int", WM_KEYDOWN, _
"int", 0x5A, _
"long", 0x12001)

DllCall("user32.dll", "int", "SendMessage", _
"hwnd", WinGetHandle( "NosTale" ), _
"int", WM_KEYUP, _
"int", 0x5A, _
"long", 0x12001)

(nicht getestet, nur schnell aus n parr alten scripts zusammengesetzt...)

0x5A ist der Tastencode...
Wenn mann mehrere rausfinden möchte, einfach mal bei MSDN nach Keycodes suchen ^^

Viel Glück ^^
03/11/2010 22:21 Robin,249#11
kannst du vlt meinen genauso umsetzen wäre voll lieb
03/13/2010 18:56 Robin,249#12
dann wohl net *heul*