查看: 3518|回复: 3

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

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

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

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

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

[pre lang="ruby" line="1"]#==============================================================================
# TheoAllen - 状态伤害使用技能公式
# Version : 1.0
# Language : Informal Indonesian
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Contact :
#------------------------------------------------------------------------------
# *> http://www.rpgmakerid.com
# *> http://www.rpgmakervxace.net
# *> http://theolized.blogspot.com
#==============================================================================
($imported ||= {})[:Theo_StateSkillDamage] = true
#==============================================================================
# Change Logs:
# -----------------------------------------------------------------------------
# 2013.09.24 - Finished
#==============================================================================
%Q{

  =================
  || 介绍 ||
  -----------------
  想要设置状态伤害不只是数据库设定那样百分比掉血吗?而是通过技能来设定
  状态伤害?想设置状态的伤害公式像攻击技能那样吗?
  该脚本可以设定状态伤害使用指定的技能公式。
  
  ======================
  || 使用方法 ||
  ----------------------
  插入到插件脚本之下,Main之上。
  
  在状态的备注栏里备注 <skill damage: id>
  id为指定技能的伤害的功能
  
  例如:
  <skill damage: 10>
  
  ===================
  使用条款 :
  署名脚本作者, TheoAllen. 你可以自由编辑此脚本,只要你不声明你是脚本的原作者
  如果你想用此脚本于商业游戏,请和我共享收益.别忘了给我一份免费的游戏拷贝.

}
#==============================================================================
# 无设定部分
#==============================================================================
class RPG::State
  
  # Store skill ID for formula damage
  def skill_damage
    if !@skill_damage
      @skill_damage = 0
      if note =~ /<skill[\s_]+damage\s*:\s*(\d+)>/i
        @skill_damage = $1.to_i
      end
    end
    return @skill_damage
  end
  
end

class Game_Battler
  
  alias theo_slipformula_clear_states clear_states
  def clear_states
    theo_slipformula_clear_states
    @state_battler = {}
  end
  
  alias theo_slipformula_eff_add_state_attack item_effect_add_state_attack
  def item_effect_add_state_attack(user, item, effect)
    theo_slipformula_eff_add_state_attack(user, item, effect)
    return unless @result.success
    user.atk_states.each do |state_id|
      if @states.include?(state_id)
        @state_battler[state_id] = user
      end
    end
  end
  
  alias theo_slipformula_eff_add_state_normal item_effect_add_state_normal
  def item_effect_add_state_normal(user, item, effect)
    theo_slipformula_eff_add_state_normal(user, item, effect)
    return unless @result.success
    if @states.include?(effect.data_id)
      @state_battler[effect.data_id] = user
    end
  end
  
  alias theo_slipformula_erase_state erase_state
  def erase_state(state_id)
    theo_slipformula_erase_state(state_id)
    @state_battler.delete(state_id)
  end
  
  alias theo_slipformula_turn_end on_turn_end
  def on_turn_end
    if alive?
      perform_slip_damage_formula
    end
    theo_slipformula_turn_end
  end
  
  def perform_slip_damage_formula
    @states.each do |state_id|
      if $data_states[state_id].skill_damage > 0 && @state_battler[state_id]
        skill = $data_skills[$data_states[state_id].skill_damage]
        item_apply(@state_battler[state_id], skill)
        self.animation_id = skill.animation_id
        SceneManager.scene.log_window.display_action_results(self, skill)
        if $imported["YEA-BattleEngine"] && !YEA::BATTLE::MSG_ADDED_STATES
          SceneManager.scene.perform_collapse_check(self)
        end
        15.times {SceneManager.scene.update_basic}
      end
    end
  end
  
end

class Scene_Battle
  attr_reader :log_window
end[/pre]这是TheoAllen大佬的状态伤害用技能公式脚本,萌新的我试了下,怎么没用啊,是不是我用错了?
1.PNG
2.PNG
梦石
0
星屑
40
在线时间
20 小时
注册时间
2019-6-26
回帖
12
发表于 2020-4-7 00:52:22 | 显示全部楼层
测试了一下你的脚本     得出如下结论    以为我是萌新  不会发图片 所以可能说的不是很清楚

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

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

点评

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

评分

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

查看全部评分

回复 1 0

使用道具 举报

梦石
0
星屑
1877
在线时间
220 小时
注册时间
2018-8-5
回帖
75
发表于 2020-4-6 22:01:46 | 显示全部楼层
<skill damage: 10>代表持续伤害为10号技能的伤害
一点一点加油
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部