V tem vodiču se boš naučil, kako v igri preko OpenAI API označiti opravljeno nalogo. Pomembno je, da strežnik, torej igralecov brskalnik, prejme naslednje informacije: Naloga je bila uspešno zaključena. S tem se igralcu omogoči, da govori z dr. Owenom in se tako približa cilju igre. Poglejmo podrobnosti!
Najpomembnejši uvidi
- Nalogo označimo preko lastnosti completedQuest v odgovornem objektu.
- Te informacije prenesemo na strežnik, da se lahko posodobi status naloge.
- Ko je naloga označena kot opravljena, bo igralec lahko komuniciral z dr. Owenom.
Korak-po-korak-vodnik
Začni s pripravo tako, da preveriš, ali je tvoja osnovna aplikacija pravilno pripravljena. V tem primeru uporabljamo odgovor z sporočilom, da posodobimo status naloge.
Dodamo novo lastnost imenovano completedQuest k odgovoru. Ta lastnost nam omogoča shranjevanje trenutnega statusa naloge, ki je povezan z napitkom, ki ga je Dr. Owen ponudil.
V našem kodi nastavimo completedQuest na za Drink by Dr. Owen. To pomeni, da je naloga označena kot zaključena, ko je funkcija klicana.
Nato v lastnost completedQuest zapišemo ime te naloge. To nam omogoča upravljanje več nalog.
Po opredelitvi lastnosti completedQuest pošljemo ta odgovorni objekt na strežnik. Pomembno je, da ne pošiljamo samo besedila odgovora, ampak tudi to dodatno informacijo.
Nato to odgovor prejmemo na strežniku in obdelamo objekt odgovora. Tu moramo zagotoviti, da dostopamo do pravilne lastnosti.
Ob prejemu odgovora v datoteki chat.jsx preverjamo vsebino objekta odgovora. To se nanaša na vsebino in lastnost completedQuest.
Če lastnost completedQuest ni nepredvidljena, lahko poiščemo ustrezno ID naloge. Ta ID nam omogoča najti specifično nalogo, ki jo je treba zaključiti.
Ko imamo na voljo ID naloge, lastnost completed nastavimo na true, s čimer dejansko označimo nalogo kot zaključeno.
Tukaj uporabljamo poizvedbo, da se prepričamo, ali se ID ujema s predmetom completedQuest in najdemo pravilno nalogo.
Pregledujemo podatke Game Runtime, ki vsebujejo vse naloge. Sprva je status vsake naloge nastavljen na false. Ko je naloga označena kot zaključena, ta status spremenimo v true.
Za preprostost prenesemo podatke Game Runtime kot lastnost v našo komponento Klepet. Tako lahko naloge upravljamo in uporabljamo na pravem mestu v kodi.
V komponenti Klepet uporabimo te podatke za pridobivanje nalog. Prepričamo se, da imamo pravilen ID za iskanje ustrezno končane naloge.
Ko najdemo ciljno nalogo, nastavimo status na true. S tem se posodobi tudi vizualni status v igri.
Za preizkus obnašanja gremo v bar in komuniciramo z natakarjem. Pri tem ponovno naročimo napitke za dr. Owena.
Pošljemo sporočilo: "Prosim, kupi pijačo dr. Owenu." Na tem mestu bi morala biti misija označena kot končana.
Ko je vse ustrezno implementirano, bo dr. Owen prikazan na uporabniškem vmesniku in status bo ustrezno posodobljen.
Zdaj je treba zagotoviti, da če naloga ni povsem končana, igralec ne more komunicirati z dr. Owenom.
Ko je status naloge nastavljen na true, lahko dovoliš interakcijo z dr. Owenom. To izboljša igralno izkušnjo in daje nalogi smisel.
Za nadaljnje izboljšanje interakcije bi morala dodati padajoči meni, v katerem lahko izbereš več pogovornih partnerjev. Igralci morajo lahko komunicirati z različnimi liki v igri.
Povzetek
V tem vodiču ste se naučili, kako označiti nalogo v igri kot opravljeno in kateri koraki so potrebni za to. Pravilno upravljanje statusa nalog vam omogoča povečanje interaktivnosti v igri in naredi izkušnjo bolj napeto za igralce.
Pogosto zastavljena vprašanja
Kaj je »opravljena naloga«?»Opravljena naloga« je misija ali naloga, ki jo je igralec uspešno opravil.
Kako se posodobi status naloge?Status naloge se posodobi prek lastnosti completedQuest v odgovornem sporočilu.
Ali lahko upravljam več nalog hkrati?Da, več nalog lahko upravljate tako, da uporabite različne ID-je nalog in posodobitev statusa posamezno.
Čemu je namenjena lastnost completedQuest?Lastnost completedQuest signalizira, da je bila določena naloga v igri zaključena, tako da lahko odjemalec ustrezno odreagira.
Kaj moram storiti, preden lahko govorim z dr. Owenom?Zagotoviti morate, da je status ustreznega izziva nastavljen na true, da lahko igralec komunicira z dr. Owenom.