Project1

标题: 怎样让角色获得某个状态 [打印本页]

作者: 小和尚    时间: 2013-7-13 16:26
标题: 怎样让角色获得某个状态
       if self.state?(18)
         @hp = 0
       end
这段脚本是如果角色附带第18号状态解除则HP=0 我希望达到当该角色的18号状态解除则附带战斗不能状态 这个脚本应该怎么写
作者: 弗雷德    时间: 2013-7-13 19:01
这个还要考虑此状态是自然解除还是强制解除还是被攻击解除云云,不过原理都一样,
就拿自然解除为例,比如1号状态为死亡状态,10号为特定状态,那么在Game_Battler2里这么写:
  1. #--------------------------------------------------------------------------
  2.   # ● 状态自然解除 (回合改变时调用)
  3.   #--------------------------------------------------------------------------
  4.   def remove_states_auto
  5.     for i in @states_turn.keys.clone
  6.       if @states_turn[i] > 0
  7.         @states_turn[i] -= 1
  8.       elsif rand(100) < $data_states[i].auto_release_prob
  9.         remove_state(i)      end
  10.     end
  11.   end
复制代码
改成:
  1. #--------------------------------------------------------------------------
  2.   # ● 状态自然解除 (回合改变时调用)
  3.   #--------------------------------------------------------------------------
  4.   def remove_states_auto
  5.     for i in @states_turn.keys.clone
  6.       if @states_turn[i] > 0
  7.         @states_turn[i] -= 1
  8.       elsif rand(100) < $data_states[i].auto_release_prob
  9.         remove_state(i)
  10.         if i==10
  11.         self.add_state(1)
  12.         end
  13.       end
  14.     end
  15.   end
复制代码
这样当10号状态自然解除的时候,角色就会被附加战斗不能的状态。其它情况一样的处理方法。
作者: 小和尚    时间: 2013-7-14 21:38
弗雷德 发表于 2013-7-13 19:01
这个还要考虑此状态是自然解除还是强制解除还是被攻击解除云云,不过原理都一样,
就拿自然解除为例,比如1 ...

能不能在附加战斗不能状态前显示一个动画?
作者: 小和尚    时间: 2013-7-14 23:40
弗雷德 发表于 2013-7-13 19:01
这个还要考虑此状态是自然解除还是强制解除还是被攻击解除云云,不过原理都一样,
就拿自然解除为例,比如1 ...

谢谢 @hys111111 满意答案




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