查看: 4046|回复: 5

[已经过期] 怎么做这样一个被动,受到伤害的100%转化为TP值?

[复制链接]
梦石
0
星屑
1249
在线时间
69 小时
注册时间
2019-2-12
回帖
73
发表于 2020-8-12 21:46:01 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 小姐姐一个 于 2020-8-13 06:57 编辑

也就是lol的腕豪被动
这是Game_Battler里增加TP(特定的8号角色)
  #--------------------------------------------------------------------------
  # ● 受到伤害时增加的 TP
  #--------------------------------------------------------------------------
  def charge_tp_by_damage(damage_rate)
    if @actor_id == 8
       self.tp += 50 * damage_rate * tcr
      else
    self.tp += 50 * damage_rate * tcr
    end
  end
求大佬在上面的基础上做下修改 也就是受到伤害的100%加为TP值
也就是敌人打8号角色15点伤害,该角色就加15点TP 谢谢大佬了~
梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2020-8-12 23:09:37 | 显示全部楼层
本帖最后由 alexncf125 于 2020-8-13 08:40 编辑

你的damage = 50 * damage_rate * tcr中的"damage"是什么原意??

  1. class Game_ActionResult
  2.   alias old_make_damage_old make_damage
  3.   def make_damage(value, item)
  4.     old_make_damage_old(value, item)
  5.     $charge_tp_damage = value if item.damage.to_hp?
  6.   end
  7. end

  8. class Game_Battler < Game_BattlerBase

  9.   attr_accessor   :charge_tp_damage

  10.   alias old_initialize_old initialize
  11.   def initialize
  12.     @charge_tp_damage = 0
  13.     old_initialize_old
  14.   end
  15.   
  16.   alias old_charge_tp_by_damage_old charge_tp_by_damage
  17.   def charge_tp_by_damage(damage_rate)
  18.     @charge_tp_damage = $charge_tp_damage
  19.     if @actor_id == 8 && @charge_tp_damage > 0
  20.       self.tp += @charge_tp_damage
  21.       @charge_tp_damage = 0
  22.     else
  23.       old_charge_tp_by_damage_old(damage_rate)
  24.       @charge_tp_damage = 0
  25.     end
  26.   end
  27. end
复制代码
回复

使用道具 举报

梦石
0
星屑
4881
在线时间
425 小时
注册时间
2019-10-22
回帖
647
发表于 2020-8-13 00:44:46 | 显示全部楼层
哈哈 楼主好喜欢lol的技能机制啊
我也是
















回复

使用道具 举报

梦石
0
星屑
1249
在线时间
69 小时
注册时间
2019-2-12
回帖
73
 楼主| 发表于 2020-8-13 06:54:58 | 显示全部楼层
本帖最后由 小姐姐一个 于 2020-8-13 06:58 编辑
alexncf125 发表于 2020-8-12 23:09
你的damage = 50 * damage_rate * tcr中的"damage"是什么原意??

以下未测试


这是我疏忽了 没看 已改
  #--------------------------------------------------------------------------
  # ● 受到伤害时增加的 TP
  #--------------------------------------------------------------------------
  def charge_tp_by_damage(damage_rate)
    if @actor_id == 8
       self.tp += 50 * damage_rate * tcr
      else
    self.tp += 50 * damage_rate * tcr
    end
  end
还有就是使用后会报错
捕获.PNG

点评

2L的脚本更新了~  发表于 2020-8-13 08:36
回复

使用道具 举报

梦石
0
星屑
34459
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2020-8-13 08:06:40 | 显示全部楼层
  1. #==============================================================================
  2. class Game_Actor
  3.   #--------------------------------------------------------------------------
  4.   alias :xr_damage_becomes_tp :hp=
  5.   def hp=(hp)
  6.     last_hp = @hp
  7.     xr_damage_becomes_tp(hp)
  8.     if ($game_party.in_battle && last_hp > @hp && !dead?)
  9.       self.tp += last_hp - @hp
  10.     end
  11.   end
  12. end
  13. #==============================================================================
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部