Switch to full style
XML-Variante AOQML, ihre Möglichkeiten, Ergänzungen und Entwicklung...
Antwort erstellen

Wareninstanz

Fr 15 Jan, 2021 20:11

Wie kann ich mit einer Ware die per Selektion des Spielers gespeichert wurde im späteren Verlauf einer Queste modifizieren?

Code:
<!-- InstanzID der Ware (für weitere Verwendung, dem Spieler nicht zeigen!) -->
<store name="instanzID"><get object="selected-item" attribute="instance_id"/></store>

Hier kann ich die Wareninstanz speichern. Das ist genau das Item welches der Spieler ausgewählt hat (nehme ich an). Wie kann ich es später (automatisch) erneut selektieren und die Qualität bearbeiten oder es per drop entfernen? Ist das überhaupt möglich?

Re: Wareninstanz

Mo 01 Feb, 2021 01:50

Bisher nicht möglich. Was hast du vor? Entweder gibt es einen Workaround oder ich kann den Aufwand besser abschätzen.

Grüße,
Tommek

Re: Wareninstanz

Mo 01 Feb, 2021 10:13

Ich wollte ein item das der Spieler "selected" erst in späteren Szenen verwenden, auslesen, bearbeiten.

Ich hatte zum Beispiel den Fall in der aktuellen Quest - Dort wird Zunder + Feuerstein + Lampenöl genutzt. Überall wollte ich die Qualität senken wenn die Lampe erfolgreich entzündet wurde. Aber wenn die Lampe nicht entzündet wurde, darf die Qualität nicht sinken. Denn es wurde ja nichts verbraucht. Ob es erfolgreich war erfahre ich aber erst 3 Szenen später. Da bis dahin jedoch bereits 2 andere Sachen selektiert wurden, kann ich die ersten beiden Items nicht mehr verändern.

Das ist nicht Überlebenswichtig, und wenn der Aufwand zu groß ist, dann lassen wir Das. Dachte nur, weil es im Wiki vorhanden ist, gibt es das auch. Vielleicht sollten wir das auch dem Wiki dann löschen.

Re: Wareninstanz

Mo 01 Feb, 2021 10:15

Ich schaue nochmal ob wir da was undokumentiertes haben.

Re: Wareninstanz

Di 02 Feb, 2021 00:33

Helix teste mal bitte dies:
Code:
Szene1: <item-select item="Heiltrank" show="quality" target="Szene2" />
Szene2: <store name="instanzID"><get object="selected-item" attribute="instance_id"/></store>

Szene X: <item-select instance-id="${instanzID}" target="SzeneABC" />


Das funktioniert derzeit auf dem Testserver. Auch wenn nach dem select mit instance-id die nächste Szene automatisch getriggert wird, ist erst in der Folgeszene (nach SzeneABC) das alte Item selektiert. Passt das so?

Re: Wareninstanz

Di 02 Feb, 2021 00:34

Ja das passt so :D Super und vielen Dank.

Re: Wareninstanz

Do 04 Feb, 2021 21:53

lordhelix hat geschrieben:Ich hatte zum Beispiel den Fall in der aktuellen Quest - Dort wird Zunder + Feuerstein + Lampenöl genutzt. Überall wollte ich die Qualität senken wenn die Lampe erfolgreich entzündet wurde. Aber wenn die Lampe nicht entzündet wurde, darf die Qualität nicht sinken. Denn es wurde ja nichts verbraucht.


Beim Lampenöl brauchst du nichts zu senken, das verbraucht sich. Ist das Öl alle, geht auch die Lampe kaputt.
Bei der Feldschertasche gibt es das Prinzip auch.
Da hat wohl jemand schon Gegenstandsquesten geschrieben, die im Hintergrund laufen.

Re: Wareninstanz

Sa 20 Feb, 2021 21:47

Ich habe aktuell noch keinen Test gezogen, aber TS reagiert ja manchmal anders.

Was geschieht wenn ich die Ware speichere, dann ins pending gehe und der Held die Ware verkauft? Ich rufe erst danach die Szene auf welche die Ware auswertet, diese ist aber nicht mehr vorhanden.

Bzw: Hast du einen Ansatz wie ich prüfe ob die Ware noch vorhanden ist?

Re: Wareninstanz

Sa 20 Feb, 2021 22:00

Dann schlägt die Folgeaktion fehl. Da gibt es immer eine Prüfung ob die Ware noch im Besitz ist.

Re: Wareninstanz

Sa 20 Feb, 2021 22:25

Hmm, okay das verstehe ich dann doch nicht. Ich ging davon aus wenn ich die Ware wegschmeiße/verkaufe, ist die Instanz nicht mehr vorhanden und habe es dann auch so geschrieben, Auf dem Testserver habe ich zwei Wege genutzt, habe beide male aber trotz nicht mehr vorhandenem Item in den success-Zweig gefunden.

Code:
<has name="instanzID" show="none" >
  <success>
  <!-- Wenn Wareninstanz vorhanden -->
    Quest geht weiter
  </success>
  <failure>
  <!-- Wenn Wareninstanz nichtmehr vorhanden
    <quest status="ended" />
  </failure>
</has>


Und zweite

Code:
<!-- Prüfung ob Ware vorhanden ist -->
<item-select instance-id="${Karte-instanzID}" target="warenpruf-szene" /><!-- im target setze ich NUR variable kartenochda -->
 
<has name="kartenochda" show="none" >
  <success>
     <store name="kartenochda" /><!-- Variable ist gesetzt und wird genullt für das nächste pending das wieder auf vorhandene Wareninstanz prüft -->

  </success>
  <failure>
    <quest status="ended" />
  </failure>
</has>

Re: Wareninstanz

Sa 20 Feb, 2021 22:44

<has name="instanzID" show="none" >

Prüft ob da eine Variable gesetzt wurde. Die Variable gibt es ja. Du kannst aber in der Quest nichts mehr mit der Ware machen. Kein item-selct, kein drop etc.

Re: Wareninstanz

Sa 20 Feb, 2021 22:55

Okay, du hast völlig recht, war mein Fehler ! Konkret muss die Ware vorhanden sein damit die Quest weitergeht.

Wie bewerkstellige ich das?

Re: Wareninstanz

Mo 22 Feb, 2021 11:44

Im Chat geklärt: has item
Antwort erstellen