In deze handleiding leer je hoe je in een spel via de OpenAI API een missie als voltooid kunt markeren. Het is belangrijk dat de client, dus de browser van de speler, de volgende informatie ontvangt: De missie is succesvol voltooid. Hierdoor krijgt de speler de mogelijkheid om met Dr. Owen te praten en zo dichter bij het doel van het spel te komen. Laten we de details bekijken!
Belangrijkste inzichten
- De missie wordt gemarkeerd via de property completedQuest in het responsobject.
- Deze informatie wordt naar de client verzonden zodat de status van de missie kan worden bijgewerkt.
- Als de missie als voltooid is gemarkeerd, kan de speler met Dr. Owen interageren.
Stap-voor-stap handleiding
Begin met de setup door ervoor te zorgen dat je basisapplicatie correct is voorbereid. In dit voorbeeld gebruiken we een responsbericht om de status van de missie bij te werken.
We voegen een nieuwe property genaamd completedQuest toe aan het responsbericht. Deze property stelt ons in staat om de huidige status van de missie in verband met de drank die Dr. Owen heeft gegeven, op te slaan.
In onze code stellen we completedQuest in op by Dr. Owen Drink. Dit betekent dat de missie als voltooid wordt beschouwd zodra de functie wordt aangeroepen.
Vervolgens voegen we de naam van deze missie toe aan de property. Dit geeft ons de flexibiliteit om meerdere missies te beheren.
Nadat de definitie van de completedQuest-property is voltooid, verzenden we dit responsobject naar de client. Het is belangrijk dat we niet alleen de tekst van het antwoord verzenden, maar ook deze aanvullende informatie.
Vervolgens ontvangen we dit antwoord in de client en verwerken het antwoordobject. Hierbij moeten we ervoor zorgen dat we toegang hebben tot de juiste property.
Wanneer de completedQuest-property niet undefined is, kunnen we op zoek gaan naar het overeenkomstige missie-ID. Deze ID stelt ons in staat om de specifieke missie te vinden die moet worden voltooid.
Zodra de missie-ID beschikbaar is, stellen we het completed-eigendom in op true, waardoor we de missie daadwerkelijk als voltooid markeren.
We gebruiken een query om ervoor te zorgen dat het ID overeenkomt met het completedQuest-ID en de juiste missie wordt gevonden.
We doorzoeken de Game Runtime-gegevens die alle missies bevatten. Aanvankelijk is de status van elke missie ingesteld op false. Wanneer de missie nu als voltooid wordt gemarkeerd, passen we deze status aan naar true.
Voor het gemak geven we de Game Runtime-gegevens door als prop aan onze Chat-component. Hierdoor kunnen we de missies op de juiste plaats in de code beheren en gebruiken.
In de Chat-component gebruiken we deze gegevens om de missies op te halen. We zorgen ervoor dat we de juiste ID hebben om de correct voltooide missie te vinden.
Zodra we de doelmissie hebben gevonden, stellen we de status in op true. Dit actualiseert ook de visuele status in het spel.
Om het gedrag te testen, gaan we naar de bar en interageren met de barman. Hierbij geven we opnieuw het bevel om drankjes te kopen voor Dr. Owen.
We sturen het bericht: "Koop alsjeblieft een drankje voor Dr.". Op dit punt zou de quest als voltooid moeten worden weergegeven.
Als alles correct geïmplementeerd is, zal Dr. Owen in de gebruikersinterface verschijnen en zal de status dienovereenkomstig worden bijgewerkt.
Nu moet worden gegarandeerd dat, als de quest niet volledig is voltooid, de speler niet met Dr. Owen kan interageren.
Zodra de queststatus op true is ingesteld, kun je interageren met Dr. Owen toestaan. Dit verbetert de spelervaring en laat de quest zinvol lijken.
Om de interactie verder te verfijnen, moet je in de volgende stappen een dropdown-menu toevoegen waarin meerdere gesprekspartners kunnen worden geselecteerd. Spelers moeten met verschillende karakters in het spel kunnen communiceren.
Samenvatting
In deze handleiding heb je geleerd hoe je een quest in het spel als voltooid kunt markeren en welke stappen daarvoor nodig zijn. Het correct beheren van de quest-status stelt je in staat om de interactiviteit in het spel te verhogen en de ervaring voor de spelers spannender te maken.
Veelgestelde vragen
Wat is een "voltooide Quest"?Een "voltooide Quest" is een missie of taak die de speler succesvol heeft voltooid.
Hoe wordt de quest-status bijgewerkt?De quest-status wordt bijgewerkt via de completedQuest-eigenschap in het antwoordbericht.
Kan ik meerdere quests tegelijk beheren?Ja, je kunt meerdere quests beheren door verschillende quest-ID's te gebruiken en hun status individueel bij te werken.
Waarvoor dient de eigenschap voltooideQuest?De eigenschap voltooideQuest geeft aan dat een bepaalde quest in het spel is voltooid, zodat de client dienovereenkomstig kan reageren.
Wat moet ik doen voordat ik met Dr. Owen kan praten?Je moet ervoor zorgen dat de status van de betreffende quest op true is ingesteld voordat de speler met Dr. Owen kan interageren.