设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1708|回复: 1
打印 上一主题 下一主题

[已经解决] 關於隨機敵人這腳本、改如何固定某一敵人在隊伍內??

[复制链接]

Lv2.观梦者

梦石
0
星屑
552
在线时间
464 小时
注册时间
2009-10-11
帖子
407
跳转到指定楼层
1
发表于 2013-3-25 00:01:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 a000b1745 于 2013-3-25 23:30 编辑

如題...
我有個讓敵人隊伍隨機配的腳本,
當我讓隊伍4的敵人有機率出現01、11、12、13、14號敵人時,
有沒有辦法微改腳本讓01號敵人一定出現??
又或是說,讓敵人ID排列的第一位敵人一定出現??

ENEMIES[4] = [1, 11, 12, 13, 14]     
EXCLUDE[4] = []                                 
MIN_ENEMY[4] = 2                                
MAX_ENEMY[4] = 5                  

附上腳本↓
RUBY 代码复制
  1. #==============================================================================
  2. # ★ RGSS3_ランダムトループ Ver1.1
  3. #==============================================================================
  4. =begin
  5.  
  6. 作者:tomoaky
  7. webサイト:ひきも記 ([url]http://hikimoki.sakura.ne.jp/[/url])
  8.  
  9. 指定したトループの中身(出現エネミー)をランダムに変更します、
  10. どんな敵が出現するか分からないおまけイベントバトルなどにどうぞ。
  11.  
  12. 候補の設定が空の配列だった場合はすべてのエネミーが候補になります、
  13. 名前が空のエネミーは自動的に除外されます。
  14.  
  15. 2012.01.07  Ver1.1
  16.  ・複数のトループをランダム化できるようになりました
  17.  ・最低出現数の設定を追加
  18.  ・座標の計算式を変更
  19.  
  20. 2011.12.15 Ver1.0
  21.   公開
  22.  
  23. =end
  24.  
  25. #==============================================================================
  26. # □ 設定項目
  27. #==============================================================================
  28. module TMRDTRP
  29.   ENEMIES = {}      # この行はいじらない
  30.   EXCLUDE = {}      # この行はいじらない
  31.   MIN_ENEMY = {}    # この行はいじらない
  32.   MAX_ENEMY = {}    # この行はいじらない
  33.  
  34.   ENEMIES[4] = [1, 11, 12, 13, 14]     # 出現するエネミーの候補
  35.   EXCLUDE[4] = []                                  # 除外するエネミー
  36.   MIN_ENEMY[4] = 2                                # 最低出現数
  37.   MAX_ENEMY[4] = 5                                # 最高出現数
  38.  
  39.   ENEMIES[35] = []          # 出現するエネミーの候補(空なら全エネミーを候補に)
  40.   EXCLUDE[35] = [29, 30]    # 除外するエネミー
  41.   MIN_ENEMY[35] = 3         # 最低出現数
  42.   MAX_ENEMY[35] = 6         # 最高出現数
  43.  
  44. end
  45.  
  46. #==============================================================================
  47. # ■ Game_Troop
  48. #==============================================================================
  49. class Game_Troop < Game_Unit
  50.   #--------------------------------------------------------------------------
  51.   # ● セットアップ
  52.   #     troop_id : 敵グループ ID
  53.   #--------------------------------------------------------------------------
  54.   alias tmrdtrp_game_troop_setup setup
  55.   def setup(troop_id)
  56.     if TMRDTRP::ENEMIES[troop_id]
  57.       $data_troops[troop_id].members = []
  58.       if TMRDTRP::ENEMIES[troop_id].empty?
  59.         list = []
  60.         (1...$data_enemies.size).each do |id|
  61.           list[id - 1] = id unless $data_enemies[id].name == ""
  62.         end
  63.       else
  64.         list = TMRDTRP::ENEMIES[troop_id].clone
  65.       end
  66.       list -= TMRDTRP::EXCLUDE[troop_id] if TMRDTRP::EXCLUDE[troop_id]
  67.       max = TMRDTRP::MAX_ENEMY[troop_id]
  68.       max = max ? [[max, 1].max, 8].min : 6
  69.       min = TMRDTRP::MIN_ENEMY[troop_id]
  70.       min = min ? [[min, 1].max, max].min : 1
  71.       n = rand(rand(max - min + 1) + 1) + min
  72.       (0...n).each do |i|
  73.         member = RPG::Troop::Member.new
  74.         member.enemy_id = list[rand(list.size)]
  75.         space = [rand(80 / n), 40].max
  76.         member.x = i * space + 272 - (n - 2) * space / 2 + rand(64) - 90
  77.         member.y = 161 + rand(64) + (i % 2 * 24)
  78.         $data_troops[troop_id].members[i] = member
  79.       end
  80.     end
  81.     tmrdtrp_game_troop_setup(troop_id)
  82.   end
  83. end
            
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 2013-3-25 19:46:25 | 只看该作者
本帖最后由 Sion 于 2013-3-25 19:48 编辑
  1.       (0...n).each do |i|
  2.         member = RPG::Troop::Member.new
  3.         member.enemy_id = i.zero? ? list[0] :  list[rand(list.size)] # 改这里
  4.         space = [rand(80 / n), 40].max
  5.         member.x = i * space + 272 - (n - 2) * space / 2 + rand(64) - 90
  6.         member.y = 161 + rand(64) + (i % 2 * 24)
  7.         $data_troops[troop_id].members[i] = member
  8.       end
复制代码
改这一段,位置1的敌人就一定会出现了。没测试,应该没问题吧..

点评

解決了!! 感謝你~!!!  发表于 2013-3-25 23:29
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-7-23 20:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表