Du kannst doch auch einfach die Gui in Kode includen, die paar Klicks schaden doch keinem...
Würd mich jetzt auch interessieren: Wie geht das? Hab da noch nix gefunden!
Du kannst doch auch einfach die Gui in Kode includen, die paar Klicks schaden doch keinem...
Würd mich jetzt auch interessieren: Wie geht das? Hab da noch nix gefunden!
ja aber ich denke wenn du das Kunden gibst, ist der Obfuscator notwendig..
ja, nur ist das Problem das sich (bei mir zumindest) der PC nach einer Weile beendet falls er aus dme Ruhezustand niht geweckt wurde
Lustig!
Nur wer stellt den Pc morgens an?
mhm dazu müsste ich irgendwie die Liste sortieren... die sortiert sich ja automatisch... kann man das automatische Sortieren irgendwie abschalten?
Ist übrigens eine ListBox
kannst ja mal paint.net oder gimp ausprobieren
GImp hab ich schon probiert, bekomm da aber nix wirklich tolles mit hin... Fehlt mir auch ein bisschen die Zeit mich da einzuarbeiten, da
ich mich lieber mit Autoit momentan beschäftige
ja echt cooles Design (finde ich)! Auch sonst sehr gut!
Hallo liebe Autoitler,
ich habe aus Langeweile mal ein kleines Spiel geschrieben, bei dem es darum geht innerhalb einer bestimmten Zeit Gästen in einem Café Wünsche zu erfüllen.
Die Wünsche stehen oben in einer Listbox, dann das Objekt anklicken und danach auf den Gast klicken.
Die Zeit wird von Level zu Level kürzer.
Ein Level ist geschafft, wenn allen 3 Gästen der Wunsch erfüllt wurde.
Wenn die Zeit zuende ist, bekommt man die Levelanzahl und die Punkte angezeigt.
Punkte gibt es dafür, dass man einen Wunsch erfüllt. Punktabzug gibt es, wenn man dem falschen Gast, das falsche Objekt gibt.
und
Dank gilt
@Ubuntu, der mir mit der "TimerInit" und "TimerDiff" - Sache geholfen hat
http://www.autoit.de/index.php?page…t=Sleep+umgehen
Die Grafik ist ziemlich mies alles mit Paint gezeichnet... Vielleicht hat jemand was besseres, wäre darüber sehr erfreut!
Genauso wie über Kritik, gefundene Bugs und sonstige Verbesserungsvorschläge!
Im Anhang ist der Download des Scriptes, der .exe und der Bilder. Einfach Exe oder Au3 ausführen, und schon könnt ihr spielen
Hier der Code: Download Dateien werden aber unbedingt benötigt! Auf jeden Fall die Bilder!
#cs
$clickaktuell = Merkt sich welhes Objekt zuletzt geklickt wurde
$countobj = Addiert bei jedem richtigem Objekt eins dazu und sieht so, wieviele Aufgaben bereits richtig gelöst worden sind
Nach dem Vorgang wieder auf Null zu setzen!
$time = Zählt die verbleibende Zeit
#ce
[/autoit] [autoit][/autoit] [autoit]#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Timers.au3>
#include <GUIListBox.au3>
Local $timestart
[/autoit] [autoit][/autoit] [autoit]$clickaktuell = 0
$countobj = 0
$score = 0
$form = GUICreate("Eat'n Sleep", 791, 570, 145, 107)
GUISetBkColor(0xFFFFFF)
$table = GUICtrlCreatePic(@ScriptDir & "\images\table.jpg", 510, 56, 137, 475)
$console = GUICtrlCreateList("", 10, 10, 480, 60, $LBS_NOTIFY)
$scoreshower = GUICtrlCreateLabel("Punkte: " & $score, 600, 10, 600, 45)
$guest1 = GUICtrlCreatePic(@ScriptDir & "\images\guest1.jpg", 661, 64, 113, 113)
GUICtrlSetCursor (-1, 0)
$guest2 = GUICtrlCreatePic(@ScriptDir & "\images\guest2.jpg", 661, 216, 113, 113)
GUICtrlSetCursor (-1, 0)
$guest3 = GUICtrlCreatePic(@ScriptDir & "\images\guest3.jpg", 661, 371, 113, 113)
GUICtrlSetCursor (-1, 0)
$coffee_machine = GUICtrlCreatePic(@ScriptDir & "\images\coffee_machine.jpg", 100, 130, 100, 113)
GUICtrlSetCursor (-1, 0)
$cake_full = GUICtrlCreatePic(@ScriptDir & "\images\cake_full.jpg", 100, 400, 100, 113)
GUICtrlSetCursor (-1, 0)
$ice_cream = GUICtrlCreatePic(@ScriptDir & "\images\ice_cream.jpg", 80, 270, 150, 100)
GUICtrlSetCursor (-1, 0)
GUISetState(@SW_SHOW)
$divide = 30 ;Teiler der Zeit
$round = 0 ;Zählt die Anzahl der gemachten erfolgreichen Runden
MsgBox(0, "Einstieg", "Gib jedem Gast dass, was er essen will! Klicke dazu auf das entsprechende Objekt und dann auf den Gast! Viel Spaß!")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1 ;GROßE SCHLEIFE START
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$guest1want = Random(1, 3, 1)
$guest2want = Random(1, 3, 1)
$guest3want = Random(1, 3, 1)
If $guest1want = 1 Then ;Set List
GUICtrlSetData($console, "Gast 1 hätte gerne eine Tasse Kaffee!")
$draw1 = "cup"
ElseIf $guest1want = 3 Then
GUICtrlSetData($console, "Gast 1 hätte gerne einen Eisbecher!")
$draw1 = "ice"
ElseIf $guest1want = 2 Then
GUICtrlSetData($console, "Gast 1 hätte gerne ein Stück Kuchen!")
$draw1 = "cake"
EndIf
If $guest2want = 1 Then
GUICtrlSetData($console, "Gast 2 hätte gerne eine Tasse Kaffee!")
$draw2 = "cup"
ElseIf $guest2want = 3 Then
GUICtrlSetData($console, "Gast 2 hätte gerne einen Eisbecher!")
$draw2 = "ice"
ElseIf $guest2want = 2 Then
GUICtrlSetData($console, "Gast 2 hätte gerne ein Stück Kuchen!")
$draw2 = "cake"
EndIf
If $guest3want = 1 Then
GUICtrlSetData($console, "Gast 3 hätte gerne eine Tasse Kaffee!")
$draw3 = "cup"
ElseIf $guest3want = 3 Then
GUICtrlSetData($console, "Gast 3 hätte gerne einen Eisbecher!")
$draw3 = "ice"
ElseIf $guest3want = 2 Then
GUICtrlSetData($console, "Gast 3 hätte gerne ein Stück Kuchen!")
$draw3 = "cake"
EndIf ;Ende SetList
Sleep(1000)
$timeprogress = GUICtrlCreateProgress(10, 540, 497, 45)
$timer = _Timer_Init()
While 1 ;Level X Start
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $coffee_machine ;Kaffee Start
$clickaktuell = 1;Kaffee Ende
Case $cake_full ;Kuchen Start
$clickaktuell = 2 ;Kuchen Ende
Case $ice_cream ;Eis start
$clickaktuell = 3 ;Eis Ende
Case $guest1 ;Gast1 START
If $clickaktuell = $guest1want Then
GUICtrlSetData($console, "Richtig! + 50 Punkte!")
$score = $score + 50
$pic1 = GUICtrlCreatePic(@ScriptDir & "\images\" & $draw1 & ".jpg", 400, 64, 113, 113)
$countobj = $countobj + 1
GUICtrlSetData($scoreshower, "Punkte: " & $score)
$clickaktuell = 0
ElseIf $clickaktuell = 0 Then
GUICtrlSetData($console, "Wähle zuerst ein Objekt aus!")
Else
GUICtrlSetData($console, "Falsches Objekt für diesen Gast! - 50 Punkte!")
$score = $score - 50
$clickaktuell = 0
GUICtrlSetData($scoreshower, "Punkte: " & $score)
EndIf ;Gast 1 Ende
Case $guest2 ;Start Gast2
If $clickaktuell = $guest2want Then
GUICtrlSetData($console, "Richtig! + 50 Punkte!")
$score = $score + 50
$pic2 = GUICtrlCreatePic(@ScriptDir & "\images\" & $draw2 & ".jpg", 400, 216, 113, 113)
$countobj = $countobj + 1
GUICtrlSetData($scoreshower, "Punkte: " & $score)
$clickaktuell = 0
ElseIf $clickaktuell = 0 Then
GUICtrlSetData($console, "Wähle zuerst ein Objekt aus!")
Else
GUICtrlSetData($console, "Falsches Objekt für diesen Gast! - 50 Punkte!")
$score = $score - 50
$clickaktuell = 0
GUICtrlSetData($scoreshower, "Punkte: " & $score)
EndIf ;Gast 2 Ende
Case $guest3 ;Start Gast3
If $clickaktuell = $guest3want Then
GUICtrlSetData($console, "Richtig! + 50 Punkte!")
$score = $score + 50
$countobj = $countobj + 1
$pic3 = GUICtrlCreatePic(@ScriptDir & "\images\" & $draw3 & ".jpg", 400, 371, 113, 113)
GUICtrlSetData($scoreshower, "Punkte: " & $score)
$clickaktuell = 0
ElseIf $clickaktuell = 0 Then
GUICtrlSetData($console, "Wähle zuerst ein Objekt aus!")
Else
GUICtrlSetData($console, "Falsches Objekt für diesen Gast! - 50 Punkte!")
$score = $score - 50
$clickaktuell = 0
GUICtrlSetData($scoreshower, "Punkte: " & $score)
EndIf ;Gast 3 Ende
EndSwitch
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If $countobj = 3 Then
MsgBox(0, "Fertig", "Glückwunsch, du hast dieses Level abgeschlossen!")
$divide = $divide - 2
$round = $round + 1
GUICtrlSetData($timeprogress, 0)
reset()
$time3 = 0 ;Setzt die Zeit wieder auf 0
ExitLoop
EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$time = 100 / $divide * _Timer_Diff($timer)
$time = $time / 1000
GUICtrlSetData($timeprogress, $time)
If $time >= 100 Then ;Beende falls Zeitabgelaufen ist
MsgBox(0, "Verloren", "Die Zeit ist abgelaufen. Leider verloren! Versuche es erneut! Du hast " & $round & " Runden geschafft und dabei " & $score & " Punkte erlangt!")
Run("Eat'n_Sleep.exe")
Exit
EndIf
[/autoit] [autoit][/autoit] [autoit]WEnd ;Ende Level X
[/autoit] [autoit][/autoit] [autoit]WEnd;GROßE SCHLEIFE ENDE
;Abtrennung Ende
Func reset()
;
;
;Resetting Start
$countobj = 0
$clickaktuell = 0
$time = 0
GUICtrlSetData($console, "")
GUICtrlDelete($pic1)
GUICtrlDelete($pic2)
GUICtrlDelete($pic3)
;Resetting Ende
;
;
EndFunc ;==>reset
Viel Spaß!
V2: Version 2 ist auch hochgeladen, Mauszeiger ändert sich nun auf den Bildern in "Die Hand" um, außerdem wird die Liste nun nicht mehr sortiert - Danke an autoBert
Alte Version ist aus dem Verkehr gezogen, ab jetzt neue benutzen! Ist die im Anhang!
Jo ist nice
Auch mit Styles könnte man es probieren: Gibt ja:
[autoit]GUICTRLSetStyle($element, $ES_READONLY)
;um das dann wieder aufzuheben:
GUICTRLSetStyle($element, $ES_READONLY = False)
für den Input
Du musst da schon einen funktionierenden Path einfügen
nun das ist ja nur für den eigen gebrauch gedacht... kannst du mir das bitte anhand meines scriptes zeigen wie du das meinst?
was ist daran schwer; bau einfach an der Stelle an der die Schleife geschlossen werden soll das ExitLoop ein und fertig.
Und jetzt:
Zitatich fürchte, dass du grade zugegeben hast, dass es einer ist, also closen bitte
es ist eh alles gesagt
ja sind das 30 verschiedene Prozesse? Und soll immer einger bestimmte Anzahl von Prozessen geöffnet sein?
@Cartan: Was bringt die While Not Exists Schleife?? Ich glaub die wird net unbedingt benötigt
baah, vielen Dank...
Wenn man nicht weiß wonach man suchen soll nützt die Hilfe wenig
Danke, Problem gelöst
While
if ProcessExists("Dein Prozessname.exe") Then
Run("Dein Prozessname.exe")
EndIf
Sleep(1000)
WEnd
#Edit: Da war mal wieder jemand schneller...
Hallo, ich bins mal wieder,
ich schreibe gerade ein kleines Spiel und möchte eine Zeitbeschränkung einbauen.
(Also eine ablaufende Zeit). Doch dazu hab ich bisher immer Sleep verwendet, kann ich jetzt aber nicht benutzen da er das komplette
Spiel anhält.. .
Weiß irgendjemand Rat?
Danke im Vorraus
mhm... ups^^
naja ich habs bisher immer so gemacht und hat einwandfrei funktioniert
müssen die Hotkeys nicht in geschweifte Klammern? z.B.: hier:
[autoit]HotKeySet ("!^{e}", "_Exit")
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]naja aber ohne ein etsprechendes programm auf das dann wirkt kannste das script ja nich testen
da stimmt in dem script aber noch einiges nicht vor allem was die Hotkeys betrifft
Mit TCP ist das nicht unmöglich . Wenn du dich damit beschäftigst oder es bereits kannst, kannste es ja mal versuchen dürfte aber eig. machbar sein und net allzu schwer