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

Project1

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

[已经过期] 脚本好像冲突了,另一个脚本的部分功能不能用了

[复制链接]

Lv2.观梦者

梦石
0
星屑
423
在线时间
37 小时
注册时间
2013-7-1
帖子
27
跳转到指定楼层
1
发表于 2015-8-21 16:04:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
我做RM的时候需要使用一个脚本。。。然而我装上去之后,另一个脚本的部分功能就不能用了啊啊啊
\(TAT)/~~~~~~
一个脚本是特殊技能效果的,另一个是使用技能的时候隐藏除了对象之外的其他敌人
开始   我装上特殊技能效果之后    敌人就不能隐藏了

放上脚本,求大神看看,哪里冲突了   怎么修改



放上脚本:

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
# 基础脚本▼▲▼ XRXS19. 特殊効果詰め合わせ DamageEX ver.2 ▼▲▼ built 220920
# by 桜雅 在土 (基本) Tetra-Z   (修正)  http://scriptself.jpn.org/x/XRXS19.htm
#==============================================================================
# ▼▲▼ 战斗特殊效果属性 DamageEX - Plus × RTAB ▼▲▼
#




#方法;
#1.最后一项的属性那里写“HP吸收【这里跟百分比。10000%都可以】”
#  举例“HP吸收10000%”
#2.在需要吸血的技能那里的属性勾上你写的“HP吸收”,就这么简单。
#3.最好别和事件混起来。。。






#==============================================================================
# 伤害计算流程:
# 1  基础伤害计算                   (Game Battler)
# 2  忽视躲闪判定                   (IGNORE_EVADE)
# 3  修正基础伤害                   (HP_RATE,SP_RATE,CRITICAL_HIT,ADD_VARIANCE)
# 4  固定伤害(取消基础)             (FIXDAMAGE)
# 5  追加伤害计算                   (追加伤害效果类)
# -> 基础伤害(或固定伤害)+追加伤害
# =  总伤害
# 6  修正总伤害                     (HP_DAMAGE,SP_DAMAGE)
# -> 最终伤害
# 7  收招修正使用者的HP/SP          (HP_CORRECT,SP_CORRECT)(1.03)
# 8  根据最终伤害修正使用者的HP/SP  (HP_DRAIN,SP_DRAIN)
#------------------------------------------------------------------------------
module XRXS19
#------------------------------------------------------------------------------
# 一:特殊伤害效果类的属性名称设定
#------------------------------------------------------------------------------  
# 提示:本类属性名称后请添加自定义数值,然后才会生效。(数据库)
#------------------------------------------------------------------------------  
# 提示:本类属性请设为“不计算属性有效度”(XRXS38. 属性修正计算数限制)。
#------------------------------------------------------------------------------  
# 提示:本类属性中如果存在同属性,效果也叠加。
#
# 举例:一个东西同时包含HP吸收50%,HP吸收25%,实际效果为HP吸收75%.
#------------------------------------------------------------------------------
  AT_DAMAGE         = "AT伤害"         # 「修正目标的AT值(行动值)」(1.03)
  HP_DAMAGE         = "HP伤害"         # 「将本次造成的总伤害的x%修正为HP伤害」
  SP_DAMAGE         = "SP伤害"         # 「将本次造成的总伤害的x%修正为SP伤害」
  HP_DRAIN          = "HP吸收"         # 「根据本次最终伤害的x%修正使用者的HP」
  SP_DRAIN          = "SP吸收"         # 「根据本次最终伤害的x%修正使用者的SP」
  HP_RATE           = "现HP威力"       # 「根据使用者HP/MAXHP修正本次基础伤害」
  SP_RATE           = "现SP威力"       # 「根据使用者SP/MAXSP修正本次基础伤害」
  CRITICAL_HIT      = "必杀"           # 「会心一击」   (武器效果通用化)
  IGNORE_EVADE      = "忽视躲闪"       # 「忽视躲闪」   (特技效果武器化)
  ADD_VARIANCE      = "分散度"         # 「追加分散度」 (特技效果武器化)
  FIXDAMAGE         = "固定伤害"       # 「固定伤害值」 (特技效果武器化)
#------------------------------------------------------------------------------
# 提示:本类中“固定伤害值”不能和“会心一击”、“追加分散度”叠加;
#       其余效果均可叠加。   
#------------------------------------------------------------------------------  
  AREA_EXTEND       = "敌方全体"      # 「敌方全体」属性名2
  AREA_ACTOR        = "己方单体"      # 「己方单体」属性名3
  AREA_ACTOR_ALL    = "己方全体"      # 「己方全体」属性名4
  AREA_SELF         = "使用者"        # 「 使用者 」属性名7
  AREA_WHOLE        = "全域化"        # 「 全域化 」属性名8
  AREA_ENEMY_RAND   = "敌方随机"      # 「敌方随机」属性名9
  AREA_ACTOR_RAND   = "己方随机"      # 「己方随机」属性名10
  AREA_ALL_RAND     = "对象随机"      # 「对象随机」属性名11
  SELF_INCLUSION    = "诸刃"          # 「  诸刃  」属性名
  SELF_EXCLUSION    = "自身以外"      # 「自身以外」(与使用者,己方单体叠加无效)
#------------------------------------------------------------------------------  
# 提示:「诸刃」与
#   「使用者」,「己方单体」,「己方全体」,「己方随机」,「对象随机」叠加无效。
#------------------------------------------------------------------------------
  P_STATE           = "发动状态P"      # 「行动时附加自身状态」属性名
  M_STATE           = "发动状态M"      # 「行动时解除自身状态」属性名
  HP_CORRECT        = "收招修正H"      # 「收招时修正使用者HP」属性名(1.03)
  SP_CORRECT        = "收招修正S"      # 「收招时修正使用者SP」属性名(1.03)
#------------------------------------------------------------------------------
# 提示:在这个版本的战斗特殊效果属性中,
#       除了"会心一击" 、"忽视躲闪"、"追加分散度" 这三个效果以外,
#       其他的效果都支持负数,也就是逆转效果。
#
# 举例:想设置一个“敌我皆伤”的特技,只要附带HP吸收属性,效果设为负数就OK了。
#
# 举例:如果把"HP伤害负数" + "作用范围己方"设置为武器属性,
#       就可以设置出回复己方HP的BT武器来。
#
# 更多创意想法等你来发挥!!
#------------------------------------------------------------------------------
# 二:追加伤害效果类的属性名称设定
#------------------------------------------------------------------------------
# 本类采用的英文单词缩写
# NOW(N) = 当前 ;MAX(M) = 最大;DIF(D) = 差值 ;
# HP(H) = 生命 ;SP(S) = 精力 ;  
# TA(T) = target = 目标方;US(U) = user = 使用者 。
#------------------------------------------------------------------------------
  FIXDAMAGE_NOWHPTA = "NHT"            # 「目标方当前HP比例」属性名
  FIXDAMAGE_MAXHPTA = "MHT"            # 「目标方最大HP比例」属性名
  FIXDAMAGE_DIFHPTA = "DHT"            # 「目标方HP差值比例」属性名
  FIXDAMAGE_NOWHPUS = "NHU"            # 「使用者当前HP比例」属性名  
  FIXDAMAGE_MAXHPUS = "MHU"            # 「使用者最大HP比例」属性名
  FIXDAMAGE_DIFHPUS = "DHU"            # 「使用者HP差值比例」属性名
  FIXDAMAGE_NOWSPTA = "NST"            # 「目标方当前SP比例」属性名
  FIXDAMAGE_MAXSPTA = "MST"            # 「目标方最大SP比例」属性名
  FIXDAMAGE_DIFSPTA = "DST"            # 「目标方SP差值比例」属性名
  FIXDAMAGE_NOWSPUS = "NSU"            # 「使用者当前SP比例」属性名
  FIXDAMAGE_MAXSPUS = "MSU"            # 「使用者最大SP比例」属性名
  FIXDAMAGE_DIFSPUS = "DSU"            # 「使用者SP差值比例」属性名
#------------------------------------------------------------------------------
# 提示:本类所有效果均不能互相叠加,具有唯一性;
#       若特技属性中存在多个本类效果,则取最前面一个效果。  
#------------------------------------------------------------------------------
# 提示:特技附加本类属性的情况下,设特技的威力(pow)为比例基数,
#       武器附加本类属性的情况下,设武器攻击力(atk)为比例基数,
#       因此比例基数请通过数据库来设定。
#------------------------------------------------------------------------------
# 提示:本类所有效果均为普通伤害计算之后的追加伤害;
#       本类所有效果“独立计算属性有效度”,不与其他属性有效度进行混合运算。
#------------------------------------------------------------------------------
# 举例1:某特技属性附加"NHT" ,威力为20,其实际效果为:
#        造成 [目标方][当前][HP][20%] 的等量伤害。
#------------------------------------------------------------------------------
# 举例2:由于威力(power)这个值可以设为负数,
#        因此MHT这个属性也可用于制作比例回复HP的特技效果。
#------------------------------------------------------------------------------
end
#==============================================================================
# ■ Game_BattleAction
#==============================================================================
class Game_BattleAction
  attr_accessor :at_damage                # 「AT伤害值」    (Numeric)(1.03)
  attr_accessor :hp_damage                # 「HP伤害率」    (Numeric)
  attr_accessor :sp_damage                # 「SP伤害率」    (Numeric)
  attr_accessor :hp_drain                 # 「HP吸收率」    (Numeric)
  attr_accessor :sp_drain                 # 「SP吸收率」    (Numeric)
  attr_accessor :hp_rate                  # 「现HP威力」    (true/false)
  attr_accessor :sp_rate                  # 「现SP威力」    (true/false)
  attr_accessor :critical_hit             # 「会心一击」    (Numeric)
  attr_accessor :ignore_evade             # 「忽视躲闪」    (true/false)
  attr_accessor :add_variance             # 「追加分散度」  (Numeric)
  attr_accessor :fix_damage               # 「固定伤害值」 (Numeric)
  attr_accessor :special_damage_kind      # 「追加伤害类」  (Numeric)
  attr_accessor :scope_force              # 「对象强制值」  (Numeric)
  attr_accessor :self_inclusion           # 「诸刃」        (true/false)
  attr_accessor :self_exclusion           # 「自身以外」    (true/false)
  attr_accessor :p_state                  # 「行动时附加自身状态」(Numeric)
  attr_accessor :m_state                  # 「行动时解除自身状态」(Numeric)
  attr_accessor :hp_correct               # 「收招时修正使用者HP」(Numeric)(1.03)
  attr_accessor :sp_correct               # 「收招时修正使用者SP」(Numeric)(1.03)
  def at_damage
    return @at_damage.nil? ? 0 : @at_damage
end
#--------------------------------------------------------------------------
# ● clear
#--------------------------------------------------------------------------
  alias xrxs19_clear clear
  def clear
    # recall
    xrxs19_clear
    # 初始化特殊效果
    initialize_xrxs19_special_effect
  end
#--------------------------------------------------------------------------
# ○ 初始化特殊效果
#--------------------------------------------------------------------------
  def initialize_xrxs19_special_effect
    self.at_damage = 0#(1.03)
    self.hp_damage = 0
    self.sp_damage = 0
    self.hp_drain  = 0
    self.sp_drain  = 0
    self.hp_rate  = false
    self.sp_rate  = false
    self.critical_hit = 0
    self.ignore_evade = false
    self.add_variance = 0
    self.fix_damage = 0
    self.special_damage_kind = 0
    self.p_state = 0
    self.m_state = 0
    self.hp_correct = 0#(1.03)
    self.sp_correct = 0#(1.03)
  end
#--------------------------------------------------------------------------
# ○ 特殊效果设置
#--------------------------------------------------------------------------
  def set_xrxs19_special_effect(set)
    # AT伤害值(数值)(1.03)
    self.at_damage = XRXS.element_amount(set, XRXS19::AT_DAMAGE)
    # HP/SP伤害率(数值%)
    self.hp_damage = XRXS.element_percent(set, XRXS19::HP_DAMAGE)
    self.sp_damage = XRXS.element_percent(set, XRXS19::SP_DAMAGE)
    # HP/SP吸收率(数值%)
    self.hp_drain  = XRXS.element_percent(set, XRXS19::HP_DRAIN)
    self.sp_drain  = XRXS.element_percent(set, XRXS19::SP_DRAIN)
    # 现HP/SP威力 (true/false)
    self.hp_rate = XRXS.element_include?(set, XRXS19::HP_RATE)
    self.sp_rate = XRXS.element_include?(set, XRXS19::SP_RATE)
    # 会心一击率(数值%)
    returnar = XRXS.element_check(set, XRXS19::CRITICAL_HIT)
    percent = returnar[0] ? (returnar[2] == 0 ? 100 : returnar[2]) : 0
    self.critical_hit = percent
    # 忽视躲闪 (true/false)
    self.ignore_evade = XRXS.element_include?(set, XRXS19::IGNORE_EVADE)
    # 追加分散度(数值)
    self.add_variance = XRXS.element_amount(set, XRXS19::ADD_VARIANCE)
    # 固定伤害值(数值)
    self.fix_damage = XRXS.element_amount(set, XRXS19::FIXDAMAGE)
    # 追加伤害类
    self.special_damage_kind =
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_NOWHPTA) ? 1 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_MAXHPTA) ? 2 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_DIFHPTA) ? 3 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_NOWHPUS) ? 4 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_MAXHPUS) ? 5 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_DIFHPUS) ? 6 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_NOWSPTA) ? 7 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_MAXSPTA) ? 8 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_DIFSPTA) ? 9 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_NOWSPUS) ? 10 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_MAXSPUS) ? 11 :
      XRXS.element_include?(set, XRXS19::FIXDAMAGE_DIFSPUS) ? 12 :      
      0
    # 行动时附加/解除自身状态(ID)
    self.p_state = XRXS.element_amount(set, XRXS19::P_STATE)
    self.m_state = XRXS.element_amount(set, XRXS19::M_STATE)
    # 收招时修正使用者HP/SP(数值)(1.03)
    self.hp_correct = XRXS.element_amount(set, XRXS19::HP_CORRECT)
    self.sp_correct = XRXS.element_amount(set, XRXS19::SP_CORRECT)
  end
#--------------------------------------------------------------------------
# ○ 特殊效果clear
#--------------------------------------------------------------------------
  def clear_xrxs19_special_effect
    self.at_damage = nil#(1.03)
    self.hp_damage = nil
    self.sp_damage = nil
    self.hp_drain  = nil
    self.sp_drain  = nil
    self.hp_rate  = false
    self.sp_rate  = false
    self.critical_hit = nil
    self.ignore_evade = false
    self.add_variance = nil
    self.fix_damage = nil
    self.special_damage_kind = nil
    self.scope_force = 0
    self.self_exclusion = false
    self.self_inclusion = false
    self.p_state = nil
    self.m_state = nil
    self.hp_correct = 0#(1.03)
    self.sp_correct = 0#(1.03)
  end
#--------------------------------------------------------------------------
# ○ 无效化特殊效果
#--------------------------------------------------------------------------
  def nillize_xrxs19_special_effect
    self.scope_force = nil
    self.self_inclusion = nil
    self.self_exclusion = nil
  end
end  
#==============================================================================
# □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ○ 公开实例变量
#--------------------------------------------------------------------------
  attr_accessor :maxat                  # 最大AT#(1.03)
  attr_writer :ignore_evade             #(True为忽视对方躲闪判定)
  attr_writer :hp_rate                  #(True为基础伤害根据HP/MAXHP比例修正)
  attr_writer :sp_rate                  #(True为基础伤害根据SP/MAXSP比例修正)
#--------------------------------------------------------------------------
# ○特殊范围效果设定
#--------------------------------------------------------------------------  
  def set_xrxs19_special_scope(set)
# 范围强制值
self.current_action.scope_force =
XRXS.element_include?(set, XRXS19::AREA_EXTEND)     ? 2 :
XRXS.element_include?(set, XRXS19::AREA_ACTOR)      ? 3 :
XRXS.element_include?(set, XRXS19::AREA_ACTOR_ALL)  ? 4 :
XRXS.element_include?(set, XRXS19::AREA_SELF)       ? 7 :
XRXS.element_include?(set, XRXS19::AREA_WHOLE)      ? 8 :
XRXS.element_include?(set, XRXS19::AREA_ENEMY_RAND) ? 9 :
XRXS.element_include?(set, XRXS19::AREA_ACTOR_RAND) ? 10 :
XRXS.element_include?(set, XRXS19::AREA_ALL_RAND)   ? 11 :
0
# 诸刃
self.current_action.self_inclusion = XRXS.element_include?(set, XRXS19::SELF_INCLUSION)
# 自身以外
self.current_action.self_exclusion = XRXS.element_include?(set, XRXS19::SELF_EXCLUSION)
end
#--------------------------------------------------------------------------
# ● 新定义状态变化 (+) 发动状态适用
#--------------------------------------------------------------------------
  def pp_state(battler, i)
    # 清除有效标志
    effective = false
      # 无法防御本状态的情况下
      unless self.state_guard?(i)
        # 这个状态如果不是 full 的话就设置有效标志
        effective |= self.state_full?(i) == false
        # 状态为 [不能抵抗] 的情况下
        if $data_states.nonresistance
          # 设置状态变化标志
          @state_changed = true
          # 附加状态
          self.state_p[battler].push(i)
        # 这个状态不是 full 的情况下
        elsif self.state_full?(i) == false
          # 将状态的有效度变换为概率、与随机数比较
          if rand(100) < [0,100,80,60,40,20,0][self.state_ranks]
            # 设置状态变化标志
            @state_changed = true
            # ステートを付加
            self.add_state(i)
        end
      end
    end
    # 过程结束
    return effective
  end
#--------------------------------------------------------------------------
# ● 可以使用特技的判定
#    skill_id : 特技 ID
#--------------------------------------------------------------------------
  alias xrxs19_skill_can_use? skill_can_use?
  def skill_can_use?(skill_id)
  # 获取特技
  @skill = $data_skills[skill_id]
  # 范围计算
  set_xrxs19_special_scope(self.skill_element_set(@skill))
  $data_skills[skill_id].scope = self.current_action.scope_force if self.current_action.scope_force > 0
    # 范围是「自身以外」的情况
    if self.current_action.self_exclusion
      # 获取战斗者
      battlers = (self.is_a?(Game_Actor) ? $game_party.actors : $game_troop.enemies)
      # 范围的分歧
      case $data_skills[skill_id].scope
      when 3,4,10
        # 获取生存的战斗者数量
        n = 0
        battlers.each {|battler| n += 1 unless battler.dead?}
      when 5,6
        # 获取战斗者总数
        n = battlers.size
      else
        n = 2
      end
      # 对象不存在的情况
      return false if n <= 1
    end
    # recall
    return xrxs19_skill_can_use?(skill_id)
  end   
#--------------------------------------------------------------------------
# ● 判断状态 [无法回避攻击]
#--------------------------------------------------------------------------
alias xrxs19_cant_evade? cant_evade?
def cant_evade?
return true if @ignore_evade
return xrxs19_cant_evade?
end
#--------------------------------------------------------------------------
# ○ 特殊效果设置
#--------------------------------------------------------------------------
  def set_xrxs19_special_effect(set)
    self.current_action.set_xrxs19_special_effect(set)
  end
#--------------------------------------------------------------------------
# ● 应用通常攻击效果
#    attacker : 攻击者 (battler)
#--------------------------------------------------------------------------
  alias xrxs19_attack_effect attack_effect
  def attack_effect(attacker)   
    # 特殊效果:忽视躲闪
      if  attacker.current_action.ignore_evade
      self.ignore_evade = true
    end
    return xrxs19_attack_effect(attacker)
  end
#--------------------------------------------------------------------------
# ● 应用特技效果
#     user  : 特技的使用者 (battler)
#     skill : 特技
#--------------------------------------------------------------------------
  alias xrxs19_skill_effect skill_effect
  def skill_effect(user, skill)
    # 特殊效果:忽视躲闪
    if  user.current_action.ignore_evade
    self.ignore_evade = true
  end
    return xrxs19_skill_effect(user, skill)
  end
#------------------------------------------------------------------------------
# ○ 伤害计算(属于对基本伤害的再处理)
#------------------------------------------------------------------------------
# ● 基础伤害计算请在“应用通常攻击效果” 和“应用特技效果”部分定义  
#------------------------------------------------------------------------------
  alias xrxs19co_x1_damage_effect damage_effect
  def damage_effect(battler, item, skill)
    # recall
    if item == 2 or self.damage[battler].class == String
      return xrxs19co_x1_damage_effect(battler, item)
    end
    # 初始化
    battler.current_action.at_damage    = 0 if battler.current_action.at_damage.nil?#(1.03)
    battler.current_action.hp_damage    = 0 if battler.current_action.hp_damage.nil?
    battler.current_action.sp_damage    = 0 if battler.current_action.sp_damage.nil?
    battler.current_action.hp_drain     = 0 if battler.current_action.hp_drain.nil?
    battler.current_action.sp_drain     = 0 if battler.current_action.sp_drain.nil?
    battler.current_action.critical_hit = 0 if battler.current_action.critical_hit.nil?
    battler.current_action.add_variance = 0 if battler.current_action.add_variance.nil?
    battler.current_action.fix_damage   = 0 if battler.current_action.fix_damage.nil?
    battler.current_action.special_damage_kind = 0 if battler.current_action.special_damage_kind.nil?
    battler.current_action.p_state = 0 if battler.current_action.p_state.nil?
    battler.current_action.m_state = 0 if battler.current_action.m_state.nil?
    battler.current_action.hp_correct = 0 if battler.current_action.hp_correct.nil?#(1.03)
    battler.current_action.sp_correct = 0 if battler.current_action.sp_correct.nil?#(1.03)
    # 解除忽视躲闪
    self.ignore_evade = false         

    # 基本伤害
    self.damage[battler] = self.damage[battler].to_i

   
    # 特殊效果:追加分散度
  if battler.current_action.add_variance > 0 and self.damage[battler].abs > 0
  amp = [self.damage[battler].abs * battler.current_action.add_variance / 100, 1].max
  self.damage[battler]  += rand(amp+1) + rand(amp+1) - amp
end
    # 特殊效果:现HP威力
    if battler.current_action.hp_rate
self.damage[battler] = self.damage[battler] * battler.hp / battler.maxhp
end
    # 特殊效果:现SP威力
    if battler.current_action.sp_rate
self.damage[battler] = self.damage[battler] * battler.sp / battler.maxsp
end

    # 特殊效果:会心一击
    if battler.current_action.critical_hit > 0
  if self.critical[battler]
self.critical[battler] = false      
self.damage[battler] /= 2           
end
    # critical重新判定
    if rand(100) < battler.current_action.critical_hit
self.critical[battler] = true
self.damage[battler] *= 2
end
end
    # 特殊效果:固定伤害
    if battler.current_action.fix_damage != 0
self.damage[battler] = battler.current_action.fix_damage.to_i
self.critical[battler] = false
end
#------------------------------------------------------------------------------
# 特殊效果:追加伤害效果类计算
#------------------------------------------------------------------------------
case battler.current_action.special_damage_kind
    when 1# 「目标方当前HP比例」
      if skill != nil
      self.damage[battler] += self.hp * skill.power / 100
    else
      self.damage[battler] += self.hp * battler.atk / 10000
    end
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_NOWHPTA))/100
when 2# 「目标方最大HP比例」
      if skill != nil
      self.damage[battler] += self.maxhp * skill.power / 100
    else
      self.damage[battler] += self.maxhp * battler.atk / 10000
    end   
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_MAXHPTA))/100
    when 3# 「目标方HP差值比例」
      if skill != nil
      self.damage[battler] += (self.maxhp - self.hp) * skill.power / 100
    else
      self.damage[battler] += (self.maxhp - self.hp) * battler.atk / 10000
    end      
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_DIFHPTA))/100
    when 4# 「使用者当前HP比例」
      if skill != nil
      self.damage[battler] += battler.hp * skill.power / 100
    else
      self.damage[battler] += battler.hp * battler.atk / 10000
    end
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_NOWHPUS))/100   
    when 5# 「使用者最大HP比例」
      if skill != nil
      self.damage[battler] += battler.maxhp * skill.power / 100
    else
      self.damage[battler] += battler.maxhp * battler.atk / 10000
    end
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_MAXHPUS))/100
    when 6# 「使用者HP差值比例」
      if skill != nil
      self.damage[battler] += (battler.maxhp - battler.hp) * skill.power / 100
    else
      self.damage[battler] += (battler.maxhp - battler.hp) * battler.atk / 10000
    end      
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_DIFHPUS))/100   
    when 7# 「目标方当前SP比例」
      if skill != nil
      self.damage[battler] += self.sp * skill.power / 100
    else
      self.damage[battler] += self.sp * battler.atk / 10000
    end
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_NOWSPTA))/100
    when 8# 「目标方最大SP比例」   
      if skill != nil
      self.damage[battler] += self.maxsp * skill.power / 100
    else
      self.damage[battler] += self.maxsp * battler.atk / 10000
    end   
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_MAXSPTA))/100
    when 9# 「目标方SP差值比例」      
      if skill != nil
      self.damage[battler] += (self.maxsp - self.sp) * skill.power / 100
    else
      self.damage[battler] += (self.maxsp - self.sp) * battler.atk / 10000
    end   
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_DIFSPTA))/100
    when 10# 「使用者当前SP比例」  
      if skill != nil
      self.damage[battler] += battler.sp * skill.power / 100
    else
      self.damage[battler] += battler.sp * battler.atk / 10000
    end
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_NOWSPUS))/100
    when 11# 「使用者最大SP比例」     
      if skill != nil
      self.damage[battler] += battler.maxsp * skill.power / 100
    else
      self.damage[battler] += battler.maxsp * battler.atk / 10000
    end
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_MAXSPUS))/100
    when 12# 「使用者SP差值比例」   
      if skill != nil
      self.damage[battler] += (battler.maxsp - battler.sp) * skill.power / 100
    else
      self.damage[battler] += (battler.maxsp - battler.sp) * battler.atk / 10000
    end  
self.damage[battler] *=self.element_rate(($data_system.elements).index(XRXS19::FIXDAMAGE_DIFSPUS))/100
end
#------------------------------------------------------------------------------
# 特殊效果:AT伤害值(1.03)
  if battler.current_action.at_damage != 0
  self.at -= battler.current_action.at_damage * self.maxat / 100
  self.at  = 0 if self.at < 0
  self.atp = 100 * self.at / self.maxat
end
# 特殊效果:HP伤害率
  if battler.current_action.hp_damage != 0 and battler.current_action.sp_damage == 0
self.damage[battler] = self.damage[battler] * battler.current_action.hp_damage / 100
end
# 特殊效果:SP伤害率
  if battler.current_action.sp_damage != 0
self.damage_sp[battler] = self.damage[battler] * battler.current_action.sp_damage / 100
self.damage_sp[battler] = self.sp if self.damage_sp[battler] > self.sp
self.damage_sp[battler] = "" if self.sp == 0
self.sp      -= self.damage_sp[battler] if self.damage_sp[battler] != ""
  if battler.current_action.hp_damage != 0 # 特殊效果:HP伤害率
self.damage[battler] = self.damage[battler] * battler.current_action.hp_damage / 100
else
self.damage[battler] = ""
end
end
#------------------------------------------------------------------------------
# 特殊效果:收招修正(1.03)
battler.hp = battler.current_action.hp_correct.to_i if battler.current_action.hp_correct != 0
battler.sp = battler.current_action.sp_correct.to_i if battler.current_action.sp_correct != 0
#------------------------------------------------------------------------------   
# 特殊效果:HP吸收
if battler.current_action.hp_drain != 0
   battler.damage[battler] = 0 if battler.damage[battler] == nil
   drain_point = -1 * self.damage[battler].to_i * battler.current_action.hp_drain / 100
   battler.damage[battler] += drain_point
   battler.hp -= drain_point
if battler.damage[battler] == 0
   battler.damage[battler] = nil
  end
end
# 特殊效果:SP吸收
if battler.current_action.sp_drain != 0
   battler.damage_sp[battler] = 0 if battler.damage_sp[battler] == nil
   drain_point = -1 * self.damage_sp[battler].to_i * battler.current_action.sp_drain / 100
   battler.damage_sp[battler] += drain_point
   battler.sp -= drain_point
   battler.damage_sp[battler] = drain_point
if battler.damage_sp[battler] == 0
   battler.damage_sp[battler] = nil
  end
end
    # recall
    xrxs19co_x1_damage_effect(battler, item)
  end
end

#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
#------------------------------------------------------------------------------
# ○ ATB_SETUP (ATB = AT Bar,意思不要和RTAB搞错)(1.03)
#------------------------------------------------------------------------------
  alias xrxs19_atb_setup atb_setup
  def atb_setup
    # recall
    xrxs19_atb_setup
    # 保存最大AT
    for battler in $game_party.actors + $game_troop.enemies
      battler.maxat = @max
    end
  end  
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
  alias xrxs19_main main
  def main
    # 清空角色的伤害值
    for actor in $game_party.actors
      actor.damage = nil
    end
    # recall
    xrxs19_main
    # 清空角色的特殊效果设置
    for actor in $game_party.actors
      actor.current_action.clear_xrxs19_special_effect
      actor.current_action.nillize_xrxs19_special_effect
    end
  end
#--------------------------------------------------------------------------
# ● 刷新画面 (主回合步骤 1 : 准备行动)
#--------------------------------------------------------------------------
  alias xrxs19co_x1_update_phase4_step1 update_phase4_step1
  def update_phase4_step1(battler)
    # 清空行动者的伤害值
    battler.damage.clear
    # recall
    xrxs19co_x1_update_phase4_step1(battler)
  end
  
#--------------------------------------------------------------------------
# ● 刷新画面 (主回合步骤 2 : 开始行动)
#--------------------------------------------------------------------------
  alias xrxs19_update_phase4_step2 update_phase4_step2
  def update_phase4_step2(battler)
    # 清空行动者的伤害值
    battler.damage.clear
    # recall
    xrxs19_update_phase4_step2(battler)   
  end
#--------------------------------------------------------------------------
# ● フレーム更新 (アクターコマンドフェーズ : エネミー選択)
#(武器范围定义必须)
#--------------------------------------------------------------------------
  def update_phase3_enemy_select
    # コマンド選択中に行動不能になった場合
    unless @active_actor.inputable?
      # カメラを元に戻す
      if @camera == "select"
        @spriteset.screen_target(0, 0, 1)
      end
      @active_actor.current_action.clear
      command_delete
      # 次のアクターのコマンド入力へ
      phase3_next_actor
      return
    end
    @active_actor.set_xrxs19_special_scope(@active_actor.equip_element_set) if @skill_window == nil
    @active_actor.set_xrxs19_special_scope(@active_actor.skill_element_set(@skill)) if @skill_window != nil
  case @active_actor.current_action.scope_force
  when 2,4,6,7,8,9,10,11
        # アクションを設定
        @active_actor.current_action.kind = 0
        @active_actor.current_action.basic = 0
        # スキルの選択を終了
        end_enemy_select
        # 次のアクターのコマンド入力へ
        phase3_next_actor
  when 3
        # アクターアローを更新
    @actor_arrow.update
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # アクターの選択を終了
      end_enemy_select
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
    # 決定 SE を演奏
      $game_system.se_play($data_system.decision_se)
      # アクションを設定
      @active_actor.current_action.kind = 0
      @active_actor.current_action.basic = 0
      @active_actor.current_action.target_index = @actor_arrow.index
      # アクターの選択を終了
      end_enemy_select
      # 次のアクターのコマンド入力へ
        phase3_next_actor
     end
     else
    # エネミーアローを更新
    @enemy_arrow.update
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # カメラを元に戻す
      if @camera == "select"
        # カメラの設定
        @camera = "command"
        plus = ($game_party.actors.size - 1) / 2.0 - @actor_index
        y = [(plus.abs - 1.5) * 10 , 0].min
        @spriteset.screen_target(plus * 50, y, 1.0 + y * 0.002)
      end
      # エネミーの選択を終了
      end_enemy_select
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # 決定 SE を演奏
      $game_system.se_play($data_system.decision_se)
      # アクションを設定
      @active_actor.current_action.kind = 0
      @active_actor.current_action.basic = 0
      @active_actor.current_action.target_index = @enemy_arrow.index
      # スキルウィンドウ表示中の場合
      if @skill_window != nil
        # アクションを再設定
        @active_actor.current_action.kind = 1
        # スキルの選択を終了
        end_skill_select
      end
      # アイテムウィンドウ表示中の場合
      if @item_window != nil
        # アクションを再設定
        @active_actor.current_action.kind = 2
        # アイテムの選択を終了
        end_item_select
      end
      # エネミーの選択を終了
      end_enemy_select
      # 次のアクターのコマンド入力へ
      phase3_next_actor
      end
    end
  end
#--------------------------------------------------------------------------
# ● 开始选择敌人#(武器范围定义必须)(1.03修正显示BUG)
#--------------------------------------------------------------------------
  def start_enemy_select   
    @active_actor.set_xrxs19_special_scope(@active_actor.equip_element_set) if @skill_window == nil
    @active_actor.set_xrxs19_special_scope(@active_actor.skill_element_set(@skill)) if @skill_window != nil
if @active_actor.current_action.scope_force == 3
   # 生成敌人箭头
   @actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
   # 关联帮助窗口
    @actor_arrow.help_window = @help_window
  else
    # 生成敌人箭头
     @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
     # 关联帮助窗口
    @enemy_arrow.help_window = @help_window
    end
    # 无效化角色指令窗口
    @actor_command_window.active = false
    @actor_command_window.visible = false
  end
#--------------------------------------------------------------------------
# ● 结束选择敌人#武器范围定义必须)
#--------------------------------------------------------------------------
  def end_enemy_select
    # 释放敌人箭头
    @enemy_arrow.dispose if @enemy_arrow != nil
    @actor_arrow.dispose if @actor_arrow != nil
    @enemy_arrow = nil
    @actor_arrow = nil
    # 指令为 [战斗] 的情况下
    if @actor_command_window.index == 0
      # 有效化角色指令窗口
      @actor_command_window.active = true
      @actor_command_window.visible = true
      # 隐藏帮助窗口
      @help_window.visible = false
    end
  end
  #--------------------------------------------------------------------------
  # ● 基本アクション 準備#(武器范围定义必须)
  #--------------------------------------------------------------------------
  def make_basic_action_preparation(battler)
    # 攻撃の場合
    if battler.current_action.basic == 0
      # アニメーション ID を設定
      battler.anime1 = battler.animation1_id
      battler.anime2 = battler.animation2_id
      # 行動側バトラーがエネミーの場合
      if battler.is_a?(Game_Enemy)
        if battler.restriction == 3
          target = $game_troop.random_target_enemy
        elsif battler.restriction == 2
          target = $game_party.random_target_actor
        else
          index = battler.current_action.target_index
          target = $game_party.smooth_target_actor(index)
        end
      end
      # 行動側バトラーがアクターの場合
battler.set_xrxs19_special_scope(battler.equip_element_set)   
      if battler.is_a?(Game_Actor)
        if battler.restriction == 3
          target = $game_party.random_target_actor
        elsif battler.restriction == 2
          target = $game_troop.random_target_enemy
        elsif battler.current_action.scope_force == 3 # 己方单体
          index = battler.current_action.target_index
          target = $game_party.smooth_target_actor(index)
        else
           
          index = battler.current_action.target_index
          target = $game_troop.smooth_target_enemy(index)
        end
      end
   
      # 対象側バトラーの配列を設定
    case  battler.current_action.scope_force
    when 2 # 敌方全体
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
    battler.target.push(battler) if battler.current_action.self_inclusion     
    when 4 # 己方全体
        for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end
    battler.target -=[battler] if battler.current_action.self_exclusion   
    when 7  # 使用者
      battler.target.push(battler)
         when 8  # 全域化
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
      for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion
     when 9  # 敌方随机        
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target = [$game_troop.random_target_enemy]
          end
        end
battler.target.push(battler) if battler.current_action.self_inclusion
      when 10  # 己方随机
      for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end      
battler.target -=[battler] if battler.current_action.self_exclusion
battler.target = [battler.target[rand(battler.target.size)]]
        when 11 #对象随机
      battler.target = []
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
      for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion
battler.target = [battler.target[rand(battler.target.size)]]
else
      battler.target = [target]
battler.target.push(battler) if battler.current_action.self_inclusion and
battler.current_action.scope_force != 3 and
battler.restriction != 2 and
battler.restriction != 3
      end
      return true
    end
    # 防御の場合
    if battler.current_action.basic == 1
      # ステップ 3 に移行
      battler.phase = 3
      return false
    end
#===============0.15b(RTAB官方更新)===========================================   
    # 逃げるの場合
    if battler.is_a?(Game_Enemy) and battler.current_action.basic == 2
      # ステップ 3 に移行
      battler.phase = 3
      return false
    end
#=============================================================================
    # 何もしないの場合
    if battler.current_action.basic == 3
      # ステップ 6 に移行
      battler.phase = 6
      return false
    end
  end  
#--------------------------------------------------------------------------
# ● 生成基本行动结果
#--------------------------------------------------------------------------
  alias xrxs19_make_basic_action_result make_basic_action_result
   def make_basic_action_result(battler)
    # 攻击的情况
    if battler.current_action.basic == 0
      # 获取行动者武器附加的战斗特效
      if battler.is_a?(Game_Actor)
        battler.set_xrxs19_special_effect(battler.equip_element_set)
      # 行动时附加自身状态
        if battler.current_action.p_state > 0
        battler.pp_state(battler,battler.current_action.p_state)
      end
      # 行动时解除自身状态
      if battler.current_action.m_state > 0
        battler.remove_state(battler.current_action.m_state)
      end
      end
end
    # recall
    xrxs19_make_basic_action_result(battler)
  end
  #--------------------------------------------------------------------------
  # ● スキルまたはアイテムの対象側バトラー設定
  #     scope : スキルまたはアイテムの効果範囲
  # (武器范围定义必须)特技/道具的范围定义
  #--------------------------------------------------------------------------
  def set_target_battlers(scope, battler)
    #行动方战斗者是敌方的情况
    if battler.is_a?(Game_Enemy)
     # 效果范围的分歧
      case scope
      when 1  # 敌单体
battler.target.push(battler) if battler.current_action.self_inclusion           
        index =battler.current_action.target_index
        battler.target.push($game_party.smooth_target_actor(index))
        
      when 2  # 敌全体
battler.target.push(battler) if battler.current_action.self_inclusion   
        for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end
     
      when 3  # 己方单体
        
        index = battler.current_action.target_index
        battler.target.push($game_troop.smooth_target_enemy(index))
      
      when 4  # 己方全体
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion        
      when 5  # 己方单体 (HP 0)   
        
        index = battler.current_action.target_index
        enemy = $game_troop.enemies[index]
        if enemy != nil# and enemy.hp0?# 复活类特技/道具对生存者有效
          battler.target.push(enemy)
        end
        
      when 6  # 己方全体 (HP 0)
        for enemy in $game_troop.enemies
          if enemy != nil# and enemy.hp0?# 复活类特技/道具对生存者有效
            battler.target.push(enemy)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion        
      when 7  # 使用者
        battler.target.push(battler)
      when 8  # 全域化
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
      for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion        
     when 9  # 敌方随机
battler.target.push(battler) if battler.current_action.self_inclusion        
             for actor in $game_party.actors
          if actor.exist?
            battler.target = [$game_party.random_target_actor]
          end
        end
         
          when 10  # 己方随机
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion
battler.target = [battler.target[rand(battler.target.size)]]
        when 11 #对象随机
      battler.target = []
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
      for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion        
battler.target = [battler.target[rand(battler.target.size)]]         
      end
    end
   
   
    #行动方战斗者是己方的情况
    if battler.is_a?(Game_Actor)
      # 效果范围的分歧
      case scope
      when 1  # 敌单体
        
        index = battler.current_action.target_index
        battler.target.push($game_troop.smooth_target_enemy(index))
battler.target.push(battler) if battler.current_action.self_inclusion         
      when 2  # 敌全体
         
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
battler.target.push(battler) if battler.current_action.self_inclusion        
      when 3  # 己方单体
        
        index = battler.current_action.target_index
        battler.target.push($game_party.smooth_target_actor(index))
        
      when 4  # 己方全体
        for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion        
      when 5  # 己方单体 (HP 0)
        
        index = battler.current_action.target_index
        actor = $game_party.actors[index]
        if actor != nil# and actor.hp0?# 复活类特技/道具对生存者有效
          battler.target.push(actor)
        end
        
      when 6  # 己方全体 (HP 0)
        for actor in $game_party.actors
          if actor != nil# and actor.hp0?# 复活类特技/道具对生存者有效
            battler.target.push(actor)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion        
      when 7  # 使用者
        battler.target.push(battler)
      when 8  # 全域化
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
      for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end            
battler.target -=[battler] if battler.current_action.self_exclusion
     when 9  # 敌方随机
      
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target = [$game_troop.random_target_enemy]
          end
        end
battler.target.push(battler) if battler.current_action.self_inclusion         
      when 10  # 己方随机
      for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end      
battler.target -=[battler] if battler.current_action.self_exclusion
battler.target = [battler.target[rand(battler.target.size)]]
        when 11 #对象随机
      battler.target = []
        for enemy in $game_troop.enemies
          if enemy.exist?
            battler.target.push(enemy)
          end
        end
      for actor in $game_party.actors
          if actor.exist?
            battler.target.push(actor)
          end
        end
battler.target -=[battler] if battler.current_action.self_exclusion
battler.target = [battler.target[rand(battler.target.size)]]
end
end
end   
#--------------------------------------------------------------------------
# ● 生成特技行动结果
#--------------------------------------------------------------------------
  alias xrxs19_make_skill_action_result make_skill_action_result
    def make_skill_action_result(battler, plus_id)
    # 获取特技
    @skill = $data_skills[battler.current_action.skill_id + plus_id]
    # 获取行动者特技附加的战斗特效
    battler.set_xrxs19_special_effect(battler.skill_element_set(@skill))
    # 行动时附加自身状态
          if battler.current_action.p_state > 0
        battler.pp_state(battler,battler.current_action.p_state)
      end
    # 行动时解除自身状态  
      if battler.current_action.m_state > 0
        battler.remove_state(battler.current_action.m_state)
      end
    # recall
    xrxs19_make_skill_action_result(battler, plus_id)
  end
#--------------------------------------------------------------------------
# ● 刷新画面 (主回合步骤 5 : 显示伤害)
#--------------------------------------------------------------------------
  alias xrxs19_update_phase4_step5 update_phase4_step5
  def update_phase4_step5(battler)
    # recall
    xrxs19_update_phase4_step5(battler)
    # 行动者伤害表示(HP/SP吸收的表示用)
    if battler.damage[battler] != nil or
       battler.damage_sp[battler] != nil
       battler.damage_pop[battler] = true
    # 行动者状态栏刷新
      status_refresh(battler)
    end
  end
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================





第二个脚本:



#==============================================================================
# ■ Game_Temp
#------------------------------------------------------------------------------
#  在没有存档的情况下,处理临时数据的类。这个类的实例请参考
# $game_temp 。
#==============================================================================

class Game_Temp
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_accessor :map_bgm                  # 地图画面 BGM (战斗时记忆用)
  attr_accessor :message_text             # 信息文章
  attr_accessor :message_proc             # 信息 返回调用 (Proc)
  attr_accessor :choice_start             # 选择项 开始行
  attr_accessor :choice_max               # 选择项 项目数
  attr_accessor :choice_cancel_type       # 选择项 取消的情况
  attr_accessor :choice_proc              # 选择项 返回调用 (Proc)
  attr_accessor :num_input_start          # 输入数值 开始行
  attr_accessor :num_input_variable_id    # 输入数值 变量 ID
  attr_accessor :num_input_digits_max     # 输入数值 位数
  attr_accessor :message_window_showing   # 显示信息窗口
  attr_accessor :common_event_id          # 公共事件 ID
  attr_accessor :in_battle                # 战斗中的标志
  attr_accessor :battle_calling           # 调用战斗的标志
  attr_accessor :battle_troop_id          # 战斗 队伍 ID
  attr_accessor :battle_can_escape        # 战斗中 允许逃跑 ID
  attr_accessor :battle_can_lose          # 战斗中 允许失败 ID
  attr_accessor :battle_proc              # 战斗 返回调用 (Proc)
  attr_accessor :battle_turn              # 战斗 回合数
  attr_accessor :battle_event_flags       # 战斗 事件执行执行完毕的标志
  attr_accessor :battle_abort             # 战斗 中断标志
  attr_accessor :battle_main_phase        # 战斗 状态标志
  attr_accessor :battleback_name          # 战斗背景 文件名
  attr_accessor :forcing_battler          # 强制行动的战斗者
  attr_accessor :shop_calling             # 调用商店的标志
  attr_accessor :shop_goods               # 商店 商品列表
  attr_accessor :name_calling             # 输入名称 调用标志
  attr_accessor :name_actor_id            # 输入名称 角色 ID
  attr_accessor :name_max_char            # 输入名称 最大字数
  attr_accessor :menu_calling             # 菜单 调用标志
  attr_accessor :menu_beep                # 菜单 SE 演奏标志
  
  attr_accessor :map_calling              # 地图 调用标志
  
  attr_accessor :save_calling             # 存档 调用标志
  attr_accessor :debug_calling            # 调试 调用标志
  attr_accessor :player_transferring      # 主角 场所移动标志
  attr_accessor :player_new_map_id        # 主角 移动目标地图 ID
  attr_accessor :player_new_x             # 主角 移动目标 X 坐标
  attr_accessor :player_new_y             # 主角 移动目标 Y 坐标
  attr_accessor :player_new_direction     # 主角 移动目标 朝向
  attr_accessor :transition_processing    # 过渡处理中标志
  attr_accessor :transition_name          # 过渡 文件名
  attr_accessor :gameover                 # 游戏结束标志
  attr_accessor :to_title                 # 返回标题画面标志
  attr_accessor :last_file_index          # 最后存档的文件编号
  attr_accessor :debug_top_row            # 调试画面 保存状态用
  attr_accessor :debug_index              # 调试画面 保存状态用
###########到此一游################
  attr_accessor :hide_flug  #隐藏用
###################################
  attr_accessor :hide_flug2  #隐藏用2
###################################
  attr_accessor :exback_flug#特效用
###################################
  attr_accessor :exback_ready#特效用2
###################################
  attr_accessor :exback_red#特效用
###################################
  attr_accessor :exback_blue#特效用
###################################
  attr_accessor :exback_orange#特效用
###################################
  attr_accessor :exback_black#特效用
###################################
  attr_accessor :black_flug #暗转用
###################################
  attr_accessor :hue_flug   #色相用1
###################################
  attr_accessor :hue_180    #色相用2
###################################

  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    @map_bgm = nil
    @message_text = nil
    @message_proc = nil
    @choice_start = 99
    @choice_max = 0
    @choice_cancel_type = 0
    @choice_proc = nil
    @num_input_start = 99
    @num_input_variable_id = 0
    @num_input_digits_max = 0
    @message_window_showing = false
    @common_event_id = 0
    @in_battle = false
    @battle_calling = false
    @battle_troop_id = 0
    @battle_can_escape = false
    @battle_can_lose = false
    @battle_proc = nil
    @battle_turn = 0
    @battle_event_flags = {}
    @battle_abort = false
    @battle_main_phase = false
    @battleback_name = ''
    @forcing_battler = nil
    @shop_calling = false
    @shop_id = 0
    @name_calling = false
    @name_actor_id = 0
    @name_max_char = 0
    @menu_calling = false
    @menu_beep = false
   
    @map_calling = false
   
    @save_calling = false
    @debug_calling = false
    @player_transferring = false
    @player_new_map_id = 0
    @player_new_x = 0
    @player_new_y = 0
    @player_new_direction = 0
    @transition_processing = false
    @transition_name = ""
    @gameover = false
    @to_title = false
    @last_file_index = 0
    @debug_top_row = 0
    @debug_index = 0
    ##############到此一游###################
    @hide_flug = false            #隐藏用
    #########################################
    @hide_flug2 = false            #隐藏用2
    #########################################   
    @exback_flug = false          #特效用
    #########################################
    @exback_ready = false         #特效用2
    #########################################
    @exback_blue = false          #特效用
    #########################################
    @exback_red = false          #特效用
    #########################################   
    @exback_orange = false          #特效用
    #########################################
    @exback_black = false          #特效用
    #########################################   
    @black_flug = false           #暗转用   
    #########################################   
    @hue_flug = false             #色相用1
    #########################################
    @hue_180 = false              #色相用2
    #########################################     
  end
end


求大神,在线等,急急急+急急急啊!


拜托!

(;´Д`)

菜得真实但还是想做游戏
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-25 11:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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