Project1

标题: 求助,有没有自动生成敌群的办法? [打印本页]

作者: chilibbb    时间: 2014-2-8 12:58
标题: 求助,有没有自动生成敌群的办法?
{:2_264:}在数据库里设置了敌人,有没有办法让系统在设定的编号范围内随机选取几个生成敌群?
作者: 双黄连2_副本2    时间: 2014-2-8 13:38
馊主意:在战斗第0回合-战斗事件-变量1随机赋值-敌人1变身为变量1号敌人-变量1随机赋值-敌人2变身为变量1号敌人.........................
作者: tan12345    时间: 2014-2-8 14:04
用脚本吧,因为生成敌群没那么简单,还涉及了怪物的坐标、附加状态等等数据
作者: chilibbb    时间: 2014-2-8 19:52
双黄连2_副本2 发表于 2014-2-8 13:38
馊主意:在战斗第0回合-战斗事件-变量1随机赋值-敌人1变身为变量1号敌人-变量1随机赋值-敌人2变身为变量1号 ...

变身必须指定具体的敌人编号,不能选择变量啊
作者: chilibbb    时间: 2014-2-8 19:53
tan12345 发表于 2014-2-8 14:04
用脚本吧,因为生成敌群没那么简单,还涉及了怪物的坐标、附加状态等等数据 ...

LZ是脚本小白一只
作者: czsRwind    时间: 2014-2-13 10:40
#==============================================================================
# ★ 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


作者: chilibbb    时间: 2014-2-16 18:19
czsRwind 发表于 2014-2-13 10:40
#==============================================================================
# ★ RGSS3_ランダム ...

{:2_249:}非常感谢!容我研究一下




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1