TESTESチュートリアル

◆ まずはフォルダとシナリオファイルの準備


初期設定時のフォルダ構成です。
プロジェクトフォルダと同じ階層に「Scenario」フォルダを作成し、その下に「main」フォルダを作成してください。
TESのシナリオファイルは、「main」フォルダ内に配置します。
シナリオファイル名は自由に付けていただいて構いませんが、「replace.txt」だけは自動置換機能用の特別なファイル名のため使用できません。

【重要】
・シナリオフォルダはツクールのプロジェクトフォルダ内には作成しないで下さい。
・ツクール機能の暗号化時に同梱されて、ユーザーに配布されてしまいます。
・作成するテキストファイルの文字コードは「UTF-8」で保存して下さい。


◆ メッセージの表示

とりあえず何か表示してみましょう。
この文章でいいですね。

いきなりですが、上の文章を「test.txt」として「main」フォルダに保存して下さい。
イベント変換」と「ツクールイベントからのリンク」を試して見ましょう。
無事、下の画像のように表示されましたか?
メッセージを表示するには、このようにそのまま表示したい文章を記述します。


◆ タグの使用

@if_sw id=1 flag=on
@se file=Horse volume=100
とりあえず何か表示してみましょう。
この文章でいいですね。
@end

@else
@se file=Buzzer2
@balloon target=-1 balloon=1
スイッチ1をオンにするまでは、こちらが表示されます。
ためしにスイッチ1をオンにするイベントを作成し、
再度このイベントにリンクしてみて下さい。
@end

突然複雑になりましたね。
しかし難しいことはありません。上のシナリオをツクールエディタで表わすとこうなります。

普段ツクールのイベントエディタで使っている機能そのままです。
こういう言語に慣れていないと難しく感じますが、書かれてる内容は同じですね。
メッセージの表示で使ったファイルに上のシナリオを上書きして、再度動作を確認してみましょう。

タグの書式は以下の通りです。

@tag param=value

・イベントコマンドに相当するタグ名は先頭に半角の「@」をつけます。
 先頭が「@」の行はタグ行として認識されます。存在しないタグはエラーになるので注意して下さい。

・設定項目があるタグは、タグ名に半角スペースを開けて、パラメータを記述します。
 「param」が引数名、「value」に指定するデータを記述します。
 どんな引数があって、どんなデータを入れるのかは、各コマンドのリファレンスを確認して下さい。

規則はこれだけです。
タグは大量にあってその引数も千差万別ですが、別にすべてを覚える必要はありません。
分からないときは、このドキュメントを表示しておいてすぐに確認できるようにしておきましょう。


◆ 自動置換の使い方

TESでは、メッセージの自動置換を実装しています。
自動置換とは、メッセージ内に特定のワードがあった場合、自動的に登録したワードに変換してくれる機能です。
具体例は以下の通り。
まず、シナリオファイル内に以下のようなメッセージがあったとします。

!さとちー
TESのご利用、ありがとうございます。

!さとちー
色14この文章は黄色で表示されるよ!色0

つづいて、「replace.txt」というファイルをシナリオフォルダ内に作成し、以下のテキストを記入して下さい。
※左のワードと右のワードの間には1つ以上のタブを挟んでください。タブは「Tab」キーで入力します。

!さとちー	\C[14]さとちー\C[0]
色0		\C[0]
色14		\C[14]
さとちー	睡魔ちゃん
やくそう	ポーション

この「replace.txt」が同じフォルダにある、すべてのシナリオファイルのメッセージはすべて置換され、上のメッセージは以下のように変換されます。

\C[14]睡魔ちゃん\C[0]
TESのご利用、\.ありがとうございます。\.\.

\C[14]睡魔ちゃん\C[0]
\C[14]この文章は黄色で表示されるよ!\C[0]

お分かりだろうか、この機能の破壊力を・・・!
具体的には以下のようなストレスから解放してくれます。
 ・毎回毎回毎回毎回毎回、色の指定を入れて元の色に戻して・・・・制御文字めんどくせぇ!
 ・句読点にウェイト入れたいなー。でもめんどくさいなー・・・
 ・主人公の名前が変わったために、すべてのイベントを修正して・・・
 ・アイテム名変えちゃった!宝箱のメッセージ修正しなきゃー!
 ・配布後、変え忘れはっけーんΣ(゚д゚lll)
ありますよね。この苦痛・・・
自動置換機能はこの苦痛を和らげてくれます。
うまく使いこなしてみて下さいね!
※TES内のメッセージに限ります。ツクールイベントのメッセージには非対応です。
※この制限は、TES使えよ!って気持ちの現れじゃないよ?


◆ ツクールイベントへの変換

TESはシナリオフォルダにファイルを入れただけじゃ動きません。
デバッグモードのゲーム内で一度ツクールイベントに変換する必要があります。
<変換方法>
 1.デバッグモードで起動
 2.マップ画面で(初期設定では)F8キーを押し、TES暗号化画面を開く
 3.暗号化したいシナリオフォルダで決定ボタンを押す
 4.カーソルがファイル構成の詳細にある状態で、「Shift」を押しながら「Enter」を押してください。
 5.コンソール画面に結果が表示され、「tes_output.txt」にも同じ結果が保存されます。
 6.暗号化に成功すれば、ファイル構成の詳細が更新され、アーカイブ内の更新日時が、ソースフォルダ内と同じ時間に更新されます。


◇ 変換失敗について

ツクールイベントへの変換に失敗した場合、コンソール画面にエラー内容が出力されます。
エラー内容には、行番号とエラーがあった引数名とその内容が表示されます。
このエラーメッセージをヒントに、シナリオの修正を試みて下さい。
主に以下の場合にエラーが出力されます。
 ・存在しないタグを指定した場合。タグ名のスペルを再確認して下さい。
 ・必要なパラメータが省略された場合。リファレンスを確認し、必要なパラメータを確認して下さい。
 ・パラメータに異常な値を入力した。リファレンスを確認し、パラメータに指定できる値の範囲を確認して下さい。

他にも、エラーに応じていろいろなメッセージが表示されます。
エラーメッセージを1つ1つ確認し、確実にバグを潰していきましょう。


◆ コンソール画面の表示

TESでは、ツクールイベントへの変換の際、重要な情報をコンソールに表示しています。
このコンソールを表示していないと、シナリオのバグ潰しに重大な影響がでますので、以下の手順で必ず表示するようにして下さい。
※どうしても、という方は「TESシナリオの上位フォルダ」の「tes_output.txt」というファイルに同じものを出力しています。そちらをご確認下さい。
<コンソールの表示方法>
 1.ツクールの上のメニューから「ゲーム(G)」を選択します。
 2.「コンソールの表示(C)」をクリックし、チェックを入れて下さい。
 3.デバッグモードで起動し、コンソールが表示されるか確認して下さい。




ツクールイベントへ変換したTESは、まだどこからも使われない状態です。
どのイベントからも呼び出されていないコモンイベントと同じですね。
TESをゲーム上で起動するには、マップイベント、コモンイベント、戦闘イベントからリンクする必要があります。
リンク方法は以下の画像のように、注釈コマンドにリンクタグを設置します。
以下の画像の1つ目の注釈では、「test.txt」の先頭にリンクし、ツクールイベントとして実行されます。
以下の画像の2つ目の注釈では、「opening.txt」のラベル「2周目」にリンクし、ツクールイベントとして実行されます。


リンクタグの書式は以下の通りです。

書式1:<link filename>
書式2:<link filename label>

「filename」には、TESのシナリオファイル名を指定します。「.txt」は記入しないで下さい。
「label」には、ラベルタグで指定したラベル名を指定します。
書式1では、ラベル名を指定していないため、シナリオファイルの先頭にリンクします。
書式2では、ラベル名を指定しているため、シナリオファイルの中からラベルを探し、そこまでのイベントをスキップし、次のイベントから実行します。


◆ パッチの使い方

この素材はパッチ機能を実装しております。
バグが見つかった場合、シナリオを拡張したい場合、パッチファイルに必要な部分だけまとめることが出来ます。
変換されたパッチファイルのみ配布することで、データサイズの大きなツクール暗号化ファイルを再配布する必要はなくなります。
また、ツクール暗号化ファイルと違い、パッチファイルは単体で入手しても動作しないため、
 ・CD販売でアップデートができない。
 ・DLサイトに再登録しないといけない。
という煩わしさもなく、自分のWebサイト上でパッチファイルを配布しての対応が可能になります。

<パッチの作成方法>
 1.ツクールのプロジェクトフォルダに(初期設定では)「Patch」というフォルダを作成します。(注1)
 2.「Scenario」フォルダに「tespatchパッチ番号」というフォルダを作成します。(注2)
 3.作成したパッチフォルダ内に、TESシナリオファイルを配置します。(注3)
 4.デバッグモードでゲームを起動し、ツクールイベントへ変換します。
 5.1で作成したフォルダにパッチファイルが作成されます。
 6.5で作成されたパッチファイルをユーザーに配布します。
 
 ------ここからはユーザー側の対応------
 7.ユーザーはゲームのフォルダに(初期設定では)「Patch」というフォルダを作成します。(注1)
 8.7で作成したフォルダに、入手したパッチファイルを配置して下さい。
 9.ゲームを起動し、修正されたゲームをお楽しみ下さい。
 
 注1.コンフィグでパッチフォルダを変更した場合、パッチ配布時にそのフォルダ名をユーザーに伝えて下さい。
 注2.パッチ番号は、順番に大きな数字を当てはめてください。
 注3.パッチはシナリオファイル単位で上書きします。途中のラベルから変更という使い方はできません。
    また、新しいファイル名を使えば、新しいTESイベントが作成されます。

【重要】
・パッチファイル作成の際、誤って過去のパッチを更新してしまうという事故を防ぐため、TES変換のロック機能があります。
 「TES変換のロック」を参考にして下さい。

【注意】
・セキュリティの為、初期設定ではパッチ機能をオフにしてあります。パッチ機能を使う予定の時はこの設定をオンにしておいて下さい。
・パッチの設定はツクール本体の暗号化に含まれる為、後でオンにすることは出来ません。ご注意下さい。
・パッチ機能をオンにすることにより、悪意のあるファイルで予定していないイベントが実行される場合があります。



◆ TES変換のロック

ゲームやパッチの配布後、誤って配布済みのTESを再変換してしまわないよう、変換のロック機能があります。
本体セクションのコンフィグ内の配列に、シナリオフォルダ名を追加して下さい。
今後、コンフィグの配列に含まれるフォルダは強制的に変換エラーとなります。