Project1

标题: 如何获得一个角色身上某个状态的剩余持续时间? [打印本页]

作者: chd114    时间: 2014-10-9 23:07
标题: 如何获得一个角色身上某个状态的剩余持续时间?
如何获得一个角色身上某个状态的剩余持续时间?我设置了一个状态叫做“瘴气”,第一次施加的时候持续20个回合(BOSS战,别惊讶为什么持续这么久),“瘴气”剩余时间越短效果越弱,需要获得中了“瘴气”的角色身上的“瘴气”的剩余持续时间···
作者: 黑化の鼠标    时间: 2014-10-9 23:22
干脆用最窝囊的法子准备20个瘴气,每回合更换一次直到20回合结束.....
作者: chd114    时间: 2014-10-9 23:23
黑化の鼠标 发表于 2014-10-9 06:22
干脆用最窝囊的法子准备20个瘴气,每回合更换一次直到20回合结束..... ...

太多了···
作者: timiesea    时间: 2014-10-10 17:07
Game_BattlerBase的clear_states方法可以给你答案:
  1.   
  2.   #--------------------------------------------------------------------------
  3.   # ● 清除状态信息
  4.   #--------------------------------------------------------------------------
  5.   def clear_states
  6.     @states = []
  7.     @state_turns = {}
  8.     @state_steps = {}
  9.   end
复制代码
用@state_turns[state_id]获取指定状态ID的持续回合,用@state_steps[state_id]获取指定状态ID的持续步数(拥有该状态后,角色在地图上行走的步数)。

然后LZ悟了吗?
作者: chd114    时间: 2014-10-10 21:26
timiesea 发表于 2014-10-10 00:07
Game_BattlerBase的clear_states方法可以给你答案:用@state_turns[state_id]获取指定状态ID的持续回合,用 ...

(拥有该状态后,角色在地图上行走的步数)是指想要消除这个状态需要走的步数?
作者: chd114    时间: 2014-10-10 22:03
timiesea 发表于 2014-10-10 00:07
Game_BattlerBase的clear_states方法可以给你答案:用@state_turns[state_id]获取指定状态ID的持续回合,用 ...

state_turns只能在战斗中用吗?
作者: timiesea    时间: 2014-10-11 09:08
chd114 发表于 2014-10-10 21:26
(拥有该状态后,角色在地图上行走的步数)是指想要消除这个状态需要走的步数? ...

不是,是指已经走过的步数
作者: timiesea    时间: 2014-10-11 09:11
chd114 发表于 2014-10-10 22:03
state_turns只能在战斗中用吗?

嗯。毕竟涉及到回合的状态退出战斗后再去判断岂不是没有意义了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1