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

Project1

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

[已经解决] 【关于将状态持续时间计算改到回合结束时所遇到的问题】

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
74 小时
注册时间
2012-8-13
帖子
33
跳转到指定楼层
1
发表于 2014-1-31 17:44:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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,因而在实测中发现这样写会导致状态持续时间的计算仅对我方有效,而敌方的所有状态均变成了永不自然解除。我尝试着改动了那里的对象描写,但因为不知道怎么写才是规范的且能够表达所有参与战斗的对象,因而始终以报错告终
所以问题就是,这段代码要如何改写才能支持敌我双方都在回合结束时计算状态的持续时间?

Lv1.梦旅人

梦石
0
星屑
60
在线时间
74 小时
注册时间
2012-8-13
帖子
33
2
 楼主| 发表于 2014-2-3 17:47:09 | 只看该作者
嗯,每次问这个问题就要多顶好几次的样子,真难233
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6182
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
3
发表于 2014-2-3 18:41:43 | 只看该作者
  1. $game_party.members.each do |i|
复制代码
改成
  1. ($game_party.members + $game_troop.members).each do |i|
复制代码

评分

参与人数 1星屑 +100 收起 理由
铃仙·优昙华院·因幡 + 100 认可答案

查看全部评分

聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-2 21:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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