Also die erste ProgressBar macht was sie soll. Nach jeden Mal "Trinken" drücken wird 15 hinzugefügt und angezeigt. Und nach 30 Sekunden werden 30 abgezogen.
Bei der zweiten ProgressBar klappt das Abziehen nicht so wie gewünscht.
So wird um 11 (Uhrzeit im "Spiel") oder um 18 Uhr nicht nur 25 abgezogen sondern direkt alles...
Ich weiß nicht mehr weiter & deshalb wende ich mich an euch.
Ich hoffe ihr wisst eine Lösung =)
Hier der Code:
Code:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.8.1
Author: Piper332
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
#RequireAdmin
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
Global $Durst, $Add_1 = 30 , $zeit = "0:00", $stu = 0, $minu = 0, $mdiff = 5, $Add_2 = 35, $sturl = "00"
$GUI = GUICreate("Tomatogotchi",500,300,50,50)
$time = GUICtrlCreateLabel("Time:" & $zeit & "",440,10,50,20)
$prog1 = GUICtrlCreateProgress(10, 10, 200, 20)
$durst = GUICtrlCreateButton("Trinken", 250, 10, 70, 20)
$prog2 = GUICtrlCreateProgress(10, 40, 200, 20)
$hunger = GUICtrlCreateButton("Essen[Möhre]", 250, 40, 70, 20)
GUISetState()
GUICtrlSetData($prog1,$Add_1)
GUICtrlSetData($prog2,$Add_2)
$wait = 20; Warte 20ms bis zum nächsten Schritt
$s = 0; Progressbar-Startposition
$DurstRef = TimerInit()
$minute = TimerInit()
While 1
$msg = GUIGetMsg()
Select
Case $msg = -3
ExitLoop
Case $msg = $durst
$Add_1 += 15
If $Add_1 = 100 Or $Add_1 > 100 Then
$Add_1 = 100
EndIf
GUICtrlSetData($prog1,$Add_1)
Case $msg = $hunger
$Add_2 += 35
If $Add_2 = 100 Or $Add_2 > 100 Then
$Add_2 = 100
EndIf
GUICtrlSetData($prog2,$Add_2)
EndSelect
If TimerDiff($DurstRef) > 30000 Then
$Add_1 -= 30
If $Add_1 = 0 Or $Add_1 < 0 Then
$Dead = 1
$Add_1 = 0
EndIf
GUICtrlSetData($prog1,$Add_1)
$DurstRef = TimerInit()
Endif
If $sturl = 11 Or $sturl = 18 Then ; <--- HungerRef
$Add_2 = GUICtrlRead($prog2)
$Add_2 -= 25
If $Add_2 = 0 Or $Add_2 < 0 Then
$Dead = 1
$Add_2 = 0
EndIf
GUICtrlSetData($prog2,$Add_2)
EndIf
If $minu > 59 Then
$stu +=1
$minu = 0
EndIf
If $stu = 24 Then
$stu = 0
EndIf
If TimerDiff($minute) > $mdiff Then
$minu += 1
$minute = TimerInit()
EndIf
If $stu = 0 Then $sturl = "00"
If $stu = 1 Then $sturl = "01"
If $stu = 2 Then $sturl = "02"
If $stu = 3 Then $sturl = "03"
If $stu = 4 Then $sturl = "04"
If $stu = 5 Then $sturl = "05"
If $stu = 6 Then $sturl = "06"
If $stu = 7 Then $sturl = "07"
If $stu = 8 Then $sturl = "08"
If $stu = 9 Then $sturl = "09"
If $minu = 0 Then $mrl = "00"
If $minu = 1 Then $mrl = "01"
If $minu = 2 Then $mrl = "02"
If $minu = 3 Then $mrl = "03"
If $minu = 4 Then $mrl = "04"
If $minu = 5 Then $mrl = "05"
If $minu = 6 Then $mrl = "06"
If $minu = 7 Then $mrl = "07"
If $minu = 8 Then $mrl = "08"
If $minu = 9 Then $mrl = "09"
If $stu > 9 Then $sturl = $stu
If $minu > 9 Then $mrl = $minu
$zeit = "" & $sturl & ":" & $mrl & ""
GUICtrlSetData($time,$zeit)
WEnd
Liegt an der Abfrage. Du fragst nur noch den Stunden ab und vergisst dabei, dass es für ca. eine halbe sec. 11Uhr ist (die Minuten müssen ja noch vergehen).
Und in der Zeit zieht er deiner Progressbar immer wieder 25 ab.
Würde z. B. so klappen:
PHP Code:
If ($sturl = 11 And $minu < 2) Or ($sturl = 18 And $minu < 2) Then
(Wobei das glaube ich auch manchmal failen würde, gibt noch andere möglichkeiten, kann nur grad nicht denken )
Und die 20 Abfragen weiter unten kannst du ganz schnell in einer Schleife lösen:
PHP Code:
For $i = 0 To 9 If $stu = $i Then $sturl = "0"&$i If $minu = $i Then $mrl = "0"&$i Next
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
How to Make Progressbar 10/02/2009 - Coding Tutorials - 1 Replies Visual Basics 6.0 - Progressbar Helloworld
YouTube - Visual Basics 6.0 - Progressbar Helloworld
How to Make a advanced progressbar in visual basic 2008
YouTube - How to Make a advanced progressbar in visual basic 2008
[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