Project1

标题: 关于特定条件附加状态的问题 [打印本页]

作者: 少年站起来撸    时间: 2012-11-21 00:24
标题: 关于特定条件附加状态的问题
本帖最后由 hcm 于 2012-12-9 11:31 编辑
  1. #--------------------------------------------------------------------------
  2.   # ● 更改 HP
  3.   #     hp : 新的 HP
  4.   #--------------------------------------------------------------------------
  5.   def hp=(hp)
  6.     @hp = [[hp, maxhp].min, 0].max
  7.     # 解除附加的战斗不能状态
  8.     for i in 1...$data_states.size
  9.       if $data_states[i].zero_hp
  10.         if self.dead?
  11.           add_state(i)
  12.         else
  13.           remove_state(i)
  14.         end
  15.       end
  16.       #####如果不是Game_Actor类的话则跳过下面
  17.       return unless self.is_a?(Game_Actor)
  18.         if @hp*100/maxhp <= 30 #如果HP百分比低于30的话
  19.         add_state(17)
  20.       else        
  21.         remove_state(17)
  22.       end
  23.       #####
  24.     end
  25.   end
复制代码
我在使用这一段脚本的时候,当生命<30%,所有角色都附加上了17号状态。

求解,如何在使用这段脚本的时候,添加判断角色的条件??
比如:只有当1号角色的生命<30%的时候,1号角色获得该状态。其他角色不受影响。
提前拜谢,求解答。
作者: 亿万星辰    时间: 2012-11-21 08:51
那应该在判断self是Game_Actor的同时判断其id是不是1




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