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

Project1

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

[已经过期] 体力吸收效果

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1346
在线时间
806 小时
注册时间
2013-8-3
帖子
455
跳转到指定楼层
1
发表于 2015-12-9 23:35:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
体力吸收默认吸收伤害的100%,谁会把体力吸收改成吸收20%伤害吗?

【同人游戏】勇者斗恶龙TG
欢迎加入游戏测试群333599798
如有需私聊请加QQ:516425000

Lv1.梦旅人

梦石
0
星屑
70
在线时间
345 小时
注册时间
2011-10-13
帖子
414
2
发表于 2015-12-10 00:45:31 | 只看该作者
{:2_276:}善用搜索和图书馆功能,里面就有怎么解决你这个问题的方法

点评

你没插Taroxd的前置脚本吧,去复制一下插到这个脚本上面  发表于 2015-12-12 00:24
设置特性的地方只能添加系统的功能,下面有个备注,我把<drain 100>写进去没效果,我认为是我的比例表达输入错了,“r”这个数比例该怎么表达?   发表于 2015-12-11 09:10
使用方法:在可以设置“特性”的地方备注 <drain r>。其中 r 为吸血的比例。 这个看不懂么,照着上面写的去写个备注不就能用了么  发表于 2015-12-11 01:13
……脚本第二行到第四行说的那么清楚,你都不知道怎么用,那我真没办法教你了  发表于 2015-12-11 01:12
开始找到过,弄了一下没效果,可能是不会用!又不敢回复挖坟,能教我用?  发表于 2015-12-11 00:22
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

漾夕☽星化残月☾

梦石
0
星屑
8596
在线时间
3857 小时
注册时间
2015-5-12
帖子
2077

剧作品鉴家

3
发表于 2015-12-10 10:50:57 | 只看该作者
RUBY 代码复制
  1. #==============================================================================
  2. # ■ RGSS3 吸収通常攻撃特徴 Ver1.00 by 星潟
  3. #------------------------------------------------------------------------------
  4. # ステート付加:通常攻撃の攻撃を行った際
  5. # 一定確率でダメージのうち一定割合分のHPを吸収するか
  6. # 自らのMPとして変換する特徴を作成できるようになります。
  7. # HP吸収の場合はHP吸収発動率とHP吸収割合の設定が必要となります。
  8. # 同様に、MP変換の場合はMP変換発動率とMP変換割合の設定が必要となります。
  9. #
  10. # 例1 特徴に下記のように書き込んだ場合
  11. # <HP吸収発動率:50>
  12. # <HP吸収割合:50>
  13. #
  14. # 50%の確率でHPダメージのうち50%を自らのHPとして吸収する。
  15. #
  16. # 例2 特徴に下記のように書き込んだ場合
  17. # <MP変換発動率:25>
  18. # <MP変換割合:100>
  19. #
  20. # 25%の確率でHPダメージのうち100%を自らのMPとして回復する。
  21. #==============================================================================
  22. module DRAIN_ATTACK
  23.  
  24.   #HP吸収時のメッセージ表示方法をデフォルトから変更するか?
  25.  
  26.   M_C = true
  27.  
  28.   #HP吸収攻撃発動率設定用キーワード(変更不要)
  29.  
  30.   HPD = "HP吸収発動率"
  31.  
  32.   #MP変換攻撃発動率設定用キーワード(変更不要)
  33.  
  34.   MPD = "MP変換発動率"
  35.  
  36.   #HP吸収割合設定用キーワード(変更不要)
  37.  
  38.   HPDR = "HP吸収割合"
  39.  
  40.   #MP変換割合設定用キーワード(変更不要)
  41.  
  42.   MPDR = "MP変換割合"
  43.  
  44.   #アクターMP吸収時メッセージ
  45.  
  46.   MESS1 = "%s 吸收了 %s 点生命值!"
  47.  
  48.   #エネミーMP吸収時メッセージ
  49.  
  50.   MESS2 = "%sを %s 回復した!"
  51.  
  52.  
  53. end
  54. class Game_Battler < Game_BattlerBase
  55.   #--------------------------------------------------------------------------
  56.   # ● 使用効果[ステート付加]:通常攻撃
  57.   #--------------------------------------------------------------------------
  58.   alias item_effect_add_state_attack_drain item_effect_add_state_attack
  59.   def item_effect_add_state_attack(user, item, effect)
  60.     item_effect_add_state_attack_drain(user, item, effect)
  61.     return if user == nil or item == nil
  62.     if rand(100) < user.at_h_drain_execute_rate
  63.       if !DRAIN_ATTACK::M_C
  64.         @result.hp_drain = @result.hp_damage * user.h_drain_rate / 100
  65.         @result.hp_drain = [@result.hp_drain, @result.pre_hp].min
  66.         user.hp += @result.hp_drain if !user.dead?
  67.       else
  68.         @result.exhp_drain = @result.hp_damage * user.h_drain_rate / 100
  69.         @result.exhp_drain = [@result.exhp_drain, @result.pre_hp].min
  70.         user.hp += @result.exhp_drain if !user.dead?
  71.       end
  72.     end
  73.     if rand(100) < user.at_m_drain_execute_rate
  74.       if !DRAIN_ATTACK::M_C
  75.         @result.mp_drain = @result.hp_damage * user.m_drain_rate / 100
  76.         @result.mp_drain = [@result.mp_drain, @result.pre_hp].min
  77.         user.mp += @result.mp_drain if !user.dead?
  78.       else
  79.         @result.exmp_drain = @result.hp_damage * user.m_drain_rate / 100
  80.         @result.exmp_drain = [@result.exmp_drain, @result.pre_hp].min
  81.         user.mp += @result.exmp_drain if !user.dead?
  82.       end
  83.     end
  84.   end
  85.   def at_h_drain_execute_rate
  86.     rate = 0
  87.     feature_objects.each do |object|
  88.       data = object.note
  89.       data.each_line { |line|
  90.       memo = line.scan(/<#{DRAIN_ATTACK::HPD}[::](\S+)>/)
  91.       memo = memo.flatten
  92.       rate += memo[0].to_i if memo != nil && !memo.empty?
  93.       }
  94.     end
  95.     return rate
  96.   end
  97.   def at_m_drain_execute_rate
  98.     rate = 0
  99.     feature_objects.each do |object|
  100.       data = object.note
  101.       data.each_line { |line|
  102.       memo = line.scan(/<#{DRAIN_ATTACK::MPD}[::](\S+)>/)
  103.       memo = memo.flatten
  104.       rate += memo[0].to_i if memo != nil && !memo.empty?
  105.       }
  106.     end
  107.     return rate
  108.   end
  109.   def h_drain_rate
  110.     rate = 0
  111.     feature_objects.each do |object|
  112.       data = object.note
  113.       data.each_line { |line|
  114.       memo = line.scan(/<#{DRAIN_ATTACK::HPDR}[::](\S+)>/)
  115.       memo = memo.flatten
  116.       rate += memo[0].to_i if memo != nil && !memo.empty?
  117.       }
  118.     end
  119.     return rate
  120.   end
  121.   def m_drain_rate
  122.     rate = 0
  123.     feature_objects.each do |object|
  124.       data = object.note
  125.       data.each_line { |line|
  126.       memo = line.scan(/<#{DRAIN_ATTACK::MPDR}[::](\S+)>/)
  127.       memo = memo.flatten
  128.       rate += memo[0].to_i if memo != nil && !memo.empty?
  129.       }
  130.     end
  131.     return rate
  132.   end
  133. end
  134. class Game_ActionResult
  135.   attr_accessor :exhp_drain
  136.   attr_accessor :exmp_drain
  137.   attr_accessor :pre_hp
  138.   #--------------------------------------------------------------------------
  139.   # ● ダメージ値のクリア
  140.   #--------------------------------------------------------------------------
  141.   alias clear_damage_values_drain clear_damage_values
  142.   def clear_damage_values
  143.     clear_damage_values_drain
  144.     @exhp_drain = 0
  145.     @exmp_drain = 0
  146.     @pre_hp = 0
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● ダメージの作成
  150.   #--------------------------------------------------------------------------
  151.   alias make_damage_drain make_damage
  152.   def make_damage(value, item)
  153.     @pre_hp = @battler.hp
  154.     make_damage_drain(value, item)
  155.   end
  156.   #--------------------------------------------------------------------------
  157.   # ● HP 吸収の文章を取得
  158.   #--------------------------------------------------------------------------
  159.   def hp_damage_exdrain_text
  160.     fmt = @battler.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
  161.     sprintf(fmt, @battler.name, Vocab::hp, @exhp_drain)
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● MP 吸収の文章を取得
  165.   #--------------------------------------------------------------------------
  166.   def mp_damage_exdrain_text
  167.     fmt = @battler.actor? ? DRAIN_ATTACK::MESS1 : DRAIN_ATTACK::MESS2
  168.     if !DRAIN_ATTACK::M_C
  169.       mpd = @mp_drain
  170.     else
  171.       mpd = @exmp_drain
  172.     end
  173.     sprintf(fmt, Vocab::mp, mpd, "")
  174.   end
  175. end
  176. class Window_BattleLog < Window_Selectable
  177.   #--------------------------------------------------------------------------
  178.   # ● HP ダメージ表示
  179.   #--------------------------------------------------------------------------
  180.   alias display_hp_damage_drain display_hp_damage
  181.   def display_hp_damage(target, item)
  182.     display_hp_damage_drain(target, item)
  183.     if target.result.exhp_drain > 0 && DRAIN_ATTACK::M_C
  184.       add_text(target.result.hp_damage_exdrain_text)
  185.       wait
  186.     end
  187.     if (target.result.mp_drain > 0 && !DRAIN_ATTACK::M_C) or
  188.       (target.result.exmp_drain > 0 && DRAIN_ATTACK::M_C)
  189.       add_text(target.result.mp_damage_exdrain_text)
  190.       wait
  191.     end
  192.   end
  193. end



星潟的这个
脚本不错的、可以试试

点评

没效果··  发表于 2015-12-10 20:03
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 04:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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