*シナリオ作成基礎編 [#pd673fda]
 #contents
 ----
 **Q401. シナリオの作り方が解りません。 [#z6fd7ae8]
 
  シナリオデータは「.eve」という拡張子が付いていますが、実際にはテキスト形式ですので、「メモ帳」等のテキストエディタで簡単に見ることも編集する事もできます。
 
  シナリオデータはプログラム言語の様になっており、ロボットなどのデータに比べて非常に複雑ですが、まずは「ヘルプファイル」をよく読んだ上で、&color(red){既存のシナリオデータを見てみたり}; 、それらを改造してみたりして練習して覚えて行くのが良いでしょう。
 
  有志の方が作ってくださった [[チュートリアルシナリオ (46.8 KB)>http://www.src.jpn.org/neko/scenario/TutorialSaga.zip]]もダウンロードして、実際のシナリオを動かしながら、SRCシナリオの作り方を学んでみてください。
 
 
 **Q402. マップの作り方が解りません。 [#b2f865c1]
  マップはSRCに添付されている「Mapedit.exe」というツールを使って作製します。使い方はグラフィックツールの要領によく似て簡単ですので、まず試してください。
 
 
 **Q403. 投稿するシナリオに、既存のビットマップを手直しした物を添付したいのですが? [#n3064df5]
  &color(red){基本的にビットマップの画像作者にメールなどで了承を取ってからにしてください。 };
 
 
 **Q404. 原作アニメを忠実に再現したシナリオや、スーパーロボット大戦をコピーしたシナリオを作っても良いのでしょうか? [#q0b7e92d]
  アニメ原作のコピーはある程度OKですが、スーパーロボット大戦のコピーシナリオは同シリーズの発売元であるバンプレストに、経営上のダメージを(規模の大小はともかく)与えてしまう恐れがありますので避けてください。
 
 
 **Q405. 出来たシナリオを発表したいのですが? [#lf0261e8]
  完成したシナリオの発表は、個々の作者でシナリオをダウンロードするホームページを作って頂き、[[シナリオコーナー>http://www.src.jpn.org/neko/scenario/scenariosearch/yomi.cgi]]に登録すると言うのが基本的な流れになっています。詳しくは同コーナーにある[[シナリオコーナー投稿規約>http://www.src.jpn.org/neko/scenario/scenariorules.html]]をご参照ください。
 
 
 **Q406. 自作のデータやシナリオで遊ぼうと思ったら、エラーが出て遊べません。 [#le493a35]
  SRCでのエラーは、大きく分けて次の2つがあります。
 
 &color(blue){・データがSRCの書式や文法に違反している場合};~
 &color(blue){・SRC本体のバグによるもの};
 
  前者の場合、エラーメッセージ画面にイベントファイル上のエラー発生個所が表示されます。これを参考にしてデータを修正しましょう。なお[[Q507>その他よくある質問#u7a2e774]]には自作データのよくあるミスの事例を上げていますのでこれも参考にしてください。
 
  またSRCは非常に複雑なプログラムであり、また頻繁に機能追加が行われるため、予期しないバグが潜んでいる場合があります。あきらかにSRC本体のバグと思われる現象が発生した場合は、その&color(red){具体的な状況や現象(最低でもエラーが発生したシナリオ名)}; をできるだけ詳しく[[バグ報告掲示板>http://www.src.jpn.org/neko/lightbbs/bug/src_custom.cgi]]に報告してください。
 
 
 **Q407. ユニットを出撃させたいのですが、上手くいきません。【Createコマンドについて】 [#xc79d5a1]
  シナリオを作成する上で最も基本となるのがこの「Createコマンド」です。
 そのためシナリオ作成初心者の方が最初にこれでよく悩まれる事も多いので、ここではその解説をします。
 
 ''&color(red){<重要>:このコマンドに限らず、シナリオを作成する為には「HELPファイル」をよく参照するのが非常に重要です。必ずHELPファイルのこの項目も同時に見ておく様にしてください。}; ''
 
 ''例) Create 敵 ダイン1号機 1 ジョー 20 5 5''
 
 このコマンドの各項目(引数)の意味は、左から順に……
 
 &color(blue){<Create>=クリエイト。ユニットを作り出す命令です。}; ~
 &color(blue){<敵>=「敵、味方、NPC、中立」の所属する陣営の指定。}; ~
 &color(blue){<ダイン1号機>=ロボット(ユニット)の指定。}; ~
 &color(blue){<1>=機体のランク(改造レベル)の指定。}; ~
 &color(blue){<ジョー>=ロボットに搭乗するパイロットの指定。}; ~
 &color(blue){<20>=パイロットのレベルの指定。}; ~
 &color(blue){<5 5>=登場時のマップX,Y軸の指定。}; 
 
 の意となります。よってこの「Create 敵 ダイン1号機 1 ジョー 20 5 5」というコマンドは
 
 ''『敵として、改造度が1のダイン1号機というユニットに、ジョーというレベル20のパイロットを乗せ、座標[X]5、座標[Y]5に出撃させる』''
 
 という事を表すことになります。
 --------------------------------
 
 なおこのCreateコマンドを使う上でのよくあるエラーは以下の4点です。
 
 ''(1) 引数(項目)の数は間違っていないか?''
 
 上記解説の様にこのCreateコマンドには「敵」とか「パイロット名」など、7つ(もしくは8つ)の項目の指定が必要です。その数はチャンと足りているでしょうか?何かが抜けてはいませんでしょうか?
 
 ''(2) 「半角」と「全角」を間違っていないか?''
 
 各引数の数字の指定は「&color(blue){半角数字};」でないといけません。これが全角数字になってはいないでしょうか?
 また引数同士は[半角スペース]で間を開けなければいけません。これも「全角スペース」で開けていないでしょうか?(もしくはスペースが抜けているか)
 
 ''(3) ユニットかパイロットを「愛称」で指定してはいないか?''
 
 これらは「名称」で指定しなければなりません。
 
 ''(4) 「(ザコ)」または「(汎用)」がついていないパイロットを複数出場させようとしていないか?''
 
 同じマップに複数登場するパイロットは、名前の最後に「(ザコ)」または「(汎用)」と付いていなければなりません。 "〜というパイロットは既に登録されています" というエラーが出るときは、このミスの可能性があります。
 
 以上、よくチェックしてみてください。
 
 
 **Q408. 合体するユニットを出撃させても、なぜか合体できません。 [#a1bd8200]
  合体するユニットは、合体後のユニットをCreateコマンドやUnitコマンドなどであらかじめ作っておかなければなりません。例えば、3体合体のユニットなら
 
  Create 味方 ダイン1号機 0 ジョー 2 14 5
  Create 味方 ダイン2号機 0 カムイ 2 15 6
  Create 味方 ダイン3号機 0 シキイ 2 16 4
  Unit 合体機神ダイオン 0
 
 とすると、分離状態のユニットが3機現れ、任意で合体させる事ができます。
 
 
 **Q409. 同じイベントが何回も余計に起こってしまいます。原因は? [#rbeb151c]
 ~ 意図しないのにイベントが何回も起こってしまう場合は、以下のミスによることが多いです。
 
 ''(1) 直前のイベントに「Exit」が抜けている。''~
  イベントは、「Exit」か「Continue」「GameClear」「GameOver」「Quit」などを実行しない限り終わりません。これらのコマンドがないと、イベントラベルを越えてその次のイベントの中味まで実行されてしまい、その次のイベントは本来の起動条件を満たしたときに再び実行されることになります。
 
 ''(2) イベントを1回だけ起こすつもりだったのに、ClearEvent コマンドがない。''~
  イベントは、ClearEvent で無効にしない限り、条件を満たすたびに起動します。
 
 ''(3) エピローグイベントの中に「Continue」コマンドを使っている。''~
  Continue は“システム変数「次ステージ」に指定されたステージをセットしたあと、エピローグイベントに移る”、という動作をします。したがって、エピローグイベントのなかで使われると、何度もエピローグイベントの始めからやり直すことになります。
 
 ~ なお、イベントラベルのミスは、クイックロードでは訂正が反映されません。確認の際はステージの最初からやり直す必要があります。
 
 
 **Q410. 起動しないイベントがあります。原因は? [#udabf2f2]
 ~ この場合、よくある原因は次のものです。
 
 ''(1) 同じ種類のイベントを複数、作成している。''~
  同じ種類のイベントを複数作っても、条件を満たしたもののうち最初のイベントしか実行されません。これを防ぐためにはイベントラベルの最初に「*」を付けて常時イベントラベルにします。詳しくはヘルプの 「シナリオの作成」->「イベントラベル」のページの「イベントラベルの引数」と「常時イベントラベル」の項を参照してください。~
  また、イベントを一つに統合するという対策手段もあります。いろいろな起動条件がある場合は、Ifコマンドを使って条件を付けます。
 
 
 ''(2) イベント冒頭の追加条件設定にミスがあり、成立しえない条件になってしまっている。''~
  たとえば、イベント冒頭に
  If ターン数 < 3 And ターン数 > 5 Then
 と、不等号をまちがえてしまった場合などです。
 
 ~ 条件に使う変数のスペルミスやシステム変数の記憶違いなどもありえます。たとえば、第5ターンにイベントを起こそうとして、
  条件に使う変数のスペルミスやシステム変数の記憶違いなどもありえます。たとえば、第5ターンにイベントを起こそうとして、
  If タ‐ン数 = 5 Then
 としてしまうなど。音引き「ー」とすべきがハイフン「‐」になっており、この変数は(偶然、他のところで使われてない限り)いつまでたってもゼロのままで条件は成立しません。
 
 ''(3) イベントラベルの書式や引数設定にミスがあり、イベントが成立しえない。''
  誤り例:
  ターン 味方 敵:
 ~ ターンイベントの第1引数はターン数を入れるべき場所なので、「味方」は変数名とみなされてしまいます。使っていない「変数」の値は通常ゼロだから、このイベントは起動しません。
  ターンイベントの第1引数はターン数を入れるべき場所なので、「味方」は変数名とみなされてしまいます。使っていない「変数」の値は通常ゼロだから、このイベントは起動しません。
 
 ~ 特に多いのは、破壊イベント・攻撃イベント・進入イベントなどの引数のユニット指定がまちがっていることです。そのため、存在しないユニットが破壊されたり攻撃したりした時のイベントになってしまい、けっして起動しないことになります。~
  特に多いのは、破壊イベント・攻撃イベント・進入イベントなどの引数のユニット指定がまちがっていることです。そのため、存在しないユニットが破壊されたり攻撃したりした時のイベントになってしまい、けっして起動しないことになります。~
  パラメータをデータのファイルと厳密に照合してください。~
  このミスを減らす有力な方法は、データからパラメータにCopy&Pasteすることです。
 
 ~ 引数をメインパイロット名またはユニット名にすべきところを、愛称にしてしまうミスもよくあります。
  引数をメインパイロット名またはユニット名にすべきところを、愛称にしてしまうミスもよくあります。~
  また、(ザコ)・(汎用)をパイロット名・ユニット名で引数指定すると、個機を特定できません。イベントラベルで個機を指定するにはグループIDを用いてください。
 
 ~ なお、イベントラベルのミスは、クイックロードでは訂正が反映されません。確認の際はステージの最初からやり直す必要があります。
  なお、イベントラベルのミスは、クイックロードでは訂正が反映されません。確認の際はステージの最初からやり直す必要があります。