设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3511|回复: 5
打印 上一主题 下一主题

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1254
在线时间
70 小时
注册时间
2019-2-12
帖子
98
跳转到指定楼层
1
发表于 2020-8-12 21:46:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 小姐姐一个 于 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 谢谢大佬了~

Lv5.捕梦者

梦石
0
星屑
26264
在线时间
5355 小时
注册时间
2016-3-8
帖子
1655
2
发表于 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
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4881
在线时间
425 小时
注册时间
2019-10-22
帖子
666
3
发表于 2020-8-13 00:44:46 | 只看该作者
哈哈 楼主好喜欢lol的技能机制啊
我也是
















回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1254
在线时间
70 小时
注册时间
2019-2-12
帖子
98
4
 楼主| 发表于 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 (7.73 KB, 下载次数: 24)

捕获.PNG

点评

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

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33435
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 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 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 04:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表