# 5: NPC에게 돌아가기

#### [⁑ 중급자 튜토리얼](https://sandboxgame.gitbook.io/the-game-maker-academy_kr/QXVjiJZSETueiVsHSiOX/tutorials-1/medium-tutorials) **-** [◑ 나만의 첫 RPG 경험 제작하기](https://sandboxgame.gitbook.io/the-game-maker-academy_kr/QXVjiJZSETueiVsHSiOX/tutorials-1/medium-tutorials/your-first-rpg-experience) - 5: NPC에게 돌아가기

### 소개:

일반적인 RPG의 퀘스트라면 퀘스트를 완료하는 것에서 끝나지 않죠. 해당 요청을 한 NPC에게 돌아가 봅시다. 그럼 시작해 볼까요?

*참고: 이 단계는 선택 사항으로, 반드시 추가하지 않아도 됩니다.*

## A) 문제 파악하기

**현재 문제는 NPC가 하나의 질문만 할 수 있다는 것입니다. 여기에서 해야할 일은 아래와 같습니다.**

* 투명한 NPC에 Asker를 생성 (나머지를 NPC B라 통칭)
* 그곳에서 해당 퀘스트 종료
* 그 후 다른 퀘스트 시작
* 투명한 NPC의 Asker 비헤이비어 켜기

## B) 투명한 NPC B 생성하기

첫 번째 NPC처럼 퀘스트 상호작용을 수행하는 두 번째 오브젝트를 생성합니다. 해당 오브젝트는 투명하므로 플레이어는 해당 오브젝트의 존재를 알아차리지 못합니다.

1. 아까 만든 NPC로 돌아가 복사합니다. NPC보다 조금 앞에 배치합니다 (두 개 다 선택될 수 있으므로 같은 장소에 배치하는 것은 피하는 것이 좋습니다).
2. 가시성을 비활성화합니다.
3. 'No collisions'를 설정합니다.
4. Toggle Behaviour 컴포넌트를 추가합니다.
5. 각 파라미터는 이후에 설정하도록 하겠습니다.

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MSmDSVzgP7m0rPeCUef%2F-MSmYh7p_2XzW_j_1EMC%2Fimage.png?alt=media\&token=54fea63d-3baf-417d-bd15-a5f4e818724d)

## C) 첫 번째 퀘스트 편집

Rules 창으로 돌아가 Action after completion을 Send Message로 설정합니다.

![이 튜토리얼에서는 이해가 쉽도록 기본 메시지를 사용합니다.](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MSmDSVzgP7m0rPeCUef%2F-MSmZRYrV4m8ICHFpQC1%2Fimage.png?alt=media\&token=62285a61-d169-4da0-8dda-764864331d96)

## D) NPC B 편집하기

이제 NPC를 다시 선택하여 **Asker 비헤이비어를 설정하고 플레이어에게 퀘스트 완료에 대한 감사 표시**를 하게 만들어 보겠습니다.

1. Question 박스에 감사 인사를 입력합니다.
2. Answer (A1)에 관련된 답변을 기재합니다.
3. 이 Answer (A1)에 특정 메시지를 설정하여 이후에 사용하도록 하겠습니다.

**Toggle Behaviour 컴포넌트**에서 **첫 번째 퀘스트가 완료된 이후에만 비헤이비어가 활성화되도록 설정**합니다.

1. **Turn ON Message를 '**[**C) 첫 번째 퀘스트 편집**](https://sandboxgame.gitbook.io/the-game-maker-academy_kr/QXVjiJZSETueiVsHSiOX/tutorials-1/medium-tutorials/your-first-rpg-experience/5-going-back-to-the-npc#c-edit-the-first-quest)**'에서 설정한 메시지로 설정합니다.**
2. Turn OFF Message와 Toggle Message를 none으로 설정합니다.
3. Initial Behavior State를 False로 설정합니다.

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MSmDSVzgP7m0rPeCUef%2F-MSm_xsLTl_BrlgqpFi2%2Fimage.png?alt=media\&token=cd0f6c39-f541-4de3-952c-c73eb50e1c43)

## E) 두 번째 퀘스트 생성

이제 Rules 창으로 돌아가 첫 번째 Quest 메뉴를 접고 'ADD QUEST'를 클릭하여 **새로운 퀘스트를 생성**합니다. **첫 번째 퀘스트가 완료된 이후에 해당 퀘스트가 트리거**되도록 만들어 보겠습니다. 이 두 번째 퀘스트를 통해 **플레이어가 NPC에게 돌아가 말을 걸도록** 합니다.

* 원하는 대로 해당 퀘스트의 이름과 설명을 기재합니다 (누군가에게 말을 거는 것뿐일지라도 플레이어가 미션을 수행하도록 유도하는 내용을 적습니다).
* **Launch quest를 Requires Message로 설정**하고 '[C) 첫 번째 퀘스트 편집](https://sandboxgame.gitbook.io/the-game-maker-academy_kr/QXVjiJZSETueiVsHSiOX/tutorials-1/medium-tutorials/your-first-rpg-experience/5-going-back-to-the-npc#c-edit-the-first-quest)'의 메시지로 설정합니다.
* **Quest type을 Wait for Message로 설정 후** 새로운 메시지를 추가합니다 (간단하게 유지하려면 Q1을 입력합니다).
* **Quest completion을 RequiresMessage로 설정 후** '[D) NPC B 편집하기](https://sandboxgame.gitbook.io/the-game-maker-academy_kr/QXVjiJZSETueiVsHSiOX/tutorials-1/medium-tutorials/your-first-rpg-experience/5-going-back-to-the-npc#d-edit-the-npc-b)'에서 Answer (A1) Message sent에 설정한 값을 입력합니다.

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MSmDSVzgP7m0rPeCUef%2F-MSmnD6uDEzVgzDioH_B%2Fimage.png?alt=media\&token=117f1998-0ae6-480f-9a22-77bd36cad868)

## F) 메시지 브로드캐스터

Quest type에 신규 메시지와 함께 Wait for Message를 설정하는 이유는 무엇일까요?\
**이후에** **사인이 표시**되도록 하기 위함입니다. 사인에 대해 이야기하기 전에, **먼저 Message Broadcaster를 생성**해야 합니다.

장면에 아무 애셋이나 추가합니다.

1. Physics를 No collisions으로 설정합니다.
2. Message Broadcaster 비헤이비어를 추가한 후,
   1. Visible을 False로 설정합니다.
   2. Message to Send를 'E) 두 번째 퀘스트 생성'에서 Quest type에 설정한 메시지와 동일하게 설정합니다.
   3. Broadcast only Once를 False로 설정합니다.
   4. Delay between Broadcast를 1로 설정합니다.
3. Toggle Behaviour 컴포넌트를 추가한 후,
   1. Turn ON Message를 '[C) 첫 번째 퀘스트 편집](https://sandboxgame.gitbook.io/the-game-maker-academy_kr/QXVjiJZSETueiVsHSiOX/tutorials-1/medium-tutorials/your-first-rpg-experience/5-going-back-to-the-npc#c-edit-the-first-quest)'에서 설정한 메시지로 설정합니다.

![](https://4143380045-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MSmDSVzgP7m0rPeCUef%2F-MSmmwtXu8rb2ihnQoif%2Fimage.png?alt=media\&token=e84dd750-fe28-484e-b7a0-ee745899cbb5)

이 방법을 통해 **첫 번째 퀘스트가 완료되어도 Message Broadcaster에서 메시지 전송을 멈추지 않습니다**. 덕분에 플레이어는 **두 번째 퀘스트의 목표를 완료하고 검증을 대기**하여 **특정 사인이 표시**될 수 있도록 합니다.

## G) 테스트하기

플레이를 눌러 퀘스트를 테스트해 보세요! RPG 퀘스트 제작을 완료했습니다. 이제 더욱 완벽한 RPG 경험을 위해 사인과 보상에 대해 알아보겠습니다.

{% hint style="success" %}
👏 **모두 완료되었습니다!** [◑ 나만의 첫 RPG 경험 제작하기](https://sandboxgame.gitbook.io/the-game-maker-academy_kr/QXVjiJZSETueiVsHSiOX/tutorials-1/medium-tutorials/your-first-rpg-experience) 튜토리얼의 **5**단계를 마쳤습니다!\
이제 튜토리얼 6단계 [**6: 퀘스트 사인 설정하기**](https://sandboxgame.gitbook.io/the-game-maker-academy_kr/QXVjiJZSETueiVsHSiOX/tutorials-1/medium-tutorials/your-first-rpg-experience/6-putting-quest-signs)로 넘어가 보겠습니다.
{% endhint %}
