1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

ボスを倒すと宝箱が復活する

アッシマー2019-12-03に開始した「ゲーム制作」の中の討論

  1. アッシマー

    アッシマー ユーザー

    久しぶりにお邪魔します。
    ダンジョン最奥のボスを倒し、ダンジョン入口に戻ってくると、ダンジョン内の宝箱が再度取得出来るようにしたいのです。
    これをスイッチですると連続取得出来てしまったり、一個開けたら全部空いてしまったりと上手くいかず悩んでおります。
    お知恵を拝借したく思います。
     
    #1
  2. Renfred Stauchenberg

    Renfred Stauchenberg ユーザー

    スイッチで設定する場合は宝箱ごとに異なるスイッチを指定しましょう。

    セルフスイッチで宝箱を作っている場合は以下のスクリプトを
    イベントコマンドにて走らせるとセルフスイッチをOFFに戻せます。

    例:
    $gameSelfSwitches.setValue(232,74,A,false);
    解説:
    マップID232、イベントID74のセルフスイッチAをOFFにします。

    この手法でセルフスイッチをOFFに戻す実装の場合、
    各マップごとに宝箱イベントのIDを調べ上げておく必要があります。
    そして再取得設定をする宝箱の数だけスクリプトを記述する必要があります。
    これをボス撃破時のイベントにチマチマ書くなり、
    コモンイベントに入れておいて呼び出すなりするわけです。
    …意外と手間です。

    プラグインを用いるなどのその他の情報は持ち合わせておりません…

    なお、すべてRPGツクールMVにおける情報です。
     
    #2
  3. アッシマー

    アッシマー ユーザー

    宝箱の数はそう多くないのでこの方法でやってみようと思います。
    が、A is not defined と出るんですがどういうことでしょう?
    実験で新マップに宝箱と$gameSelfSwitches.setValue(011,009,A,false);と打ったイベントを作って
    宝箱を開いた後手動でスクリプトを起動させてもエラーが出るのですが。
    プログラム詳しくないのでよくわかりません。
     
    #3
  4. チョコワ部

    チョコワ部 ユーザー

    セルフスイッチを他のイベントから操作するのはわりとイレギュラーなやり方なので
    通常のスイッチをそれぞれの宝箱に対応させるほうがシンプルで簡単だと思います。
    こんな感じで。
     宝箱Aを開ける →スイッチ1をON →宝箱Aが開いた状態になる
     宝箱Bを開ける →スイッチ2をON →宝箱Bが開いた状態になる
     ボスを倒して入り口に戻ったらスイッチ1と2をOFF →宝箱AとBがもう一度開けられる
     
    #4
    アッシマー がいいね!しました
  5. Renfred Stauchenberg

    Renfred Stauchenberg ユーザー

    軽く調べて見た所表記ミスだったようです。
    自前のプロジェクトに入っていたコードだからと高を括って
    ろくすっぽ検証しなかった結果ですね…
    失礼しました。

    正しくは以下のとおりです。

    $gameSelfSwitches.setValue([35,9,"A"],false);

    これでマップID35のイベントID9のセルフスイッチAがOFFにできます。
    検証済なので問題はないはずです。
     
    #5
    アッシマー がいいね!しました

このページを共有