查看: 2634|回复: 1

[已经解决] 护盾怎么搞

[复制链接]
梦石
0
星屑
50
在线时间
14 小时
注册时间
2011-4-1
回帖
11
发表于 2012-12-15 19:35:14 | 显示全部楼层 |阅读模式

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

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

×
  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了,能继续显示原有伤害吗?
梦石
0
星屑
50
在线时间
14 小时
注册时间
2011-4-1
回帖
11
 楼主| 发表于 2012-12-15 20:24:41 | 显示全部楼层
本帖最后由 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
这段是什么意思

点评

一语惊醒,感谢  发表于 2012-12-15 22:13
看上去是以j为参量,扫描到角色(或者说锁定带有状态角色)的盾状态的(剩余?)吸收量的作用。  发表于 2012-12-15 20:43
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部