■スクリプトファイル
NScripterは、実行するとまず同じフォルダにある「00.txt」を読みに行きます。
ですから、「nscr.exe」と同じフォルダに「00.txt」というファイルを作成してください。そのファイルにスクリプトを記述していくことになります。
もし、「01.txt」、「02.txt」、……があると、それも連結して読み込みます。実際には「99.txt」まで読ませることが出来ます。
マニュアルには、「00.txtが無ければ、nscmake.exeで作れる、暗号化シナリオファイルnscript.datを探しに行きます」とあります。
ゲームを配布する際には暗号化するとよいでしょう。
「nscript.dat」と「00.txt」が両方あった場合は、「00.txt」が優先されるので気をつけてください。
ちなみに、00.txt〜09.txtは、0.txt〜9.txtと書くこともできます。
しかしこれは古い書き方なので、これからは00.txt〜の書き方で良いと思います。
両方の書き方を混ぜると上手く動かないので、どちらかに統一してください。
■スクリプトの仕組み
スクリプトは、「こういう風に動いてください」という指示をnscr.exeに送るために書くものです。どういう風に指示を出すかというと、例えば「絵を表示してください」「音楽を鳴らしてください」「選択肢を出してください」といった要求を、短い英単語(のようなもの)でひとつひとつ書いていくのです。
このひとつひとつの短い英単語のことを
「命令」と呼んでいます。
NScripterは、スクリプトファイルに書かれたこれらの命令を上から順番に一つずつ実行していきます。ですから、ゲームとして見せたい順番に命令を書いていくことで、ゲームは出来上がっていきます。
NScripterはノベルゲームの実行エンジンですので、もちろんノベルの本文テキストを書くことも必要です。なので実際には、本文テキストの合間合間に命令を挟んでいく、というスタイルになります。
■定義部・実行部
それでは、00.txtの中身について見ていきましょう。
スクリプトファイルの中で一番最初に読みこまれるのは、「*define」から始まる定義ブロックです。定義ブロックでは名前の通り様々な設定を定義します。
NScripterの命令には、「定義ブロックでしか使えないもの」「実行ブロックでしか使えないもの」「定義ブロックと実行ブロック両方で使えるもの」の三種類があるので注意してください。
マニュアルには「F」「E」「FE」ということで分類されています。
定義ブロックの中で「game」の命令が書いてあるところまで来ると、今度は「*start」から始まる実行ブロックに移ります。ここから実際のゲーム内容を記述していくことになります。
ということで、スクリプトには最低限「*define」「game」「*start」の三つが必要になります。
*define
↑
定義ブロック
↓
game
*start
↑
実行ブロック
↓
|
■命令の記述方法
命令を書く場合、いくつかの事に気をつけなければなりません。
命令は基本的に半角の英数字で書くことになります。
また、マニュアル中に「文字列」と書いてあるところは、「""」でくくらなければなりません。半角のダブルクォーテーションです。
さらに、一行にいくつもの命令を書くことはできません。必ず改行してください。
ただし「:」で繋ぐと、改行せずに一行にいくつもの命令を書くことができます。半角のコロンです。