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

Project1

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

[已经过期] 关于混乱状态

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
75 小时
注册时间
2010-10-11
帖子
275
跳转到指定楼层
1
发表于 2010-10-19 11:14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
游戏默认的混乱状态是只能打自己人,能不能改成不分敌我随机打呢?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
2
发表于 2010-10-19 13:41:49 | 只看该作者
如果你非要实现这个,我只能想到一个很笨很复杂的办法,设置战斗中事件,设置条件如果有我方角色中混乱时,用“强制行动”设置这个中混乱的同伴攻击敌人。
这个事件可以再设置个随机变量来实现随机性。
不过比较麻烦,可能和你期望的有差距
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
3
发表于 2010-10-19 15:05:52 | 只看该作者
本帖最后由 九夜神尊 于 2010-10-19 15:07 编辑


你要找的东西在这里(默认战斗系统的情况下)
如果用了别的战斗系统,并且修改这里无效的话。请搜索方法名!

看这一句
  1. battler = $game_party.random_target_actor
复制代码
这个的意思是索取一个同伴作为目标
再往下看两行
  1. battler = $game_troop.random_target_enemy
复制代码
这是索取一个敌人作目标

然而却在两个不同的条件分支下。

很明显,中间的那个是角色攻击同伴的时候索取的目标,在这里只需要把索取敌人也加入就可以了。
那么.请自行理解这一段代码应该替换哪些。
  1. if rand(100)<50  #敌我均一半的受攻击率
  2.    battler = $game_party.random_target_actor
  3. else
  4.    battler = $game_troop.random_target_enemy
  5. end

复制代码
替换对了,就实现了你要的效果。

然后往下看,那里设置了敌人攻击自己的同伴,同样的替换方法。

当然这只能实现敌我双方各一般受攻击率。如果要根据人数多少而不同的受攻击率的话。
要复杂很多。





精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
75 小时
注册时间
2010-10-11
帖子
275
4
 楼主| 发表于 2010-10-19 15:34:28 | 只看该作者
本帖最后由 miracl 于 2010-10-19 15:47 编辑

回复 九夜神尊 的帖子
  1.   #--------------------------------------------------------------------------
  2.   # ● 随机目标 (角色用)
  3.   #--------------------------------------------------------------------------
  4.   def decide_random_target_for_actor
  5.     # 效果范围的分支
  6.     if for_one_friend_hp0?
  7.       battler = $game_party.random_target_actor_hp0
  8.     elsif for_one_friend?
  9.     if rand(100)<50  #敌我均一半的受攻击率  
  10.       battler = $game_party.random_target_actor
  11.     else
  12.       battler = $game_troop.random_target_enemy
  13.     end
  14.     # 对像存在的话取得索引、
  15.     # 对像不存在的场合下清除行动
  16.     if battler != nil
  17.       @target_index = battler.index
  18.     else
  19.       clear
  20.     end
  21.   end
复制代码
我是这么修改的,但是会报错,
  1.       # 设置对应生成随机数的当前行动
  2.       for action in available_actions
  3.         if action.rating > rating_max - 3
  4.           if value < action.rating - (rating_max - 3)
  5.             self.current_action.kind = action.kind
  6.             self.current_action.basic = action.basic
  7.             self.current_action.skill_id = action.skill_id
  8.             self.current_action.decide_random_target_for_enemy   #这句报错
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
5
发表于 2010-10-19 16:02:29 | 只看该作者
换错地方了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
75 小时
注册时间
2010-10-11
帖子
275
6
 楼主| 发表于 2010-10-19 16:24:08 | 只看该作者
回复 九夜神尊 的帖子

我这回这么改的,用的时候虽然不报错了,但是依旧是只打自己,还是放错位置了么?
  1.   #--------------------------------------------------------------------------
  2.   # ● 随机目标 (角色用)
  3.   #--------------------------------------------------------------------------
  4.   def decide_random_target_for_actor
  5.     # 效果范围的分支
  6.     if for_one_friend_hp0?
  7.       battler = $game_party.random_target_actor_hp0
  8.     elsif for_one_friend?     
  9.     if rand(100)<50  #敌我均一半的受攻击率
  10.    battler = $game_party.random_target_actor
  11.     else
  12.    battler = $game_troop.random_target_enemy
  13.     end
  14.     else
  15.       battler = $game_troop.random_target_enemy
  16.     end
  17.     # 对像存在的话取得索引、
  18.     # 对像不存在的场合下清除行动
  19.     if battler != nil
  20.       @target_index = battler.index
  21.     else
  22.       clear
  23.     end
  24.   end
复制代码
重新制作,我就是个渣渣,嗯嗯……
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
7
发表于 2010-10-19 16:36:25 | 只看该作者
回复 miracl 的帖子

多测试,也许一次两次自己打自己很正常
   

点评

不是一两次啊……我战斗测试时候建了个99级的人物,连续打自己,是不是跟CP制有关呢?  发表于 2010-10-19 16:43
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
8
发表于 2010-10-19 16:49:18 | 只看该作者
试试看你改的这个地方被用到没有,也许这个方法被重新定义在别的地方了。
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
75 小时
注册时间
2010-10-11
帖子
275
9
 楼主| 发表于 2010-10-19 17:04:19 | 只看该作者
回复 九夜神尊 的帖子

呃,我上传一个工程,里面有我所用的脚本,麻烦你帮我看下吧…… Project4.zip (251.83 KB, 下载次数: 42)
重新制作,我就是个渣渣,嗯嗯……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 10:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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