|
You last visited: Today at 16:43
Advertisement
Doppelklick-Bot
Discussion on Doppelklick-Bot within the AutoIt forum part of the Coders Den category.
12/05/2010, 23:10
|
#1
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
Doppelklick-Bot
Servus,
ja, ich weiß, es ist wahrscheinlich nur eine Kleinigkeit, trotzdem würd ich gerne wissen, was ich hierbei falschgemacht habe.
PHP Code:
HotKeySet ("{F5},Start") HotKeySet ("{F6},Close") While 1 Func Start() $Klick = MouseClick("left") If $Klick Then MouseClick ("left") EndIf EndFunc WEnd func Close() Exit EndFunc
Ich wollte eigentlich nur, dass der Bot nocheinmal Klickt, wenn ich Klicke. Das Problem ist aber eher, dass der nicht mehr aufhört zu klicken oder?^^
Außerdem habe ich versucht einen Pixelbot für eine Shooter (CombatArms) zu schreiben.
Funktioniert ebenfalls nich
PHP Code:
HotKeySet("{F6}", "_exit") HotKeySet("{F5}", "_start") Func _start() While 1 $search = PixelSearch(700,300,900,500,0x9A0003,40) If IsArray($search) Then MouseClick("left") EndIf WEnd EndFunc Func _exit() Exit EndFunc While 1 sleep(1) WEnd
Naja falls jemand was Posten will würd ich mich freuen
Grüße
Stoani
|
|
|
12/05/2010, 23:17
|
#2
|
elite*gold: 0
Join Date: Jul 2009
Posts: 15
Received Thanks: 8
|
Warum schreibst du denn die Func Start() in die While-Schleife rein, das ist unnötig.
Code:
HotKeySet ("{F5}","Start")
HotKeySet ("{F6}","Close")
Func Start()
Local $mousePos = MouseGetPos()
MouseClick ("left",$mousePos[0], $mousePos[1],2)
EndFunc
Func Close()
Exit
EndFunc
While True
;Damit das Programm nicht zugeht
WEnd
Edit: habe das evtl etwas falsch verstanden, hier mein zweiter Versuch =D
Code:
Global $botEnabled=false
Global $dll = DllOpen("user32.dll")
HotKeySet ("{F5}","Start")
HotKeySet ("{F6}","Close")
Func Start()
$botEnabled = true
EndFunc
Func Close()
Exit
EndFunc
Func CheckForClick()
if _IsPressed("01", $dll) Then
Sleep(10);evtl variieren
MouseClick ("left")
EndIf
EndFunc
While True
If $botEnabled Then
CheckForClick()
EndIf
;Damit das Programm nicht zugeht
WEnd
|
|
|
12/05/2010, 23:34
|
#3
|
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
|
Quote:
Originally Posted by Elborod
[PHP]HotKeySet ("{F5},Start")
HotKeySet ("{F6},Close")
While 1
Func Start()
$Klick = MouseClick("left")
If $Klick Then
MouseClick ("left")
EndIf
EndFunc
WEnd
func Close()
Exit
|
Soo gehts
PHP Code:
#include <misc.au3>
HotKeySet ("{F5},Start") HotKeySet ("{F6},Close")
While 1 Sleep ( 10 ) WEnd
Func Start() While 1 If _IsPressed(01) Then Sleep ( 90 ) MouseClick ("left") Endif WEnd EndFunc
Func Close() Exit Endfunc
|
|
|
12/05/2010, 23:44
|
#4
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
Hey danke für die flotte Antwort
Ja das geht schon um einiges besser ;D
Leider funktioniert das ganze jetzt so, dass der Bot zwar zweimal Klickt, aber nur wenn ich drücke. Da man bei einem Shooter eher selten mit F5 abrückt, ist das eher von Nachteil^^
Ich hab versucht den Mouseclick in HotKeySet einzubauen, aber das funzt nicht wirklich.
Grüße
Stoani
|
|
|
12/05/2010, 23:53
|
#5
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
Quote:
PHP Code:
Global $botEnabled=false Global $dll = DllOpen("user32.dll") HotKeySet ("{F5}","Start") HotKeySet ("{F6}","Close") Func Start() $botEnabled = true EndFunc Func Close() Exit EndFunc Func CheckForClick() if _IsPressed("01", $dll) Then Sleep(10);evtl variieren MouseClick ("left") EndIf EndFunc While True If $botEnabled Then CheckForClick() EndIf ;Damit das Programm nicht zugeht WEnd
|
Error Irgendwas mit If is pressed. Soweit hab ich Autoit leider nicht kapiert^^
Trotzdem nochmal ein THANKS
|
|
|
12/06/2010, 07:37
|
#6
|
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
|
Wolltest du dass er einfach immer doppelt klickt sobald du das prog gestartet hast oder nur sibald F5 geklickt wurde?
Lg Magic
|
|
|
12/06/2010, 07:57
|
#7
|
elite*gold: 0
Join Date: Nov 2010
Posts: 120
Received Thanks: 89
|
lies doch einfach - das Script soll doppelklicken wenn er einfach mit der Maus klickt. Ich weiß aber nicht ob das dann eine ewige Loop zur Folge hat
um _ispressed aufzurufen musst du vorher schon
#include <misc.au3>
verwenden.
|
|
|
12/06/2010, 08:48
|
#8
|
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
|
Hab ich ja schon XD dann muss er den Hkey garnicht machen ( den Start )
Dann wärs so ...
PHP Code:
#include <misc.au3> HotKeySet ("{F6},Close") While 1 If _IsPressed(01) Then Sleep ( 90 ) MouseClick ("left") Endif WEnd Func Close() Exit Endfunc
|
|
|
12/06/2010, 15:41
|
#9
|
elite*gold: 0
Join Date: Jul 2009
Posts: 15
Received Thanks: 8
|
Quote:
Originally Posted by Elborod
Error Irgendwas mit If is pressed. Soweit hab ich Autoit leider nicht kapiert^^
Trotzdem nochmal ein THANKS
|
Es fehlt lediglich ein Include
Code:
#Include <Misc.au3>
Hier ein Copy&Paste-Fähiger Code
Code:
#Include <Misc.au3>
Global $botEnabled=false
Global $dll = DllOpen("user32.dll")
HotKeySet ("{F5}","Start")
HotKeySet ("{F6}","Close")
Func Start()
$botEnabled = true
EndFunc
Func Close()
Exit
EndFunc
Func CheckForClick()
if _IsPressed("01", $dll) Then
Local $mousePos = MouseGetPos()
MouseClick ("primary",$mousePos[0],$mousePos[1],2)
EndIf
EndFunc
While True
If $botEnabled Then
CheckForClick()
EndIf
WEnd
Nach Starten der Exe - F5 Bot Starten / Aktivieren
- F6 Bot Beenden
|
|
|
12/06/2010, 17:28
|
#10
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Quote:
Originally Posted by Samsusi
Es fehlt lediglich ein Include
Code:
#Include <Misc.au3>
Hier ein Copy&Paste-Fähiger Code
Code:
#Include <Misc.au3>
Global $botEnabled=false
Global $dll = DllOpen("user32.dll")
HotKeySet ("{F5}","Start")
HotKeySet ("{F6}","Close")
Func Start()
$botEnabled = true
EndFunc
Func Close()
Exit
EndFunc
Func CheckForClick()
if _IsPressed("01", $dll) Then
Local $mousePos = MouseGetPos()
MouseClick ("primary",$mousePos[0],$mousePos[1],2)
EndIf
EndFunc
While True
If $botEnabled Then
CheckForClick()
EndIf
WEnd
Nach Starten der Exe - F5 Bot Starten / Aktivieren
- F6 Bot Beenden
|
Der is schon so umständlich dass ich den schon fast net mehr verstehe
Hier nochmal einer der klappt auf jeden fall xD
PHP Code:
#include <Misc.au3> HotKeySet("{F5}", "Start") HotKeySet("{F6}", "Close") Func Start() While 1 If _IsPressed("01") Then $mousePos = MouseGetPos() MouseClick("left", $mousePos[0], $mousePos[1], 2) EndIf WEnd EndFunc Func Close() Exit EndFunc while (Sleep(1)) WEnd
Und hier für dein anderen bot
PHP Code:
HotKeySet("{F6}", "_exit") HotKeySet("{F5}", "_start") Func _start() While 1 $search = PixelSearch(700,300,900,500,0x9A0003,40) If not @error Then MouseClick("left",$search[0],$search[1]) EndIf WEnd EndFunc Func _exit() Exit EndFunc While 1 sleep(1) WEnd
Allerdings bezweifel ich dass es geht, da die pixel bestimmt irgendwo in der Umgebung schon gebraucht werden.
|
|
|
12/07/2010, 01:41
|
#11
|
elite*gold: 0
Join Date: Jul 2009
Posts: 15
Received Thanks: 8
|
Wieso ist mein Code denn umständlich? ^^
Ich habe in der Endlosschleife eine Bool-Abfrage, ob der "Bot" gestartet ist, wenn ja, dann greift er auf die Funktion CheckForClick zu. In dieser wird geprüft ob der User geklickt hat, und reagiert entsprechend
Zu dem Pixelsearch:
Warum definierst du nicht einfach ein Rechteck, welches sich nur um 20[LE] um die Mausposition herum befindet?
Damit minimierst du den Fall, dass der Pixel eventuell schon woanders sein könnte, als am Kopf des Gegners ^^
Code:
Local $mP = MouseGetPos()
Local $dx = 20
Local $search = PixelSearch(mP[0]-$dx,mP[1]-$dx,mP[0]+$dx,mP[1]+$dx,0x9A0003,40)
|
|
|
12/12/2010, 14:16
|
#12
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
Danke Danke Danke für eure genialen Antworten ;D Ja die Idee mit dem Rechteck hatte ich auch schon in meine Bot eingebaut.
Nun gibt es noch ein Problem mit der Sache. Der Bot funktioniert irgendwie nicht, wenn CA gestartet ist. Vorher funktioniert er tadellos. Ich hab versucht, die Prioität im Taskmanager festzulegen aber das funzt irgendwie auch nicht.
Hat wer eine Ahnung wieso nicht?
Liegts daran, dass das Spiel nur im Vollbildmodus läuft?
nochmal Danke
Grüßé
Stoani
|
|
|
12/12/2010, 14:19
|
#13
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Bei Vollbild kommt es darauf an wie die auflösung ist, ob sie die gleiche hat wie dein desktop oder so oder nicht, da der bot dann z.B. nicht mehr auf die position 1000, 1000 klicken kann, wenn du eine andere Auflösung im spiel hast
|
|
|
12/12/2010, 14:30
|
#14
|
elite*gold: 0
Join Date: Jan 2009
Posts: 74
Received Thanks: 3
|
Es ist zwar eine andere auflösung, aber das dürfte diesen Bot eher wenig beeindrucken, da er ja eigentlich nichts mit pixelsearch oder so zu tun hat...
trotzdem ein dickes THX für die schnelle Antwort ;D
Güße Stoani
|
|
|
12/12/2010, 15:02
|
#15
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Oh nicht aufgefallen aber bei games werden virtuelle eingaben oftmals geblockt.
|
|
|
|
|
Similar Threads
|
Doppelklick-Bot
12/05/2010 - AutoIt - 1 Replies
Sorry für den Doppelpost
War keine Absicht.
Bitte Löschen
|
Doppelklick mit AutoIt in CheatEngine
07/30/2010 - AutoIt - 20 Replies
Hallo Leute
ich möchte einen mausklick simulieren,und damit in cheat engine eine value ändern.
wenn ich aber doppelklick auf die adresse mache,damit das fenster mit der aktuellen value auf geht passiert nichts.
ebenso kann ich das nicht machen indem ich rechtsklick mache dann chance record und dann value
bei dem letzten schritt wenn er auf value klicken soll passiert dies einfach nicht.
den doppelklickt woltle ich mit
MouseClick ("left" ,812,500,2)machen
und den normalen klick mit ...
|
Doppelklick auf Liste?
05/11/2010 - AutoIt - 21 Replies
Ich habe eine Liste (GUICtrlCreateList)... wenn ich einen Doppelklick auf einen Eintrag mache, soll eine Funktion ausgeführt werden.
Mir gehts also um den Doppelklick, ne Idee?
EDIT: Vllt ist's wichtig - ich benutz OnEventMode
|
Hilfe?:Doppelklick auf gefundenen Pixel (AutoIt)
04/02/2009 - Metin2 - 7 Replies
Hallo,
Ich hab jetzt einen Farmbot gescriptet der recht gut funktioniert.
er macht dies
Global $Paused
HotKeySet("{F5}", "TogglePause")
while 1
Send("{SPACE}")
|
DoppelKlick
08/21/2008 - General Coding - 2 Replies
Also ich benutze seit heute AutoITv3
und einen Mouseklick macht man ja so:
MouseClick("left", 50, 665)
Aber wie macht man einen doppelklick und wie hält man die Mouse gedrückt und läst sie wieder los ??
|
All times are GMT +2. The time now is 16:43.
|
|