PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warteschlange erstellen [Paralelles Event bei Textboxen anhalten] (Rm2k)



Klunky
29.05.2012, 16:14
Hallo liebe Community,

Folgendes Problem:
Ich hatte vor eine Warteschlange zu erstellen, bei der man mit den Leuten quatschen kann.
Ein paralelles Event sorgt dafür, dass alle 16 Sekunden die Reihe eins vorrückt und eines der Events eben nach oben verschwindet.
Soweit läuft auch alles gut, nur leider läuft dieses paralelle Event einfach gnadenlos weiter sobald ich mit jemanden rede, so kommt es z.b vor
das ein Dialog immer noch läuft, obwohl die Person die an der Reihe ist sich grade auf den Weg macht.
Ich möchte aber das während eines Gesprächs die Zeit und somit das paralelle Event anhält und nur dann weiter läuft wenn mein Charakter keine
Aktion ausführt.

Ich hoffe ihr versteht was ich meine.

Hoffe auf Antworten
mfg Klunky

SEEEDinator
29.05.2012, 17:33
Du könntest die Variable, die die Zeit misst, in ein anderes Event packen, dass einen aktivierten Schalter als Bedingung braucht.
Vor jedem Dialog setzt du diesen Schalter jetzt auf "OFF", und nach dem Gespräch wieder auf On.
Könnte so funktionieren, muss aber nicht. War nur ein spontaner Gedanke ;-)

Greetz

Klunky
29.05.2012, 20:17
Klang nach einer Idee. Nur leider klappt das nicht ganz
Also ich habe die Zeit, wann einer an die Reihe kommt mit einen simplen wait Befehl gesetzt
Wenn ich nen Switch oder eine Variable setze die während eines Gespräches Off gesetzt wird oder auf 0 und danach wieder
On, geht bzw auf den Wert der Variable, geht der paralelle Prozess von vorne los und schickt eine Person z.b 2x mal durch. D:

MarcL
30.05.2012, 08:53
hallöchen,

also ich vermute es gibt zwei? Wege, ohne Gewähr:

1. Das Ansprechen einer Person setzt einen Switch der den PP ausstellt. Im PP wird nach jeden 16sekunden und dem Move ein neues Label eingefügt, und eine Variable hochgezählt. Außerdem steht am Anfang des PP ein Conditional Branch, der die Variable abfragt und je nachdem zu einem bestimmten Label springt. Fängt der PP nach dem Gespräch wieder von vorne an springt er dann zu dem besagten Label.

2. Du kopierst den Inhalt deines fertigen! PP in ein Common Event, das mit einem Switch angeschalten wird (sonst würde es ja immer laufen). Wird das PP dann unterbrochen und wieder aufgenommen, sollte laut dem hier (http://www.multimediaxis.de/threads/71-Detail-Wissen-und-Geheimnise-des-RPG-Makers-vorallem-f%C3%BCr-Erfahrene-Profis-lehrreich) da fortgeführt werden, wo aufgehört wurde.
Über die Move Event Befehle brauchst du dir dann keine Sorgen machen. Das CE PP kennt zwar die Events nicht, die bewegt werden sollen (da steht dann ein ?), aber wenn du dann auf der Map bist, müsste es die richtigen Events bewegen, da sie dann existieren. (Also bei mir klappt das z.B. wenn ich mich von einer Map auf eine andere teleportiere, und dann beispielsweise ein Tür beim Schließen animieren will, ohne extra einen PP einzubauen. Die Ursprungsmap kennt dann den Event der neuen Map (die Tür) noch nicht, dennoch kann ich den MoveEvent vorfertigen und dann dort einbauen) - ^^ wenn das zu schlecht erklärt ist, vergiß es einfach xD

Hoffe eine dieser Lösungen klappt für dich ^^°

PS: Es gibt sicherlich noch eine dritte Möglichkeit, aber ich hab keine Zeit mehr ^^. Und zwar wäre jene, dass du die Warteschlage über das Movement-Type der Events regelst

Klunky
30.05.2012, 13:05
hallöchen,
Das Ansprechen einer Person setzt einen Switch der den PP ausstellt. Im PP wird nach jeden 16sekunden und dem Move ein neues Label eingefügt, und eine Variable hochgezählt. Außerdem steht am Anfang des PP ein Conditional Branch, der die Variable abfragt und je nachdem zu einem bestimmten Label springt. Fängt der PP nach dem Gespräch wieder von vorne an springt er dann zu dem besagten Label.


Hey vielen Dank, es hat funktioniert! Ich muss zu meiner Schande zugeben, dass ich ich mich trotz 7 Jahren RPG-Makerns. (Wenn auch nur zwischenzeitlich intensiv.) Mich nie mit Labels auseinandergesetzt habe, dabei sind sind sie ungemein praktisch, Sowohl von den Möglichkeiten die sie dem Spiel können, als auch das Ersparen unzähliger Testsessions.
Also nochmal doppelt Danke, einmal für die Lösung eines Problems und einmal für die Heranführung eines Elements, mit dem ich mir zukünftig den ein oder anderen Hilfethread sparen kann.