Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 23:01

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

Advertisement



[Help] Mit dem GUI eine Schleife ausweichen

Discussion on [Help] Mit dem GUI eine Schleife ausweichen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Robin,249's Avatar
 
elite*gold: 137
Join Date: Aug 2009
Posts: 428
Received Thanks: 98
[Help] Mit dem GUI eine Schleife ausweichen

Ich möchte mit einem GUI einen einfachen KlickBot machen. Am liebste hätte ich ihn mit HotkeySet's gemacht, aber einige Spiele Blocken das *böse nach S4L schau*.

Ich habe schonmal Grundcode aufgelistet, aber er funzt net, da die Schleife die Pausetaste sozusagen ausschaltet.
PHP Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Bot"331130192124)
$Button1 GUICtrlCreateButton("Start"881531050)
$Button2 GUICtrlCreateButton("Pause"16881451050)
GUICtrlSetState(-1$GUI_DISABLE)
GUISetState(@SW_SHOW)

While 
1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Button1
            $i
=0
            GUICtrlSetState
($Button1$GUI_DISABLE)
            
GUICtrlSetState($Button2$GUI_ENABLE)
            While 
$i=0
            MouseClick
("left")
            
Sleep(1000)
            
WEnd
        
Case $Button2
            $i
=1
            GUICtrlSetState
($Button1$GUI_ENABLE)
            
GUICtrlSetState($Button2$GUI_DISABLE)
            While 
$i=1
            Sleep
(1000)
            
Wend
    
EndSwitch
WEnd 
Wäre froh, wenn mir wer helfen würde.

MFG: Robin
Robin,249 is offline  
Old 07/12/2010, 01:18   #2
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
PHP Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Bot"331130192124)
$Button1 GUICtrlCreateButton("Start"881531050)
$Button2 GUICtrlCreateButton("Pause"16881451050)
GUICtrlSetState(-1$GUI_DISABLE)
GUISetState(@SW_SHOW)

While 
1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Button1
            $i
=0
            GUICtrlSetState
($Button1$GUI_DISABLE)
            
GUICtrlSetState($Button2$GUI_ENABLE)
            While 
$i=0
            MouseClick
("left")
            
Sleep(1000)
            
WEnd
        
Case $Button2
           _pause
()
    EndSwitch
WEnd

Func _pause
()
while 
1
sleep
(50)
WEnd
EndFunc 
sollte funktionieren, kann sein das etwas falsch ist, bin etwas betrunken

€: das mit dem disable der buttons solltest du eig. allein lösen können
bladerofdarknes is offline  
Thanks
1 User
Old 07/12/2010, 02:00   #3
 
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
Dein Code hat exakt die selbe Funktionalität wie der seine mit dem einzigen unterschied, dass du deine Pause Schleife (die alles erst zum hängen bringt) in einer extra Funktion untergebracht hast
Richtig würde es(wenn ich dich jetzt wirklich richtig verstanden habe) so aussehen:

PHP Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Bot"331130192124)
$Button1 GUICtrlCreateButton("Start"881531050)
$Button2 GUICtrlCreateButton("Pause"16881451050)
GUICtrlSetState(-1$GUI_DISABLE)
GUISetState(@SW_SHOW)

While 
1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Button1
            $i
=0
            GUICtrlSetState
($Button1$GUI_DISABLE)
            
GUICtrlSetState($Button2$GUI_ENABLE)
            
$continueBotting True
            
While $continueBotting
            MouseClick
("left")
            
Sleep(1000)
            
$continueBotting trackUserInput($Button1)
            
WEnd
        
Case $Button2
            $i
=1
            GUICtrlSetState
($Button1$GUI_ENABLE)
            
GUICtrlSetState($Button2$GUI_DISABLE)
            
$continue True
            
While $continue
            Sleep
(1000)
            
$continue trackUserInput($Button2)
            
Wend
    
EndSwitch
WEnd

Func trackUserInput
($trackedID)
$msg=GuiGetMsg()

If 
$msg <> And $msg <> $trackedID Then ;Did any notified object fire?
Return 
False ;Yes!
Else
Return 
True ;No!
EndIf

EndFunc 
Das ist eine relative performante Funktion, die eine Schleife ohne großen Firlefanz unterbricht falls nötig, ohne lange Überprüfungen auszuführen
Da dein Bot wegen der ja recht langen Wartezeiten eh nicht sehr schnell arbeitet macht es kaum nen Unterschied, allerdings ist der Code so sauberer und vllt. hilfts auch wem anders^^

Zu deinem Problem mit HotkeySet, schau dir mal in der Misc.au3 die _IsPressed Funktion an, mit nem bisschen If-Gedruckse ist das besser als jede HotkeySet-Anwendung

Sollte ich dir irg. welche Syntaxfehler eingebaut haben schrei ruhig ich hab jetzt ne gut Weile schon kein AutoIT mehr geschrieben...
.nAno is offline  
Thanks
1 User
Old 07/12/2010, 07:36   #4
 
Robin,249's Avatar
 
elite*gold: 137
Join Date: Aug 2009
Posts: 428
Received Thanks: 98
@bladerofdarknes Funzt nicht und kann auch gar nicht funkzionieren. In einer While drinne kann er nicht zurück zu Switch.

@.nAno deines sieht viel versprechend aus, aber funzt auch nicht. Muss ich vlt noch ne Include beinehmen?

Nja für beide mal ein THX für schnelle antwort.


€: habe mal bissel die Variablen umbenannt. Jetzt gehts mehr oder weniger.
Robin,249 is offline  
Old 07/12/2010, 10:58   #5
 
elite*gold: 1
Join Date: Oct 2008
Posts: 1,078
Received Thanks: 276
entschuldige, hab die Initialisierung der Variablen $botting bzw. $continueBotting vergessen, ich sollte so spät nichtmehr coden^^

Ich hab den korrekten Code editiert
.nAno is offline  
Old 07/12/2010, 11:21   #6
 
bladerofdarknes's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,524
Received Thanks: 285
du musst auch wieder auf start drücken
bladerofdarknes is offline  
Reply


Similar Threads Similar Threads
while-schleife cast x | schleife ende cast y
07/26/2010 - Diablo 2 Programming - 6 Replies
ich kann nicht einschlafen und versuche gerade halbwach herauszufinden, wie ich den bot etwas casten lassen kann, um ihn anschließend nach 10-15 casts etwas anderes casten zu lassen. if(NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100) { if((target.name == "Pindleskin") && NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100) { var i =0; while(i<15) { return NTC_CastSkill(106, NTC_HAND_LEFT, target); i++;
[HOW TO]Mit CounterSword schnell ausweichen
03/26/2010 - S4 League - 47 Replies
Ich zeige euch mal wie ihr schnell mit CounterSword ausweichen könnt : Punkt 1. Ihr nehmt das Countersword und macht Block. Punkt 2. Ihr lasst Block los und weicht gleich aus: Ihr weicht nicht auf dem Boden aus sondern der Charakter geht in die Luft. Punkt 3. Ihr macht wieder Block und wiederholt das wieder .......
schleife eine bestimmte zeit laufen lassen
12/31/2009 - AutoIt - 17 Replies
geht das das ich etwas eine bestimmte zeit wiederhole
[Longjuyt2] Ausweichen +5
07/13/2009 - Metin2 Trading - 0 Replies
Tausche meinen Stein d. Ausweichens +5 ggn Ninja,Schami oder Sura +5 mfg
Autoit schleife die wartet bis das eine oder andere eintritt
07/21/2008 - General Coding - 9 Replies
Hallo zusammen, ich bastel jetzt schon seit tagen an einem scriptteil aber komme nicht weiter! Folgendes ich versuche in autoit ein schleife zu bauen , die darauf wartet das sich entweder ein pixel an der stelle x oder ein pixel an der stelle y verändert . Anders gesagt die schleife soll warten bis ein pixel am oberen rand schwarz wird oder der andere pixel unten in einer leiste sich verändert wobei da die farbe unterschiedlich ist !



All times are GMT +1. The time now is 23:02.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.