SRC質問掲示板Mk2
(現在 過去ログ125 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■21801 / inTopicNo.1)  一部の敵を倒さずクリアする方法&switch内をswitch前に読み込んでしまう
  
□投稿者/ てんま -(2009/12/15(Tue) 00:22:42) [ID:ThfUhfVY]
    すみません、一度解決したかと思ったんですがだめでした・・・

    宝箱を「敵」として、宝箱以外の敵を倒せばクリアという方法をとりたいのですが、
    うまく動いてくれません。

    下記の状態では、switchで分岐後のクリア条件が、前半でも起こってしまう上に、
    なぜか、敵があと2匹になったときに発生したりと・・・
    どのように直せばいいのか、助言をお願いします。


    スタート:
    ChangeMap Map\003B.map
    wait 5

    Create 敵 スケルトンA 5 骨A(ザコ) 8 13 7 S1
    Create 敵 スケルトンA 5 骨A(ザコ) 8 15 10 S1
    Create 敵 スケルトンA 5 骨A(ザコ) 8 11 12 S1
    Create 敵 スケルトンA 5 骨A(ザコ) 8 8 14 S1
    Create 敵 スケルトンA 5 骨A(ザコ) 8 13 18 S1
    wait 2
    Create 敵 スケルトンB 6 骨A(ザコ) 10 12 5 S2

    wait 10

    changemode S1 待機
    changemode S2 固定


    Organize 5 5 17

    wait 3
    Talk 華菜
    もう少しスケルトンが残ってたみたいね。
    シェリがいなくたって、負けないよ♪
    全部倒しちゃいましょう。
    end
    exit
    wait 3



    破壊 S2:
    talk 華菜
    こんな所にもう一つ入り口があったのね
    どうしよう・・・入ってみようかな?
    end

    Ask
    中に入る
    やめておく
    End

    switch 選択
    case 1
    talk 華菜
    まだ何か宝物があるかもしれないわね
    自信もついてきたし、入ってみよう。
    end
    wait 4

    ChangeMap 003C.map


    wait 5
    Create 敵 財宝 0 財宝(ザコ) 0 10 5 TA
    Create 敵 宝箱 0 宝箱(ザコ) 0 18 13 TB
    Create 敵 宝箱 0 宝箱(ザコ) 0 5 17 TC

    wait 3

    Create 敵 スケルトンA 5 骨A(ザコ) 8 8 7 EA
    Create 敵 スケルトンA 5 骨A(ザコ) 8 12 7 EA
    Create 敵 スケルトンA 5 骨A(ザコ) 8 7 9 EB
    Create 敵 スケルトンA 5 骨A(ザコ) 8 12 9 EB
    Create 敵 スケルトンA 5 骨A(ザコ) 8 18 15 EA
    Create 敵 スケルトンA 5 骨A(ザコ) 8 10 11 EC
    Create 敵 スケルトンA 5 骨A(ザコ) 8 4 17 EC


    wait 10

    changemode TA 固定
    changemode TB 固定
    changemode TC 固定

    changemode EA 固定
    changemode EB 待機


    Organize 5 11 18

    wait 3
    勝利条件:
    Talk 華菜
    何があるんだろう・・・
    シェリがいない分、慎重に行きましょう。
    End
    Exit

    wait 5

    破壊 TA:
    item 力のオーブ
    talk システム
    力のオーブを手に入れた!
    end
    exit

    破壊 TB:
    item クロスボウ
    talk システム
    クロスボウを手に入れた!
    end
    exit

    破壊 TC:
    item シルバーリング
    talk システム
    シルバーリングを手に入れた!
    end
    exit

    破壊 敵:
    If 敵数 > 3 exit
    If 骨A(ザコ) exit
    wait 5
    talk 華菜
    終わったわね。
    end
    continue Event\004.eve

    exit


    case 2
    talk 華菜
    危なそうだし、やめとこう。
    end
    wait 5
    continue Event\004.eve
    Exit


    EndSw

引用返信/返信 削除キー/
■21802 / inTopicNo.2)  Re[1]: 一部の敵を倒さずクリアする方法&switch内をswitch前に読み込んでしまう
□投稿者/ NINJA -(2009/12/15(Tue) 12:41:49) [ID:TXcjebTq]
    Case 2以降が一番下に来てるのはコピペミスでしょうか。勝利条件イベントの直後くらいならまだ分かるんですけど。

    ひとまず解決手段としては、敵を破壊した後、残っている敵の数=宝箱の数という判定を組めば良いのでは。敵の種類を判定していないようなのでそこで意図しない動作になってるんだと思います。
引用返信/返信 削除キー/
■21803 / inTopicNo.3)  Re[1]: 一部の敵を倒さずクリアする方法&switch内をswitch前に読み込んでしまう
□投稿者/ 中箱 -(2009/12/15(Tue) 12:50:30) [ID:XAPi9INn]
    >switchで分岐後のクリア条件が、前半でも起こってしまう上に、

    「switchで分岐後のクリア条件」という考え方から間違っています。

    イベントラベルの無効/有効は、ClearEvent/RestoreEventコマンドで切り替えます。
    switchの分岐とイベントラベルが有効かどうかとは無関係です。

    ですから、この場合でいえばスタート以降クリアまでの間ずっと
     「破壊 S2」「勝利条件」「破壊 TA」「破壊 TB」「破壊 TC」「破壊 敵」
    のラベルは全部有効です。



    >なぜか、敵があと2匹になったときに発生したりと・・・

    上の話に加えて、恐らく
    >If 骨A(ザコ) exit
    ここですね。
    ザコ・汎用パイロット名を条件にしたIf分岐はうまく動かなかったような覚えがあります。

    方法は幾つもありますが、
    例えば、
     後半戦、敵が3体以下になったらその残った敵の中にスケルトンAがいるかどうかを調べ、
     調べた結果スケルトンAがいなければクリア
    のようにするとか。
引用返信/返信 削除キー/
■21804 / inTopicNo.4)  Re[2]: 一部の敵を倒さずクリアする方法&switch内をswitch前に読み込んでしまう
□投稿者/ てんま -(2009/12/15(Tue) 15:39:07) [ID:ThfUhfVY]
    2009/12/15(Tue) 23:37:39 編集(投稿者)
    2009/12/15(Tue) 23:37:24 編集(投稿者)

    クリア条件のほうはうまく動くようになりました。ありがとうございました。

    >  後半戦、敵が3体以下になったらその残った敵の中にスケルトンAがいるかどうかを調べ、
    >  調べた結果スケルトンAがいなければクリア
    > のようにするとか。

    色々試してみたんですが、

      破壊 敵:
      If 敵数 > 3 exit
      If EA or EB or EC exit
      wait 5
      talk 華菜
      終わったわね。
      end
      continue Event\004.eve
      exit

    これも敵3匹以下になるとステージクリアになってしまい、
    (宝箱1個と骨A2匹残りとか)
    違うステージで↓の様に組んでみたところ、正常に動作して、今回のステージでは動作しませんでした。

      破壊 敵:
      If 敵数 > 3 exit
      If 骨A(ザコ) exit
      item スケルトンの骨
      talk システム
      スケルトンの骨を手に入れた!!
      end
      wait 5
      talk シェルダリア
      終わったわね。
      talk 華菜
      スライムちゃん、ほとんどやられちゃったね・・・
      talk プチN
      ピー・・・
      end
      continue Event\003.eve
      exit

    あと、スケルトンAがいなければということで、

      破壊 敵:
      If 敵数 < 4 and IsDefined(スケルトンA) = 0 then
      talk 華菜
      終わりかな?
      end
      continue Event\003.eve
      endif
      exit

    というふうにしてみましたが駄目でした。

    「《 残りの敵の中に 》『骨A(パイロット)』または『スケルトンA(ユニット)』がいなければクリア」という指定方法がどうもできていないのかと思いますが、ちょっと私には思いつかないので・・・
    すみませんが引き続き助言をお願いします。
引用返信/返信 削除キー/
■21806 / inTopicNo.5)  Re[3]: 一部の敵を倒さずクリアする方法&switch内をswitch前に読み込んでしまう
□投稿者/ 十拳剣 -(2009/12/16(Wed) 18:39:33) [ID:fNLNPeb3]
    説明書のSkipコマンドの例が近いです
    敵を倒したときForEachで敵の中から
    宝箱でなければローカル変数を1上げて
    変数が0ならイベントクリアの処理をする
    で言いと思います
引用返信/返信 削除キー/
■21808 / inTopicNo.6)  Re[4]: 一部の敵を倒さずクリアする方法&switch内をswitch前に読み込んでしまう
□投稿者/ てんま -(2009/12/16(Wed) 21:55:10) [ID:ThfUhfVY]
    No21806に返信(十拳剣さんの記事)
    > 説明書のSkipコマンドの例が近いです
    > 敵を倒したときForEachで敵の中から
    > 宝箱でなければローカル変数を1上げて
    > 変数が0ならイベントクリアの処理をする
    > で言いと思います

    ありがとうございます!
    無事に作動しました!
    ちなみにかなり単純に

      破壊 骨A(ザコ):
      Incr 骨残り
      If 骨残り = 7 then
      talk 華菜
      終わりかな?
      end
      continue Event\003.eve
      endif
      exit

    で、できました。

    助言を下さった方に感謝です!
    ありがとうございました!
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -