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

闘技場を作りたい

アッシマー2018-11-04に開始した「ゲーム制作」の中の討論

    タグ:
  1. アッシマー

    アッシマー ユーザー

    毎度、お世話になってます。
    MVで闘技場を作りたいと思っています。
    ルールとしては1VS1、2VS2、4VS4を予定してるんですが、
    手順としてまずPTを全解除、そのあと選択肢からキャラを加えて編成
    試合終了後に元のメンバーに戻す。
    ということをしたいんですが。
    PT全解除前のメンバーを記録して戻すということは出来ますか?

    皆さんだとどうイベントを作るか教えていただきたいです。
     
    #1
    tuboシトラス がいいね!しています
  2. シトラス

    シトラス ユーザー

    戦闘メンバーの最大数を変更するプラグインを使い
    1人:先頭のメンバーのみ
    2人:上から2番目までのメンバー
    4人(デフォルト):全員参加可能
    とできれば、楽だと思います。
     
    #2
    アッシマー, tubo, ネコタ他1人 がいいね!しています
  3. エルトン

    エルトン ユーザー

    元のPTを記録したいなら

    変数の操作 変数X = パーティメンバー1番のアクターID

    を使えば元PTのを記録できる。パーティメンバーのアクターIDはゲームデータから取得可能。
    これでPTメンバー分記録し、以下のスクリプトを使えば再度仲間にできる。

    $gameParty.addActor($gameVariables.value(X));

    ちなみにXに0を入れてしまうとエラーになるので、条件分岐等で変な変数が入らないかチェックするとよい。

    これを使えばアッシマーさんがやりたい事はプラグインなしでも可能なはず。
    でも私ならシトラスさんの記載の方法を使う。
     
    #3
    アッシマー, tubo, ネコタ他1人 がいいね!しています
  4. ネコタ

    ネコタ ユーザー

    一応、それっぽいものを作ってみました。
    プラグインなしでもできましたが、かなり面倒くさかったです。
    前提として、4人パーティを想定しています。5人以上いる場合は、もうひと工夫必要になるし、きっと更に面倒くさい。

    ◆変数の操作:#0050 参加メンバー#1 = 0
    ◆変数の操作:#0051 参加メンバー#2 = 0
    ◆変数の操作:#0052 参加者名#1 = 0
    ◆変数の操作:#0053 参加者名#2 = 0
    ◆変数の操作:#0049 参加人数 = 0
    ◆変数の操作:#0054 参加者残数 = 0
    ◆変数の操作:#0041 パーティメンバー#1 = 0
    ◆変数の操作:#0042 パーティメンバー#2 = 0
    ◆変数の操作:#0043 パーティメンバー#3 = 0
    ◆変数の操作:#0044 パーティメンバー#4 = 0
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「ここは闘技場だ。モンスターと戦って勝てば、
    :  : ファイトマネーが貰えるぞ。
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「お前も挑戦してみるか?
    ◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, #2)
    :はいのとき
    ◆変数の操作:#0041 パーティメンバー#1 = パーティメンバー1番のアクターID
    ◆変数の操作:#0042 パーティメンバー#2 = パーティメンバー2番のアクターID
    ◆変数の操作:#0043 パーティメンバー#3 = パーティメンバー3番のアクターID
    ◆変数の操作:#0044 パーティメンバー#4 = パーティメンバー4番のアクターID
    ◆コモンイベント:パーティ名格納

    :いいえのとき
    ◆ラベルジャンプ:③

    :分岐終了
    ◆ラベル:①
    ◆ループ
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「まずは、何人で挑むか教えてくれ。
    ◆選択肢の表示:1人, 2人, 4人, やめる (ウィンドウ, 右, #1, #4)
    :1人のとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「戦闘に参加する人数は1人で良いんだな?
    ◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, #2)
    :はいのとき
    ◆変数の操作:#0049 参加人数 = 1
    ◆変数の操作:#0054 参加者残数 = 1
    ◆ループの中断

    :いいえのとき

    :分岐終了

    :2人のとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「戦闘に参加する人数は2人で良いんだな?
    ◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, #2)
    :はいのとき
    ◆変数の操作:#0049 参加人数 = 2
    ◆変数の操作:#0054 参加者残数 = 2
    ◆ループの中断

    :いいえのとき

    :分岐終了

    :4人のとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「戦闘に参加する人数は4人で良いんだな?
    ◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, #2)
    :はいのとき
    ◆変数の操作:#0049 参加人数 = 4
    ◆ループの中断

    :いいえのとき

    :分岐終了

    :やめるのとき
    ◆ラベルジャンプ:②
    :分岐終了

    :以上繰り返し
    ◆ループ
    ◆条件分岐:参加人数 = 4
    ◆ラベルジャンプ:④

    :それ以外のとき

    :分岐終了
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「それでは、参加するメンバーを選んでくれ。
    ◆選択肢の表示:\v[45], \v[46], \v[47], \v[48], やめる (ウィンドウ, 右, #1, #5)
    :\v[45]のとき
    ◆変数の操作:#0054 参加者残数 -= 1
    ◆変数の操作:#0050 参加メンバー#1 = パーティメンバー#1
    ◆変数の操作:#0052 参加者名#1 = パーティネーム#1
    ◆条件分岐:参加者残数 = 0
    ◆ループの中断

    :それ以外のとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\>\c[6]ブライアン\c[0]
    :  :\>「それでは、参加するメンバーを選んでくれ。
    ◆選択肢の表示:\v[46], \v[47], \v[48], 選びなおす (ウィンドウ, 右, #1, #4)
    :\v[46]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#2
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#2
    ◆ループの中断

    :\v[47]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#3
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#3
    ◆ループの中断

    :\v[48]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#4
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#4
    ◆ループの中断

    :選びなおすのとき
    ◆変数の操作:#0054 参加者残数 += 1
    ◆変数の操作:#0050 参加メンバー#1 = 0
    ◆変数の操作:#0052 参加者名#1 = 0

    :分岐終了

    :分岐終了

    :\v[46]のとき
    ◆変数の操作:#0054 参加者残数 -= 1
    ◆変数の操作:#0050 参加メンバー#1 = パーティメンバー#2
    ◆変数の操作:#0052 参加者名#1 = パーティネーム#2
    ◆条件分岐:参加者残数 = 0
    ◆ループの中断

    :それ以外のとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\>\c[6]ブライアン\c[0]
    :  :\>「それでは、参加するメンバーを選んでくれ。
    ◆選択肢の表示:\v[45], \v[47], \v[48], 選びなおす (ウィンドウ, 右, #1, #4)
    :\v[45]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#1
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#1
    ◆ループの中断

    :\v[47]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#3
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#3
    ◆ループの中断

    :\v[48]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#4
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#4
    ◆ループの中断

    :選びなおすのとき
    ◆変数の操作:#0054 参加者残数 += 1
    ◆変数の操作:#0050 参加メンバー#1 = 0
    ◆変数の操作:#0052 参加者名#1 = 0

    :分岐終了

    :分岐終了

    :\v[47]のとき
    ◆変数の操作:#0054 参加者残数 -= 1
    ◆変数の操作:#0050 参加メンバー#1 = パーティメンバー#3
    ◆変数の操作:#0052 参加者名#1 = パーティネーム#3
    ◆条件分岐:参加者残数 = 0
    ◆ループの中断

    :それ以外のとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\>\c[6]ブライアン\c[0]
    :  :\>「それでは、参加するメンバーを選んでくれ。
    ◆選択肢の表示:\v[45], \v[46], \v[48], 選びなおす (ウィンドウ, 右, #1, #4)
    :\v[45]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#1
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#1
    ◆ループの中断

    :\v[46]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#2
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#2
    ◆ループの中断

    :\v[48]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#4
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#4
    ◆ループの中断

    :選びなおすのとき
    ◆変数の操作:#0054 参加者残数 += 1
    ◆変数の操作:#0050 参加メンバー#1 = 0
    ◆変数の操作:#0052 参加者名#1 = 0

    :分岐終了

    :分岐終了

    :\v[48]のとき
    ◆変数の操作:#0054 参加者残数 -= 1
    ◆変数の操作:#0050 参加メンバー#1 = パーティメンバー#4
    ◆変数の操作:#0052 参加者名#1 = パーティネーム#4
    ◆条件分岐:参加者残数 = 0
    ◆ループの中断

    :それ以外のとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\>\c[6]ブライアン\c[0]
    :  :\>「それでは、参加するメンバーを選んでくれ。
    ◆選択肢の表示:\v[45], \v[46], \v[47], 選びなおす (ウィンドウ, 右, #1, #4)
    :\v[45]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#1
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#1
    ◆ループの中断

    :\v[46]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#2
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#2
    ◆ループの中断

    :\v[47]のとき
    ◆変数の操作:#0051 参加メンバー#2 = パーティメンバー#3
    ◆変数の操作:#0053 参加者名#2 = パーティネーム#3
    ◆ループの中断

    :選びなおすのとき
    ◆変数の操作:#0054 参加者残数 += 1
    ◆変数の操作:#0050 参加メンバー#1 = 0
    ◆変数の操作:#0052 参加者名#1 = 0

    :分岐終了

    :分岐終了

    :やめるのとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「参加人数を変更するのか?
    ◆選択肢の表示:はい, いいえ, 参加をとりやめる (ウィンドウ, 右, #1, #2)
    :はいのとき
    ◆変数の操作:#0049 参加人数 = 0
    ◆変数の操作:#0054 参加者残数 = 0
    ◆ラベルジャンプ:①

    :いいえのとき

    :参加をとりやめるのとき
    ◆ラベルジャンプ:②

    :分岐終了

    :分岐終了

    :以上繰り返し
    ◆条件分岐:参加人数 = 1
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「参加者は、
    :  : \c[2]\v[52]\c[0]
    :  : で間違いないな?
    ◆選択肢の表示:はい, 選びなおす, 参加をとりやめる (ウィンドウ, 右, #1, #2)
    :はいのとき

    :選びなおすのとき
    ◆変数の操作:#0050 参加メンバー#1 = 0
    ◆変数の操作:#0051 参加メンバー#2 = 0
    ◆変数の操作:#0052 参加者名#1 = 0
    ◆変数の操作:#0053 参加者名#2 = 0
    ◆変数の操作:#0049 参加人数 = 0
    ◆変数の操作:#0054 参加者残数 = 0
    ◆ラベルジャンプ:①

    :参加をとりやめるのとき
    ◆ラベルジャンプ:②

    :分岐終了

    :それ以外のとき
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「\c[2]\v[52]\c[0]
    :  : \c[2]\v[53]\c[0]
    :  : の2人が挑戦するんだな?
    ◆選択肢の表示:はい, 選びなおす, 参加をとりやめる (ウィンドウ, 右, #1, #2)
    :はいのとき

    :選びなおすのとき
    ◆変数の操作:#0050 参加メンバー#1 = 0
    ◆変数の操作:#0051 参加メンバー#2 = 0
    ◆変数の操作:#0052 参加者名#1 = 0
    ◆変数の操作:#0053 参加者名#2 = 0
    ◆変数の操作:#0049 参加人数 = 0
    ◆変数の操作:#0054 参加者残数 = 0
    ◆ラベルジャンプ:①

    :参加をとりやめるのとき
    ◆ラベルジャンプ:②

    :分岐終了

    :分岐終了
    ◆コモンイベント:参加名簿作成
    ◆ラベル:④
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「それでは、健闘を祈る!
    ◆戦闘の処理:こうもり*2
    ◆コモンイベント:パーティ復元
    ◆条件分岐:使用不可がON
    ◆ラベル:②
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「なんだ、やめるのか?
    ◆選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, #2)
    :はいのとき
    ◆ラベル:③
    ◆文章:2000_Actor1(2), ウィンドウ, 下
    :  :\c[6]ブライアン\c[0]
    :  :「そうか。では、またの挑戦を待っている。

    :いいえのとき
    ◆ラベルジャンプ:①

    :分岐終了

    :分岐終了
    ◆条件分岐:パーティメンバー#1 = 1
    ◆変数の操作:#0045 パーティネーム#1 = 'ハロルド'

    :分岐終了
    ◆条件分岐:パーティメンバー#1 = 2
    ◆変数の操作:#0045 パーティネーム#1 = 'テレーゼ'

    :分岐終了
    ◆条件分岐:パーティメンバー#1 = 3
    ◆変数の操作:#0045 パーティネーム#1 = 'マーシャ'

    :分岐終了
    ◆条件分岐:パーティメンバー#1 = 4
    ◆変数の操作:#0045 パーティネーム#1 = 'ルキウス'

    :分岐終了
    ◆条件分岐:パーティメンバー#2 = 1
    ◆変数の操作:#0046 パーティネーム#2 = 'ハロルド'

    :分岐終了
    ◆条件分岐:パーティメンバー#2 = 2
    ◆変数の操作:#0046 パーティネーム#2 = 'テレーゼ'

    :分岐終了
    ◆条件分岐:パーティメンバー#2 = 3
    ◆変数の操作:#0046 パーティネーム#2 = 'マーシャ'

    :分岐終了
    ◆条件分岐:パーティメンバー#2 = 4
    ◆変数の操作:#0046 パーティネーム#2 = 'ルキウス'

    :分岐終了
    ◆条件分岐:パーティメンバー#3 = 1
    ◆変数の操作:#0047 パーティネーム#3 = 'ハロルド'

    :分岐終了
    ◆条件分岐:パーティメンバー#3 = 2
    ◆変数の操作:#0047 パーティネーム#3 = 'テレーゼ'

    :分岐終了
    ◆条件分岐:パーティメンバー#3 = 3
    ◆変数の操作:#0047 パーティネーム#3 = 'マーシャ'

    :分岐終了
    ◆条件分岐:パーティメンバー#3 = 4
    ◆変数の操作:#0047 パーティネーム#3 = 'ルキウス'

    :分岐終了
    ◆条件分岐:パーティメンバー#4 = 1
    ◆変数の操作:#0048 パーティネーム#4 = 'ハロルド'

    :分岐終了
    ◆条件分岐:パーティメンバー#4 = 2
    ◆変数の操作:#0048 パーティネーム#4 = 'テレーゼ'

    :分岐終了
    ◆条件分岐:パーティメンバー#4 = 3
    ◆変数の操作:#0048 パーティネーム#4 = 'マーシャ'

    :分岐終了
    ◆条件分岐:パーティメンバー#4 = 4
    ◆変数の操作:#0048 パーティネーム#4 = 'ルキウス'

    :分岐終了
    ◆条件分岐:参加人数 = 4

    :それ以外のとき
    ◆メンバーの入れ替え:ハロルドを外す
    ◆メンバーの入れ替え:テレーゼを外す
    ◆メンバーの入れ替え:マーシャを外す
    ◆メンバーの入れ替え:ルキウスを外す
    ◆条件分岐:参加メンバー#1 = 1
    ◆メンバーの入れ替え:ハロルドを加える

    :分岐終了
    ◆条件分岐:参加メンバー#1 = 2
    ◆メンバーの入れ替え:テレーゼを加える

    :分岐終了
    ◆条件分岐:参加メンバー#1 = 3
    ◆メンバーの入れ替え:マーシャを加える

    :分岐終了
    ◆条件分岐:参加メンバー#1 = 4
    ◆メンバーの入れ替え:ルキウスを加える

    :分岐終了
    ◆条件分岐:参加メンバー#2 = 1
    ◆メンバーの入れ替え:ハロルドを加える

    :分岐終了
    ◆条件分岐:参加メンバー#2 = 2
    ◆メンバーの入れ替え:テレーゼを加える

    :分岐終了
    ◆条件分岐:参加メンバー#2 = 3
    ◆メンバーの入れ替え:マーシャを加える

    :分岐終了
    ◆条件分岐:参加メンバー#2 = 4
    ◆メンバーの入れ替え:ルキウスを加える

    :分岐終了

    :分岐終了
    ◆条件分岐:参加人数 = 4

    :それ以外のとき
    ◆メンバーの入れ替え:ハロルドを外す
    ◆メンバーの入れ替え:テレーゼを外す
    ◆メンバーの入れ替え:マーシャを外す
    ◆メンバーの入れ替え:ルキウスを外す
    ◆条件分岐:パーティメンバー#1 = 1
    ◆メンバーの入れ替え:ハロルドを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#1 = 2
    ◆メンバーの入れ替え:テレーゼを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#1 = 3
    ◆メンバーの入れ替え:マーシャを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#1 = 4
    ◆メンバーの入れ替え:ルキウスを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#2 = 1
    ◆メンバーの入れ替え:ハロルドを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#2 = 2
    ◆メンバーの入れ替え:テレーゼを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#2 = 3
    ◆メンバーの入れ替え:マーシャを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#2 = 4
    ◆メンバーの入れ替え:ルキウスを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#3 = 1
    ◆メンバーの入れ替え:ハロルドを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#3 = 2
    ◆メンバーの入れ替え:テレーゼを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#3 = 3
    ◆メンバーの入れ替え:マーシャを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#3 = 4
    ◆メンバーの入れ替え:ルキウスを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#4 = 1
    ◆メンバーの入れ替え:ハロルドを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#4 = 2
    ◆メンバーの入れ替え:テレーゼを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#4 = 3
    ◆メンバーの入れ替え:マーシャを加える

    :分岐終了
    ◆条件分岐:パーティメンバー#4 = 4
    ◆メンバーの入れ替え:ルキウスを加える

    :分岐終了

    :分岐終了
     
    最後に編集: 2018-11-04
    #4
    アッシマー, tubo, m-spot他2人がいいね!しています
  5. tubo

    tubo ユーザー

    邪道っぽいですが

    メンバーを記憶
    $gameParty.tempActors = $gameParty._actors;

    メンバーを戻す
    $gameParty._actors = $gameParty.tempActors;
    $gamePlayer.refresh();
    delete $gameParty.tempActors;
     
    #5
    アッシマーエルトン がいいね!しています
  6. 猫二郎

    猫二郎 ユーザー

    バトル画面が複雑な処理を行うタイプのプラグインで無ければ、SRPGコンバータMVで1対1、だろうが10対10でも可能。
    まぁ・・・、最初からSRPGコンバータMVを前提に作っていれば、組み込むのは簡単。
     
    #6
    アッシマーワタベ がいいね!しています
  7. アッシマー

    アッシマー ユーザー

    やっとこさプラグイン見つけたのでシトラスさん方式で作ってみます。パーティメンバーは10以上を予定してるのでネコタさんには申し訳ないですが見送ります。
    他の皆さんもスクリプトを教えて頂きありがとうございます。
    行き詰まったらまた書き込みに来ますね。
     
    #7
    ネコタシトラス がいいね!しています

このページを共有