Wareninstanz

XML-Variante AOQML, ihre Möglichkeiten, Ergänzungen und Entwicklung...

Moderatoren: Ratsgruppe Programmierer, A-Team

Wareninstanz

Beitragvon lordhelix » 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: Alles auswählen
<!-- 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?
lordhelix
Ordenskrieger
Ordenskrieger
 
Beiträge: 324
Registriert: So 07 Apr, 2019 22:00
Heldenname: Helix

Re: Wareninstanz

Beitragvon Tommek » 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
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7552
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht

Re: Wareninstanz

Beitragvon lordhelix » 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.
lordhelix
Ordenskrieger
Ordenskrieger
 
Beiträge: 324
Registriert: So 07 Apr, 2019 22:00
Heldenname: Helix

Re: Wareninstanz

Beitragvon Tommek » Mo 01 Feb, 2021 10:15

Ich schaue nochmal ob wir da was undokumentiertes haben.
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7552
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht

Re: Wareninstanz

Beitragvon Tommek » Di 02 Feb, 2021 00:33

Helix teste mal bitte dies:
Code: Alles auswählen
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?
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7552
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht

Re: Wareninstanz

Beitragvon lordhelix » Di 02 Feb, 2021 00:34

Ja das passt so :D Super und vielen Dank.
lordhelix
Ordenskrieger
Ordenskrieger
 
Beiträge: 324
Registriert: So 07 Apr, 2019 22:00
Heldenname: Helix

Re: Wareninstanz

Beitragvon Pyromaniac » 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.
Pyromaniac
Leutnant
Leutnant
 
Beiträge: 874
Registriert: Di 24 Mai, 2011 10:34
Heldenname: Ixliton, Orlan und Odette

Re: Wareninstanz

Beitragvon lordhelix » 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?
lordhelix
Ordenskrieger
Ordenskrieger
 
Beiträge: 324
Registriert: So 07 Apr, 2019 22:00
Heldenname: Helix

Re: Wareninstanz

Beitragvon Tommek » 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.
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7552
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht

Re: Wareninstanz

Beitragvon lordhelix » 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: Alles auswählen
<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: Alles auswählen
<!-- 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>
lordhelix
Ordenskrieger
Ordenskrieger
 
Beiträge: 324
Registriert: So 07 Apr, 2019 22:00
Heldenname: Helix

Re: Wareninstanz

Beitragvon Tommek » 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.
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7552
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht

Re: Wareninstanz

Beitragvon lordhelix » 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?
lordhelix
Ordenskrieger
Ordenskrieger
 
Beiträge: 324
Registriert: So 07 Apr, 2019 22:00
Heldenname: Helix

Re: Wareninstanz

Beitragvon Tommek » Mo 22 Feb, 2021 11:44

Im Chat geklärt: has item
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7552
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht


Zurück zu Questen, Abenteuer und Zufallsbegegnungen (inkl. AOQML)



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast