jSSj
jiglet.info's
Scripting System jiglet
2007/12/20 改訂

操作マニュアル
インストール作業
このシステムはプレイする前にシナリオのインストールを行う必要があります。
インストールはインストールファイルへのリンクを「このURLをjigletに渡す」としてください。
インストールモードでjigletが立ち上がり、通信を行ってシナリオのインストールが行われます。

注意:シナリオをインストールするたびにすべてのセーブデータが削除されます。
また、現在はシナリオのアップデート機能が実装されていないため、アップデート時にもセーブデータが削除されます。

メイン画面での操作
キー説明
決定次のメッセージへ送る
メニューや選択肢を決定する

メニューや選択肢の項目を選ぶ

メッセージログを戻す・送る
0メッセージウィンドウを消す(対応シナリオのみ)

作成マニュアル
シナリオデータは「インストールファイル」「シナリオスクリプトファイル」「データファイル」に大別されます。


インストールファイルについて説明します。
このファイルはシナリオで使用する各種情報について記録したデータで、インストールのときに1度だけ解釈されます。
文字コードはShiftJIS、改行コードはCRLFで作成する必要があります。 このファイルの先頭には、
[JISS_INSTALL]
とだけ書かれた行が必要になります。
行は完全にこの文字列だけで構成してください。スペースなど余分なものが入ると認識されません。
それ以下の行は、以下の書式で記述されます。
<コマンド名> <パラメータ1>[ <パラメータ2> ...]

コマンド名やパラメータの間は必ず半角スペースひとつで区切ってください。
PC用のソフトウェアのような柔軟性はありません。スペースひとつで1区切りです。
コマンド名とその説明は以下のとおりです。
コマンドパラメータ数説明
TITLE1スクリプトの名前を決定します。
AUTHOR1スクリプトの製作者名を決定します。
URL1スクリプト製作者WEBサイトのURLです。シナリオ情報からジャンプできます。
SCREEN1スクリーンのサイズを指定します。QVGAまたはVGAが指定でき、指定のある場合は指定された解像度のシステムでのみ再生できます。現在は解釈されるだけで実行には影響しません。
SCRIPT1スクリプトファイルのURLです。絶対URLで記述する必要があります。
SAVES1セーブデータの数です。特に指定がない場合は8になります。この数×1024バイト(1キロバイト)の容量がセーブデータのために必要です。
シナリオの提供を開始したあとは、可能な限り減らさないようにしてください。アップデート時にセーブデータが失われる場合があります。
FILES1ファイルの総数を記述します。ここに記されたファイル数とDATAの行数が一致しない場合エラーになります。
SIZE1DATAで指定したファイルとスクリプトファイルのサイズの合計です。これを元に保存サイズが決定され、ユーザーにインストールの確認が出されます。また、SP(SD)へ保存するデータのサイズもここから計算されるため、数字が小さいとエラーになります。
DATA2ダウンロードするデータを決定します。パラメタは内部名 URLの順です。内部名は最大10バイトの制限があります。データの数だけ繰り返し記述してください。同じ内部名のファイルを記述することもできますが、実際には最も新しいものしか使用できません。残りは保存容量の無駄になります。

シナリオスクリプトファイルについて説明します。
このファイルはシナリオの内容を記述するファイルです。
文字コードはShiftJIS、改行コードはCRLFで作成する必要があります。
このファイルのすべての行は
<コマンド名> <パラメータ1>[ <パラメータ2> ...]
または
<コマンド名>
という書式で記述する必要があります。パラメータがある場合は半角スペースで区切り、ない場合はコマンドのみを1行に記述する形になります。
また、解釈できない行はスキップされます。しかしコメントはできるだけ#コマンドを使用してください。予想外のトラブルを招きかねません。
コマンド名とその説明は以下のとおりです。
コマンド名パラメータ数説明
#1コメントです。何もしません。*必ず#の後に半角スペースを入れてください。*
SCENE1セーブしたデータに表示される名前を設定します。シーン名などわかりやすくするのがいいかも。最大46バイト。
RESET0すべてのプライベートフラグ、表示されている画像をOFFにし、指定ラベルへとジャンプします。
MSGAREA5非表示可否(1で許可),X,Y,W,Hの順にスペース区切りでメッセージエリアの大きさを決定します。実際に文字が表示される領域です。
MSGOFFSET2メッセージエリアの背景画像を表示するオフセットです。X,Yの順にスペース区切りで指定します。マイナスも使用できます。
MSGBG1メッセージエリアの背景画像です。インストールファイルのDATAで読み込まれた内部名を指定します。
HIDEMSG1メッセージエリアを消去します。SHOWMSGか!>が呼ばれるまで、あらゆるメッセージは画面に表示されません。
SHOWMSG1HIDEMSGで消去したメッセージエリアを再び表示します。
SETFONT1メッセージのフォントサイズを設定します。直接ドット数で指定するか、SMALL/MEDIUM/LARGEで指定(こちらを推奨)してください。
!1メッセージを表示します。別項で述べる特殊リテラルが使用できます。メッセージログには残りません。
!>1メッセージを表示し、キー入力を待ちます。別項で述べる特殊リテラルが使用できます。メッセージログに残ります。また、HIDEMSGでメッセージウィンドウが消去されている場合には、メッセージウィンドウを自動的に表示します。
?2メッセージエリアに選択肢を表示します。ジャンプ先ラベル、選択肢の順にスペース区切りで入力します。選択肢の数だけ並べます。
+3指定したフラグがONのとき、選択肢を表示します。フラグ番号、ジャンプ先ラベル、選択肢の順にスペース区切りで入力します。?と混在できます。
-3指定したフラグがOFFのとき、選択肢を表示します。フラグ番号、ジャンプ先ラベル、選択肢の順にスペース区切りで入力します。?と混在できます。
>>1強制ジャンプします。ジャンプ先ラベルを指定します。
->1サブルーチンジャンプします。ジャンプ先ラベルを指定します。
RETURN0サブルーチンの終了です。呼び出し元の次の行に戻ります。
--1ラベルを設定します。選択肢(?)やジャンプ(>>)の飛び先です。
WAITKEY0キー入力を待ちます。
REPAINT0通常はキー入力待ちまたはFADEやSHAKEまで一切の再描画はされませんが、強制的に再描画します。
SLEEP1指定ミリ秒数そのまま待ちます。待つミリ秒数を指定します。
ON1フラグをONにします。フラグ番号を入力します。
OFF1フラグをOFFにします。フラグ番号を入力します。
NOT1フラグの値を反転します。フラグ番号を入力します。
IFON2フラグがONであればジャンプします。フラグ番号、飛び先の順にスペース区切りで入力します。
IFOFF2フラグがOFFであればジャンプします。フラグ番号、飛び先の順にスペース区切りで入力します。
IFON->2フラグがONであればサブルーチンジャンプします。フラグ番号、飛び先の順にスペース区切りで入力します。
IFOFF->2フラグがOFFであればサブルーチンジャンプします。フラグ番号、飛び先の順にスペース区切りで入力します。
IMAGE4画像を表示します。画像番号、内部名、X、Yの順にスペース区切りで入力します。
LOAD4画像を表示せずに読み込みます。画像番号、内部名、X、Yの順にスペース区切りで入力します。
BYE1画像を消去し、アンロードします。画像番号を入力します。
SHOW1非表示にした画像を表示します。画像番号を入力します。
HIDE1画像を非表示にします。画像番号を入力します。
MOVE3画像を移動します。画像番号、X、Yの順にスペース区切りで入力します。
CHARA3画像をキャラ表示します。画像番号、内部名、位置の順にスペース区切りで入力します。位置は別表を参照してください。
CMOVE2画像をキャラ移動します。画像番号、位置の順にスペース区切りで入力します。
SHAKE3画面を揺らします。効果回数、X移動量、Y移動量の順にスペース区切りで入力します。(-X,-Y)/(X,Y)/(-X,Y)/(X,-Y)/(0,0)の繰り返しになります。
BGCOLOR3背景色を設定します。R,G,Bの順にスペース区切りで入力します。
COLOR3文字色を設定します。R,G,Bの順にスペース区切りで入力します。
GFLAGSAVE0グローバルフラグを強制的にセーブします。
TERMINATE0jigletを終了します。同時にグローバルフラグもセーブされます。
SHOWSAVE0データセーブ画面を呼び出します。これはシステムメニューから呼び出せるものと等価です。
SHOWLOAD0データロード画面を呼び出します。これはシステムメニューから呼び出せるものと等価です。
BGM2BGMを設定します。内部名、再生時間ミリ秒をスペース区切りで入力します。リピートしたくない場合は0を指定してください。
STOPBGM0BGMを停止します。BGMコマンドで存在しないデータを指定してもBGMは止まりませんので、BGMの停止にはこのコマンドを使用してください。
SOUND2音声を再生します。内部名、再生チャンネルをスペース区切りで入力します。以前に再生した効果音は停止します。チャンネル0はBGMです。このコマンドでは使用できません。
STOPSOUND0すべての効果音を停止します。BGMは停止しません。
SETFADE4画面のフェードを設定します。フェード種別(後述)、フェードカラー(RGB)をスペース区切りで指定します。
FADE1画面のフェードを制御します。フェード段階を指定します。
FADEIN1FADE n ... FADE 2 FADE 1 FADE 0 と同じ意味を表します。nに相当する数字を指定します。
FADEOUT1FADE 0 FADE 1 FADE 2 ... FADE n と同じ意味を表します。nに相当する数字を指定します。
FADETO2FADE n FADE (n+1) ... FADE(m-1) ... FADE m と同じ意味を表します。n,mに相当する数字をスペース区切りで指定します。
CLEARFADE0画面に残っているフェード効果を消去します。

別表: 特殊リテラル
リテラル意味
\n改行

選択肢について
選択肢コマンド( ? + - )を利用する場合、選択肢として表示する文字列を「!IMG (画像番号)」とすることで画像を選択肢として使用することができます。
例えば、
? label !IMG 16
とすると、選択肢にフォーカスがあるときにのみ16番の画像が表示されるようになります。
この場合だと、フォーカスが他の選択肢に行くと画像は非表示になるため、背景の全く同じ位置に、非選択時の画像を予め表示しておく必要があります。
また、この機能を利用する場合には、選択肢コマンドを呼び出す前に、LOADコマンドを利用して画像をロードしておいてください。

なお、この機能によって表示された画像は自動では消去されませんので、消去する必要がある場合はジャンプ先でBYEコマンドなどを利用してください。

この機能は、通常の選択肢とは共存しないことをお勧めします。共存してもエラーにはなりませんが、メッセージウィンドウの選択肢が歯脱けに表示されてしまいます。

画像について
画像は全部で24枚表示することができます。画像番号0〜15はメッセージエリアより下、16〜23はメッセージエリアより上に表示されます。
CHARAコマンドにおける画像の位置は以下のように指定します。
指定実際の位置
0画面の中央に画像の中心線がそろいます。画像の下端は画面の下端になります。
1画面を2等分した左側の中央に画像の中心線がそろいます。画像の下端は画面の下端になります。
2画面を2等分した右側の中央に画像の中心線がそろいます。画像の下端は画面の下端になります。
3画面を3等分した左側の中央に画像の中心線がそろいます。画像の下端は画面の下端になります。
4画面を3等分した右側の中央に画像の中心線がそろいます。画像の下端は画面の下端になります。
簡単にいうと、1/2は画面にキャラ二人のときの左右、3/4は画面にキャラ三人の時の左右、0は画面に一人または三人のときの真ん中です。 これに10足した値(10〜14)の場合、画像の下端がメッセージエリアの上端になります。 これに20足した値(20〜24)の場合、画像の下端がメッセージエリアの背景画像の上端になります。
フラグについて
フラグは全部で1000個+24個+2047個使用できます。
プライベートフラグは0〜1023の数字で指定してください。
グローバルフラグは-1〜-2047の数字で指定してください。
すべてON/OFFの値のみをとることができるboolean型の変数です。

フェードの種別について
フェードの種別は以下のものが存在します。
なお、指定できる段階はすべて1が最小、下の段階数が最大となります。
種別段階数説明
124櫛フェード縦。縦線が増減する。
224櫛フェード横。横線が増減する。
333ブラインドフェード縦。縦線が横に移動しながら増減する。
433ブラインドフェード横。横線が横に移動しながら増減する。
1124櫛フェード縦逆。縦線が増減する。
1224櫛フェード横逆。横線が増減する。
1333ブラインドフェード縦逆。縦線が横に移動しながら増減する。
1433ブラインドフェード横逆。横線が横に移動しながら増減する。
「逆」となっているものは、シーン切り替えのときなどに使うと便利なものです。
たとえば1でFADEOUTした後、11でFADEINすれば見た目同じように切り替わります。
これは実装上の問題からこうなっていますが、細かいことはどうか気にしないでください(^^;。

データファイルについて
データファイルは実際にjigletの内部で表示される画像や再生される音声のデータのことです。
これらのデータは直接「getImage()」関数や「getSound()」関数に渡されるため、端末が扱えるデータでなければロードに失敗します。
おそらく以下の形式が使用できると思われます。(実際に調査したわけではありません)
形式拡張子FOMASoftbankau(Phase3)
JPEGjpg
jpe
jpeg
GIFgif
PNGpng×
iメロディmld××
SMAFmmf×
MIDI(SMF)mid

© 2007 jiglet.info, all rights reserved.