W tym poradniku nauczysz się, jak oznaczyć zadanie jako wykonane w grze za pomocą interfejsu OpenAI API . Ważne jest, aby klient, czyli przeglądarka gracza, otrzymał następujące informacje: Zadanie zostało pomyślnie ukończone. Dzięki temu gracz będzie miał możliwość rozmowy z Dr. Owenem i zbliżenia się do celu gry. Zanurzmy się w szczegóły!
Najważniejsze odkrycia
- Zadanie zostaje oznaczone przez właściwość completedQuest w obiekcie odpowiedzi.
- Te informacje są przesyłane do klienta, aby możliwe było aktualizowanie statusu zadania.
- Jeśli zadanie jest oznaczone jako wykonane, gracz będzie mógł rozmawiać z Dr. Owenem.
Instrukcja krok po kroku
Zacznij od przygotowania, upewniając się, że twoja aplikacja bazowa jest odpowiednio przygotowana. W tym przykładzie wykorzystujemy odpowiedź, aby zaktualizować status zadania.
Dodajemy nową właściwość o nazwie completedQuest do obiektu odpowiedzi. Ta właściwość pozwala nam przechowywać aktualny status zadania związanego z napojem, który Dr. Owen ofiarował.
W naszym kodzie ustawiamy completedQuest na by Dr. Owen Drink. Oznacza to, że zadanie uważane jest za zakończone, gdy funkcja zostanie wywołana.
Następnie wpisujemy nazwę tego zadania do właściwości. Dzięki temu mamy elastyczność w zarządzaniu wieloma zadaniami.
Po zdefiniowaniu właściwości completedQuest wysyłamy ten obiekt odpowiedzi do klienta. Ważne jest, aby wysłać nie tylko tekst odpowiedzi, ale także dodatkowe informacje.
Następnie odbieramy tę odpowiedź w kliencie i przetwarzamy obiekt odpowiedzi. Musimy upewnić się, że mamy dostęp do właściwej właściwości.
Przy odbieraniu odpowiedzi w pliku chat.jsx sprawdzamy zawartość obiektu odpowiedzi. Korzystamy z pola content i completedQuest, aby uzyskać dostęp do nich.
Jeśli właściwość completedQuest nie jest zdefiniowana, możemy znaleźć odpowiednie ID zadania. To ID umożliwia nam znalezienie konkretnej zadania, które należy ukończyć.
Gdy mamy dostęp do ID zadania, ustawiamy właściwość completed na true, co faktycznie oznacza, że zadanie zostało ukończone.
Tutaj używamy zapytania, aby się upewnić, że ID jest zgodne z ID completedQuest i że znajdziemy odpowiednie zadanie.
Przeglądamy dane Game Runtime, które zawierają wszystkie zadania. Na początku status każdego zadania jest ustawiony na false. Gdy zadanie zostanie oznaczone jako completed, zmieniamy ten status na true.
Dla uproszczenia przekazujemy dane Game Runtime jako Prop do naszego komponentu czatu. Dzięki temu możemy zarządzać i używać zadań we właściwym miejscu w kodzie.
W komponencie czatu korzystamy z tych danych, aby pobrać zadania. Upewniamy się, że mamy właściwe ID, aby znaleźć poprawnie ukończone zadanie.
Jeśli znajdziemy docelowe zadanie, ustawiamy status na true. To aktualizuje również wizualny status gry.
Aby przetestować zachowanie, idziemy do baru i wchodzimy w interakcje z barmanem. Ponownie wydajemy polecenie zakupu drinków dla dr. Owena.
Wysyłamy wiadomość: "Proszę kupić drinka dr. Owenowi". W tym momencie zadanie powinno być uznane za zakończone.
Jeśli wszystko zostało poprawnie zaimplementowane, dr. Owen powinien być wyświetlany w interfejsie użytkownika, a status zostanie odpowiednio zaktualizowany.
Teraz musisz upewnić się, że jeśli zadanie nie zostało w pełni zakończone, gracz nie będzie mógł wchodzić w interakcje z dr. Owenem.
Gdy status zadania zostanie ustawiony na true, będziesz mógł pozwolić na interakcje z dr. Owenem. To poprawi doświadczenie graczy i sprawi, że zadanie stanie się bardziej sensowne.
Aby dalsze interakcje były bardziej dopracowane, powinieneś w kolejnych krokach dodać menu rozwijane, w którym będzie można wybierać spośród różnych rozmówców. Gracze powinni móc komunikować się z różnymi postaciami w grze.
Podsumowanie
W tym samouczku dowiedziałeś się, jak oznaczyć zadanie w grze jako zakończone i jakie kroki są potrzebne w tym celu. Prawidłowe zarządzanie statusami zadań pozwoli ci zwiększyć interaktywność w grze i uczynić doświadczenie dla graczy bardziej ekscytujące.
Często zadawane pytania
Czym jest "completed Quest"?"Completed Quest" to misja lub zadanie, które gracz pomyślnie ukończył.
Jak zaktualizować status zadania?Status zadania jest aktualizowany poprzez właściwość completedQuest w wiadomości odpowiedzi.
Czy mogę zarządzać kilkoma zadaniami jednocześnie?Tak, możesz zarządzać kilkoma zadaniami, używając różnych identyfikatorów zadań i indywidualnie aktualizując ich status.
Do czego służy właściwość completedQuest?Właściwość completedQuest sygnalizuje, że określone zadanie w grze zostało zakończone, co pozwala klientowi na odpowiednią reakcję.
Co muszę zrobić, aby móc porozmawiać z dr. Owenem?Musisz upewnić się, że status odpowiedniego zadania został ustawiony na true, zanim gracz będzie mógł wejść w interakcję z dr. Owenem.