차례
일러두기
- 여기 번역된 내용은 2002/03/15 (Sakura Script/1.0), 2002/04/19 (Sakura Script/2.0)입니다.
- Sakura Script/2.0 은 새로운 체제(Materia-B 체제)에서 지원되는 명령이며, Ukagaka Materia period 568 이후부터 공식적으로 호환되며, 이전 버전에서는 호환되지 않을 수 있습니다.
이 내용의 최신버전은 무언가 본가 에서 구할 수 있습니다.
기타 난에서
삭제 표시가 된 것은 현재 지원않는 명령이며,
대체 표시가 된 것은 현재 사용중지 되었거나 다른 기능으로 대체되었으나 호환성을 위해 본체가 아직 사용하는 명령입니다.
Sakura Script/1.0
스크립트
서식계
명령 |
내용 |
기타 |
\0 |
이 표식 이후부터 주 캐릭터(사쿠라)의 대사 |
|
\1 |
이 표식 이후부터 부 캐릭터(케로)의 대사 |
|
\h |
이 표식 이후부터 주 캐릭터(사쿠라)의 대사 |
|
\u |
이 표식 이후부터 부 캐릭터(케로)의 대사 |
|
\s[id] |
현재 대사를 말하는 캐릭터의 쉘을 |
|
\b[id] |
현재 대사를 말하는 캐릭터의 말풍선 모양을 정한다. 역시 id가 -1이면 다음 대화까지 말풍선을 숨긴다. |
|
\n |
다음 줄. 이 표식 이후의 대화는 다음 줄의 맨 처음부터 나온다. |
|
\n[*] |
확장된 다음 줄 넘기기. 현재는 half 옵션만 사용가능. \n[half] 는 일반 다음 줄 넘기기의 1/2 만 넘긴다. |
|
\w? |
50*[?] 밀리초 (곧, 1/20초) 만큼 대사를 지연시킨다. [ ] 는 사용하지 못하므로 최대값은 9. |
|
\_w[?] |
고정밀 대사 지연. [?] 밀리초 (1/1000초)만큼 지연시킨다. \_w[1000]은 1초. |
|
\j[id] |
웹브라우저를 열고 URL id 의 홈페이지로 점프한다. 현재 http만이 사용가능하다. 하지만 URL 형식은 반드시 |
|
\c |
현재 대사를 말하는 캐릭터의 말풍선 내의 대사를 지우고 첫째 줄부터 대사를 표시한다. |
|
\x |
현재 대화를 잠시 멈추고 사용자의 마우스 클릭을 기다린다. |
|
\t |
시간 중시(타임 크리티컬) 섹션에 들어간다. 시간 중시 섹션에서는 마우스 오른쪽 클릭 및 더블클릭으로 나오는 메뉴, 자동 체크계의 이벤트 등 상황을 파괴하는 명령은 무시한다. \e가 나올 때까지 유효. |
(주: \t가 한번 더 나와도 끝나는 걸로 알고 있었는데요.. 정확한 내용을 아시면 바꿔주세요.) |
\_q |
빠른 표시 (퀵) 섹션에 들어간다. 이 안에서는 모든 메세지가 빠르게 출력된다. \_q가 한번 더 오거나 \e 로 해제. |
|
\_s |
동시 (싱크로나이즈) 섹션에 들어간다. 이 안에서는 모든 메세지를 주/부 캐릭터가 동시에 말한다. \_s가 한번 더 오거나 \e 로 해제. |
|
\_n |
자동 개행 불가 섹션으로 들어간다. 이 안에서는 자동개항을 하지 않는다. \_n이 한번 더 오면 해제. |
|
\_l[x,y] |
현재 대사를 말하는 캐릭터의 대사 출력 위치를 지정. 대사 출력 위치가 (x,y)로 이동한다. |
|
\a |
AI 대화를 한다. |
|
\e |
대사 종료 표식. 대부분의 대사는 이것으로 끝난다. |
|
선택지계
명령 |
내용 |
기타 |
\q?[id][string] |
말풍선에 string으로 나오는 선택지를 표시. 사용자가 선택하면 시오리 모듈로 |
|
\q[title,id] |
말풍선에 title로 나오는 선택지를 표시. 사용자가 선택하면 시오리 모듈로 |
|
\q[title] |
말풍선에 첫번째 인수 title로 나오는 선택지를 표시. 선택 후 두번째 인수 event 로 지정되는 이벤트가 SHIORI 에 보내진다. 제삼 인수 이후는 reference 가 된다. 최대 255개의 선택지가 가능. |
주: 아무래도 \q[title, event, reference0, ...] 식으로 쓴다는 말인 듯 합니다만.. 사양서의 설명이 부족해 알 수가 없군요. |
\* |
다음 선택지는 타임아웃 시키지 않는다. |
|
문자 표시계
명령 |
내용 |
기타 |
\_u[0x0000] |
0x???? 인 16진수 유니코드 (UCS-2) 한 문자를 표시한다. |
|
\_m[0x00] |
0x?? 인 16진수 아스키코드 (ASCII) 한 문자를 표시한다. |
|
\&[id] |
id인 식별자에 맞는 글자 하나를 표시한다. (예: \&[Aacute] = A 위에 액센트가 붙은 글자 ) |
|
글자 색 표시계
명령 |
내용 |
기타 |
\f[color,r,g,b] |
첫번째 파라미터가 color 이면 일시적으로 이후의 글자색을 변경한다. r,g,b 는 각각 RGB 색상의 양 (0-255) |
|
\f[shadowcolor,r,g,b] |
첫번째 파라미터가 shadowcolor 이면 일시적으로 이후의 글자의 그림자색을 변경한다. r,g,b 는 각각 RGB 색상의 양 (0-255) |
|
그 외의 실행계
명령 |
내용 |
기타 |
\_v[filename] |
filename 으로 지정된 소리(wav,mp3,wma) 파일을 재생. 파일은 고스트의 홈 디렉토리에 있어야 하며, 절대경로는 무시된다. 파일이 없어도 에러는 나오지 않는다. |
|
\_V |
\_v 로 재생된 소리파일의 재생종료를 기다린다. 재생이 끝났거나 재생되지 않았을 경우에는 무시. |
|
\i[id] |
id 로 지정된 애니메이션 패턴을 표시한다. |
|
\v |
나니카를 윈도우의 맨 위로 올린다. |
|
\4 |
현재 대사를 말하는 캐릭터를 서로 떨어지는 방향으로 일정거리 이동. 보통 캐릭터끼리 겹친 후에 강제로 서로 떨어질 때 사용. |
|
\5 |
현재 대사를 말하는 캐릭터를 서로 접촉하는 거리까지 가까이 이동. |
|
\- |
고스트 종료 표식. 고스트 종료 전에 사용한다. |
|
r2
- 주: r2가 무엇을 뜻하는지는 잘 모르겠으나 내용상 "확장 명령어" 정도로 이해하면 될 듯도 합니다. 현재 활발히 추가가 되는 부분으로서 어느정도 안정이 되면 다시 정리해야 할 듯.
Repaint 관련
명령 |
내용 |
기타 |
\![lock, repaint] |
일시적으로 Repaint(화면 다시 그리기)를 정지시킨다. 다른 말로 화면 lock. 세션에 들어간다 (명시적 해제가 필요). |
|
\![unlock, repaint] |
화면 lock 해제 |
|
Open 관련
명령 |
내용 |
기타 |
\![open, browser] |
본체에 설정되어 있는 웹브라우저를 연다. 3번째 인수 이후는 웹브라우저의 커맨드 라인 인수가 된다. |
|
\![open, mailer] |
본체에 설정되어 있는 이메일 프로그램을 연다. 3번째 인수 이후는 이메일 프로그램의 커맨드 라인 인수가 된다. |
|
\![open, teachbox] |
TEACH 창을 연다. |
|
\![open, communicatebox] |
COMMUNICATE 창을 연다. |
|
\![open, inputbox, event, limittime] |
Input 창을 연다. 창에 캐릭터 라인을 입력하면 세번째 인수로 지정된 유저 정의 이벤트가 발생해, reference0 에 입력된 내용이 들어간다. 또 아무것도 입력하지 않았던 경우에도 limittime 으로 나타나는 시간이 경과하면 입력 대기가 중지되고 reference0 에 캐릭터 라인 "timeout" 이 들어간다. 다만 limittime 에 -1 를 세트 했을 경우는 타임 아웃은 발생하지 않는다. limittime 의 단위는 milli second. (예: |
|
Alignment 관련
명령 |
내용 |
기타 |
\![set, alignmentondesktop, top] |
데스크탑상에서의 위치 alignment를 상단으로 변경. |
|
\![set, alignmentondesktop, bottom] |
데스크탑상에서의 위치 alignment를 하단으로 변경. |
|
사용자 정의 이벤트 관련
명령 |
내용 |
기타 |
\![raise, event] |
event로 정의된 사용자 정의 이벤트를 발생시킨다. 세번째 인수 이후는 Reference. 쉼표를 인수에 넣으려면 따옴표로 둘러싸면 된다. 예: |
|
Execute 관련
명령 |
내용 |
기타 |
\![execute, http-get] |
http-get 리퀘스트로 인터넷에서 파일을 받아 저장한다. (예: |
|
Passive Mode 관련
- 패시브 모드는 시스템에 의한 interrupt 를 억제한 모드이고, 외부 이벤트 등을 억제해야 하는 게임 등에 사용한다. 패시브 모드에는 다음과 같은 특징이 있다.
- pop-up menu가 나오지 않는다
- 메일을 체크하지 않는다
- 헤드라인 센스 하지 않는다
- 고스트 자동 변환을 하지 않는다
- 선택사항이 타임아웃 되지 않는다
- 말풍선이 시간 경과로 사라지지 않는다
- 파일이 DnD 되어도 무시한다
- nar 더블 클릭도 무시한다
OnSurfaceRestore를 보내지 않는다cantalk 는 항상 false(
OnSecondChange및OnMinuteChange자체는 온다) (주: 이 이벤트에서 대화를 보내도 표시되지 않는다는 것을 의미합니다)- 커뮤니케이트 창은 닫혀져 열리지 않는다
- 최소화할 수 없다
- 종료할 수 없다
- 패시브 모드 중에은 이벤트를 연결해 SHIORI 내에서 메인 루프를 형성하지 않으면 안 된다. 왜냐하면 이벤트 연결이 중단된 시점에서 passive mode 는 단순한 조작 불능 상태가 되기 때문이다.
명령 |
내용 |
기타 |
\![enter, passivemode] |
패시브 모드에 들어간다. 반드시 명시적으로 해제해 주어야만 한다. |
|
\![leave, passivemode] |
패시브 모드를 해제한다. |
|
특수
명령 |
내용 |
기타 |
\m[umsg, wparam, lparam] |
SSTP 권한의 스크립트에서만 사용가능. HWnd 헤더에 의해 미리 세트된 윈도 핸들에 대해 |
|
환경 변수/메타 캐릭터
% 로 시작되는 특정의 캐릭터 라인의 조합은 메타 캐릭터열이고, 표시시에 적절한 캐릭터 라인에 치환된다.
기초 정보
이름 |
내용 |
기타 |
%month |
현재월 |
|
%day |
현재일 |
|
%hour |
현재시 |
|
%minute |
현재분 |
|
%second |
현재초 |
|
%username |
사용자 이름 |
|
%selfname |
사쿠라측의 이름 |
정확한 이름 |
%selfname2 |
사쿠라측의 이름 |
틀린 이름 (별명이라든지?) |
%keroname |
케로측의 이름 |
|
특수 정보계
이름 |
내용 |
기타 |
%screenwidth |
스크린의 폭 |
멀티 모니터시는 기본(첫번째) 모니터의 사이즈 밖에 잡히지 않는다 |
%screenheight |
스크린의 높이 |
멀티 모니터시는 기본(첫번째) 모니터의 사이즈 밖에 잡히지 않는다 |
%exh |
연속 기동 시간 |
|
%songname |
마지막에 인식 한 곡의 타이틀 |
|
AI계
이름 |
내용 |
기타 |
%ms |
명사 - 이름 |
|
%mz |
명사 - 물건 |
|
%ml |
명사 - 집합 |
|
%mc |
명사 - 회사명 |
|
%mh |
명사 - 상점명 |
|
%mt |
명사 - 기술명 |
|
%me |
명사 - 음식명 |
|
%mp |
명사 - 지명 |
|
%m? |
명사 - 비한정 |
|
%dms |
명사구/명사절 |
|
구조계
%j[#entry]: #entry 로 지시받은 엔트리. 다음과 같이 사용한다.
#temp \h\s0%j[#temp0]\e #temp0 카드캡터 %ms
※SSTP/1. 2 에서만 사용된다.
escape sequence
- \자체를 표시할 때 \\, %자체를 표시할 때 \% 로 표시한다.
- [ ] 안에서만 \] 로 ] 를 표시한다.
Sakura Script/2.0
대부분의 명령은 Sakura Script/1.0과 동일한 것으로 보인다. 기존과 동일한 부분의 설명은 1.0을 참조. A B C 순
스크립트
기본 명령
- \0, \1, \b, \c, \e, \i, \_l, \m, \n, \n[half], \_n, \_q, \s, \_s, \_v, \_V, \w, \_w, \x, \*, \-
추가 명령
명령 |
내용 |
기타 |
\_a[symbol] |
Anchor, 곧 일종의 링크. 선택지와 비슷한 역할을 하나 시오리에 |
SHIORI/2.2의 |
\_b[s, x, y] |
s라는 파일을 말풍선의 x,y위치에 표시한다. 만약 x 혹은 y가 각각 숫자가 아닌 글자 "centerx"와 "centery" (따옴표 제외)일 경우 각각 말풍선 좌표계의 가운데에 표시한다. s의 기준 디렉토리는 |
아마 그래픽 파일을 표시하는 것인 듯. |
\j[id] |
웹브라우저를 열고 URL id 의 홈페이지로 점프한다. 현재 http와 file이 사용가능하다. 하지만 id의 형식은 반드시 |
|
r2
- \![*]
SSTP 마커를 유용한 단락점. 오프셋 콘트롤 있어. 문자 취급 (주: 무슨 말인지..;;)
- \![change, ghost, name]
고스트를 바꿈. name 이 고스트명이면 그 고스트로, name 이 "random" (따옴표 제외)의 경우 랜덤 체인지. "sequential" 의 경우 순차적으로 체인지. 지명한 상대가 없었던 경우는 스르 (주: スル- 인데 아무래도 thru라는 말인 듯? 무시한다는 말인지;). 예:
\![change, ghost, 사쿠라]
- 시스템 펑션 콜 - 각각의 이름에 맞는 기능이 불린다.
- \![updatebymyself] - 온라인 자동 업데이트
- \![executesntp] - 시간맞춤
- \![biff] - 편지 체크
- \![open, configurationdialog] - 설정 메뉴 호출
- \![open, ghostexplorer] - 고스트 익스플로러
- \![open, shellexplorer] - 쉘 익스플로러
- \![open, balloonexplorer] - 말풍선 익스플로러
- \![open, headlinesensorexplorer] - 헤드라인센서 익스플로러
- \![open, rateofusegraph] - 고스트 사용률 그래프
- \![open, rateofusegraphballoon] - 말풍선 사용률 그래프
- \![open, rateofusegraphtotal] - 총 고스트 사용률 그래프
- \![vanishbymyself]
- 자신을 영원히 삭제한다.
기타
..는 동일한 듯.
