.

サンプルプロジェクト

修正点
・[Fix]敵をXコマ遅らせるスキルをあてても、攻撃者の次回順番よりも後ろに下がらないバグ
・[Change]敵をXコマ遅らせるスキルの設定<ディレイ> → <ディレイコマ数>
・[Add]先制時の初期待ち時間設定追加(スキル007)
・[Etc]説明文ちょっと追加

待ち時間の小数以下の計算をちょっと変えました。
待ち時間系をいじってバグると被害が大きそうなので、変だったら教えてください。

敵をXコマ遅らせるスキルの設定、<ディレイ>だとわかりづらいので
<ディレイコマ数>に変更しました。まだ<ディレイ>のほうも残してます。


先制時の初期待ち時間はスキル007の値が使われます。
不意打ち時は敵がスキル007の値を使います。
戦闘開始(スキル004)よりも小さい値をいれてくださいませ

18 件のコメント “碧の軌跡っぽい戦闘システム11”
  1. momomo より:

    こんばんは。
    対応ありがとうございます!
    元々ディレイxは実装されていたのですね。気付かず申し訳ないです。
    早速スクリプトを見てみると、説明文も凄く分かりやすくて助かります。
    こちらのスクリプトはやはり、ボス戦等でも戦略に幅が出来て、
    短調になりがちなバトルにスリルが加算されていいですね。

    これからも応援してます!

  2. さば缶 より:

    こんばんは!
    いえ、自分で見てすごくわかりづらかったので修正させてもらいました。。
    おかげで少しはましになったと思います。
    使ってると何かでてくると思いますので、そのときはまたよろしくお願いします!

  3. ルセリア より:

    こんばんは。

    報告が遅くなりまして、申し訳ございません。
    先ほど、先制・不意打ち確認出来ました、ありがとうございます。

    ちなみになのですが、
    イベント戦闘にもスイッチや変数などで先制・不意打ちが入れられると嬉しいです。
    自身で、デフォルトの戦闘システムでは、イベント戦闘の先制・不意打ちは実現出来たのですが、
    さば缶様のスクリプトと合わせると、自分の技量が足りず実装が出来なかったです。

    あと、HP表示をDLさせて頂きました。
    ステートの他に能力弱体・強化なども表示させる機能はあった方が良いと思います。

    また、ステートの個数はユーザー側で設定出来るのは、凄くいいですね!
    ただ、表示出来る個数以外のステートが付いている場合は
    数秒毎に自動で表示切替などがあるともっと良いかな、とは思いました。

    勝手ばかり言って申し訳ありませんが、よろしくお願いします。

  4. こんばんは。上の鎧も書いていただきたいものでしたが・・・

    先制・不意打ちなのですが・・・素早さの差があまりにもあると、反映されな・・い・ですよね。

    仕方がないのでしょうけど。

    ちなみに、EnDlEss DREamER様で手動先制・不意打ちのスクリプトが公開されているので
    そちらでテストしていました。

    余計なことかもしれませんが・・・書いてみました。

    では、今日はこれで失礼します。

  5. さば缶 より:

    >ルセリアさん
    おお、確認ありがとうございます。

    >スイッチや変数などで先制・不意打ち
    エターナル7さんが書いてくれてるのでそちらでどうぞ!
    エターナル7さんありがとうございますー

    >能力弱体・強化など
    あ、そういえばこれ別なんでしたっけ
    対応しますのでしばしおまちください

    >数秒毎に自動で表示切替などがあると
    !! みんな敵に5つも6つもステートつけるものなのかしら
    簡単にできそうならやってみますー

  6. さば缶 より:

    >エターナル7さん
    鎧はちょうむずいし、布描くほうが楽しいです

    >反映されない
    碧の軌跡っぽい戦闘システムの話なら、先制の計算式をマイナスとかにすると
    無双できるはずです。

    スクリプトの情報ありがとうでしたー!

  7. ルセリア より:

    おはようございます。

    先制・不意打ちの件ですが、実はEnDlEss DREamER様のスクリプトも既に試していたのですが
    構造が軌跡っぽい戦闘システムに対応していないため、適用されないのですよね。
    先に書いておくべきでした、申し訳ありません。

    上記から、エターナル7さんが反映されないと仰ってるのは、イベント戦でテストされているからだと思います。
    敏捷15のキャラ2人対敏捷999の敵2人でテストしていましたが、ランダムエンカウントでは問題なく反映されておりました。

  8. さば缶 より:

    おはようございます!

    試してみたんですが、EnDlEss DREamERさんのところのスクリプトでも動作するみたいです。
    もしかしたら別のスクリプトが競合してるかもです?

  9. ワンタロ より:

    横からすいません
    僕もバトル処理の先制不意討ちスクリプト作動しないです。
    さば缶さんのサンプルに入れると
    メッセージは出るんですけど、先制の効果はなかったです。
    先制不意討ちスクリプトはどのあたりに入れてますか?

  10. えっと、不意打ちは動くけど、先制はできないみたいな気が・・・します。

    すいません。自分が余計なことを書いてしまいました。
    イベント戦でも不意打ちは出来ているみたいです。敏捷性999と10で試しました。

    申し訳ありませんでした。

  11. momomo より:

    こんにちは。
    少し気になったのですが、ステート解除時の相手のディレイってどれ位になっているのでしょうか。
    恐らくですが通常攻撃と同じ速度でしょうか。
    敵が自分の俊敏を上回る場合で、敵がスタン時に左に表示されてあるオーダーは
    味方→敵→味方→敵→味方となっているのですが、スタンが切れると
    味方→敵→味方→(ここでスタンが切れる)敵→敵→味方
    と、スタンが切れた1ターン分の後に攻撃での2ターンが入ってくるのです。

    それからもう一点です。
    ・[Fix]解除タイミングが行動終了時のステートは、順番が終了したときに判定するように
    ・[Fix]解除タイミングがターン終了時のステートは順番が回ってきたときに判定するように

    こちらの違いというのは概ねどういった感じなのでしょうか。
    設定を両方で試しているのですが、今一違いがはっきりせず・・・。
    ターン終了時を選択している場合は、解除されるターンが来たらターンが流されず行動できるといった感じだと思ったのですが、実際やってみるとそうではなかったですし。


    先制攻撃について話題が上がっていますが、自分の所ではきちんと動作致しましたよ。

    要望があるのですが、
    どれほど複雑な処理になるか考えも及びませんが、更新の参考程度に見て頂けると嬉しいです。

    ・確率でターンを遅らせたりキャンセル。
    武器等にも確率で相手のターンを遅らせたり出来る特徴をつけられると面白いかなと思ったのです。
    ・遅らせるターン数を現在のような固定のものとは別にランダムのものを作成。
    1~3といった感じです。

    長々と申し訳ないです。
    よろしくお願い致します。

  12. 連投すいません。
    計算式を-にしたら動作しました。
    テストは碧の軌跡のサンプルで行っています。
    メンバーが多いとあれですが・・・先制はあくまで1ターンなので片方が複数人連続で行動できると
    一人目の行動は遅らせても次の人は動けるので・・・先制していないみたいになるのかもしれません。
    1vs1なら問題ないですが。

    良く確認もせず、コメントしていまい申し訳ありませんでした。

  13. さば缶 より:

    >みなさま
    あー今やっと理解しました、僕の確認ミスでした。すみません。

    EnDlEss DREamERさんのスクリプトではBattleManagerのbattle_startで
    先制判定を入れてるんですが、
    この戦闘システムではScene_Battleにきりかわった時点で先制判定が
    終わってるものとして扱っていたためでした。
    (startでウィンドウを作った時点で順番も描画しないといけないため)
    ただ先制メッセージはでます・・・。
    そして通常の先制判定はエンカウントした時点で行われるので
    そのままうまくいくのでした。

    で、原因はわかったもののどうしようかな・・・。
    あんまり時間かからないし自分でつくるかな。

  14. さば缶 より:

    >momomoさん
    こんにちはー

    >ステート解除時の相手のディレイ
    いまのところ通常攻撃と同じになっています。
    たぶんここもカスタマイズできたほうがよさそうですね。
    対応してみます。

    >こちらの違い
    は、ターン終了時って文言が実際の動作と違ってややこしいですが、
    たとえば毒→ターン終了時、暗闇→行動終了時とすると、
    順番が回ってきてコマンドを選択する前に毒が消えて、
    コマンドを選択して実行したあとに暗闇が消えます。

    >・確率でターンを遅らせたりキャンセル。
    やってみます、しばしおまちください!
    >・遅らせるターン数を現在のような固定のものとは別にランダムのものを作成。
    こちらも対応しますー

    いろいろありがとうございます!

  15. momomo より:

    こんばんは。
    前向きな検討をしていただけるようで嬉しいです!
    当方、期待して待ってます!
    ありがとうございます。

  16. さば缶 より:

    はーい、のんびりやってるのでお待ちくださいませー

  17. momomo より:

    こんばんは。
    ステートの方も詳しく教えて頂き、やっと理解できました。
    ありがとうございます。
    さておき、ちょっとエラーが出て落ちる現象を見つけましたので報告させてください。

    スクリプト ‘Sceme_Battle’の338行目でNoMethodErrorが発生しました。

    undefined method `set_attack’ for nil:NilClass

    デフォルトの新規プロジェクトでも試してみた結果落ちたので、競合関係では無いかと思われます。
    エラーが出る方法
    ・テストプレイにてイベントに話しかける(テストバトルでも落ちます)
    ・敵がダークイージス(下のサンプルプロジェクトに入れてあるバフスキル)を使用。
    ・延々と通常攻撃を繰り返します。
    以上の行動でエラーが出るのですが、原因が反撃かなとおもったのですが、どうやら違うようです。
    (早く検証が可能にする為、アニメーションのフレーム数等は減らしてアクターも同じ職に統一し、同じ武器をつけていますが、こちらは恐らく関係ないです。)
    ちょっとややこしいので、以下にプロジェクトをアップしておきますね。

    http://www1.axfc.net/uploader/He/so/351756
    このプロジェクトファイルからテストプレイにて通常攻撃を繰り返して頂ければ
    落ちる時に斑がありますが、落ちるはずですので、修正またはアドバイスよろしくお願い致します。

    失礼します。

  18. さば缶 より:

    >momomoさん
    おおお、サンプルプロジェクトまでありがとうございます!
    おかげで原因がわかりました。
    ターン終了時に回復するステートを行動直前に変更しちゃったため、
    行動不能から復帰するとactionsが空のままになってしまうのでした。
    修正しますのでしばしお待ちください。
    ありがとうございました!

  19.  
コメントする