In diesem Tutorial wirst du lernen, wie du in einem Spiel über die OpenAI API eine Quest als erledigt markieren kannst. Es ist wichtig, dass der Client, also der Browser des Spielers, folgende Information erhält: Die Quest wurde erfolgreich abgeschlossen. Dadurch wird dem Spieler die Möglichkeit gegeben, mit Dr. Owen zu sprechen und so dem Spielziel näher zu kommen. Lass uns in die Details eintauchen!

Wichtigste Erkenntnisse

  • Die Quest wird über das Property completedQuest im Antwortobjekt markiert.
  • Diese Information wird an den Client übertragen, damit der Status der Quest aktualisiert werden kann.
  • Wenn die Quest als erledigt markiert ist, wird der Spieler in der Lage sein, mit Dr. Owen zu interagieren.

Schritt-für-Schritt-Anleitung

Beginne mit dem Setup, indem du sicherstellst, dass deine Basisanwendung korrekt vorbereitet ist. In diesem Beispiel nutzen wir eine Antwortnachricht, um den Status der Quest zu aktualisieren.

OpenAI API: So markierst du eine Quest als erledigt

Wir fügen ein neues Property namens completedQuest zur Antwortnachricht hinzu. Dieses Property erlaubt es uns, den aktuellen Status der Quest zugehörig zum Drink, den Dr. Owen spendiert hat, zu speichern.

In unserem Code setzen wir completedQuest auf by Dr. Owen Drink. Dies bedeutet, dass der Quest als abgeschlossen betrachtet wird, sobald die Funktion aufgerufen wird.

Danach schreiben wir den Namen dieser Quest in das Property hinein. Dies gibt uns die Flexibilität, mehrere Quests zu verwalten.

Nach der Definition des completedQuest-Properties verschicken wir dieses Antwortobjekt an den Client. Es ist wichtig, dass wir nicht nur den Text der Antwort senden, sondern auch diese zusätzliche Information.

OpenAI API: So markierst du eine Quest als erledigt

Wir erhalten dann diese Antwort im Client und verarbeiten das answer Objekt. Hier müssen wir sicherstellen, dass wir auf das korrekte Property zugreifen.

OpenAI API: So markierst du eine Quest als erledigt

Wir suchen beim Erhalt der Antwort in der chat.jsx Datei den answer Objektinhalt. Dabei greifen wir auf den content und das completedQuest-Property zu.

OpenAI API: So markierst du eine Quest als erledigt

Wenn das completedQuest-Property nicht undefined ist, können wir die entsprechende Quest-ID suchen. Diese ID ermöglicht es uns, die spezifische Quest zu finden, die abgeschlossen werden muss.

OpenAI API: So markierst du eine Quest als erledigt

Sobald die Quest-ID vorhanden ist, setzen wir die completed-Eigenschaft auf true, womit wir den Quest tatsächlich als erledigt markieren.

OpenAI API: So markierst du eine Quest als erledigt

Hierbei verwenden wir eine Abfrage, um sicherzustellen, dass die ID mit der completedQuest-ID übereinstimmt und die richtige Quest gefunden wird.

OpenAI API: So markierst du eine Quest als erledigt

Wir durchsuchen die Game Runtime Daten, die alle Quests enthalten. Dort ist anfangs der Status jeder Quest auf false gesetzt. Wenn die Quest nun als completed markiert wird, ändern wir diesen Status auf true.

OpenAI API: So markierst du eine Quest als erledigt

Zur Einfachheit übergeben wir die Game Runtime Daten als Prop an unsere Chat-Komponente. Dadurch können wir die Quests am richtigen Platz im Code verwalten und benutzen.

OpenAI API: So markierst du eine Quest als erledigt

In der Chat-Komponente verwenden wir diese Daten, um die Quests abzurufen. Wir gehen sicher, dass wir die passende ID haben, um die korrekt abgeschlossene Quest zu finden.

OpenAI API: So markierst du eine Quest als erledigt

Wenn wir die Zielquest gefunden haben, setzen wir den Status auf true. Damit wird auch der visuelle Status im Spiel aktualisiert.

OpenAI API: So markierst du eine Quest als erledigt

Um das Verhalten zu testen, gehen wir in die Bar und interagieren mit dem Barkeeper. Dabei geben wir erneut den Befehl, Drinks für Dr. Owen zu spendieren.

OpenAI API: So markierst du eine Quest als erledigt

Wir senden die Nachricht ab: “Please buy Dr. a drink.” An diesem Punkt sollte die Quest als abgeschlossen angezeigt werden.

OpenAI API: So markierst du eine Quest als erledigt

Wenn alles korrekt implementiert ist, wird Dr. Owen in der Benutzeroberfläche angezeigt und der Status wird entsprechend aktualisiert.

Nun muss sichergestellt werden, dass, wenn die Quest nicht vollständig abgeschlossen ist, der Spieler nicht mit Dr. Owen interagieren kann.

OpenAI API: So markierst du eine Quest als erledigt

Sobald der Queststatus auf true gesetzt ist, kannst du die Interaktion mit Dr. Owen erlauben. Das verbessert das Spielerlebnis und lässt die Quest sinnvoll erscheinen.

Um die Interaktion weiter zu verfeinern, solltest du in nächsten Schritten ein Dropdown-Menü hinzufügen, in dem mehrere Gesprächspartner ausgewählt werden können. Spieler sollen mit verschiedenen Charaktern im Spiel kommunizieren können.

Zusammenfassung

In dieser Anleitung hast du gelernt, wie eine Quest im Spiel als erledigt markiert werden kann und welche Schritte dafür notwendig sind. Das richtige Management des Quest-Status ermöglicht es dir, die Interaktivität im Spiel zu erhöhen und das Erlebnis für die Spieler spannender zu gestalten.

Häufig gestellte Fragen

Was ist eine "completed Quest"?Eine "completed Quest" ist eine Mission oder Aufgabe, die der Spieler erfolgreich abgeschlossen hat.

Wie wird der Quest-Status aktualisiert?Der Quest-Status wird über das completedQuest Property in der Antwortnachricht aktualisiert.

Kann ich mehrere Quests gleichzeitig verwalten?Ja, du kannst mehrere Quests verwalten, indem du verschiedene Quest-IDs nutzt und ihren Status individuell aktualisierst.

Wozu dient das Property completedQuest?Das Property completedQuest signalisiert, dass eine bestimmte Quest im Spiel abgeschlossen wurde, sodass der Client entsprechend reagieren kann.

Was muss ich tun, bevor ich mit Dr. Owen sprechen kann?Du musst sicherstellen, dass der Status der entsprechend Quest auf true gesetzt ist, bevor der Spieler mit Dr. Owen interagieren kann.