Aktionen schließen sich gegenseitig aus? (Das Rätsel mit der Kröte)

  • #10, by MachtnixSaturday, 13. June 2020, 18:19 5 years ago
    Leg' dir doch mal einen skizzierten Entscheidungsbaum an. Und eine Tabelle, wann welcher Wert steht.

    Visionaire ist da so flexibel, dass man oft den Überblick verliert, wo, in welcher Aktion wann was steht... Da deine beiden Aktionen unsymmetrisch aufgebaut sind (in der Seil-Aktion ist die Wenn-Abfrage, aber nicht in der Kröten-Aktion), obwohl sie ja im Spiel als gleichwertig und austauschbar auftauchen, wird der Fehler vermutlich dort sein.

    Thread Captain

    1097 Posts


  • #11, by sebastianSaturday, 13. June 2020, 19:44 5 years ago
    ich habe irgendwie die Vermutung, dass einfach im Objekt eine Bedingung für die Sichtbarkeit eingetragen ist, die da nicht hingehört. Kann das sein?
    Wie sehen hier die Objekt Einstellungen aus? (erster Tab)

    Thread Captain

    2346 Posts

  • #12, by lee-sonntagSaturday, 13. June 2020, 20:11 5 years ago
    Dort habe ich nur bei der Kröte eine Bedingung, damit sie nach dem Füttern verschwindet. 


    Newbie

    15 Posts

  • #13, by MachtnixSaturday, 13. June 2020, 23:35 5 years ago
    Aus deinen beiden ersten Screenshots sehe ich deine Konzept so:

    Wenn du zuerst die Kröte fütterst, wird die Variable „Rad dreht sich“ auf wahr gesetzt, und die Kröte verschwindet. So weit so gut.
    Führst du danach die Seil-Aktion aus, so wird abgefragt, ob „Rad dreht sich“ wahr oder falsch ist. Sie muss nun, da die Kröte vorher abgearbeitet wurde, wahr sein. Die Antwort lautet also „das Rad zieht an dem Seil“ - und zwar immer. Beide Bedingungen sind erfüllt.

    Eigentlich sollte sich also das Rad jetzt drehen, wenn du „das Rad dreht sich“ mit einer weiteren Aktion oder Animation verknüpft hast.

    Jetzt mal andersherum: du führst erst die Seil-Aktion aus. Seil verschwindet, alles ist gut. Der Text „Seil ist verbunden, aber es zieht noch nichts dran“ sollte erscheinen, denn „Rad dreht sich“ ist ja falsch.

    Nun die Kröte. Deren Aktion setzt „Rad dreht sich“ tatsächlich auf wahr.
    Augenscheinlich sollte es funktionieren. 

    Allerdings passiert jetzt beim Kröten-Event nichts weiter. Der Spruch, dass sich das Rad dreht, ist in der Seil-Aktion und wird überhaupt nicht mehr aufgerufen.  

    *Denkpause*

    Ich vermute, dass eine Varianble nicht definiert bzw. initialisiert wurde. Die Variable „Rad dreht sich“ muss irgendwann am Anfang den Wert „falsch“ zugewiesen bekommen, denn mit dieser Ausgangslage startest du in die Szene. Mir scheint, dass diese Zuweisung fehlt. Die Variable behält also immer den Wert, den sie zuletzt bekommen hat. Merkwürdigerweise sollte es ab und zu klappen, je nachdem, welchen Wert die Variable beim Test zufällig gerade hat. Offenbar klappt es aber nie.
    Versuch doch mal, beim Start der Kulisse die Variable „Rad dreht sich“ auf falsch zu setzen. Beim Betreten der Szene, also beim Laden der Kulisse ist die Bedingung nicht erfüllt.

    Ist aber nur ins Blaue getippt...

    PS Ist natürlich blöd, wenn der Spieler die Szene mehrmals betritt. Irgendwo muss in einer Variable arretiert werden, dass die Mission erfolgreich abgeschlossen wurde. Aber zum Ausprobieren reicht es ja erstmal.

    Ich habe für solche Fälle immer einen ganzen Schwung an Variablen am Anfang des Spiels definiert. Wie das dann mit dem Speicherplätzen wird, weiß ich gerade auch nicht...

    Thread Captain

    1097 Posts

  • #14, by lee-sonntagSunday, 14. June 2020, 09:33 5 years ago
    Die Variable "Rad dreht sich" ist definiert. Sie steht zu Beginn des Spiels immer auf 'false'.
    Das sollte man auf den Bildern rechts oben in der Ecke sehen können. 

    Dort wo du sagst... 

    "Führst du danach die Seil-Aktion aus, so wird abgefragt, ob „Rad dreht sich“ wahr oder falsch ist." 

    ... möchte ich einwerfen, dass an dieser Stelle allem Anschein nach überhaupt Nichts abgefragt wird. Mir ist es nicht möglich das Seil überhaupt abzulegen. Angenommen der Fehler käme von der "wenn Abfrage".  Dann müsste ja trotzdem zunächst das Seil aus meinem Inventar verschwinden und auf dem Bildschirm erscheinen. Denn diese Dinge habe ich in der Reihenfolge vor die "wenn Abfrage"gesetzt. 
    Aber auch das passiert nicht. Ich kann das Seil aus dem Inventar ziehen und über das Rad halten aber ich kann es nicht mehr auf dem Objekt ablegen. Nur wieder zurück ins Inventar. 
    Das Wasserrad wir völlig uninteragierbar. Allerdings wird mir noch der Objektname neben dem Cursor angezeigt. Was (wenn ich das richtig verstanden habe) dafür spricht, dass das Objekt nicht vollständig inaktiv geworden ist. Sonst würde mir ja der Name nicht mehr angezeigt werden sobald mein Cursor über der Aktionsfläche liegt. 

    Wenn ich allerdings das Seil anbringen bevor ich mit der Kröte interagiere funktioniert das reibungslos. Dann gelingt es mir aber nicht mehr das Futter auf der Kröte abzulegen. Auch hier kann ich das Item aus dem Inventar ziehen aber nicht mehr ablegen. 

    Newbie

    15 Posts

  • #15, by MachtnixSunday, 14. June 2020, 14:02 5 years ago
    Okay, dann also nochmal zurück auf Anfang...

    Dann liegt der nächste Verdacht doch auf der Bedingung "Kröte auf Screen"..? Irgendwas dort wird aktiviert bzw. deaktiviert?

    Als nächstes möglicherweise: wie groß sind die Aktivzonen? Überlappen die sich (ist die Kröte "zu groß")? Was passiert, wenn man die Hierarchie der Objektebenen ändert?

    Und die letzte, absolut bekloppte Vermutung: sind die nachfolgenden Befehle nach dem Setzen der Bedingung "Kröte auf Screen auf falsch" überhaupt noch möglich? Schließlich ist die Kröte ab da  quasi deaktiviert.
    Verschiebe doch mal "Rad dreht sich" um eine Zeile nach oben und davor.

    Oh, manno, ist das skurril!



    Thread Captain

    1097 Posts

  • #16, by lee-sonntagWednesday, 17. June 2020, 14:29 5 years ago
    Ich habe das grade mal ausprobiert. Die Aktionsbereiche haben sich tatsächlich etwas überlappt. Das habe ich dann behoben aber das hat leider keinen Unterschied gemacht. 
    Auch das "rad dreht sich" zu veschieben habe ich ausprobiert. ebenfalls ohne Erfolg. 

    Ich bin mir nicht ganz sicher ob ich das mit der Hierachie ändern richtig gemacht habe. Ich habe die Objektnamen in der linken Spalte hin und her geschoben. Wenn das gemeint war, hat das leider auch nichts gebracht.

    Ich weiß nicht ob das eine sinnvolle Idee ist aber ich habe überlegt diese Szene einfach noch mal isoliert in einer neuen Datei nachzubauen um zu schauen ob es so funktioniert. Aber selbt wenn das dann klappt, wüsste ich nicht genau welche Information ich damit gewonnen habe. 

    Newbie

    15 Posts

  • #17, by MachtnixWednesday, 17. June 2020, 15:01 5 years ago
    Ich meinte die Reihenfolge, in der die Befehle im Aktionsteil abgearbeitet werden. Die Objekthierarchie auf der Kulisse hat vielmehr Einfluss auf die Sichtbarkeit  - äquivalent zu Photoshop-Ebenen.
    Da nämlich die Kröte in der Aktion zuerst deaktiviert wird und DANACH noch weitere relevante Befehle folgen, die davon abhängen (z.B. "Rad dreht sich" auf wahr zu setzen, glaube ich war einer davon), könnten die eventuell gar nicht mehr möglich sein. War nur eine Idee. Vis arbeitet nämlich stur von oben nach unten ab.

    Thread Captain

    1097 Posts

  • #18, by lee-sonntagWednesday, 17. June 2020, 15:05 5 years ago
    Achso. ja das habe ich ebenfalls getestet. Die Befehle nachdem die kröte dektiviert wurde, werden ausgeführt. Das konnte ich feststellen, denn der letze Befehl in der Folge ist eine Textausgabe, die auch erscheint wenn sie soll. 

    Newbie

    15 Posts

  • #19, by MachtnixWednesday, 17. June 2020, 15:13 5 years ago
    Danke für diese Info. Das ist ja tatsächlich interessant. Das bedeutet, dass alles bis zum Ende der Aktion wirklich  ausgeführt wird.

    Edit: probier mal, in der Seilaktion unter "sonst" die Bedingung "Seil dreht sich" sicherheitshalber nochmal auf wahr zu setzen. Die Spielfigur redet ja nur, aber sonst passiert nichts.

    Thread Captain

    1097 Posts

  • #20, by lee-sonntagWednesday, 17. June 2020, 15:36 5 years ago
    soweit ja. Die erste Aktion wird immer ausgeführt wie geplant. Aber das andere Objekt ist dann nicht mehr interagierbar. 

    ich habe grade noch mal was neues ausprobiert und ein sehr eigenartiges Ergebnis erhalten. In der Szene liegt ebenfalls eine Puppe auf dem Boden. Bisher war es ja so, dass wenn ich mit entweder Kröte oder Wasserrad interagiert habe, wurde zunächst die richtige Aktion ausgeführt aber es war mir nicht mehr möglich mit dem jeweils anderen Objekt zu interagieren. Wenn ich aber erst eine Aktion (mit Kröte oder Wasserrad) ausführe und dann, statt direkt mit dem zweiten Objekt (respektiv Kröte oder Wasserrad) erst mit der Puppe interagiere (ansehen oder aufheben) funktioniert die zweite Aktion ganz reibungslos. 

    Also als Beispiel: Ich binde erst das Seil am Rad fest. Das klappt soweit wunderbar. Nun versuche ich das Futter auf der Kröte abzulegen. Es klappt nicht!
    Jetzt gehe ich zu der Puppe, die auf dem Boden liegt und sehe sie an oder hebe sie auf (beides funktioniert). Wenn ich jetzt wieder versuche das Futter auf der Kröte abzulegen, klappt alles als wäre nie was gewesen. Rad dreht sich, Seil ist dran, heile Welt. Das ist zwar noch keine Lösung aber immerhin hab ich mal beide Zustände gleichzeitig hingekriegt.

    Wie kann denn sowas zustande kommen? 


    Edit: 
    "probier mal, in der Seilaktion unter "sonst" die Bedingung "Seil dreht sich" sicherheitshalber nochmal auf wahr zu setzen. "

    Gute Idee aber leider auch ohne Erfolg. 

    Newbie

    15 Posts