I denne vejledning vil du lære, hvordan du kan markere en quest som fuldført i et spil ved hjælp af OpenAI API'en. Det er vigtigt, at klienten, altså spillerens browser, modtager følgende information: Questen blev fuldført succesfuldt. Dette giver spilleren mulighed for at tale med Dr. Owen og komme tættere på spilmålet. Lad os dykke ned i detaljerne!
Vigtigste erkendelser
- Questen markeres i svarobjektet med egenskaben completedQuest.
- Denne information overføres til klienten, så questens status kan opdateres.
- Når questen er markeret som fuldført, vil spilleren være i stand til at interagere med Dr. Owen.
Trin-for-trin-vejledning
Start med opsætningen ved at sikre dig, at din basisapplikation er korrekt forberedt. I dette eksempel bruger vi en svarbesked til at opdatere questens status.
Vi tilføjer en ny egenskab kaldet completedQuest til svarbeskeden. Denne egenskab gør det muligt for os at gemme den aktuelle status af questen i forbindelse med drikken, som Dr. Owen har givet.
I vores kode sætter vi completedQuest til by Dr. Owen Drink. Dette betyder, at questen betragtes som fuldført, når funktionen kaldes.
Derefter skriver vi navnet på denne quest ind i egenskaben. Dette giver os mulighed for at administrere flere quests.
Efter definitionen af completedQuest-egenskaben sender vi dette svarobjekt til klienten. Det er vigtigt, at vi ikke kun sender svarets tekst, men også denne ekstra information med.
Vi modtager derefter dette svar i klienten og behandler svarobjektet. Her skal vi sikre os, at vi får adgang til den korrekte egenskab.
Ved modtagelsen af svaret i chat.jsx-filen finder vi indholdet af svarets objekt. Her får vi adgang til indholdet og completedQuest-egenskaben.
Hvis completedQuest-egenskaben ikke er udefineret, kan vi finde den tilhørende quest-ID. Denne ID gør det muligt for os at finde den specifikke quest, der skal fuldføres.
Når quest-ID'et er tilgængeligt, sætter vi completed-egenskaben til sand, hvilket faktisk markerer questen som fuldført.
Her bruger vi en forespørgsel for at sikre, at ID'en matcher completedQuest-ID'en og den korrekte quest findes.
Vi gennemsøger spilruntimedataene, der indeholder alle quests. I begyndelsen er status for hver quest sat til falsk. Når questen nu markeres som fuldført, ændrer vi denne status til sand.
For enkelhedens skyld videregiver vi spilruntimedataene som en attribut til vores Chat-komponent. På den måde kan vi administrere og bruge questsene på det rigtige sted i koden.
I Chat-komponenten bruger vi disse data til at hente questsene. Vi sørger for at have den rigtige ID for at finde den korrekt fuldførte quest.
Når vi har fundet målquesten, sætter vi status til sand. Derved opdateres den visuelle status også i spillet.
For at teste adfærden går vi ind på værtshuset og interagerer med bartenderen. Her giver vi igen kommandoen om at donere drinks til Dr. Owen.
Vi sender beskeden: ”Køb venligst en drink til Dr.” På dette tidspunkt bør questen vises som afsluttet.
Når alt er implementeret korrekt, vises Dr. Owen på brugergrænsefladen, og status opdateres derefter.
Det skal nu sikres, at hvis questen ikke er fuldstændig afsluttet, kan spilleren ikke interagere med Dr. Owen.
Når queststatus er sat til sand, kan du tillade interaktion med Dr. Owen. Dette forbedrer spilleoplevelsen og lader questen virke meningsfuld.
For at finjustere interaktionen yderligere skal du i de næste trin tilføje en dropdown-menu, hvor flere samtalepartnere kan vælges. Spillere skal kunne kommunikere med forskellige figurer i spillet.
Resumé
I denne vejledning har du lært, hvordan en quest i spillet kan markeres som afsluttet, og hvilke trin der kræves til dette. Korrekt håndtering af quest-status giver dig mulighed for at øge interaktiviteten i spillet og gøre oplevelsen for spillerne mere spændende.
Ofte stillede spørgsmål
Hvad er en "completed Quest"?En "completed Quest" er en mission eller opgave, som spilleren har gennemført med succes.
Hvordan opdateres quest-status?Quest-status opdateres via completedQuest Property i svarbeskeden.
Kan jeg håndtere flere quests samtidig?Ja, du kan håndtere flere quests ved at bruge forskellige quest-IDs og opdatere deres status individuelt.
Hvad bruges completedQuest Property til?completedQuest Property signalerer, at en bestemt quest i spillet er blevet afsluttet, så klienten kan reagere derefter.
Hvad skal jeg gøre, før jeg kan tale med Dr. Owen?Du skal sikre, at status for den tilsvarende quest er sat til sand, før spilleren kan interagere med Dr. Owen.