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

Project1

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

[已经解决] [已解决]求助大佬们,这个状态伤害使用技能公式脚本该怎...

[复制链接]

Lv3.寻梦者

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

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

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

x
本帖最后由 小姐姐一个 于 2020-4-7 07:59 编辑

RUBY 代码复制
  1. #==============================================================================
  2. # TheoAllen - 状态伤害使用技能公式
  3. # Version : 1.0
  4. # Language : Informal Indonesian
  5. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6. # Contact :
  7. #------------------------------------------------------------------------------
  8. # *> [url]http://www.rpgmakerid.com[/url]
  9. # *> [url]http://www.rpgmakervxace.net[/url]
  10. # *> [url]http://theolized.blogspot.com[/url]
  11. #==============================================================================
  12. ($imported ||= {})[:Theo_StateSkillDamage] = true
  13. #==============================================================================
  14. # Change Logs:
  15. # -----------------------------------------------------------------------------
  16. # 2013.09.24 - Finished
  17. #==============================================================================
  18. %Q{
  19.  
  20.   =================
  21.   || 介绍 ||
  22.   -----------------
  23.   想要设置状态伤害不只是数据库设定那样百分比掉血吗?而是通过技能来设定
  24.   状态伤害?想设置状态的伤害公式像攻击技能那样吗?
  25.   该脚本可以设定状态伤害使用指定的技能公式。
  26.  
  27.   ======================
  28.   || 使用方法 ||
  29.   ----------------------
  30.   插入到插件脚本之下,Main之上。
  31.  
  32.   在状态的备注栏里备注 <skill damage: id>
  33.   id为指定技能的伤害的功能
  34.  
  35.   例如:
  36.   <skill damage: 10>
  37.  
  38.   ===================
  39.   使用条款 :
  40.   署名脚本作者, TheoAllen. 你可以自由编辑此脚本,只要你不声明你是脚本的原作者
  41.   如果你想用此脚本于商业游戏,请和我共享收益.别忘了给我一份免费的游戏拷贝.
  42.  
  43. }
  44. #==============================================================================
  45. # 无设定部分
  46. #==============================================================================
  47. class RPG::State
  48.  
  49.   # Store skill ID for formula damage
  50.   def skill_damage
  51.     if !@skill_damage
  52.       @skill_damage = 0
  53.       if note =~ /<skill[\s_]+damage\s*:\s*(\d+)>/i
  54.         @skill_damage = $1.to_i
  55.       end
  56.     end
  57.     return @skill_damage
  58.   end
  59.  
  60. end
  61.  
  62. class Game_Battler
  63.  
  64.   alias theo_slipformula_clear_states clear_states
  65.   def clear_states
  66.     theo_slipformula_clear_states
  67.     @state_battler = {}
  68.   end
  69.  
  70.   alias theo_slipformula_eff_add_state_attack item_effect_add_state_attack
  71.   def item_effect_add_state_attack(user, item, effect)
  72.     theo_slipformula_eff_add_state_attack(user, item, effect)
  73.     return unless @result.success
  74.     user.atk_states.each do |state_id|
  75.       if @states.include?(state_id)
  76.         @state_battler[state_id] = user
  77.       end
  78.     end
  79.   end
  80.  
  81.   alias theo_slipformula_eff_add_state_normal item_effect_add_state_normal
  82.   def item_effect_add_state_normal(user, item, effect)
  83.     theo_slipformula_eff_add_state_normal(user, item, effect)
  84.     return unless @result.success
  85.     if @states.include?(effect.data_id)
  86.       @state_battler[effect.data_id] = user
  87.     end
  88.   end
  89.  
  90.   alias theo_slipformula_erase_state erase_state
  91.   def erase_state(state_id)
  92.     theo_slipformula_erase_state(state_id)
  93.     @state_battler.delete(state_id)
  94.   end
  95.  
  96.   alias theo_slipformula_turn_end on_turn_end
  97.   def on_turn_end
  98.     if alive?
  99.       perform_slip_damage_formula
  100.     end
  101.     theo_slipformula_turn_end
  102.   end
  103.  
  104.   def perform_slip_damage_formula
  105.     @states.each do |state_id|
  106.       if $data_states[state_id].skill_damage > 0 && @state_battler[state_id]
  107.         skill = $data_skills[$data_states[state_id].skill_damage]
  108.         item_apply(@state_battler[state_id], skill)
  109.         self.animation_id = skill.animation_id
  110.         SceneManager.scene.log_window.display_action_results(self, skill)
  111.         if $imported["YEA-BattleEngine"] && !YEA::BATTLE::MSG_ADDED_STATES
  112.           SceneManager.scene.perform_collapse_check(self)
  113.         end
  114.         15.times {SceneManager.scene.update_basic}
  115.       end
  116.     end
  117.   end
  118.  
  119. end
  120.  
  121. class Scene_Battle
  122.   attr_reader :log_window
  123. end
这是TheoAllen大佬的状态伤害用技能公式脚本,萌新的我试了下,怎么没用啊,是不是我用错了?

1.PNG (30.55 KB, 下载次数: 19)

1.PNG

2.PNG (26.38 KB, 下载次数: 15)

2.PNG

Lv1.梦旅人

梦石
0
星屑
40
在线时间
20 小时
注册时间
2019-6-26
帖子
19
来自 3楼
发表于 2020-4-7 00:52:22 | 只看该作者
测试了一下你的脚本     得出如下结论    以为我是萌新  不会发图片 所以可能说的不是很清楚

结论大体如下(仅供参考):
    首先你要让你的攻击给敌人附加一个状态
    然后设置你的效果持续扣除第多少号技能伤害的血量

   还有脚本不错,我拿走了!

点评

谢谢大佬了,可以用了  发表于 2020-4-7 08:00

评分

参与人数 1+1 收起 理由
小姐姐一个 + 1 精品文章

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1852
在线时间
219 小时
注册时间
2018-8-5
帖子
105
2
发表于 2020-4-6 22:01:46 | 只看该作者
<skill damage: 10>代表持续伤害为10号技能的伤害
一点一点加油
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-26 15:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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