| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 9 |  
| 经验 | 15003 |  
| 最后登录 | 2025-6-25 |  
| 在线时间 | 289 小时 |  
 Lv2.观梦者 
	梦石0 星屑865 在线时间289 小时注册时间2010-9-9帖子64 | 
| #============================================================================== # ★ RGSS3_ランダムトループ Ver1.1
 #==============================================================================
 =begin
 
 这个是从某大大哪里拿来的随机遇敌脚本,不过我是横板战斗的,所以小改了敌人出现的位置,
 作者:tomoaky
 webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)
 
 指定したトループの中身(出現エネミー)をランダムに変更します、
 どんな敵が出現するか分からないおまけイベントバトルなどにどうぞ。
 
 候補の設定が空の配列だった場合はすべてのエネミーが候補になります、
 名前が空のエネミーは自動的に除外されます。
 
 2012.01.07  Ver1.1
 ・複数のトループをランダム化できるようになりました
 ・最低出現数の設定を追加
 ・座標の計算式を変更
 
 2011.12.15 Ver1.0
 公開
 
 =end
 
 #==============================================================================
 # □ 設定項目
 #==============================================================================
 module TMRDTRP
 ENEMIES = {}      # この行はいじらない
 EXCLUDE = {}      # この行はいじらない
 MIN_ENEMY = {}    # この行はいじらない
 MAX_ENEMY = {}    # この行はいじらない
 
 # トループID31番の設定
 ENEMIES[31] = [2, 31, 32]     # 出現するエネミーの候補
 EXCLUDE[31] = []                                  # 除外するエネミー
 MIN_ENEMY[31] = 8                                 # 最低出現数
 MAX_ENEMY[31] = 8                                 # 最高出現数
 
 # トループID32番の設定
 ENEMIES[35] = []          # 出現するエネミーの候補(空なら全エネミーを候補に)
 EXCLUDE[35] = [29, 30]    # 除外するエネミー
 MIN_ENEMY[35] = 3         # 最低出現数
 MAX_ENEMY[35] = 6         # 最高出現数
 
 end
 
 #==============================================================================
 # ■ Game_Troop
 #==============================================================================
 class Game_Troop < Game_Unit
 #--------------------------------------------------------------------------
 # ● セットアップ
 #     troop_id : 敵グループ ID
 #--------------------------------------------------------------------------
 alias tmrdtrp_game_troop_setup setup
 def setup(troop_id)
 if TMRDTRP::ENEMIES[troop_id]
 $data_troops[troop_id].members = []
 if TMRDTRP::ENEMIES[troop_id].empty?
 list = []
 (1...$data_enemies.size).each do |id|
 list[id - 1] = id unless $data_enemies[id].name == ""
 end
 else
 list = TMRDTRP::ENEMIES[troop_id].clone
 end
 list -= TMRDTRP::EXCLUDE[troop_id] if TMRDTRP::EXCLUDE[troop_id]
 max = TMRDTRP::MAX_ENEMY[troop_id]
 max = max ? [[max, 1].max, 8].min : 6
 min = TMRDTRP::MIN_ENEMY[troop_id]
 min = min ? [[min, 1].max, max].min : 1
 n = rand(rand(max - min + 1) + 1) + min
 (0...n).each do |i|
 member = RPG::Troop::Member.new
 member.enemy_id = list[rand(list.size)]
 space = [rand(480 / n), 64].max
 member.x = ( i * space + 272 - (n - 1) * space / 2 + rand(32) - 16 ) / 3 +50
 member.y = 120 + ( rand(64) + (i % 2 * 24) ) * 1.8
 $data_troops[troop_id].members = member
 end
 end
 tmrdtrp_game_troop_setup(troop_id)
 end
 end
 
 
 | 
 |