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

Project1

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

[已经过期] 战斗时怎么让怪物出现数量随机~~~

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2016-7-12
帖子
12
跳转到指定楼层
1
发表于 2016-7-14 17:30:36 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
比如最大出现数量为3个 ,1,2,3个都有可能出现。

Lv2.观梦者

梦石
0
星屑
600
在线时间
1118 小时
注册时间
2012-12-24
帖子
831
7
发表于 2016-7-15 06:46:00 | 只看该作者
  1. #==============================================================================
  2. # ★ RGSS3_ランダムトループ Ver1.1
  3. #==============================================================================
  4. =begin



  5. 作者:tomoaky
  6. webサイト:ひきも記 ([url]http://hikimoki.sakura.ne.jp/[/url])

  7. 指定したトループの中身(出現エネミー)をランダムに変更します、
  8. どんな敵が出現するか分からないおまけイベントバトルなどにどうぞ。

  9. 候補の設定が空の配列だった場合はすべてのエネミーが候補になります、
  10. 名前が空のエネミーは自動的に除外されます。

  11. 2012.01.07  Ver1.1
  12.  ・複数のトループをランダム化できるようになりました
  13.  ・最低出現数の設定を追加
  14.  ・座標の計算式を変更

  15. 2011.12.15 Ver1.0
  16.   公開

  17. =end

  18. #==============================================================================
  19. # □ 設定項目
  20. #==============================================================================
  21. module TMRDTRP
  22.   ENEMIES = {}      # この行はいじらない
  23.   EXCLUDE = {}      # この行はいじらない
  24.   MIN_ENEMY = {}    # この行はいじらない
  25.   MAX_ENEMY = {}    # この行はいじらない

  26.   # トループID1番の設定
  27.   ENEMIES[2] = [1]     # 出现的敌人候補
  28.   EXCLUDE[2] = []                                  # 除外的敌人
  29.   MIN_ENEMY[2] = 1                                 # 最低出現数
  30.   MAX_ENEMY[2] = 4                                 # 最高出現数
  31.   
  32.   ENEMIES[3] = [1, 2, 3]     # 出现的敌人候補
  33.   EXCLUDE[3] = []                                  # 除外的敌人
  34.   MIN_ENEMY[3] = 1                                 # 最低出現数
  35.   MAX_ENEMY[3] = 4                                 # 最高出現数

  36.   ENEMIES[4] = [1, 2, 3,4]     # 出现的敌人候補
  37.   EXCLUDE[4] = []                                  # 除外的敌人
  38.   MIN_ENEMY[4] = 1                                 # 最低出現数
  39.   MAX_ENEMY[4] = 4                                 # 最高出現数
  40.   
  41.   ENEMIES[5] = [ 2, 3,4]     # 出现的敌人候補
  42.   EXCLUDE[5] = []                                  # 除外的敌人
  43.   MIN_ENEMY[5] = 1                                 # 最低出現数
  44.   MAX_ENEMY[5] = 4                                 # 最高出現数
  45.   
  46.   ENEMIES[6] = [ 2,6,5]     # 出现的敌人候補
  47.   EXCLUDE[6] = []                                  # 除外的敌人
  48.   MIN_ENEMY[6] = 1                                 # 最低出現数
  49.   MAX_ENEMY[6] = 4                                 # 最高出現数
  50.   
  51.   ENEMIES[7] = [ 6,7]     # 出现的敌人候補
  52.   EXCLUDE[7] = []                                  # 除外的敌人
  53.   MIN_ENEMY[7] = 1                                 # 最低出現数
  54.   MAX_ENEMY[7] = 4                                 # 最高出現数
  55.   
  56.   ENEMIES[8] = [ 6,7]     # 出现的敌人候補
  57.   EXCLUDE[8] = []                                  # 除外的敌人
  58.   MIN_ENEMY[8] = 1                                 # 最低出現数
  59.   MAX_ENEMY[8] = 4                                 # 最高出現数
  60.   
  61.   ENEMIES[9] = [1,2,3,4,5,6,7]     # 出现的敌人候補
  62.   EXCLUDE[9] = []                                  # 除外的敌人
  63.   MIN_ENEMY[9] = 2                                 # 最低出現数
  64.   MAX_ENEMY[9] = 4                                 # 最高出現数
  65. end

  66. #==============================================================================
  67. # ■ Game_Troop
  68. #==============================================================================
  69. class Game_Troop < Game_Unit
  70.   #--------------------------------------------------------------------------
  71.   # ● セットアップ
  72.   #     troop_id : 敵グループ ID
  73.   #--------------------------------------------------------------------------
  74.   alias tmrdtrp_game_troop_setup setup
  75.   def setup(troop_id)
  76.     if TMRDTRP::ENEMIES[troop_id]
  77.       $data_troops[troop_id].members = []
  78.       if TMRDTRP::ENEMIES[troop_id].empty?
  79.         list = []
  80.         (1...$data_enemies.size).each do |id|
  81.           list[id - 1] = id unless $data_enemies[id].name == ""
  82.         end
  83.       else
  84.         list = TMRDTRP::ENEMIES[troop_id].clone
  85.       end
  86.       list -= TMRDTRP::EXCLUDE[troop_id] if TMRDTRP::EXCLUDE[troop_id]
  87.       max = TMRDTRP::MAX_ENEMY[troop_id]
  88.       max = max ? [[max, 1].max, 8].min : 6
  89.       min = TMRDTRP::MIN_ENEMY[troop_id]
  90.       min = min ? [[min, 1].max, max].min : 1
  91.       n = rand(rand(max - min + 1) + 1) + min
  92.       (0...n).each do |i|
  93.         member = RPG::Troop::Member.new
  94.         member.enemy_id = list[rand(list.size)]
  95.         space = [rand(480 / n), 64].max
  96.         member.x = i * space + 272 - (n - 1) * space / 2 + rand(32) - 16
  97.         member.y = 232 + rand(64) + (i % 2 * 24)
  98.         $data_troops[troop_id].members[i] = member
  99.       end
  100.     end
  101.     tmrdtrp_game_troop_setup(troop_id)
  102.   end
  103. end
复制代码


可以看看这个脚本?

点击签名档去一个神奇的地方
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1293
在线时间
995 小时
注册时间
2014-12-14
帖子
3016

开拓者

6
发表于 2016-7-15 05:56:11 | 只看该作者
这个如果不写判断的话,应该也可以大致达成吧!?
  直接使用RM中,【地图】的设置不就可以吗:
【RMVA教程】
---------------------
欲买桂花同载酒,终不似,少年游.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2016-2-27
帖子
353
5
发表于 2016-7-14 20:31:27 | 只看该作者
鼻涕猪222 发表于 2016-7-14 20:18
写错个地方
否则
如果变量0002==1

这么回复你吧:
变量0001赋值操作:随机1~X(此处X可以随意设置
如果变量0001等于1
遭遇敌群1号
否则
如果变量0001等于2
遭遇敌群2号
否则
如果变量0001等于3
遭遇敌群3号
否则
……(以此类推)
否则
结束

评分

参与人数 1星屑 +110 收起 理由
丿梁丶小柒 + 110 我很赞同

查看全部评分




在下的邮箱:[email protected] 联系请发信~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2016-7-12
帖子
12
4
 楼主| 发表于 2016-7-14 20:18:07 | 只看该作者
写错个地方
否则
如果变量0002==1
战斗处理YY怪*1
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2016-7-12
帖子
12
3
 楼主| 发表于 2016-7-14 20:17:02 | 只看该作者
感谢,不过能这样写吗 ??
如果变量0001==1,如果变量0002==2
战斗处理XX怪*1
战斗处理YY怪*1

还是必须要如果变量0001==1
战斗处理XX怪*1
否则
如果变量0002==2
战斗处理YY怪*1

或者能不能写成如果变量0001==0002==0003==1.。。。。
原谅我编程白痴。。。。。

点评

这不是很简单吗……敌群设置一下不就好了……  发表于 2016-7-15 00:03
我就是想一次把地图上所有怪的一种可能性一次表达出来,比如A,B,C三种怪,每次一只的情况一次表达出来,但似乎不可能。。。  发表于 2016-7-14 22:22
而你这里是多个自变量在不同的条件下,对应着一个因变量。也就是说,就和你吃一个苹果啃了一口和你吃一个梨啃了两口是没有可比性的。  发表于 2016-7-14 20:34
看起来你对于『变量』的概念并没有掌握……在你的帖子的需求中,一个自变量(游戏中的变量)对应着一个因变量(遭遇的敌群)  发表于 2016-7-14 20:33
请善用点评/回复功能,多谢。否则在下收不到通知的。  发表于 2016-7-14 20:29
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2016-2-27
帖子
353
2
发表于 2016-7-14 17:37:56 | 只看该作者
F9-敌群-分别设置怪物数量为1,2,3的三个敌群
地图-所对应的事件-变量[XXXX]=随机数(1..3)
条件分歧 当XXXX==1时
  战斗处理 (怪物数量为1的敌群)
否则
  当XXXX==2时
    战斗处理 (怪物数量为2的敌群)
否则
  战斗处理(怪物数量为3的敌群)



在下的邮箱:[email protected] 联系请发信~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 16:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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