В този учебник ще научиш как да маркираш като изпълнена поредица от събития в игра чрез OpenAI API . Важно е клиентът, или браузърът на играча, да получи следната информация: Поредицата от събития е успешно завършена. Това дава възможност на играча да се свърже с Д-р Оуен и по този начин да се приближи до целта на играта. Нека потопим в подробностите!
Най-важните изводи
- Поредицата от събития се маркира чрез свойството completedQuest в отговорния обект.
- Тази информация се прехвърля на клиента, за да може да се актуализира статусът на поредицата от събития.
- Когато поредицата от събития е маркирана като завършена, играчът ще може да се свърже с Д-р Оуен.
Стъпка по стъпка указания
Започни с настройката, като се увериш, че базовото ти приложение е правилно подготвено. В този пример използваме отговорно съобщение, за да актуализираме статуса на поредицата от събития.
Добавяме ново свойство наречено completedQuest към отговорното съобщение. Това свойство ни позволява да запазим текущия статус на поредицата от събития, свързана с напитката, която Д-р Оуен е спонсорирала.
В нашия код задаваме completedQuest като by Dr. Owen Drink. Това означава, че поредицата от събития се счита за завършена, когато функцията бъде извикана.
След това вписваме името на тази поредица от събития в свойството. Това ни дава гъвкавост да управляваме повече поредици от събития.
След дефинирането на свойството completedQuest изпращаме този отговорен обект към клиента. Важно е да изпращаме не само текста на отговора, но и тази допълнителна информация.
След това получаваме този отговор в клиента и обработваме обекта с отговор. Трябва да се уверим, че достъпваме правилното свойство.
При получаването на отговора във файла chat.jsx търсим съдържанието на обекта с отговор. Тук достъпваме content и свойството completedQuest.
Ако свойството completedQuest не е неопределено, можем да търсим съответния идентификатор на поредицата от събития. Този идентификатор ни позволява да намерим конкретната поредица от събития, която трябва да бъде завършена.
След като имаме идентификатора на поредицата от събития, задаваме completed свойството на true, като по този начин реално маркираме поредицата от събития като завършена.
Тук ползваме заявка, за да се уверим, че идентификаторът отговаря на completedQuest и намеряме правилната поредица от събития.
Разглеждаме данните за време на играта, които включват всички поредици от събития. На първоначално ниво статусът на всяка поредица от събития е зададен на false. Когато поредицата от събития е маркирана като завършена, променяме този статус на true.
За улеснение предаваме данните за време на играта като Prop нашия Chat компонент. Така можем да управляваме и използваме поредиците от събития на правилното място в кода.
В Chat компонента използваме тези данни, за да извлечем поредиците от събития. Уверяваме се, че разполагаме с подходящия идентификатор, за да намерим правилно завършената поредица от събития.
Когато намерим целевата поредица от събития, маркираме статуса на true. По този начин се актуализира и визуалният статус в играта.
За да тестваме поведението, отиваме в бара и взаимодействаме с бармана. При това отново издаваме командата да раздава напитки на д-р Оуен.
Изпращаме съобщението: "Моля, закупете напитка за д-р". На този етап квестът трябва да се покаже като завършен.
Ако всичко е коректно имплементирано, д-р Оуен ще се покаже в потребителския интерфейс и състоянието ще бъде актуализирано съответно.
Сега трябва да се уверим, че ако квестът не е напълно завършен, играчът няма да може да взаимодейства с д-р Оуен.
След като статусът на квеста е зададен на true, можете да позволите взаимодействието с д-р Оуен. Това подобрява игровото преживяване и прави квеста да изглежда смислен.
За да усъвършенствате взаимодействието още повече, трябва да добавите падащо меню, в което могат да бъдат избрани различни говорители в следващите стъпки. Играчите трябва да могат да комуникират с различни герои в играта.
Резюме
В този урок научихте как да маркирате квест в играта като завършен и кои стъпки са необходими за това. Правилното управление на статуса на квеста ви позволява да увеличите интерактивността в играта и да направите преживяването за играчите по-вълнуващо.
Често задавани въпроси
Какво представлява "completed Quest"?"Завършен квест" е мисия или задача, която играчът успешно завършил.
Как се актуализира статусът на квеста?Статусът на квеста се актуализира чрез свойството completedQuest в отговорното съобщение.
Мога ли да управлявам няколко квестове едновременно?Да, можете да управлявате няколко квеста, като използвате различни идентификатори за квестовете и актуализирате техния статус индивидуално.
Какво е целта на свойството completedQuest?Свойството completedQuest сигнализира, че определен квест в играта е завършен, така че клиентът може да реагира съответно.
Какво трябва да направя, преди да мога да говоря с д-р Оуен?Трябва да се уверите, че статусът на съответния квест е зададен на true, преди играчът да може да взаимодейства с д-р Оуен.