リージョンチェック用スクリプト
Posted: 2016年8月28日(日) 23:35
faida様のご助言いただきようやく完成させることができました。
実行したマップのリージョン数をカウントするスクリプトとなります。






実行したマップのリージョン数をカウントするスクリプトとなります。






コード: 全て選択
#===============================================================================
# RGSS3 リージョンチェック Ver1.0a (2016/08/28) by ONOZUKA
#===============================================================================
# 特定の範囲のリージョンIDの個数を出力することができます。
# 改変は自由です。クレジットには制作者名のみ載せてください。
# faida様のご助言によって完成させることができました。
#===============================================================================
# イベントスクリプトにregion_checkといれることで起動します。
# 結果は$game_variables[n] = $count_regionなりで取得してください。
#===============================================================================
Game_Interpreter
def region_check
#特定のリージョンを数える
search_region = 1
#コンソール画面に出力結果を表示する
search_console = true
#[0,100,0,200] :X座標は0から100まで,Y座標は0から200までの範囲をチェックする。
search_range = [0,100,0,200]
# 1,1にすると、範囲中の全タイルを調べる。2,2にすると網目状にチェックする。
search_interval = [1,1]
#===============================================================================
# リージョン走査
xline = search_range[0] #Xの開始値を代入
yline = search_range[2] #Yの開始値を代入
xypos = Array.new #空配列の生成
loop do #ループの開始
xypos << $game_map.region_id(xline,yline) #リージョンIDの取得
yline += search_interval[1] #Y方向走査
if xline > search_range[1] #X方向走査の初期化判定
break #全走査終了
elsif yline > search_range[3] #Y方向走査の初期化判定
xline += search_interval[0] #X方向走査
yline = 0 #Y方向走査を初期化
end
end
if search_console = true then #コンソールへの表示判定
p xypos.count(search_region) #コンソールへの表示
end
$count_region = xypos.count(search_region) #グローバル変数への代入
end
#===============================================================================