Project1

标题: 如何做这种技能? [打印本页]

作者: xcr530551426    时间: 2010-8-18 10:09
标题: 如何做这种技能?
就是使用后增加一个状态,在战斗中收到伤害后,伤害的20%损失为HP,80%损失为SP,状态消失后效果也消失?
作者: 火星大人    时间: 2010-8-18 13:52
你的问题好奇怪
作者: 497406594    时间: 2010-8-18 13:57
不知道公共事件行不!
作者: BBBBB6    时间: 2010-8-18 14:13
回复 497406594 的帖子
当然不行了,你要怎么样判断20%的伤啊,变量的除法咩?
LZ你的要求真的不是很叼

   
作者: ML4455739    时间: 2010-8-18 14:15
回复
当然不行了,你要怎么样判断20%的伤啊,变量的除法咩?
LZ你的要求真的不是很叼

     ...
BBBBB6 发表于 2010-8-18 14:13


可能的话,记录上回合的血,和这回合的血,相差就是伤害

作者: BBBBB6    时间: 2010-8-18 14:16
代入变量再除法吗
作者: ML4455739    时间: 2010-8-18 14:17
………………
怎么,有问题?
战斗事件应该可以设置
作者: 六祈    时间: 2010-8-18 14:32


Game_Battler1第223行
  1.   def hp=(hp)
  2.     @hp = [[hp, maxhp].min, 0].max
  3.     # 解除附加的战斗不能状态
  4.     for i in 1...$data_states.size
  5.       if $data_states[i].zero_hp
  6.         if self.dead?
  7.           add_state(i)
  8.         else
  9.           remove_state(i)
  10.         end
  11.       end
  12.     end
  13.   end
复制代码
改为
  1.   def hp=(hp)
  2.     if $game_temp.in_battle and self.state?(19)
  3.       damage = @hp - hp
  4.       if damage > 0 and @sp >= damage * 0.8
  5.         @hp = [@hp - damage /5 , 0].max
  6.         @sp = @sp - damage *4 / 5
  7.       else
  8.         @hp = [[hp, maxhp].min, 0].max
  9.       end
  10.     else
  11.       @hp = [[hp, maxhp].min, 0].max
  12.     end      
  13.    
  14.     # 解除附加的战斗不能状态
  15.     for i in 1...$data_states.size
  16.       if $data_states[i].zero_hp
  17.         if self.dead?
  18.           add_state(i)
  19.         else
  20.           remove_state(i)
  21.         end
  22.       end
  23.     end
  24.   end
复制代码
$game_temp.in_battle and self.state?(19)
这行的19可以改成你需要的状态编号




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