Project1

标题: 护盾怎么搞 [打印本页]

作者: rty0511    时间: 2012-12-15 19:35
标题: 护盾怎么搞
  1. #=======================================================
  2.     if self.state?(28) #如果带有真言术 盾的效果 伤害由盾来承担
  3.         j = 1
  4.       
  5.       for i in $game_party.actors
  6.         if self == i
  7.           $game_variables[j] = 6 * maxsp
  8.             break
  9.         end
  10.           j += 1
  11.                 end
  12.        if self.damage > $game_variables[j]            #如果伤害超过了 盾的吸收量
  13.           self.hp -= self.damage - $game_variables[j] #超出的血量 将自己承担
  14.           $game_variables[j] = 0                      #盾的吸收量清零
  15.           self.remove_state(28)                       #移除盾的状态
  16.        else                                           #如果伤害没有超过盾的吸收量
  17.           $game_variables[j] -= self.damage           #伤害由盾承担
  18.           self.damage = 0
  19.                 end
  20.            else
  21.       # HP 的伤害计算
  22.       self.hp -= self.damage
  23.         
  24.     end         
  25. #=======================================================
复制代码
前一半是参考别人的至今不懂什么意思。。。后一半自己写的
问题是现在只要不是一次伤害破盾就会护盾回满。。。还有伤害就直接显示0了,能继续显示原有伤害吗?
作者: rty0511    时间: 2012-12-15 20:24
本帖最后由 hcm 于 2012-12-31 12:45 编辑
  1. #=======================================================
  2.       if self.state?(2) #如果带有真言术 盾的效果 伤害由盾来承担
  3.         j = 1
  4.         for i in $game_party.actors
  5.           if self == i
  6.            break
  7.             end
  8.          j += 1
  9.        end
  10.        if self.damage > $game_variables[j]#如果伤害超过了 盾的吸收量
  11.           self.hp -= self.damage - $game_variables[j] #超出的血量 将自己承担
  12.           $game_variables[j] = 0           #盾的吸收量清零
  13.           self.remove_state(2)              #移除盾的状态
  14.         else                                #如果伤害没有超过盾的吸收量
  15.           $game_variables[j] -= self.damage  #伤害由盾承担
  16.           end
  17.       p "盾还可以吸收#{$game_variables[j]}点伤害"
  18.       else
  19.       # HP 的伤害计算
  20.      self.hp -= self.damage
  21.       end      
  22. #=======================================================
复制代码
突然发现原版这个可以解决问题=。=不过,谁能帮忙解释下
for i in $game_party.actors
          if self == i
           break
            end
         j += 1
       end
这段是什么意思




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