Register for your free account! | Forgot your password?

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

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

Advertisement



Progressbar soll %te errechnen^^

Discussion on Progressbar soll %te errechnen^^ within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Talking Progressbar soll %te errechnen^^

Hi^^
Ich hoffe ihr könnt mir helfen, unzwar versuche ich eine progressbar so zu programmieren das sie zb. 10% von 500 errechnet, woraufhin sie dann die 10% anzeigen soll also 10% grün sein sollen.
Doch wie mache ich das?

Hoffe ihr habt verstanden was ich meine.
WiiZocker is offline  
Old 09/23/2010, 22:50   #2
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
du fragst tatsächlich in einem autoit forum wie prozentrechnung funktioniert?...

prozent wert = (aktueller wert / maximalwert) * 100
lolkop is offline  
Thanks
1 User
Old 09/23/2010, 22:52   #3
 
elite*gold: 0
Join Date: Feb 2009
Posts: 53
Received Thanks: 20
Was is daran so schwer?

Code:
GUICreate("",240,50)
$cProgress = GUICtrlCreateProgress(20,15,200,20)
GUISetState()

GUICtrlSetData($cProgress,10) ; <- this is where the magic happens

While GUIGetMsg() <> -3
WEnd
Shkal is offline  
Thanks
1 User
Old 09/24/2010, 13:16   #4
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Danke euch
Aber keiner hatte genau recht^^ naja hab es wohl nicht verständlich genug gepostet....
Aber ihr wart nah dran xD
Danke euch trotzem (=
WiiZocker is offline  
Old 09/25/2010, 12:25   #5
 
elite*gold: 0
Join Date: Mar 2010
Posts: 79
Received Thanks: 32
Meinst du sowas in der Art?
PHP Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Form1"41592192124)
$Progress1 GUICtrlCreateProgress(16823817)
$Label_Prozent GUICtrlCreateLabel("0"27283620)
GUICtrlSetFont(-1108000"MS Sans Serif")
$Label_Prozentzeichen GUICtrlCreateLabel("%"31281720)
GUICtrlSetFont(-1108000"MS Sans Serif")
$Button1 GUICtrlCreateButton("Los"184487525$WS_GROUP)
$Label1 GUICtrlCreateLabel("="33681220)
GUICtrlSetFont(-1108000"MS Sans Serif")
$Label2 GUICtrlCreateLabel(""35286020)
GUICtrlSetFont(-1108000"MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Button1
            $Zahl 
InputBox("Deine Zahl""Bitte gib deine Zahl ein:")
            
$Prozentzahl $Zahl 100 25 ;Damit rechnest du die 10aus
            GUICtrlSetData
($Progress1$Prozentzahl)
            
GUICtrlSetData($Label_Prozent$Prozentzahl)
            
GUICtrlSetData($Label2$Prozentzahl)
    EndSwitch
WEnd 
luckkylooser is offline  
Thanks
1 User
Old 09/25/2010, 13:23   #6
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Jap, so ähnlich.
Ich poste mal den Bot
Vieleicht finded ihr ja raus warum das mit dem speichern und auslesen nicht so gut funkt aber die Progressbar bringt mich durcheinander...
Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

HotKeySet("{ESC}","Ende")
;Für die einstellungen
HotKeySet ("{F1}" , "Iwohin")
HotKeySet ("{F2}" , "Hausanklicken")
HotKeySet ("{F3}" , "Besuchen")
HotKeySet ("{F4}" , "Aktion")
HotKeySet ("{F5}" , "Rausgehen")

Global $IwohinX,$IwohinY,$HausanklickenX,$HausanklickenY,$BesuchenX,$BesuchenY,$AktionX,$AktionY,$RausgehenX,$RausgehenY,$Iwo_X,$Iwo_Y,$Haus_X,$Haus_Y,$Besuchen_X,$Besuchen_Y,$Aktion_X,$Aktion_Y,$Rausgehen_X,$Rausgehen_Y

;Hauptfenster
#Region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Grundstück Besucher\Grundstück besucher GUI.kxf
$Fenster = GUICreate("Grundstück besucher By WiiZocker", 324, 143, 257, 161,-1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
$Schliessen = GUICtrlCreateButton("Schließen", 40, 80, 75, 25, 0)
$Starten = GUICtrlCreateButton("Starten", 232, 80, 75, 25, 0)
$Label4 = GUICtrlCreateLabel("Wieviele Grundstücke besuchen:", 8, 16, 162, 17)
$Besuchen = GUICtrlCreateInput("100", 176, 16, 57, 21)
$Coords = GUICtrlCreateButton("Coordinaten festlegen", 112, 48, 123, 25, 0)
$Prozess = GUICtrlCreateProgress(56, 112, 254, 17)
$Label5 = GUICtrlCreateLabel("Prozess:", 8, 112, 44, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

;Einstellungen
#Region ### START Koda GUI section ### Form=
$Einstellungen = GUICreate("Einstellungen", 233, 237, 192, 124)
$Group1 = GUICtrlCreateGroup("Einstellen", 0, 0, 225, 153)
$Label1 = GUICtrlCreateLabel("Irgendwohin (F1)", 8, 24, 83, 17)
$Iwo_X = GUICtrlCreateInput("", 136, 24, 33, 21)
$Iwo_Y = GUICtrlCreateInput("", 176, 24, 33, 21)
$Label2 = GUICtrlCreateLabel("X", 152, 8, 11, 17)
$Label3 = GUICtrlCreateLabel("Y", 184, 8, 11, 17)
$Label4 = GUICtrlCreateLabel("Haus anklicken (F2)", 8, 48, 99, 17)
$Haus_X = GUICtrlCreateInput("", 136, 48, 33, 21)
$Haus_Y = GUICtrlCreateInput("", 176, 48, 33, 21)
$Label5 = GUICtrlCreateLabel("Besuchen anklicken (F3)", 8, 72, 122, 17)
$Besuchen_X = GUICtrlCreateInput("", 136, 72, 33, 21)
$Besuchen_Y = GUICtrlCreateInput("", 176, 72, 33, 21)
$Label6 = GUICtrlCreateLabel("Gewünschte Aktion (F4)", 8, 96, 118, 17)
$Aktion_X = GUICtrlCreateInput("", 136, 96, 33, 21)
$Aktion_Y = GUICtrlCreateInput("", 176, 96, 33, 21)
$Label7 = GUICtrlCreateLabel("Raus gehen anklicken (F5)", 8, 120, 132, 17)
$Rausgehen_X = GUICtrlCreateInput("", 136, 120, 33, 21)
$Rausgehen_Y = GUICtrlCreateInput("", 176, 120, 33, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Zurueck = GUICtrlCreateButton("Zurück", 8, 176, 75, 25, 0)
$Speichern = GUICtrlCreateButton("Speichern", 128, 176, 75, 25, 0)
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
			
Case $Schliessen
	Exit
	

	
Case $Coords
	GUISetState(@SW_HIDE,$Fenster)	
	GUISetState(@SW_SHOW,$Einstellungen)	
	
;HIER WIRD ES WICHTIG GLAUBE ICH--------------------------------
Case $Starten
	If FileExists("Einstellungen.ini") = 1 Then ;Später auf 1 stellen!!!
		
$Iwo_X = IniRead("Einstellungen","Coordinaten","Iwohin_X","")
$Iwo_Y = IniRead("Einstellungen","Coordinaten","Iwohin_Y","")
	
$Haus_X = IniRead("Einstellungen","Coordinaten","Hausanklicken_X","")
$Haus_Y	= IniRead("Einstellungen","Coordinaten","Hausanklicken_Y","")
		
$Besuchen_X = IniRead("Einstellungen","Coordinaten","Besuchen_X","")
$Besuchen_Y	= IniRead("Einstellungen","Coordinaten","Besuchen_Y","")
		
$Aktion_X =	IniRead("Einstellungen","Coordinaten","Aktion_X","")
$Aktion_Y = IniRead("Einstellungen","Coordinaten","Aktion_Y","")
		
$Rausgehen_X = IniRead("Einstellungen","Coordinaten","Rausgehen_X","")
$Rausgehen_Y = IniRead("Einstellungen","Coordinaten","Rausgehen_Y","")
		
		Sleep(1000)
$Zaehler = 0
$Teilzahl = 100 ;BRAUCHE ICH DAS????


	While 1;$i <= GUICtrlRead($Besuchen)
$Set =  $Teilzahl / GUICtrlRead($Besuchen)
ToolTip("Klicke irgendwohin.")
MouseClick("left" , $Iwo_X, $Iwo_Y, 3);Iwohin
Sleep(200)
ToolTip("Gehe zum nächstem Haus.")
Send("{Right}")
Sleep(3000)
ToolTip("Klicke das Haus an.")
MouseClick("left" , $Haus_X, $Haus_Y, 3);Haus anklicken
Sleep(3000)
ToolTip("Besuche bewohner")
MouseClick("left" , $Besuchen_X, $Besuchen_Y, 3);Besuchen
Sleep(3000)
ToolTip("Führe gewünschte aktion aus(=.")
MouseClick("left" , $Aktion_X, $Aktion_Y, 3);Aktion
Sleep(6000)
ToolTip("Warte auf dem ende der Aktion.")
Sleep(8000)
ToolTip("Gehe wieder hinaus.")
MouseClick("left" , $Rausgehen_X, $Rausgehen_Y, 3);Rausgehen
Sleep(3000)

$Teilzahl = $Teilzahl * 2;HIER NEHM ICH SIE *2 DAMIT DER BALKEN WEITERLÄUFT UND NICHT STEHENBLEIBT



$Zaehler = $Zaehler + 1
GUICtrlSetData($Prozess, $Set)
If $Zaehler == GUICtrlRead($Besuchen) Then
		ExitLoop
	EndIf



WEnd

		
	Else
	MsgBox(0,"Fehler","Bitte erst den Button: [Coordinaten festlegen] Anklicken und den anweisungen folgen.")
EndIf



;Für das Einstellungs fenster:
Case $Zurueck
	GUISetState(@SW_HIDE,$Einstellungen)
	GUISetState(@SW_SHOW,$Fenster)	
	
Case $Speichern
		IniWrite("Einstellungen.ini","Coordinaten","Iwohin_X",""&GUICtrlRead($Iwo_X)&"")
		IniWrite("Einstellungen.ini","Coordinaten","Iwohin_Y",""&GUICtrlRead($Iwo_Y)&"")
		
		IniWrite("Einstellungen.ini","Coordinaten","Hausanklicken_X",""&GUICtrlRead($Haus_X)&"")
		IniWrite("Einstellungen.ini","Coordinaten","Hausanklicken_Y",""&GUICtrlRead($Haus_Y)&"")

		IniWrite("Einstellungen.ini","Coordinaten","Besuchen_X",""&GUICtrlRead($Besuchen_X)&"")
		IniWrite("Einstellungen.ini","Coordinaten","BesuchenY",""&GUICtrlRead($Besuchen_Y)&"")

		IniWrite("Einstellungen.ini","Coordinaten","Aktion_X",""&GUICtrlRead($Aktion_X)&"")
		IniWrite("Einstellungen.ini","Coordinaten","Aktion_Y",""&GUICtrlRead($Aktion_Y)&"")
		
		IniWrite("Einstellungen.ini","Coordinaten","Rausgehen_X",""&GUICtrlRead($Rausgehen_X)&"")
		IniWrite("Einstellungen.ini","Coordinaten","Rausgehen_Y",""&GUICtrlRead($Rausgehen_Y)&"")

	EndSwitch
WEnd

Func Ende()
	Exit
EndFunc

;Einstellungen:
Func Iwohin()
		;X------------------
	$IwohinX = MouseGetPos()
		GUICtrlSetData($Iwo_X,$IwohinX[1])
	;Y------------------
	$IwohinY = MouseGetPos()
	GUICtrlSetData($Iwo_Y,$IwohinY[1])
	EndFunc

Func Hausanklicken()
		;X------------------
	$HausanklickenX = MouseGetPos()
		GUICtrlSetData($Haus_X,$HausanklickenX[1])
	;Y------------------
	$HausanklickenY = MouseGetPos()
	GUICtrlSetData($Haus_Y,$HausanklickenY[1])
EndFunc

Func Besuchen()
		;X------------------
	$BesuchenX = MouseGetPos()
		GUICtrlSetData($Besuchen_X,$BesuchenX[1])
	;Y------------------
	$BesuchenY = MouseGetPos()
	GUICtrlSetData($Besuchen_Y,$BesuchenY[1])
EndFunc

Func Aktion()
		;X------------------
	$AktionX = MouseGetPos()
		GUICtrlSetData($Aktion_X,$AktionX[1])
	;Y------------------
	$AktionY = MouseGetPos()
	GUICtrlSetData($Aktion_Y,$AktionY[1])
EndFunc

Func Rausgehen()
		;X------------------
	$RausgehenX = MouseGetPos()
		GUICtrlSetData($Rausgehen_X,$RausgehenX[1])
	;Y------------------
	$RausgehenY = MouseGetPos()
	GUICtrlSetData($Rausgehen_Y,$RausgehenY[1])
EndFunc
;Es könten Globale $ fehlen.PRÜFEN
;Maus klickt in die ecke oben links
WiiZocker is offline  
Old 09/25/2010, 14:44   #7
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
das speichern und laden funktioniert nicht, weil du bei ini funktionen "Einstellungen" als name der ini nutzt. richtig wäre natürlich "Einstellungen.ini".
desweiteren hast du beim speichern von Besuchen_Y einen schreibfehler.

du machst auchnoch einen anderen fehler:
Quote:
Code:
$Iwo_X = IniRead("Einstellungen.ini", "Coordinaten", "Iwohin_X", "")
hiermit überschreibst du das handle deiner inputs. natürlich müssen die input handles in einer anderen variable gespeichert sein als die werte.

und das mit der progressbar hast du glaube ich noch nicht so wirklich verstanden^^ die gibt immer prozente aus. und die werden wie bereits von mir gepostet so berechnet:
prozent wert = (aktueller wert / maximalwert) * 100

ich gehe mal davon aus das die progressbar jedesmal wenn deine codeschleife
Code:
ToolTip("Klicke irgendwohin.")
MouseClick("left", $Iwo_X, $Iwo_Y, 3);Iwohin
Sleep(200)
ToolTip("Gehe zum nächstem Haus.")
Send("{Right}")
Sleep(3000)
ToolTip("Klicke das Haus an.")
MouseClick("left", $Haus_X, $Haus_Y, 3);Haus anklicken
Sleep(3000)
ToolTip("Besuche bewohner")
MouseClick("left", $Besuchen_X, $Besuchen_Y, 3);Besuchen
Sleep(3000)
ToolTip("Führe gewünschte aktion aus(=.")
MouseClick("left", $Aktion_X, $Aktion_Y, 3);Aktion
Sleep(6000)
ToolTip("Warte auf dem ende der Aktion.")
Sleep(8000)
ToolTip("Gehe wieder hinaus.")
MouseClick("left", $Rausgehen_X, $Rausgehen_Y, 3);Rausgehen
Sleep(3000)
durchlaufen wurde, erhöht werden soll.

dh du setzt einfach einen laufzähler auf 1 am anfang und erhöhst ihn nach jedem durchlauf um 1.
die progressbar bekommt dann immer den wert (laufzähler / gesamtbesuche) * 100 zugewiesen.

zum schluss kann ich noch anmerken, dass du einige sachen schlecht bzw unnötig kompliziert umgesetzt hast^^

zb:
Code:
Func Iwohin()
	;X------------------
	$IwohinX = MouseGetPos()
	GUICtrlSetData($Iwo_X, $IwohinX[1])
	;Y------------------
	$IwohinY = MouseGetPos()
	GUICtrlSetData($Iwo_Y, $IwohinY[1])
EndFunc   ;==>Iwohin
mal davon abgesehen, dass die x position in $array[0] steht und nicht in $array[1], liest du ja per MouseGetPos() sowieso schon die position von x und y aus. das ganze brauchst du natürlich nur einmal ausführen.
Code:
Func Iwohin()
	$Iwohin = MouseGetPos()
	GUICtrlSetData($Iwo_X, $Iwohin[0])
	GUICtrlSetData($Iwo_Y, $Iwohin[1])
EndFunc   ;==>Iwohin
wäre also besser =)

ausserdem solltest du noch versuchen auf die sleeps zu verzichten, da die dein script blockieren... versuche das ganze mal mit timern zu realisieren.

Edit:
hier mal der code etwas anders aufgebaut mit timern statt sleep und beseitigten logik fehlern:
lolkop is offline  
Thanks
1 User
Old 09/25/2010, 16:01   #8
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Hey danke dir
Hätte nicht gedacht das sich jemand so viel mühe macht xD

Aber alles super erklärt, also meine fehler usw. werde es versuchen in meinen nächsten skripten umzusetzen.

Ich stelle ihn ja online, er ist für nen Game.Naja aufjedenfall erwähne ich dich in der Readme trotz das es eigendlich nicht nötig ist.
Warum? Weil du mir SEHR geholfen hast.
WiiZocker is offline  
Old 09/25/2010, 16:28   #9
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
btw wenn du jetzt mein beispiel anguckst siehst du ja das ich aufgrund der timer eine aktions variable einführen musste, die immer mitlogged, welche aktion gerade durchgeführt wird.

wenn du diese variable schon hast, kannst du die processbar natürlich noch deutlich besser nutzen, indem du nach jeder aktion die neue prozentzahl ausrechnest.

zugegeben ist das hier schon etwas höhere logik und kann nichtmehr 1:1 aus dem tafelwerk übernommen werden :P

also prozente sind ja nur dazu da damit man griffigere zahlen hat.

hat man zb 5 sachen zu machen, hat man nach der ersten aktion 1/5 (0.2) fertig des gesamten fertig. in der prozentrechnung will man dieses "0." eliminieren, und rechnet dazu das ganze mal 100 (und erhält so 20%).

was aber wenn ich nun eine verschachtelung darinn habe?

angenommen ich habe 3 durchläufe mit je 7 aktionen in deinem script

also würde es etwas so aussehen:
Code:
[Durchlauf1]
Aktion1
Aktion2
Aktion3
Aktion4
Aktion5
Aktion6
Aktion7
[Durchlauf2]
Aktion1
Aktion2
Aktion3
Aktion4
Aktion5
Aktion6
Aktion7
[Durchlauf3]
Aktion1
Aktion2
Aktion3
Aktion4
Aktion5
Aktion6
Aktion7
nun will ich nach jeder aktion meinen aktuellen stand herausfinden.
dh ich arbeite nun mit aktionen. wie man leicht sieht ist:
Code:
gesamtanzahl der aktionen = anzahl der durchläufe * anzahl der aktionen
also in diesem falle haben wir demzufolge 3*7=21 aktionen.

wie bekommen wir jetzt aber die aktuelle aktionsnummer heraus?
angenommen wir sind in Durchlauf3 und wir wissen das wir bei Aktion2 sind.

nun müssen wir alle aktionen aus den ersten beiden durchläufen + die aktuelle aktion aus dem 3ten durchlauf rechnen.
somit ergibt sich die formel:
Code:
((Durchlauf-1)*anzahl der Aktionen) + aktuelle Aktion
nun haben wir also aktuell und max wieder bestimmt und setzen es in unsere prozentrechenformel ein:
Code:
allgemein:
(aktuell/max) * 100

speziel:
((((Durchlauf-1)*anzahl von Aktionen)+Aktion) / (anzahl von Durchläufen * anzahl von Aktionen)) * 100
in autoit sieht das ganze in meinem code dann so aus:
Code:
(((($zaehler-1)*7) + $aktion) / (GUICtrlRead($Besuchen)*7)) * 100
nun können wir also unsere switch abfrage erweitern und erhalten:
somit wird nach jeder durchgeführten aktion die progressbar aktualisiert.

das ganze könnte man jetzt noch weiter erweitern, indem man die timer zeiten noch mit ein bezieht. dann wäre man sogar in der lage eine fließend steigende processbar zu erstellen, wie man es von ladebalken gewohnt ist.

das werde ich jetzt hier aber nicht für dich übernehmen :P wenn du das willst kannst du das aber auch alleine umsetzen, wenn du wirklich verstanden hast was ich gerade erklärt habe
lolkop is offline  
Old 09/25/2010, 18:13   #10
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Also eigendlcih ist das Thema für mich abgeschlossen.Da ich den Bot wohl nicht erweitern werde sondern schon an menem nächsten projekt denke.

Trotzdem danke und er sagt mir bei dem einfügen das da was mit dem WEnd nicht stimmt:
Quote:
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\Jan\Desktop\AutoIt\Grundstück Besucher\Grundstück besucher By WiiZocker\Grundstück besucher.au3"
C:\Users\Jan\Desktop\AutoIt\Grundstück Besucher\Grundstück besucher By WiiZocker\Grundstück besucher.au3 (159) : ==> "Wend" statement with no matching "While" statement.:
WEnd
Hier der Code xD

PHP Code:
HotKeySet("{ESC}""Ende")
HotKeySet("{F1}""Iwohin")
HotKeySet("{F2}""Hausanklicken")
HotKeySet("{F3}""Besuchen")
HotKeySet("{F4}""Aktion")
HotKeySet("{F5}""Rausgehen")

Global 
$Iwo_X$Iwo_Y$Haus_X$Haus_Y$Besuchen_X$Besuchen_Y$Aktion_X$Aktion_Y$Rausgehen_X$Rausgehen_Y
Global $aktion 1$zaehler 1$go False$t 0

;Hauptfenster
$Fenster 
GUICreate("Grundstück besucher By WiiZocker"324143257161, -10x188)
$Schliessen GUICtrlCreateButton("Schließen"408075250)
$Starten GUICtrlCreateButton("Starten"2328075250)
$Label4 GUICtrlCreateLabel("Wieviele Grundstücke besuchen:"81616217)
$Besuchen GUICtrlCreateInput("100"176165721)
$Coords GUICtrlCreateButton("Coordinaten festlegen"11248123250)
$Prozess GUICtrlCreateProgress(5611225417)
$Label5 GUICtrlCreateLabel("Prozess:"81124417)
GUISetState(@SW_SHOW)

;
Einstellungen
$Einstellungen 
GUICreate("Einstellungen.ini"233237192124)
$Group1 GUICtrlCreateGroup("Einstellen"00225153)
$Label1 GUICtrlCreateLabel("Irgendwohin (F1)"8248317)
$IwoX GUICtrlCreateInput(""136243321)
$IwoY GUICtrlCreateInput(""176243321)
$Label2 GUICtrlCreateLabel("X"15281117)
$Label3 GUICtrlCreateLabel("Y"18481117)
$Label4 GUICtrlCreateLabel("Haus anklicken (F2)"8489917)
$HausX GUICtrlCreateInput(""136483321)
$HausY GUICtrlCreateInput(""176483321)
$Label5 GUICtrlCreateLabel("Besuchen anklicken (F3)"87212217)
$BesuchenX GUICtrlCreateInput(""136723321)
$BesuchenY GUICtrlCreateInput(""176723321)
$Label6 GUICtrlCreateLabel("Gewünschte Aktion (F4)"89611817)
$AktionX GUICtrlCreateInput(""136963321)
$AktionY GUICtrlCreateInput(""176963321)
$Label7 GUICtrlCreateLabel("Raus gehen anklicken (F5)"812013217)
$RausgehenX GUICtrlCreateInput(""1361203321)
$RausgehenY GUICtrlCreateInput(""1761203321)
GUICtrlCreateGroup("", -99, -9911)
$Zurueck GUICtrlCreateButton("Zurück"817675250)
$Speichern GUICtrlCreateButton("Speichern"12817675250)
GUISetState(@SW_HIDE)

While 
WinExists($Fenster)
    
$msg GUIGetMsg(1)
    Switch 
$msg[0]
        Case -
3
            
If $msg[1] = $Fenster Then Exit
            
GUISetState(@SW_SHOW$Fenster)
            
GUISetState(@SW_HIDE$Einstellungen)
        Case 
$Schliessen
            
Exit
        Case 
$Coords
            GUISetState
(@SW_HIDE$Fenster)
            
GUISetState(@SW_SHOW$Einstellungen)
        Case 
$Starten
            ConsoleWrite
(GUICtrlRead($Besuchen)&@CRLF)
            If 
FileExists("Einstellungen.ini"Then
                $Iwo_X 
IniRead("Einstellungen.ini""Coordinaten""Iwohin_X""")
                
$Iwo_Y IniRead("Einstellungen.ini""Coordinaten""Iwohin_Y""")
                
$Haus_X IniRead("Einstellungen.ini""Coordinaten""Hausanklicken_X""")
                
$Haus_Y IniRead("Einstellungen.ini""Coordinaten""Hausanklicken_Y""")
                
$Besuchen_X IniRead("Einstellungen.ini""Coordinaten""Besuchen_X""")
                
$Besuchen_Y IniRead("Einstellungen.ini""Coordinaten""Besuchen_Y""")
                
$Aktion_X IniRead("Einstellungen.ini""Coordinaten""Aktion_X""")
                
$Aktion_Y IniRead("Einstellungen.ini""Coordinaten""Aktion_Y""")
                
$Rausgehen_X IniRead("Einstellungen.ini""Coordinaten""Rausgehen_X""")
                
$Rausgehen_Y IniRead("Einstellungen.ini""Coordinaten""Rausgehen_Y""")
                If 
Not $go Then
                    $go 
True
                    GUICtrlSetData
($Starten"Stoppen")
                    
GUICtrlSetData($Prozess0)
                Else
                    
$go False
                    GUICtrlSetData
($Starten"Starten")
                EndIf
                
$aktion 1
                $zaehler 
1
            
Else
                
MsgBox(0"Fehler""Bitte erst den Button: [Coordinaten festlegen] Anklicken und den anweisungen folgen.")
            EndIf
        Case 
$Zurueck
            GUISetState
(@SW_HIDE$Einstellungen)
            
GUISetState(@SW_SHOW$Fenster)
        Case 
$Speichern
            IniWrite
("Einstellungen.ini""Coordinaten""Iwohin_X""" GUICtrlRead($IwoX) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Iwohin_Y""" GUICtrlRead($IwoY) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Hausanklicken_X""" GUICtrlRead($HausX) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Hausanklicken_Y""" GUICtrlRead($HausY) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Besuchen_X""" GUICtrlRead($BesuchenX) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Besuchen_Y""" GUICtrlRead($BesuchenY) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Aktion_X""" GUICtrlRead($AktionX) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Aktion_Y""" GUICtrlRead($AktionY) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Rausgehen_X""" GUICtrlRead($RausgehenX) & "")
            
IniWrite("Einstellungen.ini""Coordinaten""Rausgehen_Y""" GUICtrlRead($RausgehenY) & "")
        Case Else
            If 
$go And $zaehler <= GUICtrlRead($BesuchenThen
                
Switch $aktion
    
Case 1
        
If TimerDiff($t) > 3000 Then
            ToolTip
("Klicke irgendwohin.")
            
MouseClick("left"$Iwo_X$Iwo_Y3);Iwohin
            $t 
TimerInit()
            
GUICtrlSetData($Prozess, (((($zaehler-1)*7) + $aktion) / (GUICtrlRead($Besuchen)*7)) * 100)
            
$aktion += 1
        
EndIf
    Case 
2
        
If TimerDiff($t) > 200 Then
            ToolTip
("Gehe zum nächstem Haus.")
            
Send("{Right}")
            
$t TimerInit()
            
GUICtrlSetData($Prozess, (((($zaehler-1)*7) + $aktion) / (GUICtrlRead($Besuchen)*7)) * 100)
            
$aktion += 1
        
EndIf
    Case 
3
        
If TimerDiff($t) > 3000 Then
            ToolTip
("Klicke das Haus an.")
            
MouseClick("left"$Haus_X$Haus_Y3);Haus anklicken
            $t 
TimerInit()
            
GUICtrlSetData($Prozess, (((($zaehler-1)*7) + $aktion) / (GUICtrlRead($Besuchen)*7)) * 100)
            
$aktion += 1
        
EndIf
    Case 
4
        
If TimerDiff($t) > 3000 Then
            ToolTip
("Besuche bewohner")
            
MouseClick("left"$Besuchen_X$Besuchen_Y3);Besuchen
            $t 
TimerInit()
            
GUICtrlSetData($Prozess, (((($zaehler-1)*7) + $aktion) / (GUICtrlRead($Besuchen)*7)) * 100)
            
$aktion += 1
        
EndIf
    Case 
5
        
If TimerDiff($t) > 3000 Then
            ToolTip
("Führe gewünschte aktion aus(=.")
            
MouseClick("left"$Aktion_X$Aktion_Y3);Aktion
            $t 
TimerInit()
            
GUICtrlSetData($Prozess, (((($zaehler-1)*7) + $aktion) / (GUICtrlRead($Besuchen)*7)) * 100)
            
$aktion += 1
        
EndIf
    Case 
6
        
If TimerDiff($t) > 6000 Then
            ToolTip
("Warte auf dem ende der Aktion.")
            
$t TimerInit()
            
GUICtrlSetData($Prozess, (((($zaehler-1)*7) + $aktion) / (GUICtrlRead($Besuchen)*7)) * 100)
            
$aktion += 1
        
EndIf
    Case 
7
        
If TimerDiff($t) > 8000 Then
            ToolTip
("Gehe wieder hinaus.")
            
MouseClick("left"$Rausgehen_X$Rausgehen_Y3);Rausgehen
            $t 
TimerInit()
            
GUICtrlSetData($Prozess, (((($zaehler-1)*7) + $aktion) / (GUICtrlRead($Besuchen)*7)) * 100)
            
$aktion 1
            $zaehler 
+= 1
        
EndIf
EndSwitch
WEnd

Func Ende
()
    Exit
EndFunc   ;==>Ende

;Einstellungen:
Func Iwohin()
    
Local $Iwohin MouseGetPos()
    
GUICtrlSetData($IwoX$Iwohin[0])
    
GUICtrlSetData($IwoY$Iwohin[1])
EndFunc   ;==>Iwohin

Func Hausanklicken
()
    
Local $Hausanklicken MouseGetPos()
    
GUICtrlSetData($HausX$Hausanklicken[0])
    
GUICtrlSetData($HausY$Hausanklicken[1])
EndFunc   ;==>Hausanklicken

Func Besuchen
()
    
Local $Besuchen MouseGetPos()
    
GUICtrlSetData($BesuchenX$Besuchen[0])
    
GUICtrlSetData($BesuchenY$Besuchen[1])
EndFunc   ;==>Besuchen

Func Aktion
()
    
Local $Aktion MouseGetPos()
    
GUICtrlSetData($AktionX$Aktion[0])
    
GUICtrlSetData($AktionY$Aktion[1])
EndFunc   ;==>Aktion

Func Rausgehen
()
    
Local $Rausgehen MouseGetPos()
    
GUICtrlSetData($RausgehenX$Rausgehen[0])
    
GUICtrlSetData($RausgehenY$Rausgehen[1])
EndFunc   ;==>Rausgehen 
Du kennst doch sicher die lösung xDD
WiiZocker is offline  
Old 09/25/2010, 18:25   #11
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
deswegen sollte man immer auf die richtige formatierung vom code achten.

nach dem ende vom aktionsswitch, kommt noch lange kein ende der schleife.
danach musst du ersteinmal die if abfrage die direkt nach dem else case gestartet wurde beenden. wenn das getan ist, kannst du deine gui switch abfrage beenden. wenn die beendet wurde, kannst du die schleife beenden.

am ende sollte das ende also etwa so aussehen:
Code:
						EndIf  ; ende der timer abfrage von $aktion case 7
				EndSwitch ; ende vom aktions switch
			EndIf ; ende go abfrage
	EndSwitch ; ende vom gui switch
WEnd ; main loop ende
lolkop is offline  
Thanks
1 User
Old 09/25/2010, 22:48   #12
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Und nochmals ein fetttes dankeschön ;D
Du bist echt eine hilfe
WiiZocker is offline  
Reply

Tags
%te anzeigen, autoit, autoit hilfe, hilfe, progressbar


Similar Threads Similar Threads
progressbar
07/22/2010 - AutoIt - 10 Replies
hab mal wieder ne kleine frage, undzwar will ich, wenn ich ein button drücke die progressbar sich jedesmal um 20erhöht, aber bekomm das iwie nicht hin ... in internet hab ich dazu nicht wirklich was gefunden.... mein bsp. code: #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <ProgressConstants.au3>
Progressbar
06/18/2010 - AutoIt - 2 Replies
$get1 = InetGet("...",$zgh & "\...") $inf1 = InetGetInfo($get1,0) Do GUICtrlSetData($Progress1,$inf1) Until InetGetInfo($get1,2) = True Also, die Progressbar bleibt leer und die GUI ist scheintot, aber es lädt die Datei... 1. Progressbar soll konstant zum Download sein. 2. GUI soll aktiv bleiben.
VB-Webbrowser mit ProgressBar
05/09/2010 - .NET Languages - 2 Replies
Hey Leute Ich bekomme es einfach nicht hin, das beim laden einer seite in meinem webbrowser der progressbar den ladefortschritt der seite zeigt die ich aufrufen möchte. kann mir jemand konkret erklären wie das klappt was oben steht? Danke
[PROGRESSBAR/MP3]HiLFE
08/25/2009 - AutoIt - 14 Replies
1.Also ich habe mit dem KODA form designer eine progress bar erstellt und jetzt weiss ich nicht wie ich sie zum laufen bringe des sollte dann gehen z.B. wenn button oder so gedrückt wird wie mache ich das und kann man dann auch irgendwie überprüfen ob die Progressbar fertig geladen ist? 2.Also ich wollte fragen ob ich eine mp3 oder wenns seien muss eine wav datei wärend einem skript abspielen kann wenn ja wie??? Wer mir hilft bekommt thanks ;) MFG
werte errechnen
08/28/2006 - Kal Online - 10 Replies
viele hier haben jetzt warscheinlich die public cheatengine und wissen nicht wie man damit stagger value findet, ich hab jetz rausgefunden wie man die values alle nur durch die z koordinaten errechnen kann :D bei mir hat die z koordinate zum beispiel gerade die adresse 09BF8CF0, die lass ich mit dem hex2dez konverter (im anhang) in eine dezimalzahl konvertieren, da kommt dann in meinem fall jetzt 163.548.400 raus, zu dieser zahl muss man jetzt, wenn man die speedup value haben will, 1236...



All times are GMT +2. The time now is 16:13.


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.