ページ 11

リージョンチェック用スクリプト

Posted: 2016年8月28日(日) 23:35
by ONOZUKA
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
#===============================================================================