PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Conditional Branch (Tür öffnen/schließen) - RPG Maker 2003



RPG-Devil
30.08.2018, 10:52
Hi,

wie man eine Tür öffnet und schließt, weiß ich in etwa.

Es funktioniert mit Conditional Branch.

1.) If Party Posses "has" Schlüssel
2.) Move Event "This Event" Tür, Face Right
3.) Wait 0.1 Sec
4.) Move Event "This Event" Tür, Face Up
5.) Wait 0.1 Sec
6.) Move Event "This Event" Tür, Face Left
7.) Wait 0.1 Sec
8.) Teleport Map x,y

So, die Tür bleibt geschlossen bei Tastendruck, und beim Schlüsselbesitz öffnet sich die Tür.

Da man eine Info bekommen soll, dass die Tür geschlossen ist, möchte ich einen "else handler" einbauen. Message:

"Die Tür ist verschlossen".

Tue ich dies, öffnet die Tür komischerweise zwar nicht, aber dennoch bewegt sich die Tür, als wäre sie geöffnet. Woran liegt das?

BDraw
30.08.2018, 11:45
Mach mal einen Screenshot von deinem Code, vermutlich ist da irgendwas falsch strukturiert. So sollte es sein:


<> If party has item X
<> (Code fürs Tür-Öffnen)
:Else Case
<> Show Message: "Verschlossen."
:End Case

Ken der Kot
30.08.2018, 14:10
Du musst bei den Event bei Optionen Direction Fix einstellen. Ganz unten links auf der Eventseite, Haken setzen bei Direction Fix. Der Rest müsste ja stimmen.

Ken der Kot
30.08.2018, 15:18
Es war mir eine Freude

IndependentArt
30.08.2018, 18:01
Das passiert eben, weil die Tür dir quasi ihr "Gesicht" zudreht, wie es auch ein NPC machen würde.

WaterKnight
30.08.2018, 20:26
Wobei ich mich an der Stelle frage, wie die 2000, 2003er Makerer die Konsistenz wahrten. Da gab es noch keine richtigen Funktionen, oder? Bzw. den Common-Events kann man nur global Parameter übertragen und da konnte man nicht alles in Variablen speichern. Folglich wurde das Event für jede Tür kopiert und angepasst. Was, wenn man später die Transitionszeit für alle Türen verändern möchte?

Ghabry
03.09.2018, 17:59
Wobei ich mich an der Stelle frage, wie die 2000, 2003er Makerer die Konsistenz wahrten. Da gab es noch keine richtigen Funktionen, oder? Bzw. den Common-Events kann man nur global Parameter übertragen und da konnte man nicht alles in Variablen speichern. Folglich wurde das Event für jede Tür kopiert und angepasst. Was, wenn man später die Transitionszeit für alle Türen verändern möchte?

Also seit RPG Maker 2003 Steam wird bei Common Events ThisEvent (entspricht dem Mapevent) durchgereicht. Seitdem das endlich geht, kann man die Events einfacher generisch schreiben.

IndependentArt
03.09.2018, 21:50
Also seit RPG Maker 2003 Steam wird bei Common Events ThisEvent (entspricht dem Mapevent) durchgereicht. Seitdem das endlich geht, kann man die Events einfacher generisch schreiben.

Was meinst du mit durchgereicht? Was passiert, wenn ich in einem CE this event benutze?

Ghabry
03.09.2018, 22:16
Wenn ein Map Event mit Call Event ein Common Event aufruft, referenziert ab 2k3 Steam "This Event" im CE das Map Event.

Genauer gesagt das letzte Map Event auf dem Callstack, also ein

Map -> CE -> CE hat immer "This Event" Map und
Map -> Map2 -> CE hat Map2 und
Map -> CE -> Map3 -> CE hat Map3.

Bin mir nicht sicher, aber CE -> Map -> CE müsste auch ThisEvent Map haben.