「さくらスクリプト/基本コマンド」の編集履歴(バックアップ)一覧に戻る

さくらスクリプト/基本コマンド - (2010/10/28 (木) 13:06:50) のソース

使用頻度の高そうな汎用さくらスクリプト。

イベントコマンド(一部)、スコープコマンド、バルーン・テキストコマンド、ウェイトコマンド、選択肢コマンド

----
#contents()
----

*イベントコマンド(一部)
ここに載っているもの以外は[[さくらスクリプト/イベント]]へ。

**\e
 イベント、メッセージの終了する。
 その後に書かれたイベント、メッセージは発生しない。
-そのスクリプトの終わりを示す。
-\eの後に書かれたものは実行されないが、スクリプトとしては渡されるので、ゴースト間コミュニケーションや切替反応とかで使えない事もない、、、が普通は使わない。
-文の最後尾につける必須のさくらスクリプト。しかし、
--里々は自動的につけてくれるので意図的でない限り使う必要はない。
--里々以外でもSSPなら自動的に処理してくれるっぽい(たぶん)。


**\-
 本体を終了する。
-このさくらスクリプトが実行された瞬間にゴーストが終了。
-終了トーク等は行わない。



*スコープコマンド

**\0 もしくは \h
 本体側のスコープに移る。


**\1 もしくは \u
 相方側のスコープに移る。


**\p[ID番号]
 ID番号のスコープを表示する。
-三人目以降を表示させる時に使う。
-\p[0]は\0、\p[1]は\1と同じ。
-里々で使う時は自動スコープ変更の「:」の法則を掴まないと失敗しやすい。これを使うトークだけ「:」を使わないようにするのも手。




*サーフィスコマンド(基本)
ここに載っているもの以外は[[さくらスクリプト/サーフィス]]へ。

**\sID番号
 現スコープ側のサーフィスをID番号のサーフィスに変更する。0~9のみ使用可能。

-旧仕様っぽいので使用は非推奨。


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

-里々の場合は(0)で\s[0]と同じ。(-1)で\s[-1]と同じ。
-\s[-1]の非表示状態で喋らせた場合、バルーン位置は\s[-1]の実行される直前のサーフィスの場所になる。変にずれたりしないのでありがたい。
-逆に起動直後など「直前」がない時はけっこうバルーン位置がずれたりする。気になる人はサーフィスと同じ大きさの透明サーフィスを用意するのも手。


**\i[ID番号]
 現スコープ側にID番号のサーフィスアニメーションを表示する。

-アニメーション関連の詳しいスクリプトは[[さくらスクリプト/サーフィス]]へ。




*バルーン・テキストコマンド
ここに載っているもの以外は[[さくらスクリプト/基本非汎用]]へ。

**\b[ID番号]
 現スコープ側のバルーンをID番号のバルーンに変更する。
 \b[-1]でバルーンを非表示。

-バルーン変更コマンド。それまで表示されていたトークなどは消えない。
-バルーンは一種類ごとに右向き時と左向き時の2ずつセットになっているので、数字は\b[0]、\b[2]、\b[4]、、、と全て偶数で指定する。
-\b[-1]によるバルーンの消去は、キャラクターが席を外すなどを表現する時に。この場合 \c との併用を推奨( \1\c\b[-1] 等)。\cし忘れると同スコープで再度トークをした時に非表示前のセリフが一瞬見える。


**\_b[ファイル名,x,y]
 画像をバルーンのXY座標に貼り付ける。
 ※SSPのみ画像URLを指定可能。
 ※ファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、下記参照。

 \_b[ファイル名,x,y,opaque] と記述すると左上の色を透過しないで表示する。
 逆にこれをつけない場合、シェルと同じく自動的に画像の左上1pxの色が透過される。

-バルーン内の画像貼り付けの基本。


**\_b[ファイル名,inline]
 バルーンのテキスト行内に1文字分扱いとして画像を貼り付ける。
 ※ファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、下記参照。

 \_b[ファイル名,inline,opaque] と記述すると左上の色を透過しないで表示する。
 逆にこれをつけない場合、シェルと同じく自動的に画像の左上1pxの色が透過される。

-SSP専用。
-文章と同じ感覚でバルーン内に画像を表示できるスクリプト。
-いわゆる外字の感覚で画像を文字の代わりに使ったり、選択肢横につけるアイコンに使ったりと便利。


**\_b[ファイル名,inline,オプション名,オプション名...]
 ※ファイル名の代わりにbase64エンコードやexe/dllのリソースを画像として指定可能、下記参照。

 ※オプション名
 『--option=opaque』
 バルーンのテキスト行内に1文字分扱いとして画像を貼り付ける。
 左上の色を透過しないで表示する。
 『--option=use_self_alpha』
 アルファチャンネル付きのPNGを透過して表示する。
 『--clipping=左 上 右 下』
 バルーンの左上右下で指定した数値の座標に画像を貼り付ける。

-クリッピングオプションを活用すると、アイコン系画像ファイルを一つにまとめる事も可能。


***補足

※SSPのみ可、ファイル名等のパスには環境変数も使える。
-base64を使用する場合
--例:"data:image/png;base64,iV~II"
-exe/dllのリソースを使用する場合
--例:D:\hogehoge.exe,20
-exe/dllのリソースを使用する場合(リソースID指定)
--例:D:\hogehoge.exe,-10



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


**\n[half]
 通常の半分の高さで改行。
-表示の高さ調整に。空行が一行分では多過ぎる、等。


**\n[パーセント]
 通常のパーセント分改行する。


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


**\c
 現スコープ側のバルーン内の文字をクリア。
-バルーン内の文字(\_b inlineで貼り付けた画像も)を全て消し、かつカーソル位置がバルーンの初期位置まで戻る。
-バルーン自体は消えない。


**\c[char,数値]
 現スコープ側のカーソル位置から指定文字数をクリア。
 \c[char,数値,開始位置] で現スコープ側の指定位置から指定文字数をクリア。
-バルーン内の演出に。
-活用して文字によるアニメーションが可能。
--例/ &color(#07c){あ\f[height,20]あ\c[char,1]\f[height,16]あ\c[char,1]\f[height,12]あ\c[char,1]\f[height,8]あ}


**\c[line,数値]
 現スコープ側のカーソル位置から指定行数をクリア。
 \c[line,数値,開始位置] で現スコープ側の指定位置から指定行数をクリア。


**\_l[x,y]
 現スコープ側のカーソル位置をXYの座標に移動する。
 \_l[xem,yem] で現スコープ側のカーソル位置をem単位でXY座標に移動する。
 \_l[@x,@y] で現スコープ側のカーソル位置をXY相対座標に移動する。em単位でも可。
-単位はドット。\_l[0,0]にすると、バルーンで設定された範囲の左上、つまり\cでクリアした時と同じ初期位置に移動する。バルーン画像の0,0ではないので注意。


**\C
 先頭に記述すると直前に表示したバルーンのテキストに追記をする。
-トーク中に別のイベントが発生した時などは、自動的にバルーンがクリアされてしまう。これを防ぎたい時に、後発イベントにこのタグを仕込むと続行できる。
-''文の最初に記述しなければ無視される''ので、里々では要注意。
--$スクリプトの一番頭【タブ】\C のように使う。

**\![*]
 マーカーを表示する。
-よく色々な選択肢の横についてるアイコン画像みたいなアレを表示する。
-バルーン作成者がそれぞれ用意した画像なので、ゴースト側で画像を用意するより背景との整合性が取れているはず。
-里々でこれを選択肢の横につける場合、『_』は使用不可。\qタグを使おう。
--例/ &color(#07c){_何か話して} → &color(#07c){\![*]\q[何か話して,何か話して]}




*ウエイトコマンド

**\w時間
 時間x50ms分の時間ウエイト。
-\w1~\w9。

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

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

**\x
 バルーンをクリック待ちにする。
-バルーンをクリックするまで先に進まない。長い文章や説明なんかで便利。
-\tと併用していない場合、触り反応などはきちんと発生する。
-バルーンをクリックすると\cと同等のクリアが自動的に発生する。

**\x[noclear]
 バルーンを一時クリック待ちにする。
-クリアが発生しないクリック待ちらしい。

**\t
 タイムクリティカルセッション。
 \eまでの間、クリックや他のイベントなどを行わない。
-これを使ったトーク中は、ランダムトークや触り反応が発生しなくなる。
-パッシブモードと違い終了は可(ただし即時終了になる)。
-初回起動など、「キャンセルされては困るトーク」で特に有効。
-物語系の導入では、\*と併用して「絶対に選択しなければならない選択肢」としても使える。


**\_q
 クイックセッション。
 次の\_qか\eまでメッセージがノーウエイトで表示される。
-\_q~\_q
-ゴーストのメニューや設定モードなんかで使うと効果的。
-クイックセクション中でもウェイトコマンドがきちんと動作する。これを利用して一行ずつ瞬間表示にする、といった事も可能。

**\![quicksession,true]
 クイックセッションを開始する。

**\![quicksession,false]
 クイックセッションを終了する。
-\_qを使いすぎてどこで開始でどこで終了かわけわからん状態になっちゃった、という時に。

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

**\_s[ID1,ID2,ID3...]
 IDのスコープをシンクロナイズセッションする。
-普通の\_sと同じく、効力は次の\_sか\eまで。
-使用例/ &color(#07c){\_s[0,2]ダウト!\_s} ←これで\0と\p[2]が同時に喋る






*選択肢コマンド

**\q[タイトル,ID]
 選択肢を表示。
 選択後、SHIORIイベントOnChoiceSelectが開始される。IDはReference0に格納される。
-里々を使う場合でも、この書き方に慣れておくと後々便利。
--\q[クリックできる文章,ジャンプ先の*] と覚えておくといいかも?


**\q[タイトル,OnID,r0,r1,...]
 選択肢を表示。
 上記のようにIDが"On"で始まっている場合は、選択後、SHIORIイベントOnID(書いた通りの
 イベント)が開始される。
 それ以降のパラメータはr0,r1,...の順番にReference0以降に格納される。
-意図的に自分の好きな名前で定義したOnなんちゃらイベントを発生させられる。OnChoiceSelectの一括処理では分岐がキツくなってきた時などに。勿論あらかじめ処理するイベント名を分けておくにも有効。


**\q[タイトル,ID1,ID2,ID3...]
 選択肢を表示。選択後、SHIORIイベントOnChoiceSelectが開始される。
 ID*はReference*に格納される。


**\q[タイトル,script:実行内容]
 選択肢を表示。選択後、script:以下の内容をSakuraScriptとして実行する。


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


**\z
 上記選択肢の範囲終了に付ける。[旧仕様]


**\__q[ID,...]
 \__qがくるまでの範囲を選択肢とする。
 ID以降の仕様は、Onやscript:で始まるものが特別扱いされるのも含めて\qと同じ。
 Onで始まるIDを指定した場合のみ、ID以降のパラメータがそれぞれreferenceとして扱われる。
-アンダーバーが&color(red){2つ}なので注意。SSP専用。
-\__q[]~\__q で括った全てが選択肢(タイトル)になる。
-特筆すべきは''このタグの効力は画像などにも適応される''という事。つまり、
--&color(#07c){\__q[ランダムトーク]\_b[talkicon.png,inline]\__q}
-とすると、画像を選択肢としてクリックできるようになる。バルーン内の装飾のほか、ミニゲームにも有用。
-また、さらに\_l[x,y]と併用すると非常識な選択肢グルーピングが可能。お験しあれ。
-追加情報をリファレンスに格納利用する場合、OnChoiceSelectではなくOnChoiceSelectExイベントを使うので注意。


**\*
 このコマンドの後の選択肢はタイムアウトされない。
-元は消滅予定の仕様だった。今も現存現役。
-ゴーストの設定メニューなどを表示している時に活躍。表示している情報量が多い場合、少なくともこれかタイムアウト時間を設定するかどちらかは設定しておきたい。
-タイムアウトはされないが、これ単体ではつつき等の他のイベントは発生する。初回起動などで「邪魔されない選択肢」にしたい場合は\tと併用すべし。


**\![set,choicetimeout,時間]
 タイムアウトを時間指定する。


**\_a[ID]
 \_aがくるまでの範囲をジャンパとする。
 ジャンパをクリックするとSHIORIイベントOnAnchorSelectが開始される。
 IDはReference0に格納される。
 SSPのみ、IDでURLジャンプが可能+Onで始まるIDを特別扱いする処理が含まれる。



----
目安箱バナー