У цьому посібнику ви дізнаєтеся, як можна позначити завдання як виконане у грі за допомогою OpenAI API . Дуже важливо, що клієнт, тобто браузер гравця, отримує таку інформацію: завдання "завершено вдало". Це дає гравцю можливість поговорити з доктором Оуеном і наблизитися до мети гри. Давайте детальніше розглянемо це!
Основні відомості
- Завдання позначається в об'єкті відповіді властивістю completedQuest.
- Ця інформація передається клієнту для оновлення статусу завдання.
- Якщо завдання відзначене як завершене, гравець матиме можливість взаємодіяти з доктором Оуеном.
Крок за кроком інструкція
Почніть з налаштування, переконавшись, що ваше базове застосування готове до роботи. У цьому прикладі ми використовуємо повідомлення відповіді для оновлення статусу завдання.
Ми додаємо нове властивість з іменем completedQuest до повідомлення відповіді. Це властивість дозволяє нам зберігати поточний статус завдання щодо напою, який спонсорував доктор Оуен.
У нашому коді ми встановлюємо значення completedQuest на усяку випадок напою від Доктора Оуена. Це означає, що завдання вважається завершеним, якщо функцію викликано.
Після визначення властивості completedQuest ми надсилаємо цей об'єкт відповіді клієнту. Важливо надіслати не лише текст відповіді, але й цю додаткову інформацію.
Після цього ми отримуємо цю відповідь у клієнті та обробляємо об'єкт відповіді. Тут ми повинні переконатися, що ми маємо доступ до правильної властивості.
При отриманні відповіді в файлі chat.jsx ми шукаємо вміст об'єкта відповіді. Ми маємо доступ до вмісту та властивості completedQuest.
Якщо властивість completedQuest не є не визначеною (undefined), ми можемо знайти відповідне ID завдання. Цей ID дозволяє нам знайти конкретне завдання, яке потрібно виконати.
Як тільки ми маємо ID завдання, ми встановлюємо властивість completed на true, що фактично позначає завдання як виконане.
Ми використовуємо запит, щоб впевнитися, що ID відповідно до completedQuest збігається і знаходиться правильне завдання.
Ми шукаємо дані про гру в режимі реального часу, які містять усі завдання. Початково для кожного завдання статус встановлено на false. Коли завдання відзначається як completed, ми змінюємо цей статус на true.
З метою спрощення ми передаємо дані про гру в режимі реального часу як власнелять компонент Чату. Це дозволяє нам ефективно керувати та використовувати завдання у правильних місцях коду.
У компоненті Чату ми використовуємо ці дані для отримання завдань. Ми переконуємося, що маємо відповідний ID для знаходження правильного виконаного завдання.
Якщо ми знайшли цільове завдання, ми встановлюємо статус на true. Це також оновлює візуальний статус в грі.
Для тестування поведінки ми йдемо в бар і взаємодіємо з барменом. При цьому ми знову вказуємо команду на придбання напоїв для доктора Оуена.
Ми відправляємо повідомлення: “Будь ласка, купіть доктору напій.” На цьому етапі квест має бути відзначений як завершений.
Якщо все реалізовано правильно, доктор Оуен буде показаний на інтерфейсі користувача і статус буде відповідно оновлений.
Тепер потрібно переконатися, що якщо квест не завершено повністю, гравець не зможе взаємодіяти з доктором Оуеном.
Як тільки статус квесту буде встановлений на true, ви зможете взаємодіяти з доктором Оуеном. Це покращує ігровий досвід і робить квест змістовним.
Щоб подальші взаємодії були більш точними, вам слід додати випадаюче меню, де можна вибрати кількох співрозмовників. Гравці мають мати можливість спілкуватися з різними персонажами у грі.
Підсумок
У цьому посібнику ви дізналися, як відзначити завершення квесту у грі та які кроки для цього необхідно виконати. Правильне управління станом квесту дозволяє підвищити взаємодію у грі та зробити досвід гравців цікавішим.
Часто задавані питання
Що таке "completed Quest"?Завершений квест - це місія або завдання, яке гравець успішно виконав.
Як оновлюється статус квесту?Статус квесту оновлюється через відправлення completedQuest Property в повідомленні відповіді.
Чи можна управляти декількома квестами одночасно?Так, ви можете управляти декількома квестами, використовуючи різні ідентифікатори квестів та оновлюючи їх статус індивідуально.
Для чого призначений властивість completedQuest?Властивість completedQuest сигналізує, що певний квест у грі був завершений, щоб клієнт міг відповідно реагувати.
Що необхідно зробити перед тим, як говорити з доктором Оуеном?Переконайтесь, що статус відповідного квесту встановлено на true, перш ніж гравець зможе взаємодіяти з доктором Оуеном.