[몰루K 개발강의] 구상제작 2편 - 「만나러간다」의 시작과 종료 대사
목차
1. 코드 전체 스샷
2. 함수 설명
3. 「만나러간다」 시작 시 대사
4. 「만나러간다」 종료 시 대사
5. 번외 - 호칭 설정, 조사 처리, 랜덤 출력 대사
6. 마치며
1. 코드 전체 스샷
KOJO_A_K(캐릭터번호).ERB 파일
「만나러간다」시작 시
「만나러간다」종료 시
복잡해 보이지만 크게 어렵지 않다
2. 함수 설명
몰루K에서 같은 세력, 동생 세력, 무소속 캐릭터를 「만나러간다」를 통해 만나 대화, 스킨쉽, 훈련 등을 할 수 있다.
「만나러간다」에서 시작, 종료 대사는 KOJO_A_K(캐릭터번호) 파일에 두 가지 함수로 구성되어 있다.
1. @KOJO_TRAIN_START_A1_K(캐릭터번호) - 「만나러간다」의 시작 시 출력되는 대사 (구상 템플릿 기준 24번째줄)
- 해당 캐릭터를 만날 때 마다 실행되는 함수이다.
2. @KOJO_TRAIN_END_A1_K(캐릭터번호) - 「만나러간다」의 종료 시 출력되는 대사 (구상 템플릿 기준 93번째줄)
- 해당 캐릭터와 헤어질 때 실행되는 함수이다.
3. 「만나러간다」 시작 시 대사
ㄱ. [공허] 특성 보유 시 대사 출력 X
[공허]([붕괴] 포함) 특성을 가지고 있다면 대사 출력을 하지 않고 종료한다.
만약 캐릭터의 망가진 대사를 적고 싶다면 RETURN 위에 대사를 적으면 된다.
이렇게 작성하면
이렇게 출력된다.
ㄴ. 「만나러간다」의 첫 실행 시
만약 해당 캐릭터의 「만나러간다」가 처음이라면(CFLAG:200이 0이라면)
○ 첫 만남 처리를 하고(CFLAG:200을 1로 만든다.)
○ 만약 안면이 없는 경우라면(CFLAG:17이 1이 아니라면)
□ 처음 본 상황으로 구상을 작성
○ 이미 만났던 적이 있다면(ELSE)
□ 「만나러간다」에선 처음 보지만 서로 알고 있었던 상황으로 구상을 작성
- 동아리방문, 기타 등으로 안면이 있다는 설정
그냥 처음으로 만났을 때
[안면]을 얻고 처음 만났을 때
이렇게 나온다.
ㄷ. 1회만 출력하는 대사
첫 만남(CFLAG:200 == 1) 이후 특정 조건을 만족하면 나오는 일회성 대사이다.
우선순위 1. 연모이상이면서 [합의]가 있을 때
우선순위 2. 인연이 된 다음에
우선순위 3. 첫 키스를 하고 만났을 때
우선순위 4. 키스경험 없이 연모를 획득하고 만날 때
우선순위 1번을 먼저 봤다면 2~4번은 나오지 않는다. 만약 이게 맘에 안든다면
이렇게 수정하면 조건만 맞다면 4,3,2,1번 순서대로 출력이 될거임
ㄹ. 일반 대사
ㄱ ~ ㄷ 상황 외에 항상 출력되는 대사임
맨날 나오는 대사라 SELECTCASE RAND:XX등을 이용해 대사 가짓수를 늘리는게 좋다
이렇게 작성하면 저 4개 중에 하나가 무작위로 출력된다.
이렇게
4. 「만나러간다」 종료 시 대사
전체적인 틀은 3번과 동일한데
기절, 만취, 피로에 의한 대사스킵 혹은 대응대사가 있는데 이걸 빼고 싶다면 IF/ELSEIF 앞에 ;를 붙이면 됨 (대신 다음 ELSEIF를 IF로 바꿔야한다.)
5. 번외 - 호칭 설정, 조사 처리, 랜덤 출력 대사
1) 호칭설정
- 아나타가 [선생] 소질이 있을 때 '선생님'이라고 부름
- [복종]이 있다면 '주인님'이라고 부름
- 그 외엔 이름으로 부름
이렇게 부르게 하고 싶다면
함수 시작 바로 아래에 이런 구문을 넣으면 된다.
대신 대사 작성할 때 %ANAME(MASTER)% 대신 %LOCALS:0%을 써야한다.
2) 조사 처리
대사를 쓸 때 'PRINTFORMW 아이리가 %LOCALS:0%을 만났다.'를 작성했다면
- LOCALS:0이 '당신'이라면 '아이리가 당신을 만났다.'라고 잘 출력된다.
- LOCALS:0이 '센세'라면 '아이리가 센세을 만났다.'라고 어색하게 출력된다.
그렇다고 '아이리가 센세을(를) 만났다.' 라고 적기엔 보기에 좋지 않다.
그럴 때 사용하는게 조사처리 함수다.
위의 경우라면 %LOCALS:0% 대신 %조사처리(LOCALS:0,"을")%로 작성을 하게 된다면
- LOCALS:0이 '당신'이라면 '아이리가 당신을 만났다.'라고 출력된다.
- LOCALS:0이 '센세'라면 '아이리가 센세를 만났다.'라고 출력된다.
"을/를" 말고도 여러 가지 있으니까 잘 사용하면 될 듯.
3) 랜덤 출력 대사
어떤 상황에서 대사를 여러 종류 두고 싶다면
이렇게 SELECTCASE와 RAND:XX 를 사용해 대사의 종류를 늘리면 된다.
마지막엔 꼭 ENDCASE를 사용하도록 하자
6. 마치며
왜 사람들이 에라베이직 강의 쓰다가 '실종'되는지 알 거 같다.