begin.rive로 다시 돌아가서 유용한 2가지 타입이 있습니다.
Global Variables
전역 변수(Global Variables)는 봇 변수(bot variables)와 비슷하지만 봇과 관련은 없습니다.
전역 변수는 RiveScript 인터프리터에 의해 정의 될 수 있습니다. 이번에는 RiveScript 인터프리터에 직접 영향을주는 두 가지 특수한 전역 변수에 대해서 배워 보겠습니다.
Debug Mode
! global debug = true
! global debug = false
이 전역 변수는 RiveScript 인터프리터에서 디버그 모드를 켜거나 끌 수 있습니다. 디버그 모드는 https://play.rivescript.com/에서 Debug Mode를 클릭하면 실제 어떻게 출력 되는지 볼 수 있습니다.
Recursion Depth
! global depth = 50
이 전역 변수는 RiveScript 응답은 서로 리다이렉트 할 수 있기 때문에 무한 재귀를 피할 수있는 보호 기능이 있습니다 (예를 들어, 다른 트리거로 리다이렉트되고 그 트리거가 처음 트리거로 리다이렉트하는 등).
기본적으로 제한 값으로 50으로 설정이 됩니다. 즉, 50개의 리디렉션 후에 응답을 찾을 수 없으면 "ERR: Deep Recursion Detected"라고 응답합니다. 또한 이 값은 0보다 큰수여야 합니다.
Person Substitutions
1인칭 대명사와 2인칭 대명사를 교환하기 위한 기능입니다. brain에서 정의해기 때문에 begin.rive에서 작성 되어야 합니다. 대체를 정의하기 위한 방법은 다음과 같습니다.
! person i am = you are ! person you are = i am ! person i'm = you're ! person you're = I'm ! person my = your ! person your = my ! person you = I ! person i = you
대체를 호출 하려면 <person>태그(<star>대치 가능)를 사용하거나 {person}...{/person}로 사용할 수 있습니다. 실제 예를 통해서 테스트를 해보겠습니다.
+ say * - Umm... "<person>"
실제로 구동 상태에서 "say I am the greatest"라고 메시지를 보내면 봇은 "Umm... "you are the greatest"라고 응답할 것입니다. 만약 대치 하지 않았다고 한다면 봇은 "i am the greatest"라고 말했을 것입니다.
'프로그래밍 > RiveScript' 카테고리의 다른 글
[Tutorial] CONCLUSION (0) | 2017.03.09 |
---|---|
[Tutorial] TAGS (0) | 2017.03.09 |
[Tutorial] The Begin Block (0) | 2017.03.09 |
[Tutorial] Topics (0) | 2017.03.09 |
[Tutorial] Conditionals (0) | 2017.03.09 |