#============================================================================== # # ■選択肢機能拡張 □Ver.3.21 □製作者:月紳士 # # ・RPGツクールVX用 RGSS2スクリプト(マニュアル) # # ※二次配布禁止!配布元には利用規約があります。必ずそちらを見てください。 #------------------------------------------------------------------------------ # 更新履歴 # Ver3.21 ○選択肢準備直下の追加選択肢使用時の挙動修正。 # ○場所移動とフェードアウト使用時に関する動作の修正。 # Ver3.20 ○項目のピックアップ機能にオプション追加。 # Ver3.11 ○アクター選択肢チェック時の不具合修正。 # Ver3.10 ○オプション機能追加。 # Ver3.01 ○初期設定項目を追加。 # Ver3.00 ○スクリプト構造の大幅な見直しと機能追加。 # ○ダミーアクター機能を別スクリプト化。 # ○リストアップ機能廃止(ピックアップへ変更) # Ver2.00 ○自由選択肢の、スイッチによる非表示・非選択の機能強化。 # ○拡張選択肢をキー連打で早送りした際に #       表示がおかしくなる不具合の修正。 #============================================================================== =begin  ※ このマニュアルは素材としてプロジェクト内に貼り付ける事も可能です。  ※ Ver.3.00よりダミーアクター機能が別スクリプトとなりました。    Ver.3.00以前の物と同様の使い方をするには別途    ダミーアクター・スクリプトの導入が必要です。  このスクリプトでは主に以下の事が出来る様になります。   ○ 5項目以上の選択肢を表示することが出来るようになります。     ※5項目以上の選択肢はアイテム欄などのように      ウインドウ内のスクロールにて表示されます。   ○ メッセージウインドウとは別枠で表示される     特別な選択肢を表示することが出来ます。   ○ 現在のパーティーを対象とするような動的な選択肢を作ることができます。 #------------------------------------------------------------------------------  ●スクリプト導入後の作業手順   まずスクリプト内の「カスタマイズ項目」にて、   このスクリプトに使用する変数を設定します。    変数は選択肢の結果の受け取りに使います。    選択肢毎の分岐は、この変数を元にした条件分岐で行います。   そして実際に選択肢を用意するには、   選択肢を表示したいマップイベントやコモンイベントにて   主に注釈を使って、選択肢の設定をします。 #------------------------------------------------------------------------------  ●カスタマイズ項目の説明   まず「カスタマイズ項目」の設定が必要です。   「カスタマイズ項目」はスクリプトの上部にあります。   以下がカスタマイズする必要のある項目と、その説明です。 CHOICE_RESUIT_VARIABLES   選択肢を選んだ結果を納める変数を指定します。   プレイヤーが選んだ選択肢の項目番号が、この番号の変数へ納められます。 TARGET_ACTOR_ID_VARIABLES   アクターを対象にした選択肢の結果を納める変数を指定します。   選んだアクターのID番号が、この番号の変数へ納められます。 EX_CHOICES_DELAY   別枠選択肢が表示されてから、決定・キャンセル入力を受け付けるまでの   延滞時間をフレーム数で設定します。   別枠選択肢は通常の選択肢と異なり、一気に表示されてしまう為、   メッセージウインドウを連打で飛ばしていたりすると   選択肢を誤入力してしまう事が多くなります。   その為、入力の受付までに多少の延滞をいれておくほうが親切そうです。   あまり延滞が長いと逆に連打入力で選択肢を飛ばす際に   なかなか選択肢を飛ばせないストレスとなりますので、調整が必要でしょう。   初期で 25 としていますが、好みで微調整できるようにしてあります。 #------------------------------------------------------------------------------  ●選択肢の設定の仕方   実際に選択肢を作っていく方法を説明します。    選択肢の作成は、イベントコマンドの“注釈”を主に使用します。   このスクリプトで作成できる選択肢には大きく分けて2種類の選択肢があります。   ひとつは自由選択肢、もうひとつはアクター選択肢と呼びます。  ○自由選択肢 -----------------------------------------------------------   “注釈”を使い、選択肢となる項目を続けて並べることで作成します。   もともとあるイベントコマンド・選択肢は選択肢の上限が4つですが、   この自由選択肢は、その数に制限がないことが特徴です。   自由選択肢を作る際の、注釈への書き方は以下の通りです。 選択肢:項目1|項目2|項目3|項目4|項目5   項目1〜5にあたる部分は、選択肢にする任意の文章へ変えてください。   頭に「選択肢:」と書くのが選択肢作成の決まりです。   その後に、“|”(半角縦線)か、半角スペースで項目を区切って   選択肢項目を列挙してください。   注釈内での改行も可能です。その際は改行部分で項目が分けられます。   以下がその例です。 選択肢:項目1|項目2|項目3|項目4|項目5 項目6|項目7   この例ですと、項目5と項目6の間に仕切りの | はありませんが、   ・項目5項目6 とつながってひとつの項目になるのではなく、   ・項目5 ・項目6 と別々の選択肢になります。   ひとつの注釈(6行)に項目が納まりきらない場合は、   その直後にもう一つ注釈を作り、その注釈に下記のように書くと   選択肢の項目をさらに追加できます。 追加選択肢:項目8|項目9   この選択肢追加の注釈の中でも改行できますし、   選択肢追加を二個、三個を続けていくことも可能です。  ○ アクター選択肢 ------------------------------------------------------   アクター選択肢とは、アクターの名前を項目とした選択肢です。   アクターを対象とするイベントを起こす為に使います。   “注釈”を使い、選択肢にするアクターのグループを指定します。   グループの指定の仕方は、その時点でのパーティーを対象にする方法と、   任意に設定したグループを対象にする方法の2種類があります。  ・パーティー選択肢    パーティーを対象とした選択肢にする場合、注釈への書き方は次の通りです。 選択肢:パーティー    上記のように注釈に書くと、    イベント発生の時にパーティーにいるアクターの名前を項目とした、    アクター人数分の項目の選択肢が表示されることになります。    (3人パーティーなら3項目、4人パーティーなら当然4項目です)  ・グループ選択肢    パーティーとは違うアクターを選択肢にしたい場合もあるでしょう。    例えば…     パーティーにいないアクターを対象とした選択肢     男性アクター、女性アクターだけの選択肢 etc..    こうした場合は、事前に“グループ”を作成して、それを選択肢にします。    まずはグループの作成の仕方を説明します。    グループを作成する場合も、注釈を使います。注釈への書き方は次の通りです。 グループ[0]を作成:1 2 3 4 5 6 7 8    [] 内はグループの番号です。作るグループの数には特に制限はありません。    グループはいくつでも、何番からでも作れます。    「グループ[0]を作成:」に続けて、グループにするアクターID番号を書きます。    “|”(半角縦線)か、半角スペースで区切ってください。   ※上記の例であればグループ[0]はID1番〜8番のアクターのグループになります。    こうして作成したグループを選択肢として表示させるには、    注釈で以下のように書きます。 選択肢:グループ[0]    これで、ID1番〜8番のアクターの名前を項目とした選択肢が    ゲーム中で表示されます。 #------------------------------------------------------------------------------  ●結果の参照の仕方   プレーヤーが選択肢を選ぶと、選ばれた項目のインデックス番号が   カスタマイズ項目の“CHOICE_RESUIT_VARIABLES”で設定した変数に   納めらるようになっています。   キャンセルをした場合は 0 (ゼロ)、   選択肢を選んだ場合は、項目一番目から順に 1、2、3 … と   対応した数字が納められます。   また、選択肢がアクター項目の場合は、   カスタマイズ項目の“TARGET_ACTOR_ID_VARIABLES”で設定した変数に   選ばれたアクターのID番号が納められるようになっています。   それらの変数を条件分岐に使うことで、選択肢毎のイベントにすることが出来ます。      CHOICE_RESUIT_VARIABLES、TARGET_ACTOR_ID_VARIABLES で設定した   変数それぞれに納められる結果は、一回の選択分だけです。   新たに選択肢が選ばれると、その結果が上書きされますので   もし後々までその時の選択肢の結果を残しておきたいのなら   イベントコマンド・変数の操作 で別の変数へ結果を移して使ってください。 #------------------------------------------------------------------------------  ●選択肢共通オプション   選択肢にはオプションとして、様々な機能を付加することが出来ます。   ここで、いくつかのオプション機能の説明をしていきます。   以下は自由選択肢・アクター選択肢共通のオプションです。  ○選択肢をキャンセルした場合、項目のどれかを選んだ事にする。   通常ではキャンセル時は設定した変数に 0 が納められるようになっていますが、   このキャンセル時の納める数字を変更することが可能です。   “選択肢:”の部分の選択肢と:の間に“(3)”と記入してください。   ()内の数字は任意です。数字は半角で。記入例は以下のとおりです。 選択肢(3):項目1|項目2|項目3   これで、選択肢をキャンセルした場合、()内の数字が設定した変数に納められます。   上の例であれば、3 が納められる為、   キャンセルした後のイベントを、項目3を選んだ場合と同じ動作に出来ます。  ○選択肢をキャンセル不能にする      “選択肢:”の部分の選択肢と:の間に“(*)”を記入してください。   記入例は以下のとおりです。 選択肢(*):項目1|項目2|項目3   これで、選択肢をキャンセルすることの出来ない、   どれかを必ず選ばなくてはいけない選択肢となります。  ○選択肢を一度に表示する   通常、選択肢は普通の文章と同じようにゆっくりと表示されます。   一度に表示させたい場合は   “選択肢:”の部分の選択肢と:の間に“>”を記入してください。   記入例は以下のとおりです。 選択肢>:項目1|項目2|項目3   これで、選択肢が一度に表示されます。  ○選んだ選択項目をテキスト利用する   “選択肢:”の部分の選択肢と:の間に“@”を記入すると、   後の文章表示の際、選んだ選択肢の項目文を表示することができます。 選択肢@:項目1|項目2|項目3   上記の例のようにして選択肢をつくり、後の文章に \N[選択項目]     という文章を含めると、その部分が選択した項目文に変わります。   上の例であれば、「項目1」という文がそのまま   \N[選択項目] に変わって表示されます。   項目文は、次に @ を含む選択肢を実行するまで残ります。   (@ を含む選択肢をキャンセルした場合は、結果は上書きされません) #------------------------------------------------------------------------------  ●条件で項目を表示・非表示に変える(自由選択肢の場合)   自由選択肢の項目を、ゲームの進行状況により表示したり隠したり出来ます。   条件を満たさないと表示されない項目を作ることが出来ます。   表示するか、隠すかを判断する為に、スイッチを使用します。   項目となる文章に\s[1]と付け加え、参照するスイッチを指定してください。   []内の数字は任意で、参照したいスイッチIDを入れます。   記述例は以下のとおりです。 選択肢:\s[1]項目1|項目2|項目3   参照するスイッチがONの場合、項目が表示されます。   OFFなら項目1は選択肢にはあげられず、残りの選択肢のみ表示されます。   この例であれば項目1が表示されるのはスイッチ1がONの時だけです。   スイッチがOFFならば、項目2、項目3だけが選択肢として表示されます。   ※この場合、注意したいのは、選択時に結果として変数に納められる数値です。    項目の表示・非表示に関係なく、設定した順で項目番号(index)を納めます。    上記の例であれば、項目2を選んだ場合は、項目1が表示されていても    隠されていても、結果に収められるのは「2」となります。    項目番号が繰り上げられることはありません。   選択肢を表示するのがマップイベントの場合は、   表示するか、隠すかを判断する際に、セルフスイッチを使用することが可能です。   その際の記述例は以下のとおりです。 選択肢:\s[A]項目1|項目2|項目3   \s[] 内に数字の替わりにセルフスイッチのアルファベットを(半角で)記入します。   出来る限りセルフスイッチを活用することで確保するスイッチ数の節約になります。  ○条件で項目を選択不能にする。   上記の項ではスイッチにより選択肢を省く処理を説明しました。   選択肢を省くのではなく、表示されても選択不能、とする方法もあります。   記述は同じ様にしますが。以下のように '(半角ダッシュ)を付け加えてください。 選択肢:\s'[1]項目1|項目2|項目3      これでスイッチ 1 がONの時、項目1は選択することが出来ますが、   OFFの時は項目が灰色に表示され、選択しようとしてもブザー音がなり   決定することが出来なくなります。  ※ひとつの選択肢に項目の非表示や選択不能のスイッチを複数含むことも可能です。      非表示のスイッチが複数含まれている場合は、   すべてのスイッチがONの時、選択肢が表示されるようになります。   非選択のスイッチが複数ある場合も、   すべてのスイッチがONでないと選択可能になりません。   非表示のスイッチと非選択のスイッチを共に含む場合も機能します。   表示されない場合、表示されるが非選択の場合、選択が可能の場合、の   みっつの状態のある選択肢となります。 #------------------------------------------------------------------------------  ●条件で項目を表示・非表示に変える(アクター選択肢の場合)   アクター選択肢では、条件を使った表示・非表示を行う為に   あらかじめ用意した複数のグループを比較する方法を用います。   比較の方法はいくつかあります。まずはその基本の絞込みです。   これは自由選択肢の「条件により非表示にする選択肢」にあたる機能です。     絞込み命令文はふたつあり、いずれかを同じ注釈内の2行目に書きます。   以下に実際に例をあげながら、その機能を説明していきます。  ○グループからグループを取り除く。   元になるグループから、別のグループのメンバーを取り除いたものを   選択肢として表示させることが出来ます。   次のように注釈を書きます。 選択肢:パーティー 除外:グループ[0]   上記だと、パーティーメンバーからグループ[0]を除いたアクター達が   選択肢として表示されます。   パーティーだけでなく、グループからグループを取り除くことも、   グループからパーティーを取り除くことも出来ます。   (これは以降のの記述でも同様です)  ○グループでグループを限定する。   元になるグループと、別のグループとの共通のアクターのみ   選択肢を表示させることが出来ます。   次のように注釈を書きます。 選択肢:パーティー 共通:グループ[0]   上記だと、パーティーメンバーの中の、グループ[0]にも含まれるアクターのみが   選択肢として表示されます。  ○グループで項目を選択不能にする。   自由選択肢で出来たように、アクター項目を選択不能にすることも出来ます。   次のように注釈を書きます。 選択肢:パーティー 選択不能:グループ[0]   上記だと、パーティーメンバーであっても、そのIDが   グループ[0]に含まれている場合は、選択することが出来なくなります。   また、グループを選択不能にするのと逆に、   グループだけを選択出来るように限定することも出来ます。 選択肢:パーティー 選択限定:グループ[0]   と書けば、グループ[0]のアクターのみ選択することがでるようになります。   それ以外のアクターはパーティーメンバーであっても選択が出来なくなります。  ○パーティー、グループ以外の除外・共通・選択不能・選択限定の指定   以下のような書き方でも選択肢を調整できます。   (選択限定を例に挙げていますが、他の絞込みや指定も使用可能です。) 選択肢:パーティー 選択限定:ステート[1]   上記の記述では、ステートID[1]のステートになっているアクターだけが   選択可能な選択肢として表示されます。 選択肢:パーティー 選択限定:負傷者   上記の記述では、HPが全快でない(ダメージを負っている)アクターだけが   選択可能な選択肢として表示されます。 選択肢:パーティー 選択限定:レベル[10]   上記の記述では、レベルが10以上のアクターだけが   選択可能な選択肢として表示されます。   絞込みや指定は以下のように異なる種類を複数設定することが可能です。 選択肢:パーティー 除外:ステート[10] 選択限定:レベル[10] #------------------------------------------------------------------------------  ●選択肢の変化に対応する機能   選択肢の非表示や項目の選択不能などが可能な為、   ゲーム中の条件によっては、選択肢がまったく表示されなかったり、   選択肢がひとつのみ、つまり1拓になってしまうという、   「意味のない選択肢」になる場合がありえることになります。     パーティーがひとりの時に     「誰が泉の水を飲みますか?」といった選択肢を表示するなど。   それらの場合を上手く制御するオプション機能を紹介します。     ○選択肢のチェック   その選択肢に選択可能な選択肢がいくつあるか?を事前に調べることが出来ます。 選択肢チェック:\s[1]項目1|\s[2]項目2|\s[3]項目3   と注釈に書くと、選択肢は表示されず、替わりに   “:”の右側にあげた項目のうち「選ぶことが出来る選択肢」の数を   選択肢の結果として“CHOICE_RESUIT_VARIABLES”で指定した変数に納めます。   「選ぶことが出来る選択肢」とは、非表示でも、選択不能でもない選択肢です。   この結果の数を条件分岐にすれば、望ましくない項目の選択肢を表示せず、   別の処理を行わせることができます。   選択肢チェックをした選択肢を表示させる場合、 選択肢開始   のコマンドを使うと、チェックした選択肢をそのまま表示させることが出来ます。   同じ選択肢内容を再度記述しないで済みます。     ○選択肢が1拓の場合の自動選択   選択肢がひとつの場合、それを選んだことにして処理を進めることも可能です。 選択肢':\s[1]項目1|\s[2]項目2|\s[3]項目3   というように“選択肢”に '(ダッシュ)をつけます。こうすると、   選択肢が1拓になってしまった場合は自動でその選択肢を選んだことになり、   “CHOICE_RESUIT_VARIABLES”と“TARGET_ACTOR_ID_VARIABLES”に   選択肢を表示させることなく結果を納めることが出来ます。   この機能は対象アクターを選ぶようなイベントにおいて   パーティーのメンバーが一人だった場合を考慮した処理を   細かな設定なしに簡単に作る方法として用意しています。  ○選択肢が無効だった際   条件により、選べる選択肢がまったくなかった場合、   選択肢は表示されず、次のイベントコマンドにそのまま進みます。   しかしその際は“CHOICE_RESUIT_VARIABLES”に -1 の値が納められます。   この -1 を条件分岐にすることで、選択肢がまったくなかった場合だけの   文章表示などの処理を行うことができます。  ○選択肢前の文章の表示キャンセル   上記、“選択肢が1拓の場合の自動選択”および“選択肢が無効だった際”の   機能を使用すると、選択肢表示そのものがパスされる為、   「どれを○○しますか?」等といった選択肢の前に添える文章が   そのまま表示されるとおかしな動作になってしまいますね。   この「選択肢が表示されない場合」の選択肢前の文章の表示を   キャンセルすることが出来ます。   キャンセルしたい文章の冒頭に、“\*”(半角\と半角*)を   記述してください。   こうすることで「選択肢が表示されない場合」は、   “\*”をつけた文章も表示しないで、次のイベントコマンドへと進みます。 #------------------------------------------------------------------------------  ●取得したアクターIDの活用法     アクター選択肢によって対象となるアクターIDを取得出来ます。取得後は、   選ばれたアクターを対象にしたイベントを起こす場合がほとんどでしょう。     入手したアクターID番号を元に条件分岐を用意して   アクター人数分のイベントを用意することも、もちろん出来ますが…   選択肢になりうるアクターの人数が多いほど、それは大変な作業となります。   取得したIDをイベントコマンド・スクリプトを利用した   スクリプト処理をするのがスマートな方法でしょう。      スクリプトは難しい、という方は… 月紳士が配布している別スクリプト「ダミーアクター」を併用すれば、   難しいスクリプトの知識がなくとも、その手間をなくすことが出来ます。   (ダミーアクターについてはダミーアクター・スクリプトを参照してください) #------------------------------------------------------------------------------  ●選択肢を別枠で表示する   別枠ウインドウで選択肢を表示するには以下のように注釈を書きます。 選択肢[1]:項目1|項目2|項目3     “選択肢:”の部分の選択肢と:の間に“[1]”と記入してください。   [] 内の数字はウィンドウを表示する位置です(下記)。数字は半角で。 番号 1:メッセージウインドウが上or下位置の際に適した位置 番号 2:ヘルプウインドウの使用(後述)に適した位置 番号 3:ENDウインドウのような中央揃えの位置 番号 4:ショップ風選択肢用の位置   そして番号 0 は現在のメッセージウインドウに対照的に配置される   レスポンス風のウインドウ配置です。   ※ ウインドウ位置はスクリプト内の項目を書き足せば    そのパターンを増やすことが出来ます。(中〜上級者向け)    「ウインドウセッティング」でメソッドを検索してみてください。  ○ 別枠ウインドウ専用オプション ------------------------------------------     別枠ウインドウ時のみ機能する、専用オプションを紹介します。  ※自由選択肢のみ  ●項目に値段をつける    項目名に下記のように \g[] を使って値段を設定すると、    項目にショップでのアイテム購入時のような値段を付けることが出来ます。 選択肢[1]:項目1\g[10]|項目2\g[50]|項目3\g[80]       [] 内の数字がその項目の値段です。この値段を設定すると、    その項目を選択する為には同額以上の所持金が必要になります。    所持金がこれに満たない場合は、項目は灰色(半透明)となり、    その項目を選ぶことが出来ません。    この設定をすると、別枠選択肢が表示されると同時に    右上に所持金表示ウインドウが開く仕様となっています。    ※ 項目が選択された時点で、その額を所持金から差し引く処理はしません。      この後に「本当によろしいですか?」といった確認ウインドウが続く      という場合がある為です。所持金減少は別にイベント設定してください。    値段を指定する \g[] の[]内には、\g[\v[1]] というように    変数をあてることも可能です。    (ちなみに下記のアイコンでも \i[\v[1]] というような表記は可能です)  ※自由選択肢・アクター選択肢共通 ●選択肢をの並びを変更する   選択肢がウインドウの行数を超えた際、   通常はウインドウスクロールにて残りの選択肢を表示します。   次のオプションを使うと、ウインドウの列数を増やすことで   選択肢を納めるように変わります。   “選択肢:”の部分の選択肢と:の間に“#”を記入してください。   記入例は以下のとおりです。    選択肢#:項目1|項目2|項目3|項目4|項目5   これで、選択肢が増えた際、その並びが変わります。   このオプションは選択肢数が表示可能行数より多くならないと   その効果を見ることが出来なませんので注意してください。  ●項目にアイコンをつける   ・自由選択肢の場合    項目名に下記のように \i[] を使ってID指定すると、    アイテムやスキルのようなアイコンを項目に付けることができます。 選択肢[1]:項目1\i[1]|項目2\i[15]|項目3\i[112]    アイコンIDは先頭が 0 、そこから右に割り振られ、16毎に改行されています。    (2行目の先頭のIDは 16、三行目は 32 です。)    インポートしている IconSet 画像を参照してください。   ・アクター選択肢の場合    選択限定 や 選択不可 といった絞込み機能等と同様の方法で、    アイコン付加[] とう表記を使います。    [] 内につけたいアイコンのIDを指定します。    アイコン付加をする選択肢の注釈の例は以下です。 選択肢[1]:パーティー アイコン付加[224]:ステート[1]    上記の例ですと、パーティーを選択肢の対象として、その中で    ステートID 1 になっているアクターの、その名前の項目にだけ、    アイコンID 224 をつけます。    (ステートID 1 のステートになっていなければアイコンはつきません)        ステート[1] の部分は、絞込み機能等と同じく、    パーティー、グループ、ステート、レベルが使えます。  ●別枠選択肢に顔グラフィックをつける    通常の選択肢では項目数が多くなっても、    直前の顔グラフィックを継続して表示されるようになっています。    face{} という表記を 選択肢:の中に含むことで、    別枠選択肢にも顔グラフィックを付けることができます。    表記方法と顔グラフィックの指定方法は以下の通りです。 選択肢[0]face{Actor1/0}:項目1|項目2|項目3    face{} の {}内に顔グラフィックのファイル名と、インデックスを記述します。    上記の例ですと 顔グラフィックは Actor1 、インデックスは 0 の指定です。    カギ括弧は [] ではなく {} ですので注意してください。         ファイル名に拡張子( .png 等)はいりません。     顔グラフィックは8つでひと組なので 0 〜 7 のインデックスで指定します。     左上がインデックス 0 、     そこから右へ 1 2 3 、改行して下段が 4 5 6 7 の順です。         その時点でのパーティー先頭のキャラクターの顔画像にしたい場合は    その仕様頻度が高そうなので簡単な記述で指定できるように以下を用意しました。 選択肢[0]face{top_actor}:項目1|項目2|項目3    face{} の {}内を top_actor に、つまり face{top_actor} と記述すると    コマンドが実行された時点でのパーティー先頭キャラクターの顔グラが    別枠ウインドウに表示されます。    別枠ウインドウへの顔グラ表示位置は、    通常のメッセージウインドウのように左位置となっています。    これを、グラフィックを左右逆転し、右側に表示させ    あたかも問いかけに対して答えを選択しているような    演出をさせることが出来ます。 選択肢[0]re_face{Actor1/0}:項目1|項目2|項目3    というように、face{} の部分を re_face{} とし、    {} 内などの書き方はそのままで記述します。    もちろん re_face{top_actor} という記述が使えます。    むしろこの re_face{top_actor} が一番実用的でしょう。 #------------------------------------------------------------------------------  ●選択肢準備   選択肢は注釈で指定したタイミングで表示されますが   選択肢を準備だけに留め、その選択肢の表示できる項目数から条件分岐したり   条件にあわせて後から選択肢を追加したりできます。   “選択肢:”にあたる記述を 選択肢準備:   と書きます。   こうするとこの注釈の時点では選択肢は表示されません。   選択肢を表示させるには 選択肢開始   と注釈で書きます。このコマンドの時点で完成している選択肢が表示されます。   この方法の利点は、   他のイベントコマンド(特に条件分岐を使ったスイッチ操作)をはさんで、   追加選択肢コマンドで少しずつ選択肢を作っていける点です。   選択肢毎にスイッチを用意すれば一気に選択肢を作ることは可能ですが   この方法でスイッチを変更しながら選択肢を追加していけば   スイッチ数の節約にもなりますし、なにより管理が楽になります。   また、この選択肢開始コマンドは、   直前に一度表示した選択肢を再度表示させることにも使えます。   完成している選択肢データについて、   その有効な選択肢数をチェックすることも出来ます。    有効な選択肢数を取得   と注釈に書くと「選ぶことが出来る選択肢」の数を   選択肢の結果として“CHOICE_RESUIT_VARIABLES”で指定した変数に納めます。   (この機能は前述した 選択肢チェック と同様の機能です)   また、選択肢情報を初期化することもできます。 選択肢の初期化   と注釈にかくと、選択肢情報はオプションも含め、初期化されます。   この状態に追加選択肢コマンドを使って項目と付けたす方法もとれます。   選択肢の初期化 と 追加選択肢 を使ってひとつずつ選択肢を作っていく   手法を用いる際、オプション情報を登録するには オプション取得:>(2)   というように注釈を書いて、オプション情報を登録してください。   “オプション取得:”以降にここまでで説明した   (2) や (*) 、 > といった記述を入れていきます。   この方法でのオプション登録は条件分岐などを介して   条件により別種のオプションを登録したい場合などにも使えるかもしれません。  #----------------------------------------------------------------------------- ●ヘルプウインドウを使用する。  アイテムやスキル選択時のように、項目にヘルプ文をつけることが出来ます。  ヘルプ文のついた選択肢を作るには、  前述の選択肢準備を使う選択肢の作り方が必須です。  選択肢準備や追加選択肢で選択肢の準備を済ませたら、  その後に下記のように注釈を書きます。 ヘルプ設定:項目ヘルプ文   “項目ヘルプ文”の部分は任意のヘルプ用文章にしてください。   ヘルプは登録した順に項目1、項目2…と割り当てられていきます。   選択肢にあわせて順序良く設定してください。   選択肢にヘルプ文が設定されていると自動的に   選択肢を表示した際にヘルプウインドウが開きます。 #-----------------------------------------------------------------------------  ●グループ操作オプション   グループの作成の仕方は先に説明しましたが、   その他にもグループ操作の方法を用意してあります。   注釈に書くことで機能するコマンドを紹介します。 グループ[0]を初期化   グループ[0]を初期化、つまり空にします。 グループ[0]を作成:パーティー   グループ[0]を現在のパーティーメンバーのID郡に置き換えます。 グループ[0]に(1)を追加   グループ[0]に()内のアクターIDを追加します。 グループ[0]に選択アクターを追加   グループ[0]に“TARGET_ACTOR_ID_VARIABLES”で設定した変数に納められた   アクターIDを追加します。 グループ[0]から(1)を削除   グループ[0]に()内のアクターIDが含まれる場合、それを削除します。 グループ[0]から選択アクターを削除   グループ[0]に“TARGET_ACTOR_ID_VARIABLES”で設定した変数に納められた   アクターIDが含まれる場合、それを削除します。 グループ[0]へパーティーを変更   グループ[0]のアクターと同じように、パーティーが変更されます。   (ただしパーティーの最大人数を超えることはありません。) ※上級者向け   グループはスクリプトで操作することもできます。   (例)$game_party.group[0] = [1, 2, 3]      $game_party.group[0].push(1) #-----------------------------------------------------------------------------  ●項目のピックアップ    指定した選択肢をプレイヤーが任意の順番に並び替える、という    イベントを組むことが出来ます。    結果は上記で扱ったグループに納めます。    自由選択肢なら「選んだ項目順に項目番号を」    アクター選択肢なら「選んだ順にアクターIDを」    それぞれ納めます。     自由選択肢で項目を3、2、1の順に並べたら     グループの内容が [3, 2, 1] になる、といった感じです。    自由選択肢の場合でも、アクター選択肢の場合でも、    選択肢準備 等であらかじめ選択肢を作成した後で、 選択肢ピックアップ[1]    というように注釈に記述すれば、    選択肢のピックアップ動作が始まります。    結果が[]で指定した数字のグループに納められます。    ※ 選択肢ピックアップのレイアウトは固定となっています。  ・追加機能 ピックアップ上限指定 選択肢ピックアップ[1](3)    と()で数字を追加指定すると、()内の数だけ項目を選ぶ    ピックアップとなります。    選択肢が5項目で、()で指定した数が3ならば    5項目のうち、3項目をピックアップすることになります。  ・追加機能 ピックアップの中断許可 選択肢ピックアップ'[1]    と、' を追加すると、ピックアップを途中で止めることが出来ます。    5項目あるとすれば、そのうち5項目すべて選ぶことも、    2、3項目だけにすることも自由になります。    プレイヤーがAボタン(デフォルトでshiftキー)を押しながら    決定動作をすると、そこでピックアップが止まります。    (最低でも一項目は選ぶ必要があります)    ※ ピックアップ上限指定とピックアップの中断許可は組み合わせ可能です。 #------------------------------------------------------------------------------  ●おまけ機能と説明   イベントコマンド「文章の表示」において、 \N[選択アクター]   と記述すると、“TARGET_ACTOR_ID_VARIABLES”で設定した変数に納められた   アクターIDのアクターの名前に置き換えられます。   また、サンプルプロジェクト内に、以下のような注釈が見られると思います。 選択アクターを予備に格納 選択アクターを予備から取得   これらの機能はサンプルプロジェクト内のイベントの為に   作成した機能です。あまり凡庸ではありませんが、下記に一応の説明を書きます。   イベントテンプレートとする関係で、変数をむやみに使用したくなかった為   スクリプト側に数値を納められるようにと用意したコマンド・機能です。   “TARGET_ACTOR_ID_VARIABLES”に得た結果を、   イベントコマンド「変数の操作」で移す事と、なんら変わりません。   また、イベントコマンド「文章の表示」において、 \N[予備アクター]   と記述すると、“選択アクターを予備に格納”のコマンドを使用した際に   “TARGET_ACTOR_ID_VARIABLES”から納められたアクターIDの、   アクターの名前に置き換えられます。 =end #==============================================================================