|
You last visited: Today at 22:49
Advertisement
Gui's + While's?
Discussion on Gui's + While's? within the AutoIt forum part of the Coders Den category.
12/26/2011, 02:31
|
#1
|
elite*gold: 0
Join Date: Nov 2010
Posts: 45
Received Thanks: 5
|
Gui's + While's?
Huhu liebe user
Meine frage ist, wie ich es anstelle das wenn ich "Checkbox1" angeklickt habe eine schleife startet, & wenn ich Checkbox2 anklickte die schleife noch hinzu kommt.
Es soll also irgendwann mal ein Bot werden.
so sieht mein's momentan aus:
PHP Code:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Skill Checks", 168, 199, 193, 125) GUISetFont(8, 800, 0, "MS Sans Serif") $Checkbox1 = GUICtrlCreateCheckbox("1. Skill", 0, 8, 89, 25) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") $Checkbox2 = GUICtrlCreateCheckbox("2. Skill", 0, 40, 113, 17) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") $Checkbox3 = GUICtrlCreateCheckbox("3. Skill", 0, 72, 81, 17) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") $Checkbox4 = GUICtrlCreateCheckbox("4. Skill", 0, 104, 89, 17) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") $Checkbox5 = GUICtrlCreateCheckbox("EXP- Samen", 0, 136, 137, 17) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") $Checkbox6 = GUICtrlCreateCheckbox("EXP- Scrolls", 0, 168, 145, 25) GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ###
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit If GUICtrlRead ($checkbox1) Then While 2 Send ("{1}") Sleep (2000) WEnd
EndIf EndSwitch WEnd
Ps: wusste nicht wie man's einbettet oder sonstiges  . & bin noch ein anfänger was autoit betrifft.
|
|
|
12/26/2011, 03:29
|
#2
|
elite*gold: 52
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
|
Es kann immer nur eine While auf einmal laufen. Du könntest dann immer überprüfen, ob der Haken gesetzt wurde.
|
|
|
12/26/2011, 10:46
|
#3
|
elite*gold: 25
Join Date: Jun 2010
Posts: 1,076
Received Thanks: 290
|
PHP Code:
$checkbox=True
$checkbox2=True
while sleep(100)
if $checkbox=true then
_Func ()
while sleep(100)
if $checkbox2=true then
_Func ()
_Func2 ()
Else
ExitLoop
endif
wend
endif
wend
Func _Func ()
ConsoleWrite("1")
EndFunc
Func _Func2 ()
ConsoleWrite("2")
EndFunc
So in etwa^^
Habs nur eben kurz geschrieben keine Ahnung ob es funzt.
|
|
|
12/26/2011, 11:27
|
#4
|
elite*gold: 0
Join Date: Nov 2010
Posts: 45
Received Thanks: 5
|
Quote:
Originally Posted by amnesi
PHP Code:
$checkbox=True $checkbox2=True
while sleep(100) if $checkbox=true then _Func () while sleep(100) if $checkbox2=true then _Func () _Func2 () Else ExitLoop endif wend endif wend
Func _Func () ConsoleWrite("1") EndFunc
Func _Func2 () ConsoleWrite("2") EndFunc
So in etwa^^
Habs nur eben kurz geschrieben keine Ahnung ob es funzt.
|
Ok wenn ich's einzelnd mache geht's also wenn ich statt: Consolewrite, send nehme, funktioniert es sobald ich's aber in meinem richtigen programm einfüge, also in den GUI Script, sagt er mir ständig Missng endif in zeile ...
ist aber ein end if drinne, ?!. verstehe nicht ganz wieso
Hoffe ich konnte mich einigermaßen richtig ausdrücken xd
|
|
|
12/26/2011, 12:41
|
#5
|
elite*gold: 255
Join Date: Nov 2009
Posts: 2,900
Received Thanks: 1,408
|
Du musst schauen ob du für jedes "if" auch ein "EndIf" drinne' hast.
|
|
|
12/26/2011, 13:01
|
#6
|
elite*gold: 0
Join Date: Nov 2010
Posts: 45
Received Thanks: 5
|
ah danke  .
Allerdings tut sich gerade eine Neue frage auf.
Habe jetzt 2 programme geschrieben.
Das eine ist jetzt für die Skill's in einem Online-Spiel
Das andere soll für die Item's sein  .
Nur, wv Millisekunden muss ich eintragen für 10 Minuten und 1x Stunde?.
normal sollten doch 10 minuten 600.000 Millisekunden haben, oder?.
nur irgendwie, kommt's definitiv nicht nach 10 minuten. Das item wird c.a nach 1-2 Minuten ausgeführt.
Kann mir darauf einer, eine antwort geben  ?
|
|
|
12/26/2011, 13:20
|
#7
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
eine sekunde hat 1000ms... eine minute 60sekunden daraus folgt wohl, das eine minute 1000*60 ms hat... genau so kannst du das auch in deinem script schreiben.
davon abgesehen wurden auch hier wiederbeispiele mit vielen schleifen gepostet. du solltest dich auf deine main schleife beschränken.
|
|
|
12/26/2011, 21:27
|
#8
|
elite*gold: 0
Join Date: Nov 2010
Posts: 45
Received Thanks: 5
|
Quote:
Originally Posted by lolkop
eine sekunde hat 1000ms... eine minute 60sekunden daraus folgt wohl, das eine minute 1000*60 ms hat... genau so kannst du das auch in deinem script schreiben.
davon abgesehen wurden auch hier wiederbeispiele mit vielen schleifen gepostet. du solltest dich auf deine main schleife beschränken.
|
Vielen dank  hat gut geholfen. & hab's auch fertig bekommen
kann geclosed werden
|
|
|
12/26/2011, 22:02
|
#9
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
ich hoffe mal du bist von den sleeps und multiplen while schleifen abgekommen...
da du es gelöst hast, hier nochmal ein beispiel wie man es schön lösen könnte:
Code:
Dim $task[6][3], $gui = GUICreate('spammer', 120, 20*UBound($task)+10, Default, Default, 0x10C80000, 8)
For $i=0 To UBound($task)-1
$task[$i][1]=GUICtrlCreateCheckbox($i+1&'. Skill', 10, 5+$i*20, 50, 20)
$task[$i][2]=GUICtrlCreateInput(1000, 65, 5+$i*20, 50, 20, 1)
Next
While GUIGetMsg()<>-3
For $i=0 To UBound($task)-1
If BitAND(GUICtrlRead($task[$i][1]),1) And TimerDiff($task[$i][0])>=GUICtrlRead($task[$i][2]) And Not WinActive($gui) Then
Send($i+1)
$task[$i][0]=TimerInit()
EndIf
Next
WEnd
kannst ja mal vergleichen ob deins da ähnlich aufgebaut ist =)
|
|
|
12/27/2011, 03:23
|
#10
|
elite*gold: 0
Join Date: Nov 2011
Posts: 121
Received Thanks: 45
|
Schreib einfach davor :
Code:
Case $Checkbox1
If ...
|
|
|
12/27/2011, 09:04
|
#11
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by iK3ksii
Schreib einfach davor :
Code:
Case $Checkbox1
If ...
|
was soll denn dieser sinnlose code-fetzen bringen? o0
case macht allgemein nur sinn, wenn vorher switch verwendet wird, was in deinem beispiel nur sinn macht, wenn switch auf guigetmsg angewendet wird.
in diesem falle soll definitiv ständig gesendet werden, was eine abfrage, ob die checkbox gewählt wird, total sinnlos macht. die einzige halbwegs sinnvolle nutzung einer switch abfrage dieser art, wäre, wenn man zustände für jedes einzelne event über die checkboxabfrage definiert.
aber auch in diesem falle wäre ein if hinter den einzelnen case fällen absolut nutzlos....
|
|
|
12/27/2011, 18:45
|
#12
|
elite*gold: 0
Join Date: Nov 2010
Posts: 45
Received Thanks: 5
|
Quote:
Originally Posted by lolkop
was soll denn dieser sinnlose code-fetzen bringen? o0
case macht allgemein nur sinn, wenn vorher switch verwendet wird, was in deinem beispiel nur sinn macht, wenn switch auf guigetmsg angewendet wird.
in diesem falle soll definitiv ständig gesendet werden, was eine abfrage, ob die checkbox gewählt wird, total sinnlos macht. die einzige halbwegs sinnvolle nutzung einer switch abfrage dieser art, wäre, wenn man zustände für jedes einzelne event über die checkboxabfrage definiert.
aber auch in diesem falle wäre ein if hinter den einzelnen case fällen absolut nutzlos....
|
Jap ich hab's jetzt bisschen anders gemacht,
habe Ein Programm geschrieben, was die einzelnen programme starten lässt also kurzer einblick:
PHP Code:
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("****", 259, 450, 193, 125)
$Button1 = GUICtrlCreateButton("Skills F1-F&6", 0, 8, 249, 81)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Button2 = GUICtrlCreateButton("Exp-Samen", 0, 96, 249, 81)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Button3 = GUICtrlCreateButton("Exp-Scrolls", 0, 184, 249, 81)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Button4 = GUICtrlCreateButton("Lilien", 0, 272, 249, 81)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
$Button5 = GUICtrlCreateButton("HP-Check's", 0, 360, 249, 81)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Run ("C:\*****\*****\Bypass-Ornder\Skillbot F1-F2.v1.exe")
Case $Button2
Run ("C:\******\*****\Bypass-Ornder\Exp-Samen.exe")
Case $Button3
Run ("C:\*****\*****\Bypass-Ornder\Exp-Scrolls")
Case $Button4
Run ("C:\*****\******\Bypass-Ornder\Lilien")
EndSwitch
WEnd
Das ist zwar nicht die beste lösung gewesen, aber immerhin eine lösung..
Musste allerdings noch den Bypass dazu schreiben  .
Aber zum Glück gibt's in diesem Forum supper tipp's & so kann man sich alles zusammen suchen  .
|
|
|
12/27/2011, 23:28
|
#13
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
sowas baut man doch in ein script.
ein seperates programm für jede operation starten, ist die denkbar schlechteste methode um das problem zu lösen :s
|
|
|
12/28/2011, 00:25
|
#14
|
elite*gold: 0
Join Date: Nov 2010
Posts: 45
Received Thanks: 5
|
Quote:
Originally Posted by lolkop
sowas baut man doch in ein script.
ein seperates programm für jede operation starten, ist die denkbar schlechteste methode um das problem zu lösen :s
|
Ja ich merk's xd
für das Spiel wozu ich's benutze, fliege ich sofort raus. xd
ok, hast du dann irgendeinen guten einfall noch? 
weiß nicht mehr weiter
|
|
|
12/28/2011, 00:52
|
#15
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Du hast doch deine eine hauptschleife, in welcher du auf guiaktionen checkst. Dort baust du einfach über zustandsabfragen die jeweiligen Aktionen mit ein.
|
|
|
 |
|
Similar Threads
|
Autoit Extra Gui's [32-Bit]
03/28/2011 - AutoIt - 17 Replies
Seit längerem habe ich eine art gefunden, echt tolle guis in Autoit zu realisieren.
Jetzt will ich euch zeigen wie es Funktioniert.
Vermerk!
Diese art Funktioniert nur bei 32-bit Pcs, dar die dazu benötigte dll für 32-bit ausgelegt ist!
Ich stelle euch alle 127 Skins zur verfügung.
Hier ein Beispiel:
|
Hi I Need Some Tips/Pointers to AutoIt/GUI's
12/30/2010 - General Coding - 0 Replies
Hi i just got AutoIt +Beta etc.
only thing is the "help" file is pretty darn useless to me...
it tells nothing of how to make a scrips work or what Comands i have to know or use them...
i whant to use the program so make small bots to deferent games... (most MMORPG)
if some one can give me a link to a step by step guide on how to make it work or can Email me the Comands and mby tell me how to put them together it would be real nice...
|
Hi I Need Some Tips/Pointers to AutoIt/GUI's
12/30/2010 - Main - 1 Replies
Hi i just got AutoIt +Beta etc.
only thing is the "help" file is pretty darn useless to me...
it tells nothing of how to make a scrips work or what Comands i have to know or use them...
i whant to use the program so make small bots to deferent games... (most MMORPG)
if some one can give me a link to a step by step guide on how to make it work or can Email me the Comands and mby tell me how to put them together it would be real nice... :D
|
Fragen zu GUI'S
12/07/2009 - AutoIt - 7 Replies
1. Hi, ich hab ein Programm mit zwei GUI's und wenn ich eine GUI schließe, schließen sich beide. Wie kann man ihm sagen, wenn man $GUI_EVENT_CLOSE
drückt, nicht gleich das ganze skript beenden soll?
2. Kann man die GUI irgendwie aktuallisieren, ohne das Programm neu zu starten?
|
All times are GMT +1. The time now is 22:50.
|
|