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:
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