β4 ERISの機能書(初級編)
ERISを改造することなく組み込むことができる、サンプルには無い使用方法か、サンプルを見ても得られない使用方法の説明です。そしてYU-RISスクリプトを使わないか、簡単なYU-RISスクリプトを組むだけで使用できます。
とはいえ、完璧に動作する保証はありません。よって、動作確認は必ず行って下さい。
また、この項目はTIPSでも良いと言う場合、そちらに移し替えて下さい。
とはいえ、完璧に動作する保証はありません。よって、動作確認は必ず行って下さい。
また、この項目はTIPSでも良いと言う場合、そちらに移し替えて下さい。
注意事項
下記について承諾される方のみ、使用して下さい。
- 一部YU-RISスクリプトを使用しているものもあるため、YU-RISスクリプトはできるるだけ理解する様にして下さい。
- もし動作しなければ修正して頂くか、使用を諦めて下さい。
- ERIS仕様変更により使用できなくなる処理が出てくるかもしれません。その時は御了承願います。
画面デザイン関係
「¥TITLE」について。
- 命令の構成
下記はサンプルスクリプトを参考にしています。

¥TITLE( 変数, 制限時間) ←制限時間(ミリ秒)

変数…選択されたボタンの番号がここに返ってきます。(注:指定によっては、番号を返さずに「ロード」「設定」「CG鑑賞」など決められた機能を処理をする場合があります)
制限時間…省略不可。指定した場合、制限時間が来ると¥TITLEを抜け、「変数」には0が返ります。-1で無制限となります。
制限時間…省略不可。指定した場合、制限時間が来ると¥TITLEを抜け、「変数」には0が返ります。-1で無制限となります。
- 設定ファイル
UserDesign/タイトル画面設計.txt内、設定は#=ES.TITLE.BTDEFのルーチンです。
- 関係する画像ファイル
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥
- 背景画像(サンプルは back.png)
- *_na.png … 現時点では不明。多分、無効(ディセーブル)状態のボタン画像だと思います。
- *_off.png … カーソルが触れていない時表示されるボタン画像。各ボタン機能に対して一つずつ必要です。
- *_over.png … カーソルが触れた時表示される画像。各ボタン機能に対して一つずつ必要です。
- *_on.png … 選択された時表示されるボタン画像。各ボタン機能に対して一つずつ必要です。
「¥TITLE」による、タイトル上のボタンを2ページに分割(おまけ化?)
タイトル表示のボタンを2グループに分けます。以降の説明は @flag_omake = 1 の場合。
- 設定ファイル
UserDesign/タイトル画面設計.txt内、設定は#=ES.TITLE.BTDEFのルーチンです。
ここのコメントアウトされた「おまけ」ボタンを復活させ、¥BT.GROUP(?)によりグループ1とグループ2に分割します。
ボタン操作はサンプルの場合、「おまけ」「戻る」で操作します。
ここのコメントアウトされた「おまけ」ボタンを復活させ、¥BT.GROUP(?)によりグループ1とグループ2に分割します。
ボタン操作はサンプルの場合、「おまけ」「戻る」で操作します。

スクリプト内容はは【ソース15-2】へ飛んで下さい。

「¥TITLE」による、タイトル上のボタンで不要なボタンをユーザー用に変更する。
タイトル表示のボタンのボタンで使わない機能のボタンをユーザー用として使用します。下記は例として、「BGM鑑賞」「オフィシャルサイトへ」を変更しています。
- 設定ファイル
UserDesign/タイトル画面設計.txt内、設定は#=ES.TITLE.BTDEFのルーチンです。
¥BT.SETが機能指定になっており、ここの設定を変えます。
¥BT.SETが機能指定になっており、ここの設定を変えます。

スクリプト内容はは【ソース15-3】へ飛んで下さい。

- 関係するユーザースクリプトファイル
《YU-RISのTOPフォルダー》¥システム¥data¥script¥UserScript¥SCENARIO_START.txt
上記により、¥TITLE内に記述している変数に、スタートは1、エピローグは2、BGM鑑賞は3、オフィシャルサイトへは4、と、数値が返却されます。
よって下記(例)の様に、数値3用と4用の分岐が必要になります。
上記により、¥TITLE内に記述している変数に、スタートは1、エピローグは2、BGM鑑賞は3、オフィシャルサイトへは4、と、数値が返却されます。
よって下記(例)の様に、数値3用と4用の分岐が必要になります。

//
¥TITLE(@L(4001), -1)
¥TITLE(@L(4001), -1)
¥GO.IF(@L(4001)==0, SCENARIO_LOGO) //制限時間になった場合
¥GO.IF(@L(4001)==1, SCENARIO_MAIN)
¥GO.IF(@L(4001)==2, SCENARIO_EPILOGUE)
¥GO.IF(@L(4001)==3, SCENARIO_USER1) //追加
¥GO.IF(@L(4001)==4, SCENARIO_USER2) //追加
¥GO.IF(@L(4001)==1, SCENARIO_MAIN)
¥GO.IF(@L(4001)==2, SCENARIO_EPILOGUE)
¥GO.IF(@L(4001)==3, SCENARIO_USER1) //追加
¥GO.IF(@L(4001)==4, SCENARIO_USER2) //追加

- 関係する画像ファイル
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥
下記の「BGM鑑賞」「オフィシャルサイトへ」のボタン画像の文字を変更して下さい。
下記の「BGM鑑賞」「オフィシャルサイトへ」のボタン画像の文字を変更して下さい。
- *_na.png … 現時点では不明。多分、無効(ディセーブル)状態のボタン画像だと思います。
- *_off.png … カーソルが触れていない時表示されるボタン画像。各ボタン機能に対して一つずつ必要です。
- *_over.png … カーソルが触れた時表示される画像。各ボタン機能に対して一つずつ必要です。
- *_on.png … 選択された時表示されるボタン画像。各ボタン機能に対して一つずつ必要です。
「¥CSEL」によるマップ選択
動作及び操作は¥TITLEに似ています。しかし¥TITLEとは違い、こちらは予め画像上にいくつかの領域を作成しておきます。そして、どこの領域をクリックされたかに従って、その領域に付けられた番号を変数に返します。
つまり、¥TITLEはボタンに対する選択動作であるのに対して、¥CSELはクリック判定可能領域に対する選択動作となります。機能はWebのクリッカブルマップ選択に酷似しています。
つまり、¥TITLEはボタンに対する選択動作であるのに対して、¥CSELはクリック判定可能領域に対する選択動作となります。機能はWebのクリッカブルマップ選択に酷似しています。
- 命令の構成
下記はサンプルスクリプトを参考にしています。

¥CSEL(変数, 識別番号, 制限時間) ←制限時間(ミリ秒)は省略可能です「¥CSEL(変数, 識別番号)」
¥WA(1000)
¥WA(1000)

変数…選択された領域の番号がここに返ってきます。 識別番号…複数ある選択領域のグループに与えられた識別番号です。
制限時間…省略可能。指定した場合、制限時間が来ると¥CSELを抜け、「変数」には0が返ります。
制限時間…省略可能。指定した場合、制限時間が来ると¥CSELを抜け、「変数」には0が返ります。
- 設定ファイル
UserDesign/汎用選択肢画面設計.txt内、設定は#=ES.CSEL.BTDEFのルーチンです。
この中に、下記 IF[@_PINT(1)==識別番号] にてマップ選択の環境設定を組み込みます。
これは汎用選択なので、あらかじめ準備された画像ファイルと、それに対応する識別番号によりいく処理も追加できます。
例えば、下記は¥CSEL指定の識別番号が「123」の時に機能します。(下記はサンプルスクリプトより抜粋しています)
これは汎用選択なので、あらかじめ準備された画像ファイルと、それに対応する識別番号によりいく処理も追加できます。
例えば、下記は¥CSEL指定の識別番号が「123」の時に機能します。(下記はサンプルスクリプトより抜粋しています)

スクリプト内容はは【ソース15-1】へ飛んで下さい。

- 関係する画像ファイル
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥mapsel¥
- 背景画像(サンプルは back.png)
- *_mask.png … 選択領域を指定する画像。内容はマスク画像で、「白の領域」がクリック判定対象領域、「黒の領域」がクリック判定対象外領域となっています。各選択領域に対して一つずつ必要です。
- *_off.png … カーソルが触れていない時表示される画像。PNGなどの透過対応画像が扱いやすいでしょう。各選択領域に対して一つずつ必要です。
- *_over.png … カーソルが触れた時表示される画像。PNGなどの透過対応画像が扱いやすいでしょう。各選択領域に対して一つずつ必要です。
ユーザースクリプト(シナリオ)関係
とりいそぎ、タイトル画面「¥TITLE」の「エピローグ」を別の機能に替える
「スタート」と「エピローグ」はとび先が用意されており、さらに「エピローグ」には重要な処理が入っていません。(サンプルでは「エピローグ」と出るだけです)
(1)下記TITLEメニュー用のCG、その文字を書き換えて下さい。
(1)下記TITLEメニュー用のCG、その文字を書き換えて下さい。

《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥btn_epilogue_na.png
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥btn_epilogue_off.png
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥btn_epilogue_on.png
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥btn_epilogue_over.png
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥btn_epilogue_off.png
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥btn_epilogue_on.png
《YU-RISのTOPフォルダー》¥システム¥data¥cgsys¥title¥btn_epilogue_over.png

(2)下記の定義ファイルをチェックして下さい。

《YU-RISのTOPフォルダー》¥システム¥data¥script¥UserDesign¥タイトル画面設計.txt

※現在@flag_omakeが1固定ですが、この変数を使用されている人は、タイトル画面設計.txtに書かれている「エピローグ」のブロックを、適切なIFブロックやELSEブロックに移動ないしコピーして下さい。

¥BT.NAME("■エピローグ")
¥BT.GROUP(1)
¥BT.CGSYS("title/btn_epilogue")
¥BT.XY(100, 270+30*1)
¥BT.Z(020)
¥BT.SET(BTN.START, 2)
注:この構成はβ4 Ver0.411/0.24当時の構成であり、バージョンアップにより変更されている可能性があります。
¥BT.GROUP(1)
¥BT.CGSYS("title/btn_epilogue")
¥BT.XY(100, 270+30*1)
¥BT.Z(020)
¥BT.SET(BTN.START, 2)
注:この構成はβ4 Ver0.411/0.24当時の構成であり、バージョンアップにより変更されている可能性があります。

(3)下記ファイルの飛び先ラベル「#SCENARIO_EPILOGUE」に必要な処理を入れてください。

《YU-RISのTOPフォルダー》¥システム¥data¥script¥UserScript¥start.txt
#SCENARIO_EPILOGUE
この中に必要な処理を書いて下さい。
\GO.TITLE
注:この構成はβ4 Ver0.411/0.24当時の構成に対するものであり、バージョンアップにより変更されている可能性があります。
#SCENARIO_EPILOGUE
この中に必要な処理を書いて下さい。
\GO.TITLE
注:この構成はβ4 Ver0.411/0.24当時の構成に対するものであり、バージョンアップにより変更されている可能性があります。

(上記処理は、「必要な処理」が完了するとタイトル#SCENARIO_TITLEに戻るので、注意して下さい)