現在、掲示板機能は閉鎖中です
Tips!
スクリプトコンパイル
startup.xmlの設定

スクリプトコンパイル

シーンファイルの読み込みタイミング

 現状、CatSystem2 ではスクリプトファイル(.txt)をコンパイルする必要があります。スクリプトファイルがコンパイルされるタイミングは当然コンパイルしたときですが、ではコンパイルされたシーンファイル(.cst)を CatSystem2 が読み込むタイミングはいつでしょうか。
 シーンファイルが読み込まれるタイミング、それはシーンが切り替わる時です。シーンリストダイアログでシーンを選択したり、next コマンドや選択肢で次のシーンに飛んだときです。「それは当たり前だろう!」という声をあげたくなるかもしれませんが、この認識が曖昧だと組んだスクリプトの動作確認をする際に無駄な手間が発生する可能性がありますからはっきりとしておく必要があります。少なくとも、いちいちシーンリストを更新したり、CatSystem2 を再起動したりする必要はありません。
 スクリプトファイルをコンパイルしたら、即座にシーンリストダイアログで該当するシーンをダブルクリック。すべての基本です。

テキストエディタでコンパイル

 実践スクリプトのページでは、バッチファイルを使用したコンパイルを勧めていますが、もっと楽ちんな方法があります。それはスクリプトを組んでいるテキストエディタから、今編集しているテキストファイルを直接コンパイルしてしまうことです。
 全てのテキストエディタで出来るかと言われると、そういった機能を持ち合わせていないエディタもあるかとは思いますが、最近のテキストエディタは独自のマクロ機能を持っているものが多いです。そこで、ここでは広く使われているであろう「秀丸エディタ」を例に挙げて、マクロファイルのサンプルを用意してみたいと思います。

compile.mac
filetype_compile:
	
	#starthandle = hidemaruhandle (0);
	
	$filename = basename2;
	$current_dir = directory2;
	if( "\\" != rightstr($current_dir, 1) ){
		$current_dir = $current_dir + "\\";
	}
	
	// コンパイル前にセーブされていることを保証する
	save;
	
	if ( filetype == ".txt" ) {
		// mc.exe が scene フォルダに入っていること!
		runsync $current_dir + "mc.exe " + $filename;
	}
	
	endmacro;

 上記が、"compile.mac" というファイルの内容です。これを秀丸エディタのマクロフォルダに入れて、「メニュー>マクロ>マクロ登録」した後に「メニュー>その他>キー割り当て」で、登録したマクロを任意のキーに割り当てます。例えば、F12 などのキーに割り当てておくと、スクリプトファイルを編集した後に、そのままエディタ上で F12 キーを押すと勝手にファイルが保存されコンパイルが実行されます。(ただし、エラーメッセージは表示されないので注意)
 あとは、即座にシーンリストダイアログで該当シーンを実行。面倒なコンパイル作業が楽ちんになりました。

 (もっとも将来的に、シーンリストダイアログに機能が追加され、シーンを選択した瞬間に自動的にアップデートコンパイルがかけられるようになる予定が立っていますので、そうなればこんなマクロも必要なくなるかもしれませんが)

メッセージリスト

 これはマニュアルにはしっかりと書かれていますが、意外に見落としがちだったりするため、あえてここでピックアップしておきたいと思います。
 任意のシーンに飛ぶにはシーンリストダイアログで好きなシーンを選択すれば良いので簡単です。そしてスクリプトの動作を確認するために、確認したいところになるまでひたすらメッセージを飛ばして……と思いきや、そうしなくても済む方法があります。
 ういんどみる社内でも、スクリプトの動作チェックのために Ctrl キーを押して該当箇所の手前まで飛ばしたり、事前に直前の場所でクイックセーブしておいて修正後にクイックロードで該当箇所まで飛ぶことはままあります。ですがそれ以外に即座に任意の箇所へ飛ぶことも出来ます。それがメッセージリストダイアログです。
 シーンを選んだ後、ウインドウメニューから「デバッグ>メッセージリスト」を選択すると、メッセージリストダイアログが表示されます。その状態で、メッセージリストダイアログ内の任意のメッセージをダブルクリックすると、そのメッセージの箇所へ一瞬で飛ぶことが出来ます。ご活用ください。

 ただし、残念ながらこの機能は現状では完全ではありません。飛ぶことはできますが、飛んだ箇所によっては一時的に画面の更新が正常に行われていないことがあります。その場合はクリックして次のメッセージへ進めば正常に表示されたりしますので、場合によっては少し前の箇所に飛ぶなどして確認するのが良いかと思います。
 また、メッセージのない箇所(具体的にはシーンの終わり)で、直前のメッセージが表示されているなど、若干のバグが残っていたり、シーンが変わるとダイアログが消えてしまうなど、まだ改善の余地が残っていますので今後の修正をしばらくお待ちいただければと思います。