Kpoal
ユーザー
ツクールのシステムには、仕様かバグか分からないものがいくつもあります。
ですのでここでは、皆さんの知っているそのような不具合(?)を紹介していっていただければと思います。
(ただ、それだけだとただの文句になってしまうので、できれば解決策も一緒に提示していただければ幸いです)
ではまず私から、VX Aceの仕様について少し。
例えば敵が回復魔法を覚えていた時など、敵が行動で「味方単体」のスキルを選んだ際の事です。
自分はちょっと凝ったものを作るため、敵の残りHPから狙われ率を調整するステートを付与し、
HPの少ない者に優先して回復を行うというシステムを組もうとしていました。
しかし、それが何度やってもうまくいかなかったのです。
狙われ率0%のステートを駆使してすら、回復の対象を動かす事はできませんでした。
イベントから「戦闘行動の強制」をすればindexでターゲットの指定はできますが、
それでは行動のできるタイミングが戦闘イベントの実行できるタイミングに限られてしまい、非常に不便です。
そうして何度もテストプレイを繰り返すうちに気付いたのですが、
どうやらVXAceのシステムには、
「敵が通常行動として『味方単体』を対象とするスキルを使った場合、ターゲットが敵の配列一番最後の者に固定される」
という仕様(バグ?)があったようなのです。
つまり、
1.スライム
2.こうもり
3.ホ○ミスライム
という順に敵が並んでいた場合、
ホ○ミスライムの行動内容に回復魔法を設定していたとしても、
それは必ず配列3番のホ○ミスライムにのみ向けられ、
スライムやこうもりに回復魔法をかけてくれることは絶対にないという事です。
とまあ、上の経緯でこの仕様について自分が知ったのは数年前の事なのですが、
最近ようやく(知識が増した結果)そのシステムを修正するスクリプトを組むことができたので、ここで公開しておきます。
class Game_Action
#--------------------------------------------------------------------------
# ● 味方に対するターゲット
#--------------------------------------------------------------------------
alias targets_for_friends_plusx targets_for_friends
def targets_for_friends
if item.for_friend? && item.for_one? && @target_index < 0 && !item.for_user?
[friends_unit.random_target]
else
targets_for_friends_plusx
end
end
end
ひとまずこれで、敵の行う味方対象の行動がランダムにターゲットを指定するようになり、
また、敵の狙われ率によってそれをコントロールする事もできるようになります。
ざっと試した限りではこれで問題ないと思うのですが、不具合などあればご報告下さい。
と、こんな感じで
ここでは皆さんが不便だと思った仕様と、その解決法をご紹介いただければと思います。
それでは。
追記
上記仕様はVXAceのものでしたが、
今MVで試してみたところ、ちゃんと正常にターゲット選択が行われている事を確認しました。
(対象ランダム・狙われ率でのコントロールも可)
どうやら、MVでは既に修正されていたようです。
ですのでここでは、皆さんの知っているそのような不具合(?)を紹介していっていただければと思います。
(ただ、それだけだとただの文句になってしまうので、できれば解決策も一緒に提示していただければ幸いです)
ではまず私から、VX Aceの仕様について少し。
例えば敵が回復魔法を覚えていた時など、敵が行動で「味方単体」のスキルを選んだ際の事です。
自分はちょっと凝ったものを作るため、敵の残りHPから狙われ率を調整するステートを付与し、
HPの少ない者に優先して回復を行うというシステムを組もうとしていました。
しかし、それが何度やってもうまくいかなかったのです。
狙われ率0%のステートを駆使してすら、回復の対象を動かす事はできませんでした。
イベントから「戦闘行動の強制」をすればindexでターゲットの指定はできますが、
それでは行動のできるタイミングが戦闘イベントの実行できるタイミングに限られてしまい、非常に不便です。
そうして何度もテストプレイを繰り返すうちに気付いたのですが、
どうやらVXAceのシステムには、
「敵が通常行動として『味方単体』を対象とするスキルを使った場合、ターゲットが敵の配列一番最後の者に固定される」
という仕様(バグ?)があったようなのです。
つまり、
1.スライム
2.こうもり
3.ホ○ミスライム
という順に敵が並んでいた場合、
ホ○ミスライムの行動内容に回復魔法を設定していたとしても、
それは必ず配列3番のホ○ミスライムにのみ向けられ、
スライムやこうもりに回復魔法をかけてくれることは絶対にないという事です。
とまあ、上の経緯でこの仕様について自分が知ったのは数年前の事なのですが、
最近ようやく(知識が増した結果)そのシステムを修正するスクリプトを組むことができたので、ここで公開しておきます。
class Game_Action
#--------------------------------------------------------------------------
# ● 味方に対するターゲット
#--------------------------------------------------------------------------
alias targets_for_friends_plusx targets_for_friends
def targets_for_friends
if item.for_friend? && item.for_one? && @target_index < 0 && !item.for_user?
[friends_unit.random_target]
else
targets_for_friends_plusx
end
end
end
ひとまずこれで、敵の行う味方対象の行動がランダムにターゲットを指定するようになり、
また、敵の狙われ率によってそれをコントロールする事もできるようになります。
ざっと試した限りではこれで問題ないと思うのですが、不具合などあればご報告下さい。
と、こんな感じで
ここでは皆さんが不便だと思った仕様と、その解決法をご紹介いただければと思います。
それでは。
追記
上記仕様はVXAceのものでしたが、
今MVで試してみたところ、ちゃんと正常にターゲット選択が行われている事を確認しました。
(対象ランダム・狙われ率でのコントロールも可)
どうやら、MVでは既に修正されていたようです。
最後に編集:

