BetonQuest 튜토리얼 일기

npc와 티키타카를 해보아요

RIUM_MC by RIUM
4
0
0

npc와 대화하고 퀘스트를 주고 받는 BetonQuest 플러그인을 시도해보기로 했다

https://betonquest.org/RELEASE/Tutorials/Overview/

공식 홈페이지이자 튜토리얼 링크다 투머치영어!!

1. 서버 열기

당연한 소리지만 일단 이걸 적용할 자신만의 서버가 있어야한다 자바, 버킷, 페이퍼로 서버를 열었다

2. 플러그인 다운

일단 메인이 되는 베톤 플러그인 다운

npc를 다룰 시티즌 플러그인 다운

뭔지는 모르겠는데 프로토콜립 플러그인 다운

총 3개를 다운해 서버 플러그인 폴더에 넣어준다

3. VSCode 다운

텍스트를 편집해줄 Visual Studio Code도 다운해준다

난 이런거 할때마다 이 세상은 0과 1로 이루어진게 틀림없다고 생각한다

+파일 형식을 YAML로 해야하니 VSCode 다운, 설치, 실행 후 프로그램 내에서 YAML 확장자를 설치해주면 된다 튜토리얼에 이미지로 잘 나와있다

4. npc

이제 npc를 소환하고 대화를 시작해보는 단계다

/bq download BetonQuest/Quest-Tutorials refs/tags/v2.1.2 QuestPackages /Basics/Conversations/1-DirectoryStructure /tutorialQuest overwrite

우선 인게임에 위 명령어를 쳐서 BQ 연결해주기

인게임에서 /npc create 이름 으로 npc를 소환할 수 있다

단골선생 김게오르크를 모셨습니다 스킨은 나중에 씌울 수 있겠지? 아님 말고

+만약 여기서 npc가 소환되지 않는다면 플러그인 버전이 맞지 않을 확률이 높다

이 글을 쓰는 시점은 1.21이 업데이트 후인데 내가 연 서버는 1.20.4이고 Citizens를 가장 최신으로 다운받았더니 npc가 소환되지 않았다

1.20.4는 23년 12월 경에 업데이트 되었고 그 시기에 올라왔던 구버전의 Citizens 플러그인을 다시 적용시켰더니 작동했다

김게오르크 선생이 말을 안 들어서 일단 튜토리얼에서 제시해준대로 Jack npc를 소환

+유의점 하나 적는다 가까이 있는 npc에게 다가가 /npc select 명령어를 입력하면 그 npc가 선택되면서 뒤에 숫자도 나온다

Jack의 ID는 3이다 VSCode에서 npc 목록, package 파일 작업할때 나열하는 순서대로 1, 2, 3 하는게 아니라 이름 앞에 그 npc의 ID숫자를 입력해야한다 (내가 시행착오를 겪느라 npc를 여러명 소환했더니 Jack이 3번이 된거다)

Jack의 conversations 파일은 테스트겸 튜토리얼 대화를 긁어온거다 작동이 잘 됐다!

이제 내가 필요한 npc를 만들어야겠지 다시 나와라 김게오르크 (ID 2)

Jack의 파일에서 대사만 바꿨다

복수선택 부분에서도 잘 된다

+만약 작성한 대화 중 오류가 난 부분이 있다면 아래처럼 어느 부분에서 오류가 났는지 알려준다 친절해


위에 업로드했던 김게오르크씨의 대화 파일이다

BQ에서 conversations 파일을 작성할 때 가장 중요한건 pointer이다

대화의 시작은 항상 npc가 먼저다 첫 대화는 NPC_options의 firstGreeting

firstGreeting:

        text: "여기서 뭐해? 난민 무리라면 이미 여길 떠났어."

        pointer: "whatAreYouDoing"

플레이어 대화인 player_options에도 똑같이 whatAreYouDoing이라는 옵션이 있다

whatAreYouDoing:

        text: "눈이 너무 많이 와서 무리를 놓쳤어."

        pointer: "lost"

pointer는 대사의 흐름과 방향을 잡아주는 거라고 보면 된다 신기해

여러가지 선택지가 필요할 때는

lost:

        text: "그랬구나. 어디로 갔는지 방향은 알아. 내 참새를 같이 타고 찾아볼래?"

        pointer: "yeS,nO"

위와 같이 yeS 또는 nO로 포인터 2개를 지정해주면 된다

+확실하진 않은데 pointer에 대문자가 필수인 것 같기도하다.. 복수 선택지를 yes와 no로 해놨더니 but it does not exist 라며 포인터를 못 찾더라 yeS와 nO로 했더니 고쳐졌음

기본적인 대화는 성공했으니 일단 여기까지

다음엔 npc가 플레이어에게 아이템을 제공해줄 수 있도록 만들어볼거다

카테고리
#기타

댓글 0



추천 포스트