Project1

标题: 当吸血遭遇反弹的问题 [打印本页]

作者: 飞各大大    时间: 2008-5-20 18:56
标题: 当吸血遭遇反弹的问题
我对角色和敌人都设置了吸血和反弹伤害的能力,发现当攻击方状态为吸血而挨打方状态为反弹伤害时,实际返还给对攻击方的伤害是反弹的伤害减去吸血的伤害,但是显示的伤害却是攻击方的吸血量增加。

能不能把攻击方的伤害分两次显示:当挨打方的状态为反弹时,先显示攻击者吸血量增加再显示被返回的伤害值?应该在Scene_Battle 4里怎么改动呢? [LINE]1,#dddddd[/LINE]此贴于 2008-5-28 1:32:51 被版主光郎提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]此贴于 2008-6-5 21:41:46 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 飞各大大    时间: 2008-5-20 19:14
我在 Scene_Battle 4 里对伤害显示的设置如下,结果攻击方只显示下面脚本吸血量增加,能不能先显示下面吸血量增加再显示上面反弹的伤害呢??。。。也就是让伤害值在攻击方身上跳两次吧



# 如果反弹普通攻击或特技有效就显示伤害
if $attack_return == true
  @active_battler.animation_id = 97
  @active_battler.damage = $damage_get
  @active_battler.damage_pop = true
end


# 如果角色在吸血状态使用普通攻击或者特技就显示伤害
    if (@active_battler.state?(50) and @active_battler.current_action.basic == 0 and @active_battler.current_action.kind == 0) or (@active_battler.state?(50) and @active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].power > 0)
       for target in @target_battlers
       if target.damage != nil and target.damage != "Miss"
       @active_battler.hp += (target.damage*0.1).to_i
       @active_battler.damage = 0 - (target.damage*0.1).to_i
       @active_battler.damage_pop = true   
       end
       end
作者: typhon_524    时间: 2008-5-20 21:13
如果用反弹的伤害直接减去吸血的伤害呢
作者: 精灵使者    时间: 2008-5-20 21:20
魔力里面如果吸血被反弹的话,那么就是吸取的血和本来的攻击力一样,但是加的血为0
作者: 飞各大大    时间: 2008-5-20 21:36
我现在的问题是实际扣血的量是反弹的伤害(扣HP)加上吸血的伤害(加HP),这个正确。但是显示上只有吸血的伤害(加HP)。我希望显示上也是正确的
作者: 飞各大大    时间: 2008-5-21 17:53
两段脚本次序互换的话就出错了
作者: 飞各大大    时间: 2008-5-21 21:39
如果让伤害显示两次难度太大的话能不能只显示一次,也就是反弹的伤害减去吸血得出的值??而不是只显示吸血的伤害
作者: 0飘絮0    时间: 2008-5-21 22:15
上面脚本太多,没看.
不过你就是想要一个人身上显示2次伤害嘛
默认的是只能记录一个显示数的,所以你要显示2个数就先把要显示的数存起来先
再用下句显示
#(@active_battler.damage = 伤害计算里已经赋值,即第一显示数)
@active_battler.damage_pop = true

@active_battler.damage = 存起来的第二显示数
@active_battler.damage_pop = true
条件你自己应该知道的吧
  …… (我说了什么了我?!听不懂就当我没说了)

作者: 飞各大大    时间: 2008-5-21 22:21
怎么先存起来?{/gg}

作者: 0飘絮0马甲    时间: 2008-5-21 22:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: 飞各大大    时间: 2008-5-22 17:33
改成上面这样还是没用啊
作者: 飞各大大    时间: 2008-5-23 16:58
每天一顶不犯法吧{/bz}{/dk}
作者: 司马的马甲    时间: 2008-5-23 17:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 飞各大大    时间: 2008-5-23 18:08
以下引用司马的马甲于2008-5-23 9:03:02的发言:

我不是很明白你的意思,你的意思说是反弹伤害吗?
如果是这样你可以这样想,计算吸血的时候对方技能如果是反弹。那么应该造成的是主角攻击造成自己的伤害但是+的血为0,加个条件就行了





现在是只显示加的血量,反弹伤害不显示,我希望显示完吸血加的HP后紧接着再显示反弹伤害,可不可以?
作者: 0飘絮0    时间: 2008-5-29 20:51
# 如果有反弹效果,即被攻击者有反震
#在计算被攻击者伤害时,计算出攻击者的受反震伤害值(如 -100 或 $damage_fanzhen )
#在显示伤害那里,显示完被攻击者的伤害后面,加上显示攻击者的伤害
#    $temp_damage = $damage_get
#    @active_battler.damage = $temp_damage
#    @active_battler.damage_pop = true

#    (@active_battler.damage = 伤害计算里已经赋值,即第一显示数)
#    被攻击者.damage_pop = true

攻击者(受反震者).damage = $damage_fanzhen
#上面:攻击者(受反震者)的受到的伤害.(存起来的第二显示数)
攻击者(受反震者)..damage_pop = true

end


[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 飞各大大    时间: 2008-5-29 21:27
攻击者(受反震者)所受到的各种伤害,如果有多个damage_pop的话,好像只显示最后面一个设定的damage_pop
作者: 0飘絮0马甲    时间: 2008-5-29 23:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 飞各大大    时间: 2008-5-30 00:16
被攻击者不管,我只试验攻击者,如果有多个damage_pop,比如先被反震伤害减HP再吸血加HP的话,只显示最后一个设定的damage_pop ,两段包含damage_pop = true的脚本,反弹的脚本放在吸血的脚本下面就只显示反弹的伤害,反之就只显示吸血的伤害,而不会先后出现

作者: supergame123    时间: 2008-5-30 00:36
按常理想吸血攻击被反弹后的结果应该吸血者反吸自己的血!
我觉得不用这么繁琐,什么先吸血后反弹,被反弹后吸血者只会自身受到伤害,吸的血完全亏空~就是说变为纯粹的自身伤害
作者: 0飘絮0马甲    时间: 2008-5-30 07:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: lldjjf    时间: 2008-5-30 23:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: 飞各大大    时间: 2009-6-12 08:00
我改成下面这样可以么?


# 如果反弹普通攻击或特技有效就显示伤害
if $attack_return == true
# 代入临时伤害变量
$temp_damage = $damage_get
@active_battler.damage = $temp_damage
@active_battler.damage_pop = true
end


# 如果角色在吸血状态使用普通攻击或者特技就显示伤害
   if ......
      for target in @target_battlers
      if target.damage != nil and target.damage != "Miss"
      @active_battler.hp += (target.damage*0.1).to_i
      @active_battler.damage = 0 - (target.damage*0.1).to_i
      @active_battler.damage_pop = true   
      end
      end





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