赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 4524 |
最后登录 | 2024-3-30 |
在线时间 | 74 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 60
- 在线时间
- 74 小时
- 注册时间
- 2012-8-13
- 帖子
- 33
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
嗯,先前试着问过如何把状态的剩余时间和自然解除的计算放到回合结束时,而不是每个对象行动之后
按照之前的回答,作了如下操作:
将Scene_Battle的746行(“remove_states_auto”)放到了777行和778行,然后将810行开始的状态自然解除的部分代码改为如下:
def remove_states_auto
$game_party.members.each do |i|
last_st = i.states
i.remove_states_auto
if i.states != last_st
wait(5)
display_state_changes(i)
wait(30)
@message_window.clear
end
end
end
但这样之后很快遇到了新问题:这里的改变状态的对象是$game_party.members,因而在实测中发现这样写会导致状态持续时间的计算仅对我方有效,而敌方的所有状态均变成了永不自然解除。我尝试着改动了那里的对象描写,但因为不知道怎么写才是规范的且能够表达所有参与战斗的对象,因而始终以报错告终
所以问题就是,这段代码要如何改写才能支持敌我双方都在回合结束时计算状态的持续时间? |
|