Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 16:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Doppelklick-Bot

Discussion on Doppelklick-Bot within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Elborod's Avatar
 
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($searchThen
       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
Elborod is offline  
Old 12/05/2010, 23:17   #2
 
Samsusi's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 15
Received Thanks: 8
Wink

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
Samsusi is offline  
Thanks
1 User
Old 12/05/2010, 23:34   #3
 
Memphiisto's Avatar
 
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
Quote:
Originally Posted by Elborod View Post
[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(01Then
Sleep 
90 )
MouseClick ("left")
Endif
WEnd
EndFunc

Func Close
()
Exit
Endfunc 
Memphiisto is offline  
Thanks
1 User
Old 12/05/2010, 23:44   #4
 
Elborod's Avatar
 
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
PHP Code:
("{F5}"
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
Elborod is offline  
Old 12/05/2010, 23:53   #5
 
Elborod's Avatar
 
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
Elborod is offline  
Old 12/06/2010, 07:37   #6
 
Memphiisto's Avatar
 
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
Memphiisto is offline  
Old 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.
Kamyshin is offline  
Old 12/06/2010, 08:48   #8
 
Memphiisto's Avatar
 
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(01Then
Sleep 
90 )
MouseClick ("left")
Endif
WEnd


Func Close
()
Exit
Endfunc 
Memphiisto is offline  
Old 12/06/2010, 15:41   #9
 
Samsusi's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 15
Received Thanks: 8
Wink

Quote:
Originally Posted by Elborod View Post
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
Samsusi is offline  
Old 12/06/2010, 17:28   #10
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Quote:
Originally Posted by Samsusi View Post
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.
BlackHybrid is offline  
Old 12/07/2010, 01:41   #11
 
Samsusi's Avatar
 
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)
Samsusi is offline  
Thanks
1 User
Old 12/12/2010, 14:16   #12
 
Elborod's Avatar
 
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
Elborod is offline  
Old 12/12/2010, 14:19   #13
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
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
BlackHybrid is offline  
Thanks
1 User
Old 12/12/2010, 14:30   #14
 
Elborod's Avatar
 
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
Elborod is offline  
Old 12/12/2010, 15:02   #15
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Oh nicht aufgefallen aber bei games werden virtuelle eingaben oftmals geblockt.
BlackHybrid is offline  
Thanks
1 User
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.