V tomto návode sa naučíte, ako označiť úlohu v hre ako splnenú cez OpenAI API. Je dôležité, aby klient, teda prehliadač hráča, dostal nasledovné informácie: Úloha bola úspešne dokončená. Tým dostane hráč možnosť hrať s Dr. Owenom a tak sa priblíži k cieľu hry. Ponořme sa do detailov!
Najdôležitejšie poznatky
- Úloha je označená v odpovedajúcom objekte vlastnosťou completedQuest.
- Táto informácia je odoslaná klientovi pre aktualizáciu stavu úlohy.
- Ak je úloha označená ako dokončená, hráč bude schopný komunikovať s Dr. Owenom.
Krokový návod
Začnite s nastavením, aby ste sa uistili, že vaša základná aplikácia je správne pripravená. V tomto príklade používame odpovedajúcu správu na aktualizáciu stavu úlohy.
Pridávame novú vlastnosť s názvom completedQuest do odpovedajúcej správy. Táto vlastnosť nám umožňuje uchovať aktuálny stav úlohy týkajúci sa nápoja, ktorý Dr. Owen ponúkol.
V našom kóde nastavíme completedQuest na by Dr. Owen Drink. To znamená, že úloha bude považovaná za dokončenú, keď je funkcia volaná.
Následne zapíšeme názov tejto úlohy do vlastnosti. Tým nám poskytuje flexibilitu v správe viacerých úloh.
Po definovaní vlastnosti completedQuest odosielame tento odpovedajúci objekt klientovi. Je dôležité, že neodosielame len text odpovede, ale aj túto dodatočnú informáciu.
Po prijatí tejto odpovede v klientovi spracovávame objekt answer. Musíme sa uistiť, že pristupujeme k správnej vlastnosti.
Pri prijatí odpovede v súbore chat.jsx vyhľadávame obsah objektu answer. Pristupujeme k obsahu a vlastnosti completedQuest.
Ak vlastnosť completedQuest nie je undefined, môžeme vyhľadať príslušnú identifikátor úlohy. Táto identifikácia nám umožní nájsť konkrétnu úlohu, ktorá musí byť dokončená.
Keďže identifikátor úlohy je k dispozícii, nastavíme vlastnosť completed na true. Tým skutočne označíme úlohu ako splnenú.
Použijeme podmienku na overenie, či sa identifikátor zhoduje s identifikátorom completedQuest a či sme našli správnu úlohu.
Prehliadame dátové údaje o behu hry, ktoré obsahujú všetky úlohy. Na začiatku je stav každej úlohy nastavený na false. Ak je úloha označená ako dokončená, zmeníme tento stav na true.
Pre jednoduchosť predávame dáta o behu hry ako vlastnosť do našej komponenty Chat. Týmto spôsobom môžeme spravovať a používať úlohy na správnom mieste vo svojom kóde.
V komponente Chat používame tieto dáta na získanie úloh. Uistíme sa, že máme správne ID na nájdenie správne dokončenej úlohy.
Ak nájdeme cieľovú úlohu, nastavíme jej stav na true. Tým sa aktualizuje aj vizuálny stav hry.
Na otestovanie správania sa vyberieme do baru a budeme interagovať s barmanom. Pri tomto opäť zadáme príkaz na to, aby barmanovi pribielili nápoje pre Dr. Owena.
Pošleme správu: "Prosím kúpte Dr. Owenovi nápoj." V tomto bode by sa mala úloha zobraziť ako dokončená.
Ak je všetko korektne implementované, Dr. Owen sa zobrazí v užívateľskom rozhraní a stav sa adekvátne aktualizuje.
Teraz je potrebné zabezpečiť, že ak úloha nie je úplne dokončená, hráč nemôže interagovať s Dr. Owenom.
Ak je stav úlohy nastavený na true, môžete interakciu s Dr. Owenom povoliť. To zlepšuje herný zážitok a pomáha, aby úloha vyzerala zmysluplne.
Na ďalšie zdokonalenie interakcie by ste mali postupne pridať rozbaľovací zoznam, v ktorom môže byť vybraných viacero rečníkov. Hráči by mali vedieť komunikovať s rôznymi postavami vo hre.
Zhrnutie
V tejto náuke ste sa naučili, ako označiť úlohu vo hre za splnenú a aké kroky sú na to potrebné. Správne riadenie stavu úlohy vám umožní zvýšiť interaktivitu vo videou hrách a urobiť zážitok pre hráčov vzrušujúcejším.
Často kladené otázky
Čo je "splnená úloha"?"Splnená úloha" je misia alebo úloha, ktorú hráč úspešne dokončil.
Ako sa aktualizuje stav úlohy?Stav úlohy sa aktualizuje prostredníctvom vlastnosti completedQuest v správe.
Môžem spravovať viacero úloh súčasne?Áno, môžete spravovať viacero úloh pomocou rôznych identifikačných čísel úloh a individuálne aktualizovať ich stav.
Načo slúži vlastnosť completedQuest?Vlastnosť completedQuest signalizuje, že konkrétna úloha vo hre bola dokončená, aby klient mohol adekvátne zareagovať.
Čo musím urobiť, aby som mohol hovoriť s Dr. Owenom?Musíte sa uistiť, že stav príslušnej úlohy je nastavený na true, aby mohol hráč interagovať s Dr. Owenom.