Joar, nun ich war dabei ein wenig mit dem Maker herumzuexperimentieren und durch die Diebe X-Mas Version bin ich dann schließlich auf die Idee gekommen ein Schlösserknacksystem zu machen/probieren.
Joar und folgendes sind meine vergeblichen Versuche:
(hoffe man kann alles gut lesen und sich gut zurechtfinden, sind größe Bilder des Codes)
So joar und das Problem ist eben das das ganze immer nur einmal geht (also immer nur eine Battelanimation kommt und je nach dem ob die richtig gedrückt worden ist oder nicht kommt dann halt "war wohl nichts" oder eben "juhu^^" ich habs jetzt mehrmals durchgeschaut aber einfach keinen Fehler gefunden, was wohl daran liegt das ich was technik betrifft nicht gerade bewandert bin.
achja und wenn ich gerade schon dabei bin, wie kann ich es machen das man nicht wie hier beim diesem beispiel, da muss man 3.0 sec warten egal wann man die taste drückt, sondern das es weiter geht sobald die taste gedrückt wird oder nach 3 sec? (schlecht formulierter satz ich weis, ist eben spät)
--
Ich hab Gott im Herz, doch den Teufel im Kopf sitzen.
achja und wenn ich gerade schon dabei bin, wie kann ich es machen das man nicht wie hier beim diesem beispiel, da muss man 3.0 sec warten egal wann man die taste drückt, sondern das es weiter geht sobald die taste gedrückt wird oder nach 3 sec? (schlecht formulierter satz ich weis, ist eben spät)
...
Beim 2003er gibts dafür die Option Wait until Key Pressed für den Key Input Processing Befehl. Da musst du nur ein Häckchen anfügen und schon wird bis zur Tasteneingabe gewartet und nach dieser folgen sofort die nächsten Befehle.
Joa, da es schon spät ist und ich nicht ganz genau weiß wie dein Schlösserknacken-System am Ende aussehen soll, kann ich im Moment nur deine zweite Frage beantworten. Wenn ich dich richtig verstanden habe willst du wissen: "Wie kriege ich es hin das der Maker maximal 3 Sekunden auf die Tasteneingabe des Spielers wartet?"
Das kann man folgendermaßen machen (geht sicher auch anders, so ist es aber am leichtesten zu verstehen ^^° (und zu mehr bin ich heute Abend / Morgen) auch nicht fähig...):
Habs gerade noch getestet und es funzt. Nachteile: Man braucht jedes mal einen Lable. Eine weitere Möglichkeit wäre natürlich ein weiteres Event einzuschalten welches die 3 Sekunden abwartet. Das ist imo aber noch umständlicher...
Wenn ich morgen dazu Zeit finde werde ich mich gerne selber mal an einem Schlösser knacken probieren und den Code dann hier posten. Vorher müsste mir nur noch jemand erklären wie genau das aussehen soll ^^°.
mfg
Phönix Tear
Edit:
Brauchst du ne Erklärung was der Code macht? Wenn ja:
Ich benutze hierbei eine einfache Schleife mit Zähler. Diese wird 180 mal durchlaufen und jedes Mal getestet ob der Spieler eine Taste gedrückt hat. Wenn ja wird die Schleife beendet und der Folgecode kann durchlaufen. Sollte der Wert in der Tastenabfrage-Variable immer noch 0 sein, es ist also keine Taste gedrückt worden, wird die Zähler Variable um 1 erhöht und so lange zurück zum Anfang der Schleife gesprungen, bis entweder eine Taste gedrückt wurde, oder die Zählervariable den Wert 180 hat, also 3 Sekunden vergangen sind (180 x 0,0 Sekunden = 30 x 0,1 Sekunde = 3 Sekunden). Mehr passiert eigentlich garnicht
Edit 2:
*Pfff*, jetzt hat mir das doch keine Ruhe gelassen. Ich habs jetzt selber mal ausprobiert und es funktioniert. In deinem Skript konnte ich so nämlich auch keinen Fehler sehen ^^°.
Also hier mein eigener Code mit dem oben beschriebenen Wartezyklus:
Hmm, ja, was gibst da viel zu erklären?
Zu beginn wird abgefragt ob man bereits 10 mal richtig gedrückt hat. Wenn nicht wird eine neue zufällige Richtung festgelegt und dem Spieler diese per BA angezeigt. Dann kommt der Code von oben. Dieser wartet maximal 3 Sekunden auf die Tasteneingabe. Wurde eine Taste gedrückt oder sind die 3 Sekunden vorbei wird abgefragt ob die Tasteneingabe richtig war. Wenn ja wird die Anzahl der richtigen Versuche um 1 erhöht, wenn nicht wird diese auf -1 gesetzt. Dies hat weiter keine Bedeutung, soll nur am Ende klar machen das man es nicht geschafft hat. Dadurch das in diesem Fall der Fork Condition das "Goto Lable 1" fehlt wird auch die Fork verlassen, welche prüft ob bereits 10 Richtige Versuche vorliegen, und damit kommt es zur abschließenden Kontrolle. Diese wird also nur erreicht wenn entweder etwas falsches, oder 10 mal etwas richtiges gedrückt wurde. Dementsprechend muss sie auch nur abfragen ob die Anzahl der richtigen Versuche bei -1 liegt, dem Erkennungszeichen das der Versuch gescheitert ist. Wenn ja wird dem Spieler dies klar gemacht. Wenn nein hat er das Schloss erfolgreich geknackt...
Hoffe das hilft dir weiter
mfg
Phönix Tear
Geändert von Phönix Tear (27.12.2006 um 00:26 Uhr)