【RPGツクールVXAce】逃走確率を操作してみよう!変数も使えるよ!

2020年2月1日

主人公たちは逃げ出した!

しかし逃げることはできなかった!

いわゆる「逃げるコマンド」。

今回はこれの発生確率を操作して変更してみます。

スクリプトを触った事がない?大丈夫!

そんなアナタのために分かりやすく解説していきます!

スクリプト「BattleManager」を開こう!

逃走確率はデータベースからは変更できません。

スクリプトを開く必要があります。

「スクリプトってなんだか大変そう・・・」って思ったアナタ!

大丈夫です!これはすごく簡単です!

まずスクリプトを開いて、BattleManagerを見てみましょう。

▼モジュールの一番下
ここ。

その80行目。「逃走成功率の作成」って書いてありますね。

BGM と BGS の再開
と
ターン実行中判定
の間のやつ

@escape_ratio = 1.5 – 1.0 * $game_troop.agi / $game_party.agi

って書いてありますね。

これが逃走確率を算出する式なのです!

計算式を読み解いて実際に変更しよう!

触る場所は分かったけど、どう変えるの?

って所。

そもそも↓この式、なんやねん。

@escape_ratio = 1.5 – 1.0 * $game_troop.agi / $game_party.agi

1.5とかの数字はそのまま整数での逃走成功率です。

ただし%換算するには100倍してください。

つまり150%-100%ですね。

確かVXのほうだと150-100だった気が・・・Aceで変わった?

そしてお次はここ。

* $game_troop.agi / $game_party.agi

*は掛け算を表します。/は割り算。

agiは敏捷性で、troopが敵全体、partyが味方全体。

敵味方共に平均値で計算してるようです。

つまりデフォルトの逃走成功率は

150-100×敵の敏捷平均÷味方の敏捷平均

うーん、数学に疎いとよく分からなくなりそうですね。

とにかく、この式を変更すれば逃走成功率は変更できるのです!

※追記

どうやらもう1ヶ所設定する所があるようです。

同じくBattleManagerのここ。

#でコメントアウトした箇所です。

逃走の処理
@escape_ratio += 0.1

ここにも@escape_ratioがありますね。

これは逃げる事に失敗するごとに10%成功率が上がりますよ~、って意味。

上記のようにコメントアウトすると成功率は上がらず、

0.1の数値を変えると上昇率が変わります。

もちろん+を-にすると失敗するごとに更に逃げにくくなるっていう仕様です。

変数も使用可能!柔軟に対処できるね!

と、いうわけで変更してみました。

@escape_ratio = $game_variables[1]
#はコメントアウト(注釈的なアレ)。バックアップとしてデフォルトを残してある。

$game_variables[1]って書いてありますね。

これは「ゲーム中に使用している変数[1]番」って意味です。

[]の中の数字を変えれば他の変数を指定する事も可能です。

これでイベントで変数を動かせば

いつでも逃走成功率を変更できるってわけです!

わー便利!

・・・なのですがここからが落とし穴。

デフォルトだと1.5とかの小数点ありましたよね?

%に換算するには100倍するんでしたよね?

変数1に定数50を代入

ついうっかり「これで逃走成功率50%だ!」なんてしようものなら

5000%で逃走可能という天井越えの結果に!

は○れメタルもびっくりだ!

でも変数には小数点なんて使えないよ~!

大丈夫です。使えます。

イベントコマンドからスクリプトを開いて

$game_variables[1] = 0.5

みたいな感じで入れたらしっかり小数点も入ってくれます。

=でなく+=に変えると加算、とかもできちゃう優れもの!

(+じゃなく+=なので注意です)

応用すれば可能性は無限大!

変数操作で逃走成功率を変更すれば色んな演出が出来ちゃいます。

例えば

トラップだ!
ダンジョンを脱出するまで
戦闘から逃げる事ができない!

逃走成功率に指定した変数を0にして

一時的に逃げられないようにしたり

(もとに戻すイベントも忘れずに!)

アイテム:エスケープアップ
逃走成功率を5%上げる。

コモンイベントで加算して逃走成功率を上げたり。

アイデア次第で色々できそうですね!

ぜひ色々試してみてください!

その他のテクニックはこちらから!