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

Project1

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

[已经解决] 如何修改RM的回合方式~

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-9-7
帖子
114
跳转到指定楼层
1
发表于 2010-9-25 16:22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

梦石
0
星屑
50
在线时间
293 小时
注册时间
2010-7-21
帖子
574
2
发表于 2010-9-25 17:08:52 | 只看该作者
SF  RM的默认就是我方一回合完后,敌方一回合,不懂LZ说什么

点评

呵呵~~有同感。  发表于 2010-9-25 20:26
握手~~~~表示我在看了他的问题5分钟后果断地放弃了回复的想法~~~~  发表于 2010-9-25 17:26
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-9-7
帖子
114
3
 楼主| 发表于 2010-9-25 17:55:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
184 小时
注册时间
2010-6-27
帖子
1794
4
发表于 2010-9-25 18:07:16 | 只看该作者
额,就是说,不管你先后攻击,只要你攻击了,就算一回合
但是LZ你不觉得这样很不公平吗?只要速度慢附带属性就没一回合。。。啊呜
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-9-7
帖子
114
5
 楼主| 发表于 2010-9-25 18:46:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6860
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

6
发表于 2010-9-25 19:53:50 | 只看该作者
本帖最后由 后知后觉 于 2010-9-25 19:59 编辑

在 Scene_Battle 4 里
把 def start_phase4 里面的 增加回合数
放到 def update_phase4_step1 里面的 start_phase2 下面.
再把 def update_phase4_step1 里面对 @active_battler 的状态更新注释掉.
然后在 增加回合数下面 循环所有角色和敌人 来更新他们的状态.

额.这个有很多细节要考虑.
比如:如果这样改的话.那战斗事件的执行回合就会往后延迟一回合了.
当然也可以不挪动 增加回合数的位置.

因为马上要去干别的事了.思路有些混乱.大概就这样吧= =b
p.s.具体怎么改就自己去看吧.= =b.那段代码是有中文注释的.

点评

fux2说的是呀··他毕竟才接触RM  发表于 2010-9-25 20:27
您老说得so精辟and专业lz听的懂吗?  发表于 2010-9-25 20:19

评分

参与人数 1星屑 +300 收起 理由
IamI + 300 认可答案

查看全部评分












你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

小小的百鬼夜行<

梦石
0
星屑
54
在线时间
579 小时
注册时间
2010-7-29
帖子
2682

贵宾

7
发表于 2010-9-25 20:29:45 | 只看该作者
呃...我想LZ的意思是..本来是我们每个人行动一次完毕后才算一回合.
他想要一个人行动完之后就算回合数 + 1 了.
虽然LS的东西我也看得半懂不懂 - -
某只PHP/HTML小白鼠→退屈の间


Cause I knew you were trouble when you walked in
So shame is on me now
I flow me to place i ve never been
till you put me down oh
Now Im lying on the cold hard ground
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6860
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

8
发表于 2010-9-25 23:28:00 | 只看该作者
本帖最后由 后知后觉 于 2010-9-25 23:42 编辑

用默认工程来说.
找到 Scene_Battle 4
把第 135 行
  1.     @active_battler.remove_states_auto
复制代码
注释掉
  1.     #@active_battler.remove_states_auto
复制代码
然后在上面 114 行左右 有这样的一段代码
  1.     # 未行动的战斗者不存在的情况下 (全员已经行动)
  2.     if @action_battlers.size == 0
  3.       # 开始同伴命令回合
  4.       start_phase2
  5.       return
  6.     end
复制代码
把这段代码改成这样
  1.     # 未行动的战斗者不存在的情况下 (全员已经行动)
  2.     if @action_battlers.size == 0
  3.       for battler in $game_party.actors + $game_troop.enemies
  4.         battler.remove_states_auto if battler.exist?
  5.       end
  6.       @status_window.refresh
  7.       # 开始同伴命令回合
  8.       start_phase2
  9.       return
  10.     end
复制代码
这样就OK了.
应该不需要范例了吧?(我已经测试过了)
这个问题其实就是 改变战斗状态的刷新时机.

像我这样改的话.就是在每个回合结束的时候
对所有的战斗者统一刷新他们的状态(战斗者必须可见且hp>0).
而默认的则是轮到谁行动了谁刷新(在行动前刷新).
而输入行动命令又是在刷新状态之前.
但是在输入行动命令的时候又会根据已经存在的状态限制一些行动命令的输入.
比如某个状态的限制方式为 不能行动.
那么在输入行动命令的时候.带有该状态的战斗者则无法输入命令而被直接跳过.

点评

这样的话似乎会让在攻击之前效果就消失了?  发表于 2011-2-22 22:00
那个,后老大,我自己试了下下您说的回合的修改方法,好像没什么效果~我已经在回帖里面发了个范例,您有空的话,教教我吧  发表于 2010-10-6 16:30











你知道得太多了

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-9-7
帖子
114
9
 楼主| 发表于 2010-9-26 18:30:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-9-7
帖子
114
10
 楼主| 发表于 2010-10-6 16:29:13 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 12:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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