お世話になります。
VXaceの仕様として、マップにリージョンを配置することで、座標によってランダムエンカウントする敵グループを細かく設定することが可能です。
しかし、いくらリージョン分けを行っても、平均エンカウント歩数は、マップ内で共通となってしまい、例えば「平地はエンカウントしにくいけど、森や山に入ると敵が出やすくなる」といった基本的なエンカウント率の違いをつけることができません。
エンカウント率を下げたい地形のリージョンをまばらに配置するという手もありますが、それだと敵が出てこない座標が出来てしまい、気になります。
そこで質問です。
マップ内のエンカウント率(平均エンカウント歩数)を均一にするのでなく、リージョンごとに出やすかったり出にくかったりを設定するには、どうしたらよいでしょうか?
もし、スクリプトを使用しないと解決しない場合、他スクリプトとの競合もありますので、なるべくシンプルに、「リージョンごとに平均エンカウント歩数を変える」に絞ったものが理想です。
何卒、宜しくお願いします。
VXace リージョンによってエンカウント歩数変更はできないでしょうか?
Re: VXace リージョンによってエンカウント歩数変更はできないでしょうか?
こんばんは。
まず、ご存知でしたら申し訳ありませんが、実は「茂み判定」があるマップチップはエンカウント率が倍になります。
つまりデフォルトでは森(茂み判定がついている地形)はエンカウント率が倍です。
また、船に乗っている場合はエンカウント率が半減します。
まあ確かに、「山」には茂み判定がないので平地と山は変わりませんがね。
それを前提に、とりあえず作ってみました。「REGION_ENCOUNT_RATE[リージョンID] = 倍率」で動くかもしれません。
まず、ご存知でしたら申し訳ありませんが、実は「茂み判定」があるマップチップはエンカウント率が倍になります。
つまりデフォルトでは森(茂み判定がついている地形)はエンカウント率が倍です。
また、船に乗っている場合はエンカウント率が半減します。
まあ確かに、「山」には茂み判定がないので平地と山は変わりませんがね。
それを前提に、とりあえず作ってみました。
コード: 全て選択
module FAI_RER
REGION_ENCOUNT_RATE = {}
REGION_ENCOUNT_RATE[1] = 0.5
REGION_ENCOUNT_RATE[2] = 0.8
REGION_ENCOUNT_RATE[3] = 1.5
REGION_ENCOUNT_RATE[4] = 3.0
end
class Game_Player
#--------------------------------------------------------------------------
# ● エンカウント進行値の取得
#--------------------------------------------------------------------------
alias fai_rer_encounter_progress_value encounter_progress_value
def encounter_progress_value
rate = FAI_RER::REGION_ENCOUNT_RATE[region_id] || 1.0
fai_rer_encounter_progress_value * rate
end
end
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: VXace リージョンによってエンカウント歩数変更はできないでしょうか?
faida様
ありがとうございます。
お作り頂いたスクリプトで、無事解決できました。
他スクリプトとの競合も、今のところ発生しておりません。
有用なスクリプト、感謝致します。
今回、お返事遅くなりまして申し訳ありませんでした。
また、私の返信のせいで、他の質問者様の投稿にもご迷惑おかけしますこと、この場にてお詫びさせて頂きます。
引き続き、VXaceのフォーラムを活気付けて頂きたく思います。
失礼しました。
ありがとうございます。
お作り頂いたスクリプトで、無事解決できました。
他スクリプトとの競合も、今のところ発生しておりません。
有用なスクリプト、感謝致します。
今回、お返事遅くなりまして申し訳ありませんでした。
また、私の返信のせいで、他の質問者様の投稿にもご迷惑おかけしますこと、この場にてお詫びさせて頂きます。
引き続き、VXaceのフォーラムを活気付けて頂きたく思います。
失礼しました。