if i < 4 member.x = 240 - i * 20 member.y = 160 + i * 25 else member.x = 220 - i * 20 member.y = 160 + (i - 4) * 25 end
#============================================================================== # ★ RGSS3_ランダムトループ Ver1.1 #============================================================================== =begin 作者:tomoaky webサイト:ひきも記 ([url]http://hikimoki.sakura.ne.jp/[/url]) 指定したトループの中身(出現エネミー)をランダムに変更します、 どんな敵が出現するか分からないおまけイベントバトルなどにどうぞ。 候補の設定が空の配列だった場合はすべてのエネミーが候補になります、 名前が空のエネミーは自動的に除外されます。 2012.01.07 Ver1.1 ・複数のトループをランダム化できるようになりました ・最低出現数の設定を追加 ・座標の計算式を変更 2011.12.15 Ver1.0 公開 =end #============================================================================== # □ 設定項目 #============================================================================== module TMRDTRP ENEMIES = {} # この行はいじらない EXCLUDE = {} # この行はいじらない MIN_ENEMY = {} # この行はいじらない MAX_ENEMY = {} # この行はいじらない # トループID31番の設定 ENEMIES[34] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 出現するエネミーの候補 EXCLUDE[34] = [] # 除外するエネミー MIN_ENEMY[34] = 2 # 最低出現数 MAX_ENEMY[34] = 4 # 最高出現数 # トループ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 member.y = 232 + rand(64) + (i % 2 * 24) $data_troops[troop_id].members[i] = member end end tmrdtrp_game_troop_setup(troop_id) end end
QQ截图20140221091235.png (263.31 KB, 下载次数: 21)
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |