비주얼 노벨에는 대부분 플레이어에게 이야기 흐름을 결정할 수 있도록 선택권을 줍니다. 렌파이 스크립트 언어에는 menu 문이 있어 선택지를 쉽게 만들 수 있습니다.
다음은 menu 문 예제입니다:
menu:
"무엇을 할까?"
"커피를 마신다.":
"나는 커피를 마셨다. 마지막 한 방울까지 맛있다."
"차를 마신다.":
$ drank_tea = True
"정치적인 발언은 삼가면서 차를 마셨다."
"경배한다.":
jump genuflect_ending
label after_menu:
"한 잔 마시고 나서 나는 아침을 맞았다."
menu 문을 사용하려면 menu 키워드를 먼저 적어야 합니다. 그 다음에는 레이블 이름을 적을 수도 있으며, 이는 선택지를 특정한 레이블로 이름을 붙이는 것과 동일합니다. 다음은 예제입니다.:
menu drink_menu:
...
menu문 다음에는 들여쓰기 된 블럭을 적어야 합니다. 이 블럭에는 say 문 을 적거나 적지 않을 수 있지만 선택문은 반드시 하나 이상 적어야 합니다. say 문이 있으면 선택지와 함께 화면에 나타납니다.
선택문. 선택문이란 플레이어가 선택지에서 고를 수 있는 것입니다. 선택문은 문자열로 시작합니다. 이 문자열 뒤에는 if 절을 적어 선택문이 특정 조건에 따라 나타나도록 만들 수 있습니다. 선택문은 콜론으로 끝나며 그 다음에는 렌파이 명령문 블럭을 적어야 합니다.
플레이어가 선택문을 고르면 선택문 코드는 실행됩니다. 블럭 마지막에 있는 코드까지 전부 실행하면 menu문 다음에 있는 명령문을 계속 실행해나갑니다.
if 절을 사용하려면 키워드 if
를 적은 후에
파이썬 표현식을 적어야 합니다. 선택문은
파이썬 표현식이 참일 때만 실행됩니다.
menu:
"왼쪽으로.":
...
"오른쪽으로.":
...
"위로 날아간다." if drank_tea:
...
세 번째 선택문은 drank_tea 변수가 참일 때만 나타납니다.