さくらスクリプトリスト

さくらスクリプトのエスケープ

さくらスクリプトの寿命

スコープコマンド

\0もしくは\h

本体側のスコープに移る。

  • Materia
  • SSP
  • CROW
  • Ninix
\1もしくは\u

相方側のスコープに移る。

  • Materia
  • SSP
  • CROW
  • Ninix
\pID番号

ID番号のスコープを表示する。
この場合0~9のみ使用可能。

  • SSP
  • CROW
  • Ninix

記述例

\0本体側が喋る。\1相方側が喋る。\p23人めが喋る。\p34人めが喋る。デフォルトのスコープは本体側になっている。

\p[ID番号]

ID番号のスコープを表示する。

  • SSP
  • CROW
  • Ninix

記述例

\0本体側が喋る。\1相方側が喋る。\p[2]3人めが喋る。\p[3]4人めが喋る。デフォルトのスコープは本体側になっている。

サーフェスコマンド

\sID番号

現スコープ側のサーフェスをID番号のサーフェスに変更する。
この場合0~9のみ使用可能。

  • Materia
  • SSP
  • CROW

記述例

\s1本体側にサーフェス1番を表示。

\s[ID番号]

現スコープ側のサーフェスをID番号のサーフェスに変更する。
\s[-1]で非表示サーフェス。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\s[100]本体側にサーフェス100番を表示。

\i[ID番号]

現スコープ側にID番号のサーフェスアニメーションを表示する。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\s[0]本体側にサーフェス0番を表示。\i[1]サーフェス0番に設定された、アニメーション1番を表示。

\i[ID,wait]

ID番号のサーフェスアニメーションを待ちながら表示する。

  • SSP

記述例

\1\s[10]相方側にサーフェス10番を表示。\i[2,wait]この文章はサーフェス10番内のアニメーション2番を表示し終わってから表示。

\![anim,clear,ID]

ID番号のサーフェスアニメーションの再生を終了する。

  • SSP

記述例

\s[0]\i[100]長いアニメーションを再生中。\![anim,clear,100]ここで、まだ再生中でも強制終了させる。

\![anim,pause,ID]

ID番号のサーフェスアニメーションを一時停止する。

サーフェス変更(\s[ID]実行)まで有効。

  • SSP

記述例

\s[0]\i[200]長いアニメーションを再生中。\![anim,pouse,200]ここで、一時停止。

\![anim,resume,ID]

上記の一時停止を解除する。

  • SSP

記述例

\s[0]\i[200]長いアニメーションを再生中。\![anim,pouse,200]ここで、一時停止。\![anim,resume,200]ここで、再び再生開始。

\![anim,offset,ID,x座標,y座標]

ID番号のサーフェスアニメーションの位置を指定した座標分ずらす。
着せ替えもずらすことが出来る。

サーフェス変更(\s[ID]実行)まで有効。

  • SSP

記述例

\s[0]\i[300]長いアニメーションを再生中。\![anim,offset,300,40,50]ここで、アニメーションを右に40pixel下に50pixelずらす。

\![anim,add,overlay,ID]

ID番号のサーフェスを現サーフェスに重ねる。

\![anim,add,overlay,ID]
ID番号のサーフェスを現サーフェスに重ねる。
\![anim,add,overlayfast,ID]
ID番号のサーフェスを現サーフェスにoverlayfastで重ねる。
\![anim,add,base,ID]
現ベースサーフェスをID番号のサーフェスに変更する。
\![anim,add,move,x,y]
現サーフェスをXY座標に移動して表示。
\![anim,add,overlay,ID,x,y]
ID番号のサーフェスを現サーフェスにXY座標に移動して重ねる。
\![anim,add,overlay,ID,x,y,表示時間,ID,x,y,表示時間,ID,x,y,表示時間...]
重ねたサーフェスをアニメーションする。(時間はms)
\![anim,add,overlay,ID,x,y,表示時間,ID,x,y,表示時間,ID,x,y,表示時間,アニメーションタイミング]
アニメーションタイミングにはrunonce、alwaysが指定できる。
  • CROW
\![anim,stop]

サーフェスアニメーションを停止する。

  • CROW
\![anim,add,text,x,y,横幅,縦幅,文字列,表示時間,r,g,b,文字サイズ,文字名]

サーフェス上にテキストを表示する。
文字列までは必須。

  • CROW
\__w[animation,ID]

ID番号のアニメーションが完了するまで待機。

  • SSP

記述例

\1\s[10]相方側をサーフェス10番に変更。\i[400]アニメーション400番とこの文章を同時に表示開始。\__w[animation,400]この文章はアニメーション400番の表示が終わるまで待ってから表示。

\![bind,カテゴリ名,パーツ名,数値]

着せ替えパーツを着衣、脱衣する。
数値部分は1で着衣、0で脱衣。
パーツ名を空欄にするとカテゴリ単位の動作になる。
数値欄を空欄または省略するとメニュー操作時のようにON/OFFの繰り返しとなる。
スクリプト実行後、SHIORIイベントOnDressupChangedが通知され、その後にSHIORIイベントOnNotifyDressupInfoが通知される。

  • SSP
  • Ninix

記述例

\![bind,head,ribbon,1]本体側の着せ替えとして設定された、headカテゴリのribbonを装着。\1\![bind,arm,,0]相方側の着せ替えとして設定された、armカテゴリのパーツを全て解除。

\![lock,repaint]

\![unlock,repaint]が呼ばれるまで再描画を停止する。
この停止処理はスクリプト終端で自動的に解除される。
ただし、\![lock,repaint,manual]と指定すると、明示的にunlockするまで停止される[2.5.16]

  • Materia
  • SSP
  • Ninix

記述例

\s[0]\i[500]サーフェス0番のアニメーション500番を再生開始。\![lock,repaint]ここで、アニメーションの描画を停止。

\![unlock,repaint]

上記を解除する。

  • Materia
  • SSP
  • Ninix

記述例

\s[0]\i[500]サーフェス0番のアニメーション500番を再生開始。\![lock,repaint]ここで、アニメーションの描画を停止。\![unlock,repaint]ここで、停止中の描画を再開。アニメーションの再生自体は実行されているので、停止中に描画された分は表示されない。

\![set,alignmentondesktop,bottomまたはtop]

現スコープ側サーフェスをデスクトップの指定方向の端に吸着。bottomでデスクトップ下部、topでデスクトップ上部。

ゴースト終了まで有効。

※SSPはalignmenttodesktopのほうも参照すること。

  • Materia
  • SSP
  • CROW

記述例

\![set,alignmentondesktop,bottom]本体側がデスクトップ下部(タスクバーの上)にくっつく。

\![set,alignmenttodesktop,free]

サーフェスを自由移動可能にする。

ゴースト終了まで有効。

  • SSP
  • CROW
  • Ninix

記述例

\![set,alignmenttodesktop,free]本体側がマウスドラッグで位置を自由に移動出来るようになる。

\![set,alignmenttodesktop,方向]

現スコープ側サーフェスをデスクトップの指定した方向に吸着。方向は以下の方法が指定可能。

top
上部に吸着。
bottom
下部に吸着。
left
左部に吸着。
right
右部に吸着。
free
吸着なし。
default
ゴーストのデフォルト設定に戻す。

上または下に吸着した場合、上下方向へのドラッグ移動ができなくなる。
左または右に吸着した場合、左右方向へのドラッグ移動ができなくなる。

ゴースト終了まで有効。

※上記はalignmentondesktopと書いても有効。

  • SSP
  • Ninix

記述例

\1\![set,alignmenttodesktop,top]相方側がデスクトップ上部にくっつく。\![set,alignmenttodesktop,default]相方側の吸着が標準設定に戻る。

\![set,scaling,倍率]

サーフェスの倍率を変更する。

サーフェスの倍率を変更する。単位%。
ユーザの設定する倍率を100%とした倍率。
負数の指定が可能で、-100でその軸方向に反転する。

ゴースト終了まで有効。

  • SSP
  • CROW

記述例

\![set,scaling,50]本体側のサーフェスの大きさが、50%になる。

\![set,scaling,横倍率,縦倍率]

サーフェスの倍率を縦比・横比別それぞれに変更する。単位%。
ユーザの設定する倍率を100%とした倍率。
負数の指定が可能で、-100でその軸方向に反転する。

ゴースト終了まで有効。

  • SSP

記述例

\![set,scaling,50,100]本体側のサーフェスの大きさが、横50%縦100%になる。

\![set,scaling,横倍率,縦倍率,変化時間]

サーフェスの倍率を精密に変更する。
倍率の単位は%、変化時間の単位はミリ秒。

  • CROW
\![set,alpha,数値]

現スコープ側サーフェスを0~100で透明度を変更する。値が小さいほど透明。

ゴースト終了まで有効。

  • SSP

記述例

\0\![set,alpha,0]本体側が透明になり見えなくなる。\1\![set,alpha,50]相方側がだいたい半透明になる。

\![effect,プラグイン名,速度倍率,パラメータ]

サーフェスをプラグインにより変化させる。

  • CROW
\![effect2,追加サーフェスID,プラグイン名,速度倍率,パラメータ]

追加したサーフェスをプラグインにより変化させる。

  • CROW
\![filter,プラグイン名,起動時間,パラメータ]

サーフェスを変化があるたびにプラグインにより変化させる。

  • CROW
\![filter]

上記を解除する。

  • CROW
\4

現スコープのキャラクターが本体側または相方側のキャラクターから離れる方向に一定距離移動。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

移動を実行。\4この文章は、本体側が別スコープと一定距離離れてから表示される。

\5

現スコープのキャラクタが接触する距離まで移動。
移動する必要がない場合は移動しない。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\1相方側にスコープを設定。\5この文章は相方側が別スコープと隣り合う位置まで移動してから表示される。

\![move]

指定座標まで移動。※下記参照

  • SSP
  • CROW

記述例

\![move,--X=80,--Y=-400,--time=2500,--base=screen,--base-offset=left.bottom,--move-offset=left.top]本体側が、画面の左下(screen,left.bottom)から数えて、右方向に80pixel上方向に400pixelの座標に、サーフェスの左上ピクセルを合わせた位置(left.top)へ、2.5秒かけて移動する。

\![moveasync]

指定座標まで非同期移動。※下記参照

\![moveasync]は、動作途中に\![moveasync,cancel]で停止することができる。

  • SSP

記述例

\1\![moveasync,--X=-175,--Y=200,--time=5000,--base=screen,--base-offset=right.top,--move-offset=right.bottom]相方側が、現在表示されているモニタの右上(screen,right.top)から数えて、左方向に175pixel下方向に400pixelの座標に、サーフェスの右下ピクセルを合わせた位置(right.bottom)へ、5秒で移動しようとする。

\1\![moveasync,--X=-175,--Y=200,--time=5000,--base=screen,--base-offset=right.top,--move-offset=right.bottom]相方側が移動開始。\![moveasync,cancel]ここで移動キャンセル。移動中に、別のイベントが発生しその中でキャンセルのさくらスクリプトが実行された場合も、移動をキャンセルできる。ダブルクリックすると移動を中断する、という演出などに使える。

\![set,position,x,y,スコープID]

指定スコープをXY座標に固定する。(ドラッグ等を不可能にする)

  • CROW
\![reset,position]

上記を解除する。

  • CROW
\![set,zorder,スコープID,スコープID,...]

指定スコープのウインドウを左側から順に手前側に配置する。
例:\![set,zorder,1,0]と指定すると、必ず\1が\0ウインドウより手前に表示される。

それぞれスコープIDの違うタグを複数回実行すると、複数のグループが作れる。
例:\![set,zorder,1,0] \![set,zorder,3,2] と実行すると、\1が\0より前、\p[3]が\p[2]より前に表示される。

指定できるスコープIDの数に制限はないが、大量に指定するとちょっと重くなるので、2~3個程度が望ましい。
すでにペアにしたスコープIDを含むタグを実行するとエラーとなる。組み合わせを変える場合は\![reset]タグを使ってからやり直すこと。

ゴースト終了まで有効。

  • SSP 2.3.77

記述例

\![set,zorder,1,0]相方側が、必ず本体側の手前に表示される。

\![reset,zorder]

上記を解除する。複数回実行された分、descriptであらかじめ指定された分も含めて、全部リセットされる。

  • SSP 2.3.77

記述例

\![reset,zorder]ウインドウの表示を解除する。ユーザが最後に操作したものが最も手前に表示される。

\![set,sticky-window,スコープID,スコープID,...]

指定スコープのウインドウをドラッグ中やmoveタグを実行中にセットで動くようにする。
例えば1,0と指定すると、マウスのドラッグ移動などを実行した時、\0(相方側)と\1(本体側)ウインドウがセットで移動するようになる。

それぞれスコープIDの違うタグを複数回実行すると、複数のグループが作れる。
例:\![set,sticky-window,1,0] \![set,sticky-window,3,2] と実行すると、\1と\0がセット、\p[3]と\p[2]がセットになる。

指定できるスコープIDの数に制限はないが、大量に指定するとずいぶん重くなるので、2~3個程度が望ましい。
すでにペアにしたスコープIDを含むタグを実行するとエラーとなる。組み合わせを変える場合は\![reset]タグを使ってからやり直すこと。

\![set,alignmenttodesktop]などでウインドウ位置に制限がある場合は、その制限が優先され、X,Yのうち自由に動かせるものだけが追従する。
\![move]タグでグループ化したウインドウ内の1つを動かした場合でも、他のウインドウも追従する。
ただし、moveタグの --option=ignore-sticky-window で単独移動可能になる。

ゴースト終了まで有効。

  • SSP 2.3.77

記述例

\![set,sticky-window,1,0]相方側が、本体側とセットで動く。

\![set,sticky-window,0,1,2]本体側と相方側と3人目がセットで動く。

\1\![move,40,100,0,0,left.top,left.top]相方側の左上を、本体側の左上に合わせた後、右へ40pixel下へ100pixel移動させる。\![set,sticky-window,1,0]その状態で、相方側と本体側をセットで動くようにする。

\![reset,sticky-window]

上記を解除する。複数回実行された分、descriptであらかじめ指定された分も含めて、全部リセットされる。

  • SSP 2.3.77

記述例

\![reset,sticky-window]セットで動く設定を解除する。これ以降、ドラッグ移動時など個別に移動するようになる。

\![move]、\![moveasync]について

新仕様:(SSP 2.3.85以降)

\![move(async),--X=X座標,--Y=Y座標,--time=移動時間,--base=移動基準,--base-offset=基準とするキャラ基準位置,--move-offset=動かすキャラ基準位置,--option=オプション]

どれも省略可能。また、順番が変わっても良い。指定名の大文字・小文字は無視される(たとえば--x=10と書いてもよい)

旧仕様:

\![move(async),X座標,Y座標,移動時間,移動基準,基準とするキャラ基準位置,動かすキャラ基準位置]

移動時間以降は省略可能。

X座標、Y座標は目的の座標を指定。
負の値も指定可能。
どちらかを省略するか、"fix"と指定した場合は、その座標を保持する。
省略時は"fix"

移動時間はミリ秒単位。
移動時間を省略、もしくは0を指定した場合は瞬時に移動。
省略時0

基準位置は、移動の基準(相対座標の原点)とするキャラクターなど。
指定方法は以下。
省略時screen

screen
現在キャラクターウィンドウがあるモニタの左上を原点とした座標。初期値
primaryscreen
メインモニタ(ID=1)の左上を原点とした座標。
ID
0,1等で指定したID番スコープ(\0,\1,\p[2]などの数に相当)のキャラクターとの相対座標
本体側名/ID
本体側名(sakura名,\0名)で指定した他のゴーストの、ID番スコープのキャラクターとの相対座標
me
移動するキャラクター自身との相対座標
primaryscreen
主モニター左上を原点とした座標
global
システム座標系(windowsの場合primaryscreenと同じ)

基準とするキャラ基準位置は、移動基準にキャラクターやscreenを指定した場合に、そのどこを原点とするかを指定する。
X基準.Y基準、という形で指定し、それぞれ
X基準:left,right,base,center
Y基準:top,bottom,base,center
の4つの指定を組み合わせ、right.base、などのように記述する。
なお、baseはsurfaces.txt内のpoint.basepos指定に従う。
省略時left.top

screen指定の場合はbase、global指定の場合はright,bottom,centerが利用できない。

動かすキャラ基準位置は、基準とするキャラ基準位置と同じように指定する。

オプションは複数回指定できる。指定方法は以下。新仕様の書式のみ指定可能。

ignore-sticky-window
\![set,sticky-window]での連携設定を無視して単独で動かす

バルーン、テキストコマンド

\bID番号

現スコープ側のバルーンをID番号のバルーンに変更する。
この場合0~9のみ使用可能。
奇数はキャラクターの右側に表示するためのバルーンのために予約されているため、使えるIDは0または偶数のみ。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\b2本体側のトークをバルーン2番に表示する。バルーンによって実装状況は異なり、バルーン2番が存在しない場合もある。SSP同梱バルーン「SSPデフォルト+」では、本体側バルーン2番は表示文字数の多い大きなバルーンとなるが、サイズの決まりはないため、これを使う際は推奨バルーンを指定する・専用バルーンを同梱するなどが必要。

\b[ID番号]

現スコープ側のバルーンをID番号のバルーンに変更する。
奇数はキャラクターの右側に表示するためのバルーンのために予約されているため、使えるIDは0または偶数のみ。
\b[-1]でバルーンを非表示。

SSP 2.6.34より、 \b[ID1,--fallback=ID2,--fallback=ID3] のように記述すると、ID1がないときはID2、それもないときはID3、という挙動になる。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\b[2]本体側のトークをバルーン2番に表示する。バルーンによって実装状況は異なり、バルーン2番が存在しない場合もある。SSP同梱バルーン「SSPデフォルト+」では、本体側バルーン2番は表示文字数の多い大きなバルーンとなるが、サイズの決まりはないため、これを使う際は推奨バルーンを指定する・専用バルーンを同梱するなどが必要。

\_b[ファイルパス,x,y]

画像をバルーンのXY座標に貼り付ける。画像は文字の下に表示される。
左上ピクセルの色が透過色となる。
[実行したゴーストのフォルダ]/ghost/masterが基準のフォルダとなる。
※SSPのみファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、※下記参照
※SSPのみ画像URLを指定可能。
※SSPのみプラグインフォルダ内のファイルも探索する。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_b[image\test.png,50,100]本体側バルーンに、[実行したゴーストのフォルダ]/ghost/master/imageフォルダにあるtest.pngを左上のpixelを透過色として、バルーン内座標X:50,Y:100に表示する。

\_b[ファイルパス,x,y,opaque]

画像をバルーンのXY座標に貼り付ける。画像は文字の下に表示される。
左上の色を透過しないで表示する。
[実行したゴーストのフォルダ]/ghost/masterが基準のフォルダとなる。
※ファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、※下記参照

  • SSP

記述例

\_b[..\..\shell\master\surface0.png,0,15,opaque]本体側バルーンに、[実行したゴーストのフォルダ]/shell\masterフォルダにあるsurface0.pngを、バルーン内座標X:0,Y:15に、透過せずに表示する。

\_b[ファイルパス,x,y,オプション,オプション...]

画像をバルーンのXY座標に貼り付ける。
[実行したゴーストのフォルダ]/ghost/masterが基準のフォルダとなる。
※ファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、※下記参照

オプション

--option=opaque
左上の色を透過しないで表示する。
--option=use_self_alpha
アルファチャンネル付きのPNGを透過して表示する。
--clipping=左 上 右 下
画像の一部分を矩形に切り抜いて表示する。
切り抜く範囲は左上右下と数値で指定。
--option=fixed
スクロールした時に画像を動かさない。
--option=background
文字の下に画像を表示する。このオプションで、文字の背景として画像を使用することができる。
画像よりもバルーンの透明度を優先して合成表示される。
--option=foreground
画像を前面に表示する。
バルーンよりも画像の透明度を優先して合成表示される。[SSP 2.6.54~]
  • SSP

記述例

\_b[test.png,10,20,--option=use_self_alpha,--clipping=100 30 150 90,--option=foreground]本体側バルーンに、[実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.pngを、バルーン内座標X:10,Y:20に、ファイルの透過情報付きpngとして、画像の横100~150pixel縦30~90pixelの範囲を、バルーンの文字の上に表示する。

\_b[ファイルパス,inline]

バルーンのテキスト行内に1文字分扱いとして画像を貼り付ける。
[実行したゴーストのフォルダ]/ghost/masterが基準のフォルダとなる。
※ファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、※下記参照

  • SSP
  • Ninix

記述例

本体側バルーンに、[実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.png\_b[test.png,inline]を、現在のバルーン内の文字表示位置に、左上のドットを透過色として、表示する。

\_b[ファイルパス,inline,opaque]

バルーンのテキスト行内に1文字分扱いとして画像を貼り付ける。
左上の色を透過しないで表示する。
[実行したゴーストのフォルダ]/ghost/masterが基準のフォルダとなる。
※ファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、※下記参照

  • SSP

記述例

本体側バルーンに、\_b["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAAl0lEQVR42oVSCQ7AIAiDl6MvZyCMQ122JQSh5agiM0P/JmL4dGQxCIEjruSd6QRBE7D86nRCibMTTvScQPTazsEBfgaECUoQHAyfzXytLbMtTutQOdZhQ2uHc4dNlssOTrBWr40q2tNsXTq186myikUCsJYuU1bV81g2TJUs7bm8WC8fmKtKXC4O/1XaCVeVYmL6eIsRfwDNfLdu1l4zPAAAAABJRU5ErkJggg==",inline,opaque]文字と同じ扱いとして、base64エンコード(文字列化)した画像データを、透過せずに表示する。

\_b[ファイルパス,inline,オプション,オプション...]

バルーンのテキスト行内に1文字分扱いとして画像を貼り付ける。
[実行したゴーストのフォルダ]/ghost/masterが基準のフォルダとなる。
※ファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、※下記参照

オプション

--option=opaque
左上の色を透過しないで表示する。
--option=use_self_alpha
アルファチャンネル付きのPNGを透過して表示する。
--clipping=左 上 右 下
画像の一部分を矩形に切り抜いて表示する。
切り抜く範囲は左上右下と数値で指定。
--option=background
画像よりもバルーンの透明度を優先して合成表示される。[未指定時の標準仕様]
--option=foreground
バルーンよりも画像の透明度を優先して合成表示される。[SSP 2.6.54~]

記述例

本体側バルーンに、[実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.png\_b[test.png,inline,--option=use_self_alpha,--clipping=100 30 150 90]を、文字扱い、ファイルの透過情報付きpngとして、画像の横100~150pixel縦30~90pixelの範囲を表示する。

  • SSP
\n

バルーン内の文字を改行。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

文章が\n改行されて表示される。

\n[half]

通常の半分の高さで改行。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

文章が\n[half]半行改行されて表示される。\n\n[half]1行半の改行をすることで段落のような表現が出来る。

\n[パーセント]

通常のパーセント分改行する。負の値を指定すると戻る ※SSP 2.3.97より。

  • SSP
  • CROW

記述例

文章が\n[150]1行半改行されて表示される。

文章が\n[-250]2行半分戻る。

\_n

次の\_nがくるまで自動改行されない。

  • Materia
  • SSP

記述例

\_nここに書かれた文章は改行されない。バルーンの表示領域を超えた場合は、表示されない。\_n

\c

現スコープ側のバルーン内の文字をクリア。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\1相方側に文章表示。\0本体側に文章表示。現スコープのバルーン内の表示を全て消す。\cその後、左上(初期位置)から表示する。

\c[char,数値]

現スコープ側のカーソル位置から指定文字数をクリア。クリアされる文字は、バルーン表示位置に関係なく、スクリプト内の出現順が参照される。\_b[ファイルパス,inline]で貼り付けた画像は1文字扱いとなりクリアされる。

  • SSP

記述例

トークを3文字削除\c[char,3]削除終了。

\c[char,数値,開始位置]

現スコープ側の指定位置から指定文字数をクリア。開始位置は0オリジン(1文字目なら0、2文字目なら1)。クリアされる文字の判定は\c[char,数値]と同じ。

  • SSP

記述例

トークの5文字目から、3文字削除\c[char,3,4]削除終了。

\c[line,数値]

現スコープ側の、バルーンのカーソル位置から指定行数をクリア。
トークを\_l[x,y],\n,\n[half],\n[パーセント]で分割したものが「行」の扱い。ただし、\n\nなど、\_l[x,y]以外で分割された内容のないものは行とみなされない。
\c[char,数値]と同様に、スクリプト内の出現順が参照される。

  • SSP

記述例

トークを1行削除。\nこの行が削除される。\c[line,1]削除終了。\nこの行は削除される。\n\n\n\n\n\c[line,1]削除終了。\nこの行は削除されない。\_l[0,0]\c[line,1]削除終了。

\c[line,数値,開始位置]

現スコープ側の開始位置(行数)から、指定行数をクリア。開始位置は0オリジン(1行目なら0、2行目なら1)。クリアされる行の判定は\c[line,数値]と同じ。

  • SSP

記述例

トークを3行目から、\n1行削除。\nこの部分が\_l[,]削除される。\c[line,1,2]削除終了。

\_l[x,y]

現スコープ側のカーソル位置をXYの座標に移動する。X,Yについては、以下の定義方法が可能である。
\_l実行直後には、トラブル防止のため行揃えが左揃えにリセットされる点に注意。必要に応じて再度指定しなおすこと。

数値
バルーンの文字描画範囲左上からのピクセル単位座標
(省略)
移動しない。X,Y両方ともに省略すると無効果。
XXem
後ろにemとつけると、文字高さを基準とした座標指定となる。1em=タグを書いた時点での文字高さ。小数点指定可能。
XXlh
後ろにlhとつけると、行高さを基準とした座標指定となる。1lh=1em+行間 小数点指定可能。
XX%
後ろに%とつけると、文字高さを基準とした座標指定となる。100%=タグを書いた時点での文字高さ。小数点指定可能。
@XX
現在の文字描画位置からの相対座標となる。Xがマイナス値だと左、Yがマイナス値だと上。emや%指定との共存可能。
  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_l[30,5em]「座標X=30pixel、座標Y=5文字分高さ」に表示。\_l[@-1650%,100]「座標X=最後の文字から文字高さ1650%分左、座標Y=100pixel」に表示。\_l[,@-100]「座標X=変更なし、座標Y=最後の文字から100pixel上」に表示。

\C

先頭に記述すると直前に表示したバルーンのテキストに追記をする。スコープも前回の最後の状態が反映される。

  • SSP
  • Ninix

記述例

\Cこの文章は前回のトークの後ろに追記される。スコープも前回の最後の状態が反映されるので注意。

\![set,autoscroll,disable]

バルーンの自動スクロールを停止する。手動でのスクロールは可能。

  • Materia
  • SSP
  • Ninix

記述例

\![set,autoscroll,disable]スクロールロック。\n[5000]ロック中はこの文字は見えない。

\![set,autoscroll,enable]

上記を解除する。

  • Materia
  • SSP
  • Ninix

記述例

\![set,autoscroll,disable]スクロールロック。\n[5000]ロック中はこの文字は見えない。\![set,autoscroll,enable]スクロール解除。

\![set,balloonoffset,x,y]

バルーンのオフセット値をXY座標に変更。この値にユーザーがバルーンドラッグ移動で決定した座標が加算され、バルーン表示座標が決まる。
通常に数値を指定すればdescript.txtのデフォルトのoffset値は無視されるが、頭に@をつけるとdescript.txtやsurfaces.txt内のオフセット値からの相対座標指定となる。

  • SSP
  • Ninix

記述例

\![set,balloonoffset,100,-50]バルーン位置の基準点をX:100,Y:-50に移動。

\![set,balloonoffset,@100,@-50]バルーン位置の基準点をdescript.txtやsurfaces.txtの指定プラスX:100,Y:-50(相対座標)に移動。

\![set,balloonalign,ID]

バルーンを下記IDの表示方向へ切り替える。IDは以下の方法が定義可能である。
下記の位置を基準に、シェルのdescript.txtのballoon.offsetx及びballoon.offsetyの値surfaces.txtのballoon.offsetx及びballoon.offsetyの値が反映される。初期値none。

ゴースト終了まで有効。

left
シェルの左上座標に、バルーンの右上座標が接する。
center
シェルの中央上座標に、バルーンの中央下座標が接する。
top
centerと同じ。
right
シェルの右上座標に、バルーンの左上座標が接する。
bottom
シェルの中央下座標に、バルーンの中央上座標が接する。
none
座標によってleftとrightが入れ替わる。シェルのドラッグ移動後、バルーンが見切れる場合、スイッチする。
上記以外
noneと同じ。
  • SSP

記述例

\0\![set,balloonalign,top]本体側バルーンを、シェルの頭上に表示。\1\![set,balloonalign,right]相方側バルーンを、シェルの右側に表示。

\![set,balloonmarker,マーカー表示文字列]

SSTP受信時に表示するマーカー文字列を表示する。
表示先は現在のスコープが所属するバルーン。
表示文字列は省略可。消去する場合は引数を省略するか空欄にする。

ゴースト終了か、SSTP受信など本来この部分を使う機能が発動するまで有効。

  • SSP 2.6.67
\![set,balloonnum,ファイル名,現在の数,最大数]

ファイル受信時に表示されるデータ書式を表示する。
表示先は現在のスコープが所属するバルーン。
各引数は省略可。消去する場合は全引数を省略するか空欄にする。
2.6.67より\1側バルーン以降にも出せるようになった。

ゴースト終了か、ネットワーク更新など本来この部分を使う機能が発動するまで有効。

  • SSP

記述例

\![set,balloonnum,テスト表示,1,5]ファイル受信時の表示テスト。\![set,balloonnum,,,]表示内容削除。

\![set,balloontimeout,時間]

バルーン表示のタイムアウトの時間を指定する。単位はミリ秒。
タイムアウトの時間はスクリプトの表示が終わってからカウントされる。0または負数でタイムアウトなし。
そのスクリプト中のみ有効。

時間指定を省略:デフォルト値に戻す
時間指定が0か-1:タイムアウトしない

  • SSP

記述例

\![set,balloontimeout,3000]このトークは、喋り終わってから3秒でバルーンが閉じる。

\![set,balloonwait,倍率]

バルーン表示の文字列が流れる表示の速度(文字ごとのウエイト)の倍率を指定する。
数値のみ:0~100を指定可能。1で等倍。小数点指定可。例:1.5指定で5割増の遅さ。
後ろに%:0~10000を指定可能。100で等倍。0以上の整数のみ。
後ろにms:0~10000を指定可能。1文字あたりの待機時間をミリ秒単位で絶対値指定。

指定を省略するか指定が1:デフォルト値に戻す
指定が0:常時即時表示

スクリプト実行終了後に100%指定相当にリセットされる。

  • SSP
\![*]

マーカーを表示する。マーカーはバルーンによって設定されている。

  • Materia
  • SSP
  • Ninix

記述例

\![*]マーカーをつける。

\![enter,onlinemode]

オンラインマーカーを強制的に表示する。相方側に表示内容があり、本体側バルーンに表示内容がない場合でも、本体側バルーンが表示される。

ゴースト終了まで有効。

  • SSP

記述例

\0\![enter,onlinemode]本体側のバルーンにオンラインマーカーが表示される。

\![leave,onlinemode]

オンラインマーカーを強制的に非表示にする。

  • SSP

記述例

\0\![enter,onlinemode]この文章の表示中は、本体側のバルーンにオンラインマーカーが表示される。\![leave,onlinemode]ここで消える。

\![enter,nouserbreakmode]

スクリプト実行中断(操作はSSPの設定次第。通常、バルーンダブルクリック)の無効化モード開始。
通常のSSTPでは使用不可(Auth.SSTP(= Owned SSTP)は可)。

  • SSP

記述例

\![enter,nouserbreakmode]この文章中は、スクリプトブレークできない。

\![leave,nouserbreakmode]

上記を解除する。

  • SSP

記述例

\![enter,nouserbreakmode]この文章中は、スクリプトブレークできない。\![leave,nouserbreakmode]ここからブレーク出来るようになる。

\![lock,balloonrepaint]

\![unlock,balloonrepaint]が呼ばれるか、スクリプト終端までバルーンの再描画を停止する。
この停止処理はスクリプト終端で自動的に解除される。
ただし、\![lock,balloonrepaint,manual]と指定すると、明示的にunlockするまで停止される[2.5.16]

  • SSP

記述例

\![lock,balloonrepaint]この文章はスクリプト実行が終わるまで表示されない。

\![unlock,balloonrepaint]

上記を解除する。

  • SSP

記述例

\![lock,balloonrepaint]この文章の描画はされない。\![unlock,balloonrepaint]ここで描画が再開され、前の文章も描画される。

\![lock,balloonmove]

\![unlock,balloonmove]が呼ばれるまで、バルーンのユーザーによるドラッグ移動を抑制する。
descript.txt上でsakura.balloon.dontmoveのように恒久的に指定可能。
ユーザーの操作を阻害するので、濫用しないこと。

  • SSP 2.4.96
\![unlock,balloonmove]

上記を解除する。descript.txtですでに指定されている場合は解除できない。

  • SSP 2.4.96
\_!

[旧仕様]次の\_!までタグを実行せずにそのまま表示する。

\_?

次の\_?までタグを実行せずにそのまま表示する。

  • SSP

記述例

\_?\1この文章はさくらスクリプトが実行されず\nそのまま表示される。\_?

\__v[オプション]

次の\__vまでの文字列に対して、音声合成機能の発声内容を調整する。
\__v[disable]:音声合成無効
\__v[alternate,文字列]:読み方の違う単語に対して、正しい発声文字列を指定する。文字列は誤認識されないようひらがなが望ましい。

  • SSP 2.4

記述例

\1\__v[disable]この文章は音声合成機能でしゃべらない。\__v

\_b[ファイルパス,...]について

パスは絶対パスの他、栞本体からの相対パスでも可。

※SSPのみ可、ファイル名等のパスには環境変数も使える。

base64を使用する場合
例:"data:image/png;base64,iV~II"
exe/dllのリソースを使用する場合
例:D:\hogehoge.exe,20
exe/dllのリソースを使用する場合(リソースID指定)
例:D:\hogehoge.exe,-10

文字変更コマンド

\f[align,寄せる側]

文字列の右寄せ(\f[align,right])・中央揃え(\f[align,center])・左寄せ(\f[align,left])を設定する。
この設定は、次の\nや\_lなどの「意図的な改行」が来るまで影響する。
また、文字等の追加の途中でこのコマンドを実行すると、すでに追加された同じ行に属する文字列も移動される。
\_lタグが来た場合は左寄せに戻る。
また、\_lタグで移動後に\f[align]タグで中央揃えを設定した場合、\_lタグのX座標分インデント処理されたと仮定して中央揃え処理される。

  • SSP 2.5.31

記述例

\f[align,center]これは中央揃え。\n\f[align,right]これは右揃え。\n\f[align,left]左揃えのつもりが\w9\w9\f[align,right]右揃えに。

\f[valign,寄せる側]

文字列の下揃え(\f[valign,bottom])・縦中央揃え(\f[valign,center])・上揃え(\f[valign,top])を設定する。
文字等の追加の途中でこのコマンドを実行すると、すでに追加された同じ行に属する文字列も移動される。
alignと異なり、\nや\_lではリセットされない。

  • SSP 2.6.19
\f[name,フォント名]

テキストフォントを指定したフォント名に変更する。
defaultを指定した場合、または指定したフォント候補が全てない場合は、バルーン設定の標準(SSP設定でバルーンフォント上書きしている場合はそちら)に戻る。
disableを指定した場合、無効表示と同じフォントに設定される。
フォント名には、[実行したゴーストのフォルダ]/ghost/master以下や現在のバルーンのフォルダに置いたフォントファイルも指定可能。
カンマ区切りでフォント名を複数指定可で、書いた順=優先度順で自動的にインストールされている中から選択する(SSPのみ)。

  • SSP

記述例

\f[name,メイリオ,meiryo.ttf]メイリオがインストール済みならメイリオ、そうでなければmeiryo.ttf、それもなければデフォルトフォントで表示される。

\f[height,数値]

これテキストを指定した文字サイズに変更する。
+や-による相対的な変更が可能。
スタイルシートのサイズ指定も可能。
defaultを指定するとバルーン設定の標準に戻る。

  • SSP
  • Ninix

記述例

\f[height,15]15pixelで表示。\f[height,+3]3pixel大きくする。\f[height,200%]デフォルトサイズの200%で表示。\f[height,default]元のサイズに戻す。

\f[color,色指定]

文字色を変更。
指定方法については※下記参照

  • SSP
  • Ninix

記述例

\f[color,red]赤色で表示。\f[color,100,150,200]色指定で表示。\f[color,default]バルーンのデフォルト色に戻す。

\f[shadowcolor,色指定]

文字の陰落ち色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[shadowcolor,#ffff00]文字の影の色を黄色で表示。\f[shadowcolor,default]バルーンのデフォルト色に戻す。

\f[shadowcolor,none]

文字の陰落ち色を無効化。

  • SSP

記述例

\f[shadowcolor,none]文字の影自体をなくして表示。\f[shadowcolor,default]バルーンのデフォルトに戻す。

\f[shadowstyle,形態指定]

文字の陰落ち表現の形態を変更する。offsetで右下にずれた表示、outlineで縁取りした表示になる。

  • SSP 2.5.27

記述例

\f[shadowcolor,#ffff00]\f[shadowstyle,outline]文字の周囲を黄色で縁取りして表示。\f[shadowstyle,default]\f[shadowcolor,default]バルーンのデフォルトに戻す。

\f[outline,パラメータ]

パラメータにtrueまたは1を指定すると白抜き。
パラメータにfalseまたは0を指定すると無効。
defaultを指定するとバルーン設定の標準に戻る。
disableを指定すると無効表示と同じ設定になる。

  • SSP

記述例

\f[height,30]\f[outline,1]白抜きにする。\f[outline,default]バルーンのデフォルト設定にもどす。

\f[anchor.font.color,色指定]

アンカー文字色を変更。
指定方法については※下記参照

  • SSP

記述例

\_a[OnTest]色変え前のアンカー\_a\n\f[anchor.font.color,50%,90%,20%]\_a[OnTest2]色変え後のアンカー\_a

\f[bold,パラメータ]

パラメータにtrueまたは1を指定すると太字。
パラメータにfalseまたは0を指定すると無効。
defaultを指定するとバルーン設定の標準に戻る。
disableを指定すると無効表示と同じ設定になる。
フォントが対応していない場合、太字にならない。

  • SSP
  • Ninix

記述例

\f[bold,1]太字にする。\f[bold,default]バルーンのデフォルト設定にもどす。

\f[italic,パラメータ]

パラメータにtrueまたは1を指定するとイタリック(斜体) Sample
パラメータにfalseまたは0を指定すると無効。
defaultを指定するとバルーン設定の標準に戻る。
disableを指定すると無効表示と同じ設定になる。
フォントが対応していない場合、斜体にならない。

  • SSP
  • Ninix

記述例

\f[italic,1]This is italic.\f[italic,default]バルーンのデフォルト設定にもどす。

\f[strike,パラメータ]

パラメータにtrueまたは1を指定すると打ち消し線 サンプル
パラメータにfalseまたは0を指定すると無効。
defaultを指定するとバルーン設定の標準に戻る。
disableを指定すると無効表示と同じ設定になる。

  • SSP
  • Ninix

記述例

\f[strike,1]文字に打ち消し線を引く。\f[strike,default]バルーンのデフォルト設定にもどす。

\f[underline,パラメータ]

パラメータにtrueまたは1を指定すると下線を引きます
パラメータにfalseまたは0を指定すると無効。
defaultを指定するとバルーン設定の標準に戻る。
disableを指定すると無効表示と同じ設定になる。

  • SSP
  • Ninix

記述例

\f[underline,1]文字に下部線を引く。\f[underline,default]バルーンのデフォルト設定にもどす。

\f[sub,パラメータ]

パラメータにtrueまたは1を指定すると下付き文字 サンプル
パラメータにfalseまたは0を指定すると無効。
defaultを指定するとバルーン設定の標準に戻る。
disableを指定すると無効表示と同じ設定になる。

  • SSP
  • Ninix

記述例

文字を\f[sub,1]下付き文字にする。\f[sub,default]バルーンのデフォルト設定にもどす。

\f[sup,パラメータ]

パラメータにtrueまたは1を指定すると上付き文字 サンプル
パラメータにfalseまたは0を指定すると無効。
defaultを指定するとバルーン設定の標準に戻る。
disableを指定すると無効表示と同じ設定になる。

  • SSP
  • Ninix

記述例

文字を\f[sup,1]上付き文字にする。\f[sup,default]バルーンのデフォルト設定にもどす。

\f[default]

全てのバルーン属性をデフォルトに戻す。

  • SSP
  • Ninix

記述例

\f[shadowcolor,#6699cc]色々な\f[bold,1]装飾を\f[underline,1]した\f[height,20]文字を\f[default]全てバルーンのデフォルト設定に戻す。

\f[disable]

全てのバルーン属性を無効なテキスト表示に戻す。

  • SSP 2.5.51
  • Ninix

ウエイトコマンド

\w時間

時間x50ms分の時間ウェイト。設定出来るのは1-9。\w10は、50msウェイト後に文字「0」がバルーンに表示される。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

0.45秒のウェイトをかける。\w9\nその後、1秒のウェイトをかける。\w9\w9\w2ウェイト終了。

\_w[時間]

精密ウエイト。[時間]ms。

  • SSP
  • CROW
  • Ninix

記述例

1.234秒のウェイトをかける。\_w[1234]ウェイト終了。

\__w[時間]

再生開始、または\xから指定ミリ秒数が経つまで待機。
\__w[clear]で時間リセット。

  • SSP

記述例

1\_w[1000]2\__w[2500]3。最初に1000msウェイトし、その後、累計2500msウェイトする(この場合、[2500-1000-2文字分の表示時間]で約1500ms)。文字表示にかかった時間(SSPユーザー設定で可変)も加味されるため、スクリプト開始時からの精密なウェイトをかけることができる。クリアかクリック待ちが実行された時点で0からカウントしなおす。\__w[clear]\__w[500]ここで0.5秒のウェイトがかかる。

\x

バルーンをクリック待ちにする。
クリック後、スコープはリセットされ\0となり、\f(文字装飾)系のさくらスクリプトの効果も解除される。\eで解除されるさくらスクリプトは継続。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\1ここで相方が\f[bold,1]トークする。\xクリック後、スコープはデフォルトの本体側に戻り、フォント変更のさくらスクリプトは解除される。

\x[noclear]

バルーンを一時クリック待ちにする。
クリック後、バルーンの内容とスコープは保持される。
\xと違い、\f(文字装飾)系のさくらスクリプトの効果は残る。

  • SSP

記述例

\1ここで相方が\f[bold,1]トークする。\x[noclear]クリック後、スコープも文字装飾系のさくらスクリプトは有効。

\t

タイムクリティカルセクション。
スクリプトブレーク(例:選択肢を選ぶ、バルーンダブルクリックによる中断)か\eまでの間、マウス系などのイベント通知を行わない。
\tを再度記述しても解除されないので注意。
どうしても途中で解除したい場合は、\![raise,イベント名]を用いて一旦スクリプトを終了させ、別のイベントを発生させる。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

この文章表示中はマウス反応を受け付ける。\tこれ以降スクリプト再生終了まで受け付けない。

\_q

クイックセクション。
次の\_qか\eまでメッセージがノーウェイトで表示される。
ただし、ウェイトのかかるさくらスクリプト全般は実行され、瞬間表示中もウェイトがかかる。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_q文字を瞬間表示する。里々等、自動でウェイトが挿入される場合は注意。\_q

\![quicksection,true]

クイックセクションを開始する。\![quicksection,1]でも可。
\_qとほぼ互換で、スイッチ式でなく開始を指定出来るのが違い。

  • SSP
  • Ninix

記述例

\![quicksection,1]文字を瞬間表示する。これもウェイトタグは実行される。

\![quicksection,false]

クイックセクションを終了する。\![quicksection,0]でも可。
\_qとほぼ互換で、スイッチ式でなく終了を指定出来るのが違い。

  • SSP
  • Ninix

記述例

\![quicksection,1]文字を瞬間表示する。これもウェイトタグは実行される。\![quicksection,0]また、クイックセクションのさくらスクリプトは\![quicksection,1]混ぜて使っても有効。\_q

\_s

シンクロナイズセクション。
次の\_sか\eまでメッセージを両バルーンに表示する。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_s本体側と相方側が同時に喋る。\_s

\_s[ID1,ID2,ID3...]

IDのスコープをシンクロナイズセクションする。

  • SSP

記述例

\_s[0,2,3]本体側と3人目のキャラと4人目のキャラが同時に喋る。\_s

\![wait,syncobject,同期オブジェクト名,タイムアウト時間]

指定した名前つき同期オブジェクト(Windows上の場合はMutex,Semaphore,Event)がシグナル状態になるまで待機する。
Mutexは待機後解放、Semaphoreは待機後1解放、Eventは取得後特に何も操作しない。
タイムアウト時間は省略または0で(スクリプトブレークされるまで)無限待機、1以上を指定すると指定ミリ秒間待機。

  • SSP

選択肢コマンド

\q[タイトル,ID]

選択肢を表示。
選択後、SHIORIイベントOnChoiceSelectが開始される(SSPのみそれに先立ってOnChoiceSelectExが開始される)。
IDはReference0に格納される。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

さくらスクリプトは好き?\q[好き,Like]\q[嫌い,Hate]。選択時に発生するOnChoiceSelectのReference0に、選んだものによって「like」か「hate」が格納されている。

\q[タイトル,OnID,r0,r1,...]

選択肢を表示。
上記のようにIDが"On"で始まっている場合は、選択後、SHIORIイベントOnID(書いた通りのイベント)が開始される。
それパラメータはr0,r1,...の順番にReference0以降に格納される。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

好きな季節は?\q[春,OnLikeSeason,花見,桜]\q[夏,OnLikeSeason,花火,ひまわり]\q[秋,OnLikeSeason,月見,菊]\q[冬,OnLikeSeason,年越し,山茶花]。選択時に、OnLikeSeasonイベントが発生し、例えば「春」を選択したならReference0に「花見」、Reference1に「桜」が格納されている。

\q[タイトル,ID1,ID2,ID3...]

選択肢を表示。
選択後、SHIORIイベントOnChoiceSelectが開始される。
ID*はReference*に格納される。

  • CROW
\q[タイトル,ID,r2,r3...]

選択肢を表示。
選択後、SHIORIイベントOnChoiceSelectExが開始される。
r*はOnChoiceSelectExのReference*に格納される。
OnChoiceSelectExに続いてOnChoiceSelectも発生するが、Reference1以降に何も入らずこの書き方では無意味。

  • SSP

記述例

好きな季節は?\q[春,LikeSeason,花見,桜]\q[夏,LikeSeason,花火,ひまわり]\q[秋,LikeSeason,月見,菊]\q[冬,LikeSeason,年越し,山茶花]。選択時に、OnChoiceSelectExイベントが発生し、例えば「秋」を選択したなら、Reference0に「秋」、Reference1に「LikeSeason」、Reference2に「月見」、Reference3に「菊」が格納されている。

\q[タイトル,script:実行内容]

選択肢を表示。
選択後、script:以下の内容をさくらスクリプトとして実行する。

  • SSP

記述例

\q[バルーンを閉じる,script:\e]\n入れ子も可能。\n\q[その1,"script:\q[その2,script:その3はない]"]

\q[ID][タイトル]または\q*[ID][タイトル]

[旧仕様]選択肢を表示。*は通し番号
選択後、ID番号のSHIORIイベントが開始される。
上記のものとは違い選択肢は改行される。

\z

[旧仕様]選択肢を含むスクリプトにおける\e

\__q[ID,...]

\__qがくるまでの範囲を選択肢とする。
ID仕様は、Onやscript:で始まるものが特別扱いされる点や、ID引数の扱いまで含めて\qと同じ。
実行後に発生するSHIORI Eventも同様。

  • SSP
  • Ninix

記述例

\__q[OnTest,testreference]間にさくらスクリプトも挟める。\n改行、\_l[50,50]カーソル移動も可能で、画像を貼れば画像が選択肢になる。\__qこの例の場合、IDが「On」から始まっているため、選択時にOnTestイベントが発生し、reference0には「testreference」が格納されている。

\*

これが記述されたスクリプトでは、選択肢はタイムアウトされない。
そのスクリプト中のみ有効。選択肢より後ろに書いても有効。

  • Materia
  • SSP
  • CROW

記述例

\q[タイムアウトしない選択肢,NotTimeout]\*。選択時は通常通り、OnChoiceSelectExイベント(トークがなければOnChoiceSelectイベント)が発生する。

\![set,choicetimeout,時間]

選択肢のタイムアウトの時間を指定する。単位はミリ秒。
時間のカウントはトークの表示が全て終わってから開始される。
そのスクリプト中のみ有効。選択肢より後ろに書いても有効。
選択肢がタイムアウトした場合、OnChoiceTimeoutイベントが発生する。

時間指定を省略:デフォルト値に戻す
時間指定が0か-1:タイムアウトしない

  • Materia
  • SSP
  • CROW

記述例

\q[早押し,FastPush]\![set,choicetimeout,500]

\_a[ID]

\_aがくるまでの範囲をアンカーとする。選択肢タイムアウトしないが、通常トーク同様バルーンタイムアウトする。
ジャンパをクリックするとSHIORIイベントOnAnchorSelectが開始される(SSPのみ先立ってOnAnchorSelectExが開始される)。
IDはReference0に格納される。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_a[Hint]アンカー\_aをクリックするとOnAnchorSelectExイベント(トークがなければOnAnchorSelectイベント)が発生する。reference0には「Hint」が格納されている。

\_a[OnID,r0,r1...]

\_aがくるまでの範囲をアンカーとする。選択肢タイムアウトしないが、通常トーク同様バルーンタイムアウトする。
上記のようにIDが"On"で始まっている場合は、クリックするとSHIORIイベントOnID(書いた通りのイベント)が開始される。
IDに続く引数が順番にReference0以降に格納される。

  • SSP
  • Ninix

記述例

\_a[OnHint,0]ヒント\_aが欲しいならクリックしよう。\_a[OnHint,1]ほらほら早く\_a。この2つのアンカーは、クリックするとSHIORIイベントOnHintが通知されるが、クリックしたものによってReference0の値が「0」か「1」に変わる。

\_a[ID,r2,r3...]

\_aがくるまでの範囲をアンカーとする。選択肢タイムアウトしないが、通常トーク同様バルーンタイムアウトする。
ジャンパをクリックするとSHIORIイベントOnAnchorSelectExが開始される。
ジャンパとなったテキストがReference0に、IDはReference1に、続く引数はReference2以降に格納される。
OnAnchorSelectExに続けてOnAnchorSelectも発生するが、Reference1以降に何も入らずこの書き方では無意味。

  • SSP

記述例

\_a[CharactorName,対象テディ,年齢不詳]テディ\_aはいいやつだったのに。\_a[CharactorName,対象エミリ,0x10歳]エミリ\_aのとっておきのおやつを食べたばかりに……。アンカークリック時、OnAnchorSelectExイベントが発生する。「テディ」をクリックした場合、reference0に「テディ」、reference1に「CharactorName」、reference2に「対象テディ」、reference3に「年齢不詳」が格納されている。

選択肢マーカー変更コマンド

\f[cursorstyle,形状]

選択中マーカーの形状を変更。
指定方法については※下記参照

  • SSP

記述例

\f[cursorstyle,underline]\q[選択肢,OnTest]選択中の選択肢の表示を下線に変更する。

\f[cursorcolor,色指定]もしくは\f[cursorbrushcolor,色指定]

選択中マーカーの矩形内の色を変更。\f[cursormethod,描画方法]の効果を受けて色が決まる点に注意。
指定方法については※下記参照

  • SSP

記述例

\f[cursorbrushcolor,red]\q[選択肢,OnTest]選択中の選択肢の形状がsquareの場合、背景色が赤色になる。

\f[cursorpencolor,色指定]

選択中マーカーの矩形枠および下線の色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[cursorpencolor,0,255,0]\q[選択肢,OnTest]選択中の選択肢の形状がsquareかunderlineの場合、枠線の色が緑色になる。

\f[cursorfontcolor,色指定]

選択中マーカーの文字色をRGB(0~255)で変更。
指定方法については※下記参照

  • SSP

記述例

\f[cursorfontcolor,default.anchor]\q[選択肢,OnTest]選択中の選択肢の文字色をアンカーと同じ色に変更する。

\f[cursormethod,描画方法]

選択中マーカー描画方法を変更。形状がsquareまたはsquare+underlineの場合のみ有効。
Win32APIのSetROP2関数で使用できる全オペレータが指定可能。
defaultでバルーン設定の標準に戻る。
参考:SetROP2関数(外部サイト)
※指定は「R2_」を含まず小文字のモード名。例:notmaskpen

  • SSP

記述例

\f[cursormethod,copypen]\f[cursorbrushcolor,red]\q[選択肢,OnTest]選択中の選択肢の、枠内の描画方法を変更する。copypenの場合、cursorbrushcolorの色がそのまま描画される。

\f[cursornotselectstyle,形状]

非選択中マーカーの形状を変更。
指定方法については※下記参照

  • SSP

記述例

\f[cursornotselectstyle,underline]\q[選択肢,OnTest]非選択中の選択肢の表示を下線に変更する。

\f[cursornotselectcolor,色指定]もしくは\f[cursornotselectbrushcolor,色指定]

非選択中マーカーの矩形内の色を変更。\f[cursornotselectmethod,描画方法]の効果を受けて色が決まる点に注意。
指定方法については※下記参照

  • SSP

記述例

\f[cursornotselectbrushcolor,red]\q[選択肢,OnTest]非選択中の選択肢の形状がsquareの場合、背景色が赤色になる。

\f[cursornotselectpencolor,色指定]

非選択中マーカーの矩形枠および下線の色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[cursornotselectpencolor,0,255,0]\q[選択肢,OnTest]非選択中の選択肢の形状がsquareかunderlineの場合、枠線の色が緑色になる。

\f[cursornotselectfontcolor,色指定]

非選択中マーカーの文字色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[cursornotselectfontcolor,default.anchor]\q[選択肢,OnTest]非選択中の選択肢の文字色をアンカーと同じ色に変更する。

\f[cursornotselectmethod,描画方法]

非選択中マーカー描画方法を変更。形状がsquareまたはsquare+underlineの場合のみ有効。
Win32APIのSetROP2関数で使用できる全オペレータが指定可能。
defaultでバルーン設定の標準に戻る。
参考:SetROP2関数(外部サイト)
※指定は「R2_」を含まず小文字のモード名。

  • SSP

記述例

\f[cursornotselectmethod,copypen]\f[cursornotselectbrushcolor,red]\q[選択肢,OnTest]非選択中の選択肢の、枠内の描画方法を変更する。copypenの場合、cursornotselectbrushcolorの色がそのまま描画される。

\f[anchorstyle,形状]

選択中アンカーの形状を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchorstyle,square]\_a[OnTest]アンカー\_a選択中のアンカーの表示を枠(矩形)に変更する。

\f[anchorcolor,色指定]もしくは\f[anchorbrushcolor,色指定]

選択中アンカーの矩形内の色を変更。\f[anchormethod,描画方法]の効果を受けて色が決まる点に注意。
指定方法については※下記参照

  • SSP

記述例

\f[anchorbrushcolor,red]\_a[OnTest]アンカー\_a選択中のアンカーの形状がsquareの場合、背景色が赤色になる。

\f[anchorpencolor,色指定]

選択中アンカーの矩形枠および下線の色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchorpencolor,0,255,0]\_a[OnTest]アンカー\_a選択中のアンカーの形状がsquareかunderlineの場合、枠線の色が緑色になる。

\f[anchorfontcolor,色指定]

選択中アンカーの文字色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchorfontcolor,default.cursor]\_a[OnTest]アンカー\_a選択中のアンカーの文字色を選択中選択肢と同じ色に変更する。

\f[anchormethod,描画方法]

選択中アンカーの描画方法を変更。形状がsquareまたはsquare+underlineの場合のみ有効。
Win32APIのSetROP2関数で使用できる全オペレータが指定可能。
defaultでバルーン設定の標準に戻る。
参考:SetROP2関数(外部サイト)
※指定は「R2_」を含まず小文字のモード名。

  • SSP

記述例

\f[anchormethod,copypen]\f[anchorbrushcolor,red]\_a[OnTest]アンカー\_a選択中のアンカーの、枠内の描画方法を変更する。copypenの場合、anchorbrushcolorの色がそのまま描画される。

\f[anchornotselectstyle,形状]

非選択中アンカーの形状を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchornotselectstyle,square]\_a[OnTest]アンカー\_a非選択のアンカーの表示を枠(矩形)に変更する。

\f[anchornotselectcolor,色指定]もしくは\f[anchornotselectbrushcolor,色指定]

非選択中アンカーの矩形内の色を変更。\f[anchornotselectmethod,描画方法]の効果を受けて色が決まる点に注意。
指定方法については※下記参照

  • SSP

記述例

\f[anchornotselectbrushcolor,red]\_a[OnTest]アンカー\_a非選択のアンカーの形状がsquareの場合、背景色が赤色になる。

\f[anchornotselectpencolor,色指定]

非選択中アンカーの矩形枠および下線の色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchornotselectpencolor,0,255,0]\_a[OnTest]アンカー\_a非選択のアンカーの形状がsquareかunderlineの場合、枠線の色が緑色になる。

\f[anchornotselectfontcolor,色指定]

非選択中アンカーの文字色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchornotselectfontcolor,default.cursor]\_a[OnTest]アンカー\_a非選択のアンカーの文字色を選択中選択肢と同じ色に変更する。

\f[anchornotselectmethod,描画方法]

非選択中アンカーの描画方法を変更。形状がsquareまたはsquare+underlineの場合のみ有効。
Win32APIのSetROP2関数で使用できる全オペレータが指定可能。
defaultでバルーン設定の標準に戻る。
参考:SetROP2関数(外部サイト)
※指定は「R2_」を含まず小文字のモード名。

  • SSP

記述例

\f[anchornotselectmethod,copypen]\f[anchornotselectbrushcolor,red]\_a[OnTest]アンカー\_a非選択のアンカーの、枠内の描画方法を変更する。copypenの場合、anchornotselectbrushcolorの色がそのまま描画される。

\f[anchorvisitedstyle,形状]

訪問済みアンカーの形状を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchorvisitedstyle,square]\_a[OnTest]アンカー\_a訪問済みのアンカーの表示を枠(矩形)に変更する。

\f[anchorvisitedcolor,色指定]もしくは\f[anchorvisitedbrushcolor,色指定]

訪問済みアンカーの矩形内の色を変更。\f[anchorvisitedmethod,描画方法]の効果を受けて色が決まる点に注意。
指定方法については※下記参照

  • SSP

記述例

\f[anchorvisitedbrushcolor,red]\_a[OnTest]アンカー\_a訪問済みのアンカーの形状がsquareの場合、背景色が赤色になる。

\f[anchorvisitedpencolor,色指定]

訪問済みアンカーの矩形枠および下線の色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchorvisitedpencolor,0,255,0]\_a[OnTest]アンカー\_a訪問済みのアンカーの形状がsquareかunderlineの場合、枠線の色が緑色になる。

\f[anchorvisitedfontcolor,色指定]

訪問済みアンカーの文字色を変更。
指定方法については※下記参照

  • SSP

記述例

\f[anchorvisitedfontcolor,default.cursor]\_a[OnTest]アンカー\_a訪問済みのアンカーの文字色を選択中選択肢と同じ色に変更する。

\f[anchorvisitedmethod,描画方法]

訪問済みアンカーの描画方法を変更。形状がsquareまたはsquare+underlineの場合のみ有効。
Win32APIのSetROP2関数で使用できる全オペレータが指定可能。
defaultでバルーン設定の標準に戻る。
参考:SetROP2関数(外部サイト)
※指定は「R2_」を含まず小文字のモード名。

  • SSP

記述例

\f[anchorvisitedmethod,copypen]\f[anchorvisitedbrushcolor,red]\_a[OnTest]アンカー\_a訪問済みのアンカーの、枠内の描画方法を変更する。copypenの場合、anchorvisitedbrushcolorの色がそのまま描画される。

形状指定の方法

square
矩形を表示。
underline
下線を表示。
square+underline
矩形と下線を表示。
none
表示しない。
default
バルーン設定の標準に戻る。

文字色指定の方法

基本はHTML・CSSの色の表現と似ています。

R,G,B
赤・緑・青の三原色の明度をそれぞれ0~255の10進数値で表現し、カンマで区切る。
0,0,0で黒、255,255,255で白。
R%,G%,B%
赤・緑・青の三原色の明度をそれぞれ0~100%の百分率で表現し、カンマで区切る。
0%,0%,0%で黒、100%,100%,100%で白。
16進数カラーコード
#07fのように、赤・緑・青の三原色の明度を「#」に続けて16進数で表現し、つなげる。
赤・緑・青それぞれ2桁ずつの計6桁か、1桁ずつの計3桁で表現できる。
16進数のアルファベット表現は大文字・小文字いずれでも可。
#000000または#000で黒、#ffffffまたは#fffで白。
定義済みキーワード
red、white、blackというような色名を表すキーワード(全て小文字)で指定可能。
いわゆるX11 colorとW3C colorで定義が異なる色(green,gray等)については、W3C colorの定義。
色見本:CSS Color Module Level 3 Extended color keywords(外部リンク)
default
色指定部分にdefaultと記述すると、指定した文字をその文字のデフォルト色に戻す。
デフォルト色は、バルーンのdescript.txtに定義されたものなど(未定義時黒)。
disable
色指定部分にdisableと記述すると、無効表示用の色に設定できる。
default.anchor
色指定部分にdefault.anchorと指定すると、指定した文字の色を選択時のアンカーのデフォルト文字色に変更。
[2.5.76 - 通常文字列に使用可能になった]
default.anchornotselect
色指定部分にdefault.anchornotselectと指定すると、指定した文字の色を非選択時のアンカーのデフォルト文字色に変更。
[2.5.76 - 通常文字列に使用可能になった]
default.anchorvisited
色指定部分にdefault.anchorvisitedと指定すると、指定した文字の色を訪問済みのアンカーのデフォルト文字色に変更。
[2.5.76 - 通常文字列に使用可能になった]
default.cursor
※選択肢・アンカーの文字の色に対してのみ指定可能
色指定部分にdefault.cursorと指定すると、指定した文字の色を選択時の選択肢のデフォルト文字色に変更。
default.cursornotselect
※選択肢・アンカーの文字の色に対してのみ指定可能
色指定部分にdefault.anchorと指定すると、指定した文字の色を非選択時の選択肢のデフォルト文字色に変更。
default.plain
※選択肢・アンカーの文字の色に対してのみ指定可能
色指定部分にdefault.plainと指定すると、指定した文字の色を普通のテキストのデフォルト文字色に変更。

イベントコマンド

\e

イベント、メッセージを終了する。
この後に書かれたスクリプトは実行・表示されない。
いくつかのさくらスクリプトの効果が終了する。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

この文章は表示される。\eここから表示されない。

\-

本体を終了する。
SSPで複数ゴーストが起動している場合、実行したゴーストのみ終了する。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

このスクリプトの再生後、ゴーストが終了する。\-

\a

[旧仕様]ランダムトークをしゃべる。
スクリプトを全て本体で管理していた時代の名残で、現行仕様ではOnAITalkイベントを発生させるだけのタグ。

  • SSP
  • Ninix
\![updatebymyself(,オプション,オプション...)]

ネットワーク更新チェックイベントを開始する。
右クリックメニューやゴーストエクスプローラからユーザが行うことも出来る。
オプション指定はSSPのみ。更新オプション指定を参照。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

ネットワーク更新を開始。\![updatebymyself]

\![update,platform]

本体ネットワーク更新イベントを開始する。
更新があった場合、ゴーストは一旦終了(OnBasewareUpdating、トークがなければOnClose)して再度起動する(OnBasewareUpdated、トークがなければOnBoot)。
更新が無い場合は、ポップアップが表示されるだけでSHIORIイベントは何も発生しない。

  • SSP
  • CROW

記述例

ベースウェアの更新を実行。\![update,platform]

\![update,更新対象(,オプション,オプション...)]

更新対象のネットワーク更新イベントを開始する。
ghost、shell、balloonが指定可能で、同時に更新する場合それぞれを「+」で区切って指定できる。
更新対象をallとすると、\![updatebymyself]と同義。
\![update,ghost+shell+balloon]とした場合、\![updatebymyself]とは異なりSSP本体設定によらず強制的に更新が実行される。
ghost以外の更新時、更新があればSHIORIイベントOnUpdateOtherReadyなどOnUpdateがOnUpdateOtherに変わったイベンド群が通知され、すべて更新が終わった後に結果の総括としてOnUpdateResultが発生する。
オプション指定はSSPのみ。更新オプション指定を参照。

  • SSP

記述例

シェルの更新を実行。\![update,shell]

\![updateother,更新対象/オプション群,...]

任意の名前の更新対象のネットワーク更新イベントを開始する。起動中でないものも指定できる。
以下の指定をいくつでも追加できる。
--balloon=バルーン名
--shell=シェル名
--plugin=プラグイン名
--headline=ヘッドライン名
--language=言語リソース名
更新があればSHIORIイベントOnUpdateOtherReadyなどOnUpdateがOnUpdateOtherに変わったイベンド群が通知され、すべて更新が終わった後に結果の総括としてOnUpdateResultExが発生する。
--option=で指定できるオプション指定はSSPのみ。更新オプション指定を参照。

  • SSP

記述例

プラグイン「共有変数プラグイン」「うかてん」の更新を実行。\![updateother,--plugin=共有変数プラグイン,--plugin=うかてん]

更新オプション指定

checkonly

普通の更新イベントの代わりに、SHIORIイベントOnUpdateCheckComplete、失敗した場合はOnUpdateCheckFailureが通知され、更新の有無を判定でき次第処理を中断する。
すべて更新が終わった後に、結果の総括として、updateotherの時はOnUpdateCheckResultEx、そのほかはOnUpdateCheckResultが発生する。

testonly

本番と同じように更新ファイルのダウンロードを行うが、実際のファイルの置き換えは行わない。
SSPでは開発用パレットから実行できる"Update Full Check"と同じ挙動。

recovery [SSP 2.5.26~]
修復モードで更新を実行する。SSPでは設定-ゴースト(1)-修復モードへの切り替えキー有効、で設定したキーを押しながら更新した際と同じ挙動。
ローカル側にある更新定義ファイルを全部無視し、ネットワーク上からダウンロードしてきた更新定義のみを採用した上で、ローカル側の全ファイルのハッシュ値と比較し、異なるものをダウンロードする。
\6

時計合わせイベントで実際に時間修正を行う。
時刻サーバに繋がった時通知されるSHIORIイベントOnSNTPCompareで行うのが一般的。

  • Materia
  • SSP
  • CROW

記述例

時間をサーバと合わせる。\6

\7

時計合わせイベントを開始する。
SHIORIイベントOnSNTPBeginが通知され、時刻サーバから時刻が取得出来るとSHIORIイベントOnSNTPCompareが通知される。

\![executesntp]

\7と同じ。

  • Materia
  • SSP
  • CROW

記述例

時刻サーバに問い合わせを行う。\![executesntp]

\![execute,headline,ヘッドライン名]

ヘッドラインセンスイベントを開始する。
ヘッドライン名をrandomにするとランダムに選択。
lastinstalledにすると最後にインストールされたヘッドラインを開始。

  • SSP

記述例

ヘッドラインをどれか1つランダムに実行。\![execute,headline,random]

\![biff(,アカウント名)]

メールチェックイベントを開始する。
\![biff,アカウント名]とすると、特定のアカウント名のメールチェックを実行できる。
アカウント名はconfiguredbiffnameで通知される。

  • Materia
  • SSP (名前指定2.5)
  • CROW

記述例

メールチェックイベントを開始。\![biff]

\![vanishbymyself]

消滅指示無しで自ゴーストをアンインストールする。
実行時、確認ダイアログなども出ず即実行されるため注意。
削除が行われるかどうかはユーザ側のSSP設定次第。

SSPでは以下のオプションを指定可能
\![vanishbymyself,ゴースト名] 削除後のゴースト切り替え先を指定(見つからなければSSP側で適宜自動選択)
\![vanishbymyself,--option=query] 2.5.82 : 削除問い合わせダイアログを表示する。メニューから実行した時と同じ。

  • Materia
  • SSP
  • Ninix

記述例

自分自身を削除。Send Boxからのサンプル入力での実行時は要注意。\![vanishbymyself]

\+

ランダムに他のゴーストに切り替わる。
このスクリプトによる切り替えではSHIORIイベントOnGhostChangingは通知されない。

  • Materia
  • SSP
  • Ninix

記述例

ランダムチェンジ。\+

\_+

次の順番のゴーストに切り替わる(シーケンシャルチェンジ)。ゴーストエクスプローラで下側にいるゴーストに切り替わる。
リストの一番下だった場合、リストの一番上のゴーストに切り替わる。
このスクリプトによる切り替えではSHIORIイベントOnGhostChangingは通知されない。

  • Materia
  • SSP
  • Ninix

記述例

リストの次のゴーストへチェンジ。\_+

\![change,ghost,ゴースト名(,--option=raise-event)]

そのゴーストへの切り替えを行う。
ゴースト名をrandomにするとランダムチェンジ(\+と同様)。
sequentialにするとシーケンシャルチェンジ(\_+と同様)。
実行後、該当ゴーストがいなかった場合は無視される。

ゴースト名をlastinstalledにすると最後にインストールしたゴーストに切り替え。ただしSSPを一度終了した場合は無効。
ゴースト名をrandomにするとランダムに切り替え。

SSP 2.4.74以降で、ゴースト名の後に--option=raise-eventとすると、メニューから切り替え操作をした場合と同じくOnGhostChangingが通知される。
この場合、バルーンブレーク(通常ダブルクリック)による中止操作も可能な点に注意。
指定しない場合は通知されない。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

Emily/Phase4.5に交代。\![change,ghost,Emily/Phase4.5]

\![change,shell,シェル名(,--option=raise-event)]

そのシェルへの切り替えを行う。
該当シェルがなかった場合は無視される。
変更後SHIORIイベントOnShellChangedが通知される。

シェル名をlastinstalledにすると最後にインストールしたゴーストに切り替え。ただしSSPを一度終了した場合は無効。
シェル名をrandomにするとランダムに切り替え。

SSP 2.4.74以降で、シェル名の後に--option=raise-eventとすると、メニューから切り替え操作をした場合と同じくOnShellChangingが通知される。
この場合、バルーンブレーク(通常ダブルクリック)による中止操作も可能な点に注意。
指定しない場合は通知されない。

  • SSP
  • CROW
  • Ninix

記述例

masterシェルに切り替え。\![change,shell,master]

\![change,balloon,バルーン名]

そのバルーンへの切り替えを行う。
該当バルーンがなかった場合は無視される。
変更後SHIORIイベントOnBalloonChangeが通知される。

バルーン名をlastinstalledにすると最後にインストールしたバルーンに切り替え。ただしSSPを一度終了した場合は無効。
バルーン名をrandomにするとランダムに切り替え。

  • SSP
  • Ninix

記述例

SSPデフォルト+にバルーン変更。\![change,balloon,SSPデフォルト+]

\![call,ghost,ゴースト名(,--option=raise-event)]

ゴースト名で指定されたゴーストを呼び出す。
ゴースト名をlastinstalledにすると最後にインストールしたゴーストを呼び出し。
ゴースト名をrandomにするとランダムに呼び出し。

SSP 2.4.74以降で、ゴースト名の後に--option=raise-eventとすると、メニューから切り替え操作をした場合と同じくOnGhostCallingが通知される。
指定しない場合は通知されない。

  • SSP
  • Ninix

記述例

Emily/Phase4.5を呼び出す。\![call,ghost,Emily/Phase4.5]

\v

手前に表示する。このスクリプト以降、常に最前面に表示されるようになる。
ただしスコープごとの重なり(本体側と相方側どちらが上にくるか)はユーザの操作次第。

ゴースト終了まで有効。

  • Materia
  • SSP
  • Ninix

記述例

\vこのスクリプト以降、最前面に表示されるようになる。

\![set,windowstate,stayontop]

手前に表示する。このスクリプト以降、常に最前面に表示されるようになる。

ゴースト終了まで有効。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\![set,windowstate,stayontop]このスクリプト以降、最前面に表示されるようになる。

\![set,windowstate,!stayontop]

手前に表示しない。このスクリプト以降、他のウィンドウと同様に重なりが処理される。

ゴースト終了まで有効。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\![set,windowstate,!stayontop]このスクリプト以降、アクティブなウインドウが手前に表示されるようになる。

\![set,windowstate,minimize]

最小化する。

  • Materia
  • SSP

記述例

最小化。\![set,windowstate,minimize]

\![set,wallpaper,ファイル名,オプション]

指定したファイルを壁紙にする。
ファイル名には、絶対パスの他、ssp.exeからの相対パスが使用可能。
ファイル名を指定しないか空にすると壁紙設定が解除される(OSデフォルトの設定に戻る)。
オプションは以下の通り。

center
中央表示(省略時デフォルト)
tile
並べて表示する(タイリング)
stretch
画像の縦横比を無視して、モニタいっぱいに拡大する。
stretch-x
画像の横幅をモニタ幅いっぱいに合わせるようにして、縦横比を考慮して拡大する。Windows 7以降のみ。
stretch-y
画像の高さをモニタ高さいっぱいに合わせるようにして、縦横比を考慮して拡大する。Windows 7以降のみ。
span
マルチモニタ環境において、全モニタに渡るように拡大する。Windows 10以降のみ。
  • SSP
  • Ninix

記述例

Emily/Phase4.5のサムネイルを壁紙にする。\![set,wallpaper,ghost/emily4/thumbnail.png]

\![set,tasktrayicon,ファイル名.ico,テキスト(,--duration=待機時間(,--runcount=繰り返し回数))]

指定したアイコンファイルを通知領域(タスクトレイ)のアイコンに適用する。
ファイル名には、[実行したゴーストのフォルダ]から、または[実行したゴーストのフォルダ]/ghost/masterからの相対パスが使用可能。
テキストはアイコンにマウスを重ねたときの表示、省略可。デフォルトでは「SSP/Emily/Phase4.5」など、SSP/[起動中のゴースト名]。
--duration=待機時間(ms)を指定すると、アイコンをアニメーションさせることができる。この時、ファイル名.icoを指定すると、ファイル名00.ico・ファイル名01.ico…のように後ろの数字順に複数読み込んで、指定した待機時間(ミリ秒)ごとにアニメーション表示する。 [SSP 2.5.58~]
さらに --runcount を指定するとアニメーションの繰り返し回数を設定できる。指定がない場合は無限に繰り返す。 [SSP 2.5.59~]

  • SSP

記述例

\![set,tasktrayicon,normal.ico,ゴースト/通常モード]アイコンを[実行したゴーストのフォルダ]/ghost/masterにあるnormal.icoにし、マウスオン時のメッセージを「ゴースト/通常モード」に変更する。

\![set,trayballoon,オプション,オプション,オプション...]

トレイアイコンからバルーンを表示する。
バルーンをクリックして消した時にOnTrayBalloonClickが発生。
タイムアウトした時や閉じるボタンで閉じた時にOnTrayBalloonTimeoutが発生。
指定できるオプションは以下。

--text=テキスト
バルーンに表示する文字列、複数指定で複数行に。(必須)
--title=タイトル
バルーンのタイトル。
--icon=アイコン設定名
バルーンに表示されるアイコンの設定。
info
情報アイコン
error
エラーアイコン
warning
警告アイコン
none
なし
--timeout=秒数
バルーンの表示時間(単位=秒)。10~30秒の間でのみ指定可。Windows 7以降では無視される。
  • SSP

記述例

\![set,trayballoon,--text=何らかのエラーにより、処理が失敗しました,--title=エラーが発生しました,--icon=error]

\![set,otherghosttalk,true|false|before|after]

OnOtherGhostTalkを通知するかどうかを設定。初期値false。
false以外を設定すると、同時起動している他ゴーストが喋った時OnOtherGhostTalkが通知されるようになる。
beforeを指定すると喋る前、afterを指定すると喋った後に通知。trueはafterと同じ。

ゴースト終了まで有効。

  • SSP
  • Ninix

記述例

\![set,otherghosttalk,true]これ以降、同時に起動しているゴーストが何か喋り終わるたびに、OnOtherGhostTalkが通知されるようになる。

\![set,othersurfacechange,trueかfalse]

OnOtherSurfaceChangeを通知するかどうかを設定。初期値false。
trueで有効になり、同時起動している他ゴーストのサーフェスが変わるとOnOtherSurfaceChangeが通知されるようになる。

  • SSP
  • Ninix

記述例

\![set,othersurfacechange,true]これ以降、同時に起動しているゴーストのサーフェスが変わるたびに、OnOtherSurfaceChangeが通知されるようになる。

\![raise,イベント名,r0,r1,r2...]

イベントを実行する。
第3引数以降はReference0以降に順番に格納される。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

このトークの末端にあるraiseが再生された時、SHIORIイベント「OnRaiseTest」がSSPから通知される。Reference0には「test」が入っている。\![raise,OnRaiseTest,test]

\![embed,イベント名,r0,r1,r2...]

イベントの実行結果を現在実行中のスクリプトのこのタグ内に「埋め込む」特殊タグ。
オプション部分の使い方は\![raise]と同じで、第3引数以降はReference0以降に順番に格納される。

実行中に\![embed]タグに遭遇すると、指定したイベント呼び出しが行われ、結果(Result)が返された場合には、\![embed]タグ全体がその結果文字列に置き換えられ、置き換えられた文字列の1文字目からスクリプト実行を続行する。
(※里々の実行中SAORI呼び出し"sync"の仕組みをより広範囲・汎用的に提供するための機能)

当初プロパティシステムと合わせて使用し、プロパティシステム呼び出し自体は結果を返さず、直後に埋め込んだ\![embed]タグで結果に応じて動的に処理を変えるのを「1回のスクリプト実行内で」行う機構として実装されたが、特にそのような縛りはなく、スクリプト実行に同期させて同時に何か処理したい場合すべてに使える仕様である。

  • SSP
  • Ninix

記述例

このトークの最後に、SHIORIイベント「OnEmbedTest」の実行結果が表示される。raiseと違いスクリプトが1つなので、スクリプト終了で効果が切れるさくらスクリプト(フォント変更など)が持続する。\![embed,OnEmbedTest]

里々のテンプレートでこのスクリプトを実行した場合は、この文の後にランダムトークがくっつく。\![embed,OnTalk]

\![timerraise,時間,繰り返すか否か,イベント名,r0,r1,r2...]

「時間」に待ち時間(ミリ秒)を指定してイベントを実行する。
「繰り返すか否か」は0で指定時間ごとに繰り返しイベントが発生し、1以上で一回のみイベントが発生。
第5引数以降はreference。
別名のイベントはそれぞれに実行可能だが、同名のイベントに対して繰り返し実行した場合は上書きされる。
同じイベント名で時間が0のさくらスクリプトを実行するとキャンセルできる。
タイマーはネットワーク更新後も引き継がれる。

「繰り返すか否か」が0の場合、指定したイベント発生まで有効。「繰り返すか否か」が1以上の場合、ゴースト終了まで有効。

  • SSP

記述例

\![timerraise,5000,1,OnTimerraiseTest,test]5秒後(5000ミリ秒)後に、OnTimerraiseTestが発生する。さくらスクリプトが実行された瞬間から時間をカウントする。\![timerraise,0,1,OnTimerraiseTest]ここで先ほどのタイマー予約をキャンセル。

\![raiseother,ゴースト名,イベント名,r0,r1,r2...]

起動している他のゴーストへイベントを通知する。
第4引数以降はreference。
ゴースト名を「__SYSTEM_ALL_GHOST__」とすると起動している全てのゴーストに通知。
ゴースト名は直接指定のみ、バイト値1区切りで複数指定可。

  • SSP
  • Ninix

記述例

\![raiseother,Emily/Phase4.5,OnRoastedPotate,sweet potato]Emily/Phase4.5が同時起動していれば、Emily/Phase4.5にOnRoastedPotateを通知。Reference0には「sweet potato」が入っている。

\![timerraiseother,時間,繰り返すか否か,ゴースト名,イベント名,r0,r1,r2...]

待ち時間(ミリ秒)を指定して起動している他のゴーストへイベントを通知する。
「繰り返すか否か」は0で指定時間ごとに繰り返しイベントが発生し、1以上で一回のみイベントが発生。
第6引数以降はreference。
別名のイベントはそれぞれに実行可能だが、同名のイベントに対して繰り返し実行した場合は上書きされる。
同じイベント名で時間が0のさくらスクリプトを実行するとキャンセルできる。
ゴースト名を__SYSTEM_ALL_GHOST__とすると起動している全てのゴーストに通知。
ゴースト名はバイト値1区切りで複数指定可。

  • SSP

記述例

\![timerraiseother,30000,0,Emily/Phase4.5,OnRoastedPotate,sweet potato]Emily/Phase4.5が同時起動していれば、Emily/Phase4.5に30秒(30000ミリ秒)おきに繰り返しOnRoastedPotateを通知。Reference0には「sweet potato」が入っている。\![timerraiseother,0,1,Emily/Phase4.5,OnRoastedPotate]ここで繰り返し通知をキャンセル。

\![raiseplugin,プラグインのIDまたは名前,イベント名,r0,r1,r2...]

プラグインに指定したイベントを送信する。
プラグイン名をrandomにするとランダムに選択。
lastinstalledにすると最後にインストールされたプラグインを開始。

  • SSP

記述例

\![raiseplugin,スタンプ帳,OnStampAdd,[実行したゴーストのフォルダ]/ghost/master/stamp.png,マイスタンプ,スタンプを押したよ。よろしくね。]プラグイン「スタンプ帳」に、[実行したゴーストのフォルダ]/ghost/master/stamp.pngの画像とメッセージを登録する。

\![timerraiseplugin,時間,繰り返すか否か,プラグインのIDまたは名前,イベント名,r0,r1,r2...]

待ち時間(ミリ秒)を指定してプラグインに指定したイベントを送信する。
「繰り返すか否か」は0で指定時間ごとに繰り返しイベントが発生し、1以上で一回のみイベントが発生。
別名のイベントはそれぞれに実行可能だが、同名のイベントに対して繰り返し実行した場合は上書きされる。
同じイベント名で時間が0のさくらスクリプトを実行するとキャンセルできる。

  • SSP

記述例

\![timerraiseplugin,60000,0,実体化,OnMenuExec]プラグイン「実体化」を60秒(60000ミリ秒)おきに繰り返し実行。\![timerraiseplugin,0,0,実体化,OnMenuExec]ここで繰り返し実行をキャンセル。

\![notify,イベント名,r0,r1,r2...]

raiseと同じで、違いはこの通知イベントで何か値を返してもSSPに反映されないということのみ。

  • SSP

記述例

\![notify,OnNotifyTest,test]OnNotifyTestが通知され、Reference0に「test」が入っている。OnNotifyTestでトークを書いてもSSPに反映されない。

\![timernotify,時間,繰り返すか否か,イベント名,r0,r1,r2...]

timerraiseと同じで、違いはこの通知イベントで何か値を返してもSSPに反映されないということのみ。

  • SSP

記述例

\![notify,OnNotifyTest,test]OnNotifyTestが通知され、Reference0に「test」が入っている。OnNotifyTestでトークを書いてもSSPに反映されない。

\![notifyother,ゴースト名,イベント名,r0,r1,r2...]

raiseotherと同じで、違いはこの通知イベントで何か値を返してもSSPに反映されないということのみ。

  • SSP

記述例

\![notifyother,Emily/Phase4.5,OnRoastedPotate,sweet potato]Emily/Phase4.5が同時起動していれば、Emily/Phase4.5にOnRoastedPotateを通知。Reference0には「sweet potato」が入っている。もしこの通知イベントでEmily/Phase4.5が何かトークをしても、バルーンには何も表示されない。

\![timernotifyother,時間,繰り返すか否か,ゴースト名,イベント名,r0,r1,r2...]

timerraiseotherと同じで、違いはこの通知イベントで何か値を返してもSSPに反映されないということのみ。

  • SSP

記述例

\![notifyother,Emily/Phase4.5,OnRoastedPotate,sweet potato]Emily/Phase4.5が同時起動していれば、Emily/Phase4.5にOnRoastedPotateを通知。Reference0には「sweet potato」が入っている。もしこの通知イベントでEmily/Phase4.5が何かトークをしても、バルーンには何も表示されない。

\![notifyplugin,プラグインのIDまたは名前,イベント名,r0,r1,r2...]

raisepluginと同じで、違いはこの通知イベントで何か値を返してもSSPに反映されないということのみ。

  • SSP

記述例

\![notifyplugin,スタンプ帳,OnStampAdd,[実行したゴーストのフォルダ]/ghost/master/stamp.png,マイスタンプ,スタンプを押したよ。よろしくね。]プラグイン「スタンプ帳」の登録イベントをnotifyで呼び出す。プラグイン実行で処理は行われるが、ゴースト側への返答は無視される。

\![timernotifyplugin,時間,繰り返すか否か,プラグインのIDまたは名前,イベント名,r0,r1,r2...]

timerraisepluginと同じで、違いはこの通知イベントで何か値を返してもSSPに反映されないということのみ。

  • SSP

記述例

\![notifyplugin,スタンプ帳,OnStampAdd,[実行したゴーストのフォルダ]/ghost/master/stamp.png,マイスタンプ,スタンプを押したよ。よろしくね。]プラグイン「スタンプ帳」の登録イベントをnotifyで呼び出す。プラグイン実行で処理は行われるが、ゴースト側への返答は無視される。

サウンドコマンド

\8[ファイル名]

自ゴーストフォルダにあるwaveを再生する。

\_v[ファイル名]

wave、mp3、wmaをベースウェアが再生する。[実行したゴーストのフォルダ]/ghost/masterから相対パス、または絶対パスで指定可。
ファイルが存在しない場合は無視される。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_v[se/test.wav]。[実行したゴーストのフォルダ]/ghost/master/seフォルダにあるtest.wavを再生する。

\_V

\_vのファイル再生が終了するのを待つ。
既に終了しているか存在しない場合は無視される。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_v[test.wav][実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.wavを再生する。\_V再生が終了するまで待ってからこの文章を表示する。

\![sound,play,ファイル名,オプション...]

\_vと同じ機能。ただしオプションを指定可能。

  • SSP (オプションは2.4~)
  • Ninix

記述例

\![sound,play,test.mp4,--sound-only=true,--window=true][実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.mp4動画を再生する。ただしシークバー強制表示、音声のみ。

\![sound,load,ファイル名,オプション...]

再生前にあらかじめ読み込んで、play指定時にすぐに再生開始できるようにする。記述方法はplayと同じ。

  • SSP 2.4
\![sound,cdplay,トラックNo.]

音楽CDをSSPが再生する。音楽CDがセットされていない場合は無視される。
再生中でも、\_Vは無視される。再生中に\![sound,cdplay,トラックNo.]で別トラックを指定しても無視される。\![sound,stop]で一旦停止してから次のトラックを指定すること。

  • SSP
  • Ninix

記述例

\![sound,play,test.wav][実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.wavを再生する。

\![sound,loop,ファイル名]

ループ再生する。\_Vの対象にならない。
再生を止める場合は\![sound,stop]を実行する。

  • SSP
  • Ninix

記述例

\![sound,loop,test.wav][実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.wavを再生する。\![sound,stop]ループ再生を停止する。

\![sound,wait]

\_Vと同じ機能。

  • SSP
  • Ninix

記述例

\![sound,play,test.wav][実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.wavを再生する。\![sound,wait]再生が終了するまで待ってからこの文章を表示する。

\![sound,pause,ファイル名]

再生を一時停止する。ファイル名を省略した場合、全再生中のサウンドを一時停止する。

  • SSP
  • Ninix

記述例

\![sound,loop,test.wav][実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.wavを再生する。\![sound,pause]再生を一時停止してこの文章を表示する。

\![sound,resume,ファイル名]

一時停止を解除する。ファイル名を省略した場合、全再生中のサウンドを一時停止解除する。

  • SSP
  • Ninix

記述例

\![sound,loop,test.wav][実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.wavを再生する。\![sound,pause]再生を一時停止してこの文章を表示する。\![sound,resume]中断した箇所から再生を開始する。

\![sound,stop,ファイル名]

再生を完全に停止する。pauseと異なり音声データを解放し完全に再生停止する。このコマンドで停止しないと、別の音声データを再生できない場合がある。
ファイル名を省略した場合、全再生中のサウンドを停止する。

  • SSP

記述例

\![sound,loop,test.wav][実行したゴーストのフォルダ]/ghost/masterフォルダにあるtest.wavを再生する。\![sound,stop]再生を完全に停止する。

\![sound,option,ファイル名,オプション...]

再生中にオプションを変更する。

  • SSP 2.4

sound play/load/option のオプション

--volume=0~100
再生音量を変える。Maxが100。ただしOS全体の音量を操作するわけではない。
--balance=-100~0~100
ステレオ時の左右バランス。-100が左一杯、100が右一杯。
--rate=1~100~10000
再生速度。100が通常速度。
実際に指定可能な範囲はサウンドドライバ等の実装に依存し、400程度以上(435以上)はエラーになる場合が多い。
--window=false/true (=OFF/ON)
シークバーつきのウインドウを表示するかどうか。trueの場合は音声のみでも強制表示する。指定しなければ音声のみならなし、動画ならあり。
--sound-only=false/true (=OFF/ON)
load時限定:動画ファイルの音声のみ再生が可能。指定しなければfalseと同じ。

オープンコマンド

\j[ID]

IDにジャンプする。
http://~でURLジャンプする。
file:///~でOSに関連付けられた拡張子でファイルを実行する。ファイル名には、絶対パスの他、[実行したゴーストのフォルダ]/ghost/masterからの相対パスが使用可能。
※SSPのみ mailto:~でその宛先の新規メールを作成する

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\j[http://ssp.shillest.net/]ばぐとら研究所をブラウザを立ち上げて表示する。

\j[file:///descript.txt][実行したゴーストのフォルダ]/ghost/masterフォルダにあるdescript.txtを開く。

\![open,browser,パラメータ]

本体で設定されたブラウザを開く。
オーナードローメニューの本体設定より、「外部アプリ -> ブラウザの設定」で指定されたもの。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\![open,browser,http://ssp.shillest.net/]ばぐとら研究所をSSP本体設定で指定されたブラウザを立ち上げて表示する。

\![open,mailer,パラメータ]

本体で設定されたメーラーを開く。
オーナードローメニューの本体設定より、「外部アプリ -> メーラの設定」で指定されたもの。

  • Materia
  • SSP

記述例

\![open,mailer,[email protected]]送信先アドレスに[email protected]が入ったメーラーを開く。

\![open,editor,ファイル,表示行]

本体で設定されたエディタで指定ファイルを編集する。
オーナードローメニューの本体設定より、「外部アプリ -> エディタの設定」で指定されたもの。
「表示行」で開いた時に指定した行にカーソルをあらかじめ移動する。

エディタの指定がない場合は、エクスプローラ上で右クリックして「編集」を選んだ場合と同じ挙動となる。この時は「表示行」は無視される。

  • SSP 2.5.16
\![open,explorer,ファイル]

本体で設定されたファイラーを指定ファイルつきで開く。
オーナードローメニューの本体設定より、「外部アプリ -> ファイラーの設定」で指定されたもの。

ファイラーの指定がない場合は、指定されたものがフォルダの場合はそれを開き、ファイルの場合はエクスプローラ上で指定ファイルを選択した状態になる。

\![open,explorer,種類(ghost/shell/balloon/headline/plugin),名前] と指定すると、開くフォルダを種類と名前で指定できる。
例:\![open,explorer,ghost,Emily/Phase4]

  • SSP 2.5.12
\__t

[旧仕様]TeachBoxを開く。

\![open,teachbox]

TeachBoxを開く。実行と同時にOnTeachStartが通知され、TeachBoxのOKボタンを押すとOnTeach、閉じるとOnTeachInputCancelが通知される。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\![open,teachbox]TeachBoxを開く。

\![close,teachbox]

TeachBoxを閉じる。
OnTeachInputCancelを発生させないので注意。

  • SSP

記述例

\![close,teachbox]TeachBoxを閉じる。開いてない場合は無視される。

\__c

[旧仕様]CommunicateBoxを開く。

\![open,communicatebox]

CommunicateBoxを開く。
入力決定後はOnCommunicateが発生する。閉じるとOnCommunicateInputCancelが発生する。
SSPのみ、続けてデフォルトのテキストを指定できる(\![open,communicatebox,テキスト]の形)。
SSPのみ、--option=○○の形で※オプション指定可能。省略可。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\![open,communicatebox,テスト]CommunicateBoxを開く。最初から「テスト」の文字が入っている。

\![open,communicatebox,--text=テスト]上記と同じ(オプション指定の書き方)

\![close,communicatebox]

CommunicateBoxを閉じる。
OnCommunicateInputCancelを発生させないので注意。

  • SSP

記述例

\![close,communicatebox]CommunicateBoxを閉じる。開いてない場合は無視される。

\![open,inputbox,ID,表示時間,テキスト,オプション,...]

InputBoxを開く。
決定時(OKボタンを押す)にSHIORIイベント、OnUserInputが発生する。
表示時間を過ぎた(タイムアウトした)場合と、閉じるボタンを押して閉じた場合は、OnUserInputCancelが発生する。
なお入力中は他の一切の操作を受け付けない制御がされていたが、SSPではそうならない。


IDは決定時に発生するOnUserInputに格納されるが、IDが「On」で始まる場合、ID名のイベントが発生する。※ID参照。
表示時間はミリ秒で指定。省略するか、0以下の数を指定すると、表示時間無制限。
テキストはbox展開直後にあらかじめ表示するテキスト(CROW不可)、省略可。
SSPのみ、--option=○○の形で※オプション指定可能。省略可。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\![open,inputbox,インプットテスト,10000,テスト入力]「テスト入力」と初期入力されたInputBoxを開く。OKボタンを押すか、10秒経過で自動的に閉じる。

\![open,inputbox,インプットテスト,--timeout=10000,--text=テスト入力] 上記と同じ(新オプション指定)

\![open,passwordinput,ID,表示時間,テキスト,オプション]

文字を隠すInputBoxを開く。その他の動作はinputboxと同じ。

  • SSP
  • Ninix

記述例

\![open,passwordinput,パスワードテスト,-1,--option==noclose]入力が●で伏せ字になるInputBoxを開く。OKボタンを押しても、時間経過でも自動的に閉じない。閉じるボタンを押すと閉じる。

\![open,passwordinput,パスワードテスト,--timeout=-1,--option==noclose] 上記と同じ(新オプション指定)

\![open,dateinput,ID,表示時間,年,月,日,オプション]

年月日入力InputBoxを開く。
表示時間はミリ秒で指定。
年,月,日は初期値。
入力決定時にSHIORIイベントOnUserInputが発生し、Reference1にカンマ区切りで「年,月,日」と入る。
表示時間を過ぎた(タイムアウトした)場合と、閉じるボタンを押して閉じた場合は、OnUserInputCancelが発生する。
--option=○○の形で※オプション指定可能。
その他の動作はinputboxと同じ。

  • SSP

記述例

\![open,dateinput,日付入力テスト,30000,2012,12,23]初期値が2012年12月23日の年月日入力InputBoxを開く。30秒でタイムアウトする。

\![open,dateinput,日付入力テスト,--timeout=30000,--text="2012,12,23"] 上記と同じ(新オプション指定)

\![open,sliderinput,ID,表示時間,現在値,最小,最大,オプション]

スライダー調節型のInputBoxを開く。
入力決定時にSHIORIイベントOnUserInputが発生し、Reference1に入力値が入る。
--option=○○の形で※オプション指定可能。
その他の動作はinputboxと同じ。
許容最小値は-2147483648、最大値は2147483647です。

  • SSP

記述例

\![open,sliderinput,スライダーテスト,30000,50,0,100]初期値が50、最小値が0、最大が100のスライダー型InputBoxを開く。30秒でタイムアウトする。

\![open,sliderinput,スライダーテスト,--timeout=30000,--text="50,0,100"] 上記と同じ(新オプション指定)

\![open,timeinput,ID,表示時間,時,分,秒,オプション]

時間入力InputBoxを開く。
時,分,秒は初期値。24時間表記。
入力値はOnUserInputのReference1にカンマ区切りで「時,分,秒」と入る。
--option=○○の形で※オプション指定可能。


その他の動作はinputboxと同じ。

  • SSP

記述例

\![open,timeinput,時間入力テスト,30000,23,45,12]初期値が23時45分12秒の時間入力InputBoxを開く。30秒でタイムアウトする。

\![open,timeinput,時間入力テスト,--timeout=30000,--text="23,45,12"] 上記と同じ(新オプション指定)

\![open,ipinput,ID,表示時間,IP1桁目,IP2桁目,IP3桁目,IP4桁目,オプション]

IPアドレス入力InputBoxを開く。
Windows上では入力ボックスの制限のため、IPv4アドレスのみ受け入れ可能。
--option=○○の形で※オプション指定可能。


その他の動作はinputboxと同じ。

  • SSP

記述例

\![open,ipinput,IP入力テスト,30000,192,168,0,1]

\![open,ipinput,IP入力テスト,--timeout=30000,--text="192,168,0,1"]

\![close,inputbox,ID]

IDで指定されたInputBox(日付、時間、スライダー、入力非表示ボックスも含む)を閉じる。全部閉じたい場合は、__SYSTEM_ALL_INPUT__を指定する。

  • SSP
  • Ninix

記述例

\![close,inputbox,時間入力テスト]IDが「時間入力テスト」のInputBoxを閉じる。\![close,inputbox,__SYSTEM_ALL_INPUT__]その後、全てのInputBoxを閉じる。

\![open,configurationdialog,ダイアログID]

設定ダイアログ(オーナードローメニューの「本体設定」)を開く。
ダイアログIDで初期表示する画面を指定できる(省略時は前回開いた画面)。
SHIORI Event ※OnConfigurationDialogHelpのReference0参照。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\![open,configurationdialog,talk]SSP本体設定ダイアログの喋り/バルーンのタブを開く。

\![open,ghostexplorer]

ゴーストエクスプローラを開く。
オーナードローメニューから開くことも可能。
以下~エクスプローラは、ゴーストエクスプローラの種類(T)から変更することで手動で変更も出来る。

  • Materia
  • SSP
  • CROW

記述例

\![open,ghostexplorer]ゴーストエクスプローラを開く。

\![open,shellexplorer]

シェルエクスプローラを開く。表示されるのは現在起動中のゴーストのシェルのみ。

  • Materia
  • SSP
  • CROW

記述例

\![open,shellexplorer]シェルエクスプローラを開く。

\![open,balloonexplorer]

バルーンエクスプローラを開く。

  • Materia
  • SSP
  • CROW

記述例

\![open,balloonexplorer]バルーンエクスプローラを開く。

\![open,headlinesensorexplorer]

ヘッドライセンスエクスプローラを開く。

  • Materia
  • SSP
  • CROW

記述例

\![open,headlinesensorexplorer]ヘッドラインエクスプローラを開く。

\![open,pluginexplorer]

プラグインエクスプローラを開く。

  • SSP

記述例

\![open,pluginexplorer]プラグインエクスプローラを開く。

\![open,rateofusegraph]

ゴースト使用率を表示する。

  • Materia
  • SSP
  • CROW

記述例

\![open,rateofusegraph]ゴースト使用率を表示する。

\![open,rateofusegraphballoon]

バルーン使用率を表示する。未対応環境ではrateofusegraphを実行したのと同じになる。

  • Materia
  • SSP 2.3.77

記述例

\![open,rateofusegraphballoon]バルーン使用率を表示する。

\![open,rateofusegraphtotal]

ゴースト使用率(合算)を表示する。現時点でMateria以外未対応(rateofusegraphを実行したのと同じになる)

  • Materia
\![open,calendar]

カレンダーを開く。

  • SSP

記述例

\![open,calendar]カレンダーを開く。

\![open,help,ダイアログID]

SSPヘルプを開く。
ダイアログIDに設定ダイアログのID名(※OnConfigurationDialogHelpのReference0参照)で、その設定ダイアログについてのヘルプを展開。省略時はインデックスページを開く。

  • SSP

記述例

\![open,help,talk]ブラウザで、http://ssp.shillest.net/ukadoc/ssphelp/の喋り/バルーンのページを開く。

\![open,messenger]

インスタントメッセンジャーを開く。
オーナードローメニューからは、「機能(F) -> SSPメッセンジャ(M)」で実行できる。

  • SSP

記述例

\![open,messenger]インスタントメッセンジャーを開く。

\![open,readme]

readme.txtを開く。
何も指定しな場合、起動中ゴーストの、[実行したゴーストのフォルダ]/ghost/master/descript.txtのreadmeに指定してあるファイルが開く。
\![open,readme,種類(ghost/shell/balloon/headline/plugin),名前] と指定すると、指定したreadmeが開く。例:\![open,readme,ghost,Emily/Phase4]

  • SSP
  • Ninix

記述例

\![open,readme]readme.txtを開く。

\![open,terms]

起動中ゴーストの、[実行したゴーストのフォルダ]/terms.txtを使用し、利用条件ダイアログを表示する。
terms.txtがない場合は効果がない(エラー音のみ)
ユーザーの操作をダイアログで強制的に中断するので、濫用すべきではない。

  • SSP 2.5.33

記述例

\![open,terms]terms.txtを開く。

\![open,file,ファイル名]

ファイルを実行する。[実行したゴーストのフォルダ]/ghost/master/からの相対パスか、絶対パスで指定。
windowsの環境変数(%SYSTEMROOT%,%SYSTEM%,%TEMP%等)を使う事ができる。
ファイル名に実行ファイルを指定した場合、自動でパス探索する。

  • SSP

記述例

\![open,file,shell/master/surface0.png]shell/masterフォルダのsurface0.pngが開かれる。

\![open,file,%ComSpec%]コマンドプロンプトが実行される。

\![open,file,TortoiseProc.exe]TortoiseSVNがインストールされていれば、パスを自動で検索して実行する。

\![open,dialog,open,パラメータ]

ファイルを開くのダイアログを開く。このダイアログでファイルを選択しても、実際にファイルが開かれるわけではない。
決定時、SHIORIイベントOnSystemDialogが発生し、reference0に「open」、Reference2にファイルパスが格納されているため、ここで実際の処理を各ゴースト作者が作成し実行させる。
閉じるとSHIORIイベントOnSystemDialogCancelが発生する。
パラメータ指定は後述をカンマ区切りで複数指定。

  • SSP

記述例

\![open,dialog,open,--title=オープンダイアログ表示テスト,--dir=C:/SSP/ghost/emily4/ghost/master,--filter=辞書ファイル|dic*.txt;*.dic;*.aym;*.kis|全てのファイル|*.*,--id=テストダイアログ]SSPがCドライブ直下に、SSPという名前のフォルダで存在する場合、Emily/Phase4.5の[実行したゴーストのフォルダ]/ghost/masterを初期位置とし、dic~.txtと~.dicと~.aymと~.kisのファイルのみ表示する。

\![open,dialog,save,パラメータ]

ファイルの保存のダイアログを開く。このダイアログで保存を行っても、実際に何かが保存されるわけではない。
決定時、SHIORIイベントOnSystemDialogが発生し、reference0に「save」、Reference2にファイルパスが格納されているため、ここで実際の処理を各ゴースト作者が作成し実行させる。
閉じるとSHIORIイベントOnSystemDialogCancelが発生する。
パラメータ指定は後述をカンマ区切りで複数指定。

  • SSP

記述例

\![open,dialog,save,--title=セーブダイアログ表示テスト,--dir=__system_mydocument__,--filter=テキストファイル|*.txt;*.dic,--ext=txt,--name=test,--id=テスト保存ダイアログ]マイドキュメントを初期位置として、.txtと.dicのファイルのみを表示し、初期ファイル名「test.txt」の保存ダイアログを開く。

\![open,dialog,folder,パラメータ]

フォルダ選択のダイアログを開く。このダイアログで選択しても、実際に何かが行われるわけではない。
決定時、SHIORIイベントOnSystemDialogが発生し、reference0に「folder」、Reference2にフォルダパスが格納されているため、ここで実際の処理を各ゴースト作者が作成し実行させる。
閉じるとSHIORIイベントOnSystemDialogCancelが発生する。
パラメータ指定は後述をカンマ区切りで複数指定。

  • SSP

記述例

\![open,dialog,folder,--title=フォルダ選択ダイアログ表示テスト,--id=OnTestFolderDialog]ダイアログで前回開いた場所を初期位置として、フォルダ選択ダイアログを開く。保存ボタンを押すと、指定したID名が「OnTestFolderDialog」でOnで始まっているため、同名のSHIORIイベントOnTestFolderDialogが通知される。

\![open,dialog,color,パラメータ]

カラーパレットのダイアログを開く。このダイアログで色を指定しても、実際に何かが行われるわけではない。
決定時、SHIORIイベントOnSystemDialogが発生し、reference0に「color」、Reference2に「R,G,B」形式で選択した色が格納されているため、ここで実際の処理を各ゴースト作者が作成し実行させる。
閉じるとSHIORIイベントOnSystemDialogCancelが発生する。
パラメータは以下をカンマ区切りで指定可能。

--color=R G B
RGBをそれぞれ0~255で指定
--id=イベントID
OnSystemDialog/OnSystemDialogCancelに送るID
イベントIDをOn~にするとそのIDのイベントが発生する。Referenceの内容はOnSystemDialogと同じ。
Reference0は固定で「color」が入っている。
  • SSP

記述例

\![open,dialog,color,--color=255 0 0,--id=テストカラーダイアログ]初期表示色が赤のカラーパレットダイアログを表示。

\![close,dialog,ID]

指定したイベントIDのダイアログを閉じる。全部の場合は__SYSTEM_ALL_DIALOG__を指定。

  • SSP

記述例

\![close,dialog,テストカラーダイアログ]現在表示されているダイアログのうち、idが「テストカラーダイアログ」のものを閉じる。ダイアログが閉じられた場合、OnSystemDialogCancelが通知される。

\![open,surfacetest]

サーフェステストダイアログを開く。本体設定で「開発者用機能」がONになっていない場合は無視される。

  • SSP

記述例

\![open,surfacetest]サーフェステストダイアログを開く。

\![open,aigraph]

AIグラフを開く。実行したゴーストがSHIORIリソースgetaistateに反応しない場合、何も起こらない。

  • SSP

記述例

\![open,aigraph]AIグラフを開く。

\![open,developer]

開発用パレットを開く。開発者用モードがOFFの場合は何も起こらない。

  • SSP 2.5.78
\![open,shiorirequest]

SHIORI Request 送信パレットを開く。開発者用モードがOFFの場合は何も起こらない。

  • SSP 2.5.78

InputBoxオプション

○○の形で指定。すべて指定がなくても動く。

--option=(noclose|noclear)
noclose:入力後、inputboxを閉じないで表示し続ける。
noclear:入力後、入力内容を初期化せずにそのまま表示し続ける。
nocloseと同時に指定する(例:\![inputbox,入力内容,,,--option=noclose,--option=noclear])。
特殊なinputbox(slider,password,time,date)では無効。
--text=デフォルト表示
最初から表示すべき文字列。
sliderinputでは初期値,最小,最大/dateinputでは年,月,日/timeinputでは時,分,秒
--timeout=タイムアウトミリ秒
入力ボックスを自動的に閉じるまでの時間。ゼロ以下を指定すると閉じない。
--balloon=ID
balloonc?.png/txtの?のところに入るIDを指定すると、そのIDに対応した画像を利用する。
指定がない場合は入力ボックスごとに標準で決まっているIDになる。 (SSP 2.6.23)
--limit=文字入力制限長さ
入力ボックスに入れられる文字数を制限する。
--reference=追加情報
OnUserInputのReference3、またはOnではじまる指定イベントのReference2以降に指定した追加情報を追加する。

InputBoxのID

決定時、OnUserInputが発生するが、IDに「On」から始まる文字列を指定した場合、代わりにID名のイベントが発生する。
OnUserInputではReference0に指定したID、Reference1に入力内容が入るが、ID名のイベントの場合、Reference0に入力内容が入る。


\![open,inputbox,インプットテスト,10000,テスト入力]で入力を決定した場合。

  • 「OnUserInput」が発生
  • Reference0は「インプットテスト」
  • Reference1は入力内容
  • Reference2は入力内容補足(sliderinputのみ、最小,最大。ほかは空欄)
  • Reference3以降は--reference=で指定した追加情報

\![open,inputbox,Onインプットテスト,10000,テスト入力]で入力を決定した場合。

  • 「Onインプットテスト」が発生
  • Reference0は入力内容
  • Reference1は入力内容補足(sliderinputのみ、最小,最大。ほかは空欄)
  • Reference2以降は--reference=で指定した追加情報

IDにかかわらず、閉じるボタンを押した時とタイムアウト時はOnUserInputCancelが発生する。

ファイルを開く / ファイルを保存 / フォルダ選択 / カラーパレット選択 パラメータ

--title=テキスト
ダイアログのタイトルバーに表示されるテキスト
省略した場合、openダイアログなら「Open File」、saveダイアログなら「Save File」、folderダイアログなら空欄、colorダイアログなら「色の設定」。
--dir=パス

初期表示フォルダ、絶対パスで指定
省略した場合は前回ダイアログで開いたフォルダ


パス部分に以下で、windowsの特殊なフォルダの指定が可能
__system_mydocument__
__system_mypictures__
__system_myvideo__
__system_mymusic__
__system_desktop__

--filter=フィルタ
BMP|*.bmp|その他|*.png;*.gif のように記述
openダイアログとsaveダイアログのみ有効。
--ext=拡張子
保存時の標準拡張子
saveダイアログのみ有効。
--name=ファイル名
保存時の標準ファイル名
saveダイアログのみ有効。
--id=イベントID
OnSystemDialog/OnSystemDialogCancelに送るID
イベントIDをOn~にするとそのIDのイベントが発生する。Referenceの内容はOnSystemDialogと同じ。
Reference0はダイアログの種類によって「open」「save」「folder」のいずれかが入っている。

プロパティシステム操作コマンド

\![set,property,プロパティ名,値]

プロパティシステムへの値の入力。
※プロパティシステムの詳細はプロパティシステムのページ参照。

  • SSP
  • CROW

記述例

\![set,property,currentghost.shelllist(master).menu,hidden]オーナードローメニューのシェル(S)から、masterシェルを非表示にし手動で変更出来ないようにする。\![set,property,currentghost.shelllist(master).menu,]masterシェルを再度オーナードローメニューに表示する。

\![get,property,イベント名,プロパティ名,プロパティ名,...]

プロパティシステムの値の取得。
イベント名で指定したイベントが発生し、そのreference0以降にひとつずつプロパティシステムの値が入る。
※プロパティシステムの詳細はプロパティシステムのページ参照。

  • SSP
  • CROW

記述例

このスクリプトの再生後、SHIORIイベント「SSPからバルーン情報取得」が通知される。Reference0に現在使用中のバルーンの、本体側の表示可能な幅(ピクセル数)、Reference1にその高さが入っている。\![get,property,SSPからバルーン情報取得,currentghost.balloon.scope(0).validwidth.initial,currentghost.balloon.scope(0).validheight.initial]

未分類コマンド

\![execute,http-get,URL]

http get リクエストを行い、レスポンスをファイルに格納する。
ファイルは[実行したゴーストのフォルダ]/ghost/master/varフォルダに格納される。

  • Materia
  • SSP
  • Ninix

記述例

\![execute,http-get,http://ssp.shillest.net/ukadoc/manual/list_sakura_script.html]ukadocのさくらスクリプトリスト(このページ)を取得し、varフォルダにlist_sakura_script.htmlを保存する。

\![execute,http-get,URL,パラメータ]

パラメータ付きでhttp get リクエストを行い、レスポンスをファイルに格納する。
ファイルは[実行したゴーストのフォルダ]/ghost/master/varフォルダに格納される。

  • SSP
  • Ninix

記述例

\![execute,http-get,http://search.yahoo.co.jp/search,p=SSP 伺か]YAHOOでの「SSP 伺か」の検索結果ページを、そのまま保存する。

\![execute,http-post,URL,パラメータ]

パラメータ付きでhttp post リクエストを行い、レスポンスをファイルに格納する。
ファイルは[実行したゴーストのフォルダ]/ghost/master/varフォルダに格納される。

  • SSP
  • Ninix

記述例

\![execute,http-post,http://jbbs.shitaraba.net/bbs/read.cgi/computer/44300/1432574039/,BBS=44300&KEY=1432574039&DIR=computer&MESSAGE=テストメッセージ]ゴースト回覧板3rdの、テストスレに「テストメッセージ」と本文に入れて送信する。※したらば掲示板がスパム対策を強化したため現在書き込み不可。

\![execute,http-get,URL,オプション,オプション,オプション...]

※オプション付きでhttp get リクエストを行い、レスポンスをファイルに格納する。
ファイルは[実行したゴーストのフォルダ]/ghost/master/varフォルダに格納される。

  • SSP
  • Ninix

記述例

\![execute,http-get,http://search.yahoo.co.jp/search,--async=伺か検索,--file=検索結果ファイル.txt,--nodescript,--param=p=SSP 伺か,--timeout=5]YAHOOでの「SSP 伺か」の検索結果ページを、[実行したゴーストのフォルダ]/ghost/master/var/検索結果ファイル.txtに保存する。実行時、オンラインマーカーやダウンロード状況を出さない。5秒応答がなければタイムアウトする。

\![execute,http-post,URL,オプション,オプション,オプション...]

※オプション付きでhttp post リクエストを行い、レスポンスをファイルに格納する。
ファイルは[実行したゴーストのフォルダ]/ghost/master/varフォルダに格納される。

  • SSP
  • Ninix

記述例

\![execute,http-post,http://jbbs.shitaraba.net/bbs/read.cgi/computer/44300/1432574039/,--async=書き込みテスト,--param=BBS=44300&KEY=1432574039&DIR=computer&MESSAGE=テストメッセージ]ゴースト回覧板3rdの、テストスレに「テストメッセージ」と本文に入れて送信する。5秒応答がなければタイムアウトする。※したらば掲示板がスパム対策を強化したため現在書き込み不可。

\![execute,http-head,URL,オプション,オプション,オプション...]

※オプション付きでhttp head リクエストを行う。

  • SSP 2.6.40
  • Ninix
\![execute,http-put,URL,オプション,オプション,オプション...]

※オプション付きでhttp put リクエストを行う。

  • SSP 2.6.40
  • Ninix
\![execute,http-delete,URL,オプション,オプション,オプション...]

※オプション付きでhttp delete リクエストを行う。

  • SSP 2.6.40
  • Ninix
\![execute,rss-get,URL,オプション,オプション,オプション...]

※オプション付きでhttp get リクエストを行い、レスポンスをRSS/Atomフィードとして解析したのち、解析結果をイベントとして通知する。
パラメータ群の指定はhttp-postと同じ。

  • SSP
\![execute,rss-post,URL,オプション,オプション,オプション...]

※オプション付きでhttp post リクエストを行い、レスポンスをRSS/Atomフィードとして解析したのち、解析結果をイベントとして通知する。
パラメータ群の指定はhttp-postと同じ。

  • SSP
\![execute,extractarchive,ファイル名,ディレクトリ名]

ZIPファイルの解凍をする。指定はフルパスで行うこと(相対パス指定不可)。
処理が完了するまでスクリプトの実行は停止する。
セキュリティ上の観点から、解凍先は、SSP管理下のフォルダ(ghostフォルダ、balloonフォルダなど「フォルダ」設定で指定した場所)以下への展開に制限される。
また、この制限は適宜強化される可能性があるため、ゴースト自身のデータが置かれているフォルダ以下に限定するのが無難。

  • SSP

記述例

\![execute,extractarchive,C:/SSP/ghost/test.zip,C:/SSP/ghost/emily4]Cドライブ直下にSSPがインストールされている場合、Emily/Phase4.5のフォルダをtest.zipに圧縮してghostフォルダに置く。

\![execute,compressarchive,ファイル名,ディレクトリ名]

ZIPファイルの圧縮をする。指定はフルパスで行うこと(相対パス指定不可)。
処理が完了するまでスクリプトの実行は停止する。
セキュリティ上の観点から、圧縮先は、SSP管理下のフォルダ(ghostフォルダ、balloonフォルダなど「フォルダ」設定で指定した場所)以下への展開に制限される。
また、この制限は適宜強化される可能性があるため、ゴースト自身のデータが置かれているフォルダ以下に限定するのが無難。

  • SSP

記述例

\![execute,compressarchive,C:/SSP/ghost/test.zip,C:/SSP/ghost/emily4]Cドライブ直下にSSPがインストールされている場合、Emily/Phase4.5のフォルダをtest.zipに圧縮してghostフォルダに置く。

\![execute,dumpsurface,ディレクトリ,スコープID,サーフェスリスト,prefix,イベントID,ゼロ位置切り出し]

合成済みのサーフェス画像を指定したディレクトリに出力する。
イベントIDを指定しない場合は、処理が完了するまでスクリプトの実行は停止する。
スコープID : \sタグに指定するものと同じIDを指定する。この指定で、着せ替え状態などのスコープに依存する処理が変わる。
サーフェスリスト : surface ID指定と同じ書式、または以下を指定する。
__system_surface_all__ : シェルとして有効なサーフェスをすべて出力する
__system_surface_defined__ : surfaces.txt内で定義されたサーフェスのみすべて出力する
参考 SakuraScriptの大かっこパラメータ内でカンマを指定したい場合は " " で囲むと良い。
prefix : (省略可) 出力したいファイルの頭につける文字列。省略した場合はsurface。
イベントID : (省略可) これを指定するとSakuraScriptの続きを実行しながら出力を続け、終わり次第指定したイベントを発生させる。Reference0には出力に成功したファイル数が入る。
ゼロ位置切り出し : 1を指定すると、アニメーション定義に関わらず必ず0,0からダンプし、負の座標部分を無視する。
セキュリティ上の観点から、出力先は、SSP管理下のフォルダ(ghostフォルダ、balloonフォルダなど「フォルダ」設定で指定した場所)以下への展開に制限される。
また、この制限は適宜強化される可能性があるため、ゴースト自身のデータが置かれているフォルダ以下に限定するのが無難。

  • SSP [2.5.98]
\![execute,install,path,ファイル名]

指定したnarファイルをインストールする。指定はフルパスで行うこと(相対パス指定不可)。

  • SSP

記述例

\![execute,install,path,C:/SSP/emily4.nar]C:/SSPにあるemily4.narをインストールする。

\![execute,install,url,URL,(feed|nar|homeurlのいずれか)]

指定したURLのnarファイルをインストールまたはRSSFeedを登録。
(feed|nar|homeurl)は省略可能。
ファイルのダウンロードを一時ファイル用フォルダ内に自動的に行い、適宜インストール処理を行う。
このタグで実行されたダウンロード処理については、OnURLQueryは発生しない。

  • SSP

記述例

\![execute,install,url,http://ssp.shillest.net/ghost/emily4.nar,nar]Emily/Phase4.5のnarをダウンロードしてきてインストールする。

\![execute,ping,パラメータ1,パラメータ2,...]

指定したホストにpingを打つ。IPv6対応。
パラメータは以下の通り。

  • --host=ホスト名またはIP
  • --ttl=TTL……(パケット生存期間(何回ルーティングできるか) 標準255
  • --count=送信回数……標準3
  • --size=送信サイズ……(--data有効の時は--size無効) 標準32
  • --timeout=タイムアウト(ms)……標準5000
  • --df=(true|false)……パケット分割不能true 分割可false 標準false
  • --data=文字列……ICMP Echoのデータフィールドに埋め込む文字列(UTF-8に変換される)
  • --event=イベントまたは識別子……Onではじまる文字列を指定すると(後述のイベントの替わりに)そのイベントが起きる

動作中・動作後のイベントに関する仕様はOnPingProgressOnPingCompleteを参照。

  • SSP

記述例

\![execute,ping,--host=ssp.shillest.net,--event=pingテスト]ばぐとら研究所にデフォルト設定でpingを打つ。

\![execute,nslookup,パラメータ1,パラメータ2,...]

ホスト名を指定するとIP、IPを指定するとホスト名を調べる。IPv6対応。
パラメータは以下の通り。

  • --host=ホスト名またはIP
  • --event=イベントまたは識別子……Onではじまる文字列を指定すると(後述のイベントの替わりに)そのイベントが起きる

動作中・動作後のイベントに関する仕様はOnNSLookupCompleteOnNSLookupFailureを参照。

  • SSP

記述例

\![execute,nslookup,--host=ssp.shillest.net,--event=nslookupテスト]ばぐとら研究所のホスト名指定でIPを調べる。調べた内容は成功時に通知されるOnNSLookupCompleteのReference3に入っている。

\![execute,createnar]

スクリプトを実行したゴースト自身のNARを作る。

  • SSP 2.5.08
\![execute,createupdatedata]

スクリプトを実行したゴースト自身の更新定義ファイル(updates2.dau/updates.txt)を作る。

  • SSP 2.5.08
\![execute,emptyrecyclebin]

ゴミ箱を空にする。実行後すぐには空にならず、削除処理が完了した時点でOnRecycleBinEmptyが通知される。

  • SSP 2.6.04
\![enter,passivemode]

※PassiveModeを開始する。

ゴースト終了まで有効。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

さくらスクリプトの再生後、パッシブモードになる。\![enter,passivemode]ここから、最小化も終了も出来ない。

\![leave,passivemode]

上記を解除する。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\![leave,passivemode]パッシブモード解除。

\![enter,inductionmode]

※InductionModeを開始する。

ゴースト終了まで有効。

  • Materia
  • SSP

記述例

\![enter,inductionmode]インダクションモード開始。

\![leave,inductionmode]

上記を解除する。

  • Materia
  • SSP

記述例

\![leave,inductionmode]インダクションモード解除。

\![enter,selectmode,モード(rect),左,上,右,下]\![enter,selectmode,モード(rect),当たり判定名]\![enter,selectmode,モード(rect)]

選択モードを開始する。実行すると透明部分も表示され、マウスをドラッグすると領域を指定することができる。
実行後、OnSelectModeBeginが実行される。その他OnSelectModeMouseUp、OnSelectModeMouseDown、OnSelectModeCancel、OnSelectModeCompleteも参照。
現在のところ、矩形選択モードを示す "rect" のみを指定可能。また、無指定の場合はrectを指定したのと同じ扱いになる。
モード以降に選択の初期位置を指定可能。座標か、同じ大きさに設定したい当たり判定名を入れる。
このモード中、サーフェスは再描画されない。さくらスクリプト(\s[ID])や着せ替えを行っても描画は変化しないが、反映はされており、\![leave,selectmode]時に描画される。

ゴースト終了まで有効。

  • SSP

記述例

\![enter,selectmode,rect,head]セレクトモードを開始する。判定名headの範囲が初期選択されている。

\![leave,selectmode]

上記を解除する。実行後OnSelectModeCompleteが実行される。
当たり判定領域が無効(未選択)などの場合はOnSelectModeCancelになる。

  • SSP

記述例

\![leave,selectmode]セレクトモードを解除する。

\![enter,collisionmode]\![enter,collisionmode,rect]

開発用パレットの「当たり判定を表示」と同じことをする。3つめにrectと指定すると、当たり判定名を表示せず領域の枠のみ表示する。

ゴースト終了まで有効。

  • SSP
  • Ninix

記述例

\![enter,collisionmode]コリジョンモードを開始する。

\![leave,collisionmode]

上記を解除する。

  • SSP
  • Ninix

記述例

\![enter,collisionmode]コリジョンモードを開始する。\![leave,collisionmode]ここで解除する。

\![reloadsurface]

[旧仕様]サーフェスをリロードする。SSPでは\![reload,shell]と同じ。

  • Materia
  • SSP

記述例

\![reloadsurface]シェルをリロードする。

\![reload,descript]

全descript.txtをリロードする。

  • SSP

記述例

\![reload,descript]全descript.txtをリロードする。

\![reload,descript,パラメータ]

指定したdescript.txtをリロードする。
半角スペース区切りで複数指定可能。
ghost shell balloon headline plugin

  • SSP

記述例

\![reload,descript,shell balloon]シェルとバルーンのdescript.txtをリロードする。

\![reload,shiori]

shiori.dllをリロードする。

  • SSP

記述例

\![reload,shiori]shioriをリロードする。結果として辞書ファイルを全て読みなおす。起動中に書き換えた辞書ファイルの内容を適用する場合などに用いる。

\![reload,makoto]

makoto.dllをリロードする。

  • SSP

記述例

\![reload,makoto]makotoをリロードする。

\![reload,shell]

シェルをリロードする。

  • SSP

記述例

\![reload,shell]シェルをリロードする。

\![reload,balloon]

バルーンをリロードする。

  • SSP
\![reload,ghost]

ゴースト全体をリロードする。

  • SSP

記述例

\![reload,ghost]リロードする。自分自身へのゴースト切り替えと、SHIORIイベントが発生しないことを除けばほぼ同じ。

\![unload,shiori]

shiori.dllをアンロード(読み込み解除)し、そのままを維持する。
unload後は適切なタイミングでloadを実行すること。unloadしたままでは何も反応できなくなる。

  • SSP 2.5.58
\![unload,makoto]

makoto.dllをアンロード(読み込み解除)し、そのままを維持する。

  • SSP 2.5.58
\![load,shiori]

unload実行後にshiori.dllを読み込む。

  • SSP 2.5.58
\![load,makoto]

unload実行後にmakoto.dllを読み込む。

  • SSP 2.5.58
\![set,shioridebugmode,(true/false)]

開発者用パレットのSHIORIデバッグモードをON/OFFする。

  • SSP 2.5.78
\![create,shortcut]

起動中のゴーストの起動用ショートカットをデスクトップに作成する。
\![create,shortcut,startup] とすると代わりにスタートアップフォルダに作成する。

  • SSP 2.5.86
\_u[0x0000]

UCS-2 コード埋め込み。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_u[0x22EE]縦三点リーダを表示。\_u[8942]最初のさくらスクリプトの10進数表記。10進数の場合は0xをつけない。

\_m[0x00]

ASCII コード埋め込み。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\_m[0x41]半角大文字Aを表示。

\&[ID]

識別子による実体参照。

  • Materia
  • SSP
  • CROW
  • Ninix

記述例

\&[amp]半角アンパサンドを表示。実体参照の書式、&ID;のID部分を記入する。

\m[umsg,wparam,lparam]

SSTP専用。
Wndヘッダにより予めセットされたウインドウハンドルに対し
postmessage(hwnd,umsg,wparam,lparam) を実行する。

  • Materia
  • SSP
  • Ninix

記述例

SSTP経由でこのスクリプトを再生すると、再生したゴーストが終了する。\m[WM_CLOSE,0,0]

PassiveMode

パッシブモードの時、以下の制限が発生する。
ユーザの操作の制限で、さくらスクリプトで実行した場合は可能。

  • オーナードローメニューの選択可能な項目が制限される。
  • メールチェックしない。
  • ヘッドラインセンスしない。
  • オートチェンジしない。
  • スクリプトブレークしない。
  • 選択肢がタイムアウトしない。
  • 吹き出しが時間経過で消えない。
  • ファイルが DnD されても無視。
  • narダブルクリックのインストールも無視(SSPではインストールはされるがゴーストにイベントが来ない)。
  • OnSurfaceRestoreが来ない。
  • cantalk は常に false。(OnSecondChange および OnMinuteChange 自体は来る)
  • ゴーストを切り替えられない。
  • (Materiaのみ:)コミュニケートボックスは閉じられ、また開かない。
  • 最小化できない。
  • 終了できない。
  • ネットワーク更新できない。
  • アンインストールできない。

InductionMode

パッシブモードから以下の制限を解除したもの。

  • タイムアウト発生。
  • 最小化可能。
  • 終了可能。
  • (Materiaのみ:)コミュニケートボックス可能。

http get/post オプション

--async=識別ID
処理を待たずにSakuraScriptの続きを実行し、処理が完了してからOnExecuteHTTPCompleteまたはOnExecuteHTTPFailureイベントを通知。
RSSの場合はOnExecuteRSSCompleteOnExecuteRSSFailure
Onから始まるIDを指定した場合、上記の代わりにSHIORI Event[指定したID]/[指定したID]Failureが発生する。
例:--async=OnExampleのとき 成功時OnExample、失敗時OnExampleFailure
SakuraScriptの処理を一旦中断したい場合は、代わりに--syncと書く。
--authorization=Authorizationリクエストヘッダの中身 [2.6.37]
OAuthなどAuthorizationヘッダが必須の場合にあらかじめ設定する。
--cookie=クッキーデータ
Cookieのデータ、必要に応じてOnExecuteHTTPCompleteのReference5の値をそのまま指定する。
--content-type=(multipart/form-data | application/x-www-form-urlencoded | そのほか任意指定)
http-post限定。param指定のパラメータをどのような形式で送るか指定する。
何も指定しなければapplication/x-www-form-urlencoded。
指定形式によってはparamの書き方に制約があるので注意。
[2.6.37] より、Content-Typeリクエストヘッダに直接この情報を反映するようになった。
--file=ファイル名
取得するデータの保存名を指定。[実行したゴーストのフォルダ]/ghost/master/var/ファイル名に保存される。
--header=SomeHeader: リクエストヘッダの中身 [2.6.40]
任意の名前のリクエストヘッダを設定する。名前と中身を区切るコロンは必須。
SSPが用意したヘッダ情報を上書きするため、指定に矛盾がないよう利用時に注意すること。
--log=ファイル名
サーバとの通信内容をすべてログに記録する。主に開発時のデバッグ用。
--nodescript
オンライン表示とダウンロード状況を表示しない。
--nofile=パラメータ(文字コード) [2.5.77]
一時ファイルを作成せずメモリ上に取得したデータを展開し、イベントのReference3に格納する。
パラメータ指定は取得したデータを解釈すべき文字コード。指定しない場合はUTF-8とみなす。
取得可能なサイズは128KBまで。
--param=パラメータ
get/post/putのパラメータを指定する。複数回の指定が可能。
multipart/form-dataの時:
 --param=フィールド名=データ の形式を必要な数だけ繰り返す。
 例: --param=message_body=データ
application/x-www-form-urlencodedの時:
 --param=フィールド名=データ の形式を必要な数だけ繰り返した時は、すべて&でつないでサーバに送る。
 それ以外の時はすべてを改行文字(CRLF)でつないでサーバに送る(過去互換処理)。
他のcontent-type指定の時:
 複数定義するとすべてを改行文字(CRLF)でつないでサーバに送る。
--param-charset=文字コード
文字コードを指定。Shift_JIS、EUC-JP、UTF-8など、デフォルトではUTF-8。
--param-input-file=ファイル名 [2.6.40]
--paramオプションで指定し切れない大容量データを送信したい場合に、送信データの格納されたファイルを指定する。
指定したのが絶対パス指定でない場合、[実行したゴーストのフォルダ]/ghost/master/ からの相対指定として解釈される。
--paramを同時には指定しないこと。
中身は基本的に関知しないので、文字コードやエンコード等は使う側で責任を持って処理すること。
ただし、multipart/form-dataの時のみ、1行目を読み取ってフィールド間区切りとして解釈する。
指定するファイルパスはSSP管轄下(SSP.exeと同じ場所以下か、ゴースト等を列挙するよう指定したフォルダ以下)に限られる。
--progress-notify [2.6.44]
ダウンロード処理中にOnExecuteHTTPProgressイベントを通知する。
Onから始まるIDを指定した場合、上記の代わりにSHIORI Event [指定したID]Progress が発生する。
例:--async=OnExampleのとき OnExampleProgress
ダウンロード処理中に、逐一イベント通知処理が行われるため、ダウンロード速度の低下が発生する。
また、ファイルに出力する場合は、イベント通知時に一旦ファイルを閉じ、レスポンスを受けた後で再度ファイルを開く操作が加わるので、さらにダウンロード速度が遅くなる点に注意。
--sync=識別ID [2.6.44]
SakuraScriptの実行を一旦止めて処理待ちする点を除き、--async指定と同じ挙動となる。
--timeout=秒数
レスポンスを待つ時間(※ダウンロードに要する時間ではない)を指定する。最大300秒。
指定秒数までにレスポンスがなかった場合、SHIORIイベント「OnExecuteHTTPFailure」が通知され、Reference4に「timeout」が入っている。

環境変数

環境変数の指定方法

SSPがバルーンへ描画する時、環境変数を置き換える。
「単語-」で始まるものは候補が複数あり、ランダムで選択される。

環境変数の記述例

記述例

%username、ちょっと聞いてよ。%msが%mpにある%mhで%meを食べてたら%mtを思いついたんだって。

%month

現在月。

  • Materia
  • SSP
  • CROW
  • Ninix
%day

現在日。

  • Materia
  • SSP
  • CROW
  • Ninix
%hour

現在時。

  • Materia
  • SSP
  • CROW
  • Ninix
%minute

現在分。

  • Materia
  • SSP
  • CROW
  • Ninix
%second

現在秒。

  • Materia
  • SSP
  • CROW
  • Ninix
%username

ユーザー名。

  • Materia
  • SSP
  • CROW
%selfname

本体側の名前。

  • Materia
  • SSP
  • CROW
  • Ninix
%selfname2

本体側の名前その2。

  • SSP
  • Ninix
%keroname

相方側の名前。

  • Materia
  • SSP
  • CROW
  • Ninix
%screenwidth

ディスプレイスクリーンの幅。

  • Materia
  • SSP
  • CROW
  • Ninix
%screenheight

ディスプレイスクリーンの高さ。

  • Materia
  • SSP
  • CROW
  • Ninix
%exh

OSの連続起動時間。

  • Materia
  • SSP
  • CROW
  • Ninix
%et

間違った連続起動時間。(単位を含む)

  • Materia
  • SSP
  • CROW
  • Ninix
%wronghour

正しくない現在時間。

  • Materia
  • SSP
  • CROW
  • Ninix
%ms

単語-人。

  • Materia
  • SSP
  • CROW
  • Ninix
%mz

単語-無機物。

  • Materia
  • SSP
  • CROW
  • Ninix
%ml

単語-集合。

  • Materia
  • SSP
  • CROW
  • Ninix
%mc

単語-社名。

  • Materia
  • SSP
  • CROW
  • Ninix
%mh

単語-店名。

  • Materia
  • SSP
  • CROW
  • Ninix
%mt

単語-技。

  • Materia
  • SSP
  • CROW
  • Ninix
%me

単語-食物。

  • Materia
  • SSP
  • CROW
  • Ninix
%mp

単語-地名。

  • Materia
  • SSP
  • CROW
  • Ninix
%m?

単語-非限定。

  • Materia
  • SSP
  • CROW
  • Ninix
%dms

単語-「~に~する~」。

  • Materia
  • SSP
  • CROW
  • Ninix
%lastghostname

インストール時用。最後にイベントを行ったゴースト名。

  • Materia
  • SSP
%lastobjectname

インストール時用。最後にイベントを行ったオブジェクト名。

  • Materia
  • SSP
%*

\![*]と同じ機能。

  • SSP
%property[プロパティ名]

指定したプロパティシステムの値。
※プロパティシステムの詳細はプロパティシステムのページ参照。

  • SSP
  • CROW