A question about: Start DialogLayer

  • #1, by Philipp StumppFriday, 03. November 2017, 16:36 7 years ago
    Hi there,

    i have a delicate problem over here.

     I have written a dialog. (whoop whoop!) And i want a part of this dialog to start on its own because the other two options have been chosen and been deleted. (So that i don't have to click on the last remaining Dialog-option. I want every singe remaining dialog-option to start on its own).

    Have a look at the pictures. As you can see it says: Start dialog layer 3.1 ... but what it does is: he jumps directly to its lower level 3.1.1, 3.1.2 and 3.1.3 and let's me, as the player choose one of these. But i want him to execute dialog 3.1 and after that to jump to its next level.

    Ok, i could copy and paste the whole dialog from 3.1 and put it inside the if-instruction i wrote but i want to have an elegant solution. 

    I thought "Start dialog layer" means: Execute this layer and than go to it next level? hmmmm

    Greetings, Phil

    _______

    Sebastian, du musst mir helfen smile 

    Das ist doch ein Scheiss! Wenn ich sage: Start dialog layer sollte er doch erst den Dialog da drin ausführen und dann zur nächsten Ebene gehen. Ist das wirklich so gewollt?

    Es muss doch so eigentlich möglich sein zu sagen: hier, die anderen Beiden Optionen habe ich gewählt, die führten in eine Sackgasse und nur noch eine Antwortmöglichkeit ist übrig. Und diese eine Antwortmöglichkeit wird dann automatisch ausgeführt wenn ich das nächste Mal die darüber liegende Frage gewählt habe ... oder muss ich da wirklich jedes Mal den Dialogverlauf kopieren und in meine if Anweisung manuell einfügen?

    Grüße, Philipp 

    Newbie

    54 Posts


  • #2, by sebastianFriday, 03. November 2017, 17:06 7 years ago
    Hi Philipp,

    ja, ist so gewollt von der Engine (works as designed). Der Dialog Layer, den du angibst ist nur der Container, der die Optionen beinhaltet, die zur Auswahl stehen sollen. Ist ähnlich so wie wenn du den "First dialog Layer" angibst. Diesen selbst kannst du aber auch nicht bearbeiten.

    Diese ganze Funktion, die du willst ist momentan leider nicht im Standard-Dialogsystem implementiert. Ich hoffe, dass das noch nachgeliefert wird oder zumindest eine wählbare Option in den Dialogeinstellungen wird.

    Bis dahin bleibt die leider nur die Möglichkeit keinen "Auto choose" zu haben oder ganz komplexe gebilde dort zu basteln, was eher semi-cool ist. 

    Mir selbst ging dies auch auf die Nerven. Daher habe ich persönlich eine dritte Option gewählt: Eigenes Dialogsystem mit Lua. 
    Vorteil: Komplett frei positionierbare Dialog-Option-Texte, eigenes Design (inkl Animationen), Multi-Layer Dialoge, die die Baumstruktur nicht folgen müssen (Äste können wieder (an unterschiedlichen Stellen) zusammenwachsen), Gamepad-Support, Automatische Wahl eines Dialogoptionen, wenn er der einzig übrige ist, Bedingungen ab wann ein Dialogoption sichtbar ist, ist vielseitiger (Kombination aus Bedingungen/Werten/Wert-Strings/Item(s)ImInventar/etc). 
    Nachteil: Etwas aufwendiger in der Erstellung der Dialoge selbst (viel mit Bedingungen und Aktionen) -ist aber überschaubar.

    Habe zu dem ganzen auch mal das Kozept hier im Forum gepostet.
    Plane dazu übrigens auch ein Tutorial. Dauert aber noch, da ich zuerst andere Themen angehen will (Lua in VS Crashkurs, Gamepad support, Config.ini, eigenes erweiterets Speichersystem mit Texteingabe/Spielstandbenennung)

    Ich bin mir aber insgesamt nicht sicher, ob sich vielleicht etwas in den letzten Releases von VS5 schon getan hat diesbezüglich. Benutze mein eigenes System schon länger und habe die Änderungen im Standardsystem nicht mehr ganz aufn Schirm.

    Grüße
    Sebastian

    Thread Captain

    2346 Posts

  • #3, by Philipp StumppFriday, 03. November 2017, 17:57 7 years ago
    Ja vielen herzlichen Dank für Deine (wie immer) schnelle Antwort Sebastian! Ich schaue mir deinen Luascript auf jeden Fall genauer an, sobald ich aus der gröberen Lernphase raus bin. (Was nicht mehr so lange dauern wird).

    Ich hab es jetzt so gelöst, dass ich Kontrollconditions setze, die auf "false" gesetzt werden, wenn ein Dialogzweig stirbt. Und wenn quasi alle Zweige gestorben sind wird die Option frei, auf die nächste Layerebene zu springen (Oder eben Container, wie du das so schön geschrieben hast), aber so dass vorher noch einmal der Dialog, der da vorher kommen sollte abgespielt wird. (Nur halt eben in meine If-Klausel geschrieben)

    Mit dem Standard-VS kommt man schon sehr sehr weit, man muss nur ein bisschen tüfteln.

    Ja voll gut, ich warte gespannt auf Deine Tutorials! Die sind natürlich auch mega zeitaufwenig. Aber man merkt dass du gut erklären kannst. (Ich tippe mal darauf dass du neben deinem kreativen Leben Lehrer bist? ... hehe)

    Ich schreibe solange weiter an meinen Charakteren wink

    Liebe Grüße, Philipp

    Newbie

    54 Posts