*シナリオ作成応用編 [#s470aea3] #contents ---- **Q601. 敵を倒したら強化パーツを手に入れさせるにはどうすれば良いのですか? [#ief81a6a] SRWなどでは、ボスを倒した時に強化パーツが手に入ります。 これをSRCで再現するためには破壊ラベルを使いましょう。 破壊 (破壊されたユニットのパイロット名): (強化パーツを手に入れるイベント) Exit 強化パーツを手に入れるイベントに関して以下に例を挙げます。 Item (強化パーツ名) Talk システム (強化パーツ名)を手に入れた End まとめ~ ・敵を倒したかどうか判別するには…破壊ラベル~ ・強化パーツを手に入れるには…Itemコマンド **Q602. ステージ終了時の残りSPによる経験値ボーナスをやめることはできますか? [#tcbe8496] SRCではステージを終了すると、~ ステージ終了時点のSPx2が経験値ボーナスとして~ 自動で加算されるようになっています。 ただ、毎回経験値が加算されてしまうと、~ レベル調整するのが難しくなってしまうので、~ これをやめたいという場合もあるかと思います。 <経験値加算が行われる条件> ・Continueコマンドを使った時点で ・"出撃"or"格納"状態になっている味方ユニット つまり、Continueコマンドを使う直前に~ Escapeコマンドで味方全体を"待機"状態にしてしまえば~ 経験値が加算されませんし、表示自体も行われなくなります。 Escape 味方 Continue シナリオ02.eve 直後がContinueコマンドになっていますので、~ 味方の全滅イベントが発生する心配はありません。 Destroyコマンドを使うと修理費がかかってしまうので~ 気をつけましょう。 **Q603. 指定座標のビットマップ番号はどうやって調べれば良いですか? [#cfae66f4] ChangeTerrainコマンドではビットマップ番号を指定する必要がありますが、~ Info関数ではビットマップ名しか調べられません。~ (ビットマップ名 = "remains1.bmp"、"base-1.bmp" など) ビットマップ名は必ず"文字列"+"数値"+"."+"拡張子"の順に並んでいますので、~ SRCのイベントコマンドと関数を利用すれば、番号だけの抽出が可能です。 # ビットマップ名取得 # (Info関数を使用してください) mBMP = Info(マップ, X座標, Y座標, ビットマップ名) # 拡張子切捨て # ("文字列" + "ビットマップ番号" にする) mBMP = Mid(mBMP, 1, (Instr(mBMP,".") - 1)) # ビットマップ番号抽出 # (数値 or "-" 以降の部分を抽出する) For i = 1 To Len(mBMP) If Mid(mBMP,i,1) = "-" OR IsNumeric(Mid(mBMP,i,1)) Then mBMP_No = Mid(mBMP,i) Break Endif Next 結果~ ・"mBMP_No"がビットマップ番号になります。("1"とか"-1")