В този учебник ще научиш как да маркираш като изпълнена поредица от събития в игра чрез OpenAI API . Важно е клиентът, или браузърът на играча, да получи следната информация: Поредицата от събития е успешно завършена. Това дава възможност на играча да се свърже с Д-р Оуен и по този начин да се приближи до целта на играта. Нека потопим в подробностите!

Най-важните изводи

  • Поредицата от събития се маркира чрез свойството completedQuest в отговорния обект.
  • Тази информация се прехвърля на клиента, за да може да се актуализира статусът на поредицата от събития.
  • Когато поредицата от събития е маркирана като завършена, играчът ще може да се свърже с Д-р Оуен.

Стъпка по стъпка указания

Започни с настройката, като се увериш, че базовото ти приложение е правилно подготвено. В този пример използваме отговорно съобщение, за да актуализираме статуса на поредицата от събития.

OpenAI API: Така маркирате една задача като изпълнена

Добавяме ново свойство наречено completedQuest към отговорното съобщение. Това свойство ни позволява да запазим текущия статус на поредицата от събития, свързана с напитката, която Д-р Оуен е спонсорирала.

В нашия код задаваме completedQuest като by Dr. Owen Drink. Това означава, че поредицата от събития се счита за завършена, когато функцията бъде извикана.

След това вписваме името на тази поредица от събития в свойството. Това ни дава гъвкавост да управляваме повече поредици от събития.

След дефинирането на свойството completedQuest изпращаме този отговорен обект към клиента. Важно е да изпращаме не само текста на отговора, но и тази допълнителна информация.

OpenAI API: Така отбелязвате задача като изпълнена

След това получаваме този отговор в клиента и обработваме обекта с отговор. Трябва да се уверим, че достъпваме правилното свойство.

OpenAI API: Така маркирате един квест като приключен

При получаването на отговора във файла chat.jsx търсим съдържанието на обекта с отговор. Тук достъпваме content и свойството completedQuest.

OpenAI API: Така маркираш задача като изпълнена

Ако свойството completedQuest не е неопределено, можем да търсим съответния идентификатор на поредицата от събития. Този идентификатор ни позволява да намерим конкретната поредица от събития, която трябва да бъде завършена.

OpenAI API: Така маркирате задача като изпълнена

След като имаме идентификатора на поредицата от събития, задаваме completed свойството на true, като по този начин реално маркираме поредицата от събития като завършена.

OpenAI API: Така маркирате задача като изпълнена

Тук ползваме заявка, за да се уверим, че идентификаторът отговаря на completedQuest и намеряме правилната поредица от събития.

OpenAI API: Как маркирате задача като завършена

Разглеждаме данните за време на играта, които включват всички поредици от събития. На първоначално ниво статусът на всяка поредица от събития е зададен на false. Когато поредицата от събития е маркирана като завършена, променяме този статус на true.

OpenAI API: Така маркирате една мисия като завършена

За улеснение предаваме данните за време на играта като Prop нашия Chat компонент. Така можем да управляваме и използваме поредиците от събития на правилното място в кода.

OpenAI API: Така маркираш задача като приключена

В Chat компонента използваме тези данни, за да извлечем поредиците от събития. Уверяваме се, че разполагаме с подходящия идентификатор, за да намерим правилно завършената поредица от събития.

OpenAI API: Така отбелязвате една задача като изпълнена

Когато намерим целевата поредица от събития, маркираме статуса на true. По този начин се актуализира и визуалният статус в играта.

OpenAI API: Как отбелязвате един квест като изпълнен

За да тестваме поведението, отиваме в бара и взаимодействаме с бармана. При това отново издаваме командата да раздава напитки на д-р Оуен.

OpenAI API: Как маркирате задача като завършена

Изпращаме съобщението: "Моля, закупете напитка за д-р". На този етап квестът трябва да се покаже като завършен.

OpenAI API: Как маркирате една задача като изпълнена

Ако всичко е коректно имплементирано, д-р Оуен ще се покаже в потребителския интерфейс и състоянието ще бъде актуализирано съответно.

Сега трябва да се уверим, че ако квестът не е напълно завършен, играчът няма да може да взаимодейства с д-р Оуен.

OpenAI API: Така маркирате една задача като изпълнена

След като статусът на квеста е зададен на true, можете да позволите взаимодействието с д-р Оуен. Това подобрява игровото преживяване и прави квеста да изглежда смислен.

За да усъвършенствате взаимодействието още повече, трябва да добавите падащо меню, в което могат да бъдат избрани различни говорители в следващите стъпки. Играчите трябва да могат да комуникират с различни герои в играта.

Резюме

В този урок научихте как да маркирате квест в играта като завършен и кои стъпки са необходими за това. Правилното управление на статуса на квеста ви позволява да увеличите интерактивността в играта и да направите преживяването за играчите по-вълнуващо.

Често задавани въпроси

Какво представлява "completed Quest"?"Завършен квест" е мисия или задача, която играчът успешно завършил.

Как се актуализира статусът на квеста?Статусът на квеста се актуализира чрез свойството completedQuest в отговорното съобщение.

Мога ли да управлявам няколко квестове едновременно?Да, можете да управлявате няколко квеста, като използвате различни идентификатори за квестовете и актуализирате техния статус индивидуално.

Какво е целта на свойството completedQuest?Свойството completedQuest сигнализира, че определен квест в играта е завършен, така че клиентът може да реагира съответно.

Какво трябва да направя, преди да мога да говоря с д-р Оуен?Трябва да се уверите, че статусът на съответния квест е зададен на true, преди играчът да може да взаимодейства с д-р Оуен.