RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
battle script error...

0 Members and 1 Guest are viewing this topic.

**
Rep:
Level 82
to start i'd like to apologize if this is in the wrong bit, i couldnt decide between the scripts bit or the trouble bit.


i used the atb battle script i found online (to make it more like ff7ish) and it worked fine, when i had one party member, but once i introduced another the game crashed. i am a total noob at scripting and so have no idea what to even look for, the crash kept mentioning line 944 but when i got to this line, i have no idea what to look for.
Spoiler for:
#==============================================================================
# ¦ New_Battle
#------------------------------------------------------------------------------
# Compiled By : MakirouAru
#==============================================================================
# ¥£¥ XRXS_BP 3. Ÿ—˜ŽžHP‰ñ•œ ver.1.01 ¥£¥
# by fukuyama, ÷‰ë Ý“y

# Battle_End_Recovery
#
# í“¬Œã‚̉ñ•œˆ—ƒ‚ƒWƒ…[ƒ‹
#
# Request: stay
# Script: fukuyama
# Test: ƒmƒRƒmŽq
#
# URL: http://www4.big.or.jp/~fukuyama/rgss/Battle_End_Recovery.txt
#

module Battle_End_Recovery

 module Scene_Battle_Module

   # ‰ñ•œ—¦•Ï”‚ÌID
   @@recovery_rate_variable_id = nil

   # ‰ñ•œ—¦‚̎擾
   def battle_end_recovery_rate
     if @@recovery_rate_variable_id.nil?
       @@recovery_rate_variable_id =
         $data_system.variables.index 'í“¬Œã‚̉ñ•œ—¦'
       if @@recovery_rate_variable_id.nil?
         @@recovery_rate_variable_id = false
       end
     end
     return 0 unless @@recovery_rate_variable_id
     return $game_variables[@@recovery_rate_variable_id]
   end

   # í“¬Œã‚̉ñ•œˆ—
   def battle_end_recovery

     # ‰ñ•œ—¦
     recovery_rate = battle_end_recovery_rate
     
     # ‰ñ•œ—¦•Ï”‚ª‚OˆÈŠO‚©‚ƒAƒNƒ^[‚ª¶‘¶‚µ‚Ä‚¢‚éê‡Aí“¬Œã‚̉ñ•œˆ—‚ðs‚¤
     if recovery_rate != 0 and not actor.dead?

       # ƒp[ƒeƒB‚̃AƒNƒ^[–ˆ‚Ƀ‹[ƒv
       $game_party.actors.each do |actor|

         # ‰ñ•œ—ÊŒvŽZ
         recovery_hp = (actor.maxhp / 100.0 * recovery_rate).truncate
         recovery_sp = (actor.maxsp / 100.0 * recovery_rate).truncate

         # ŽÀÛ‚ɉñ•œ
         actor.hp += recovery_hp
         actor.sp += recovery_sp

         # ƒAƒjƒ[ƒVƒ‡ƒ“Ý’è
         actor.damage = - recovery_hp
         actor.damage_pop = true

       end

       # ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðXV
       @status_window.refresh

     end
   end

 end # module Scene_Battle_Module
end # module Battle_End_Recovery

#------------------------------
# í“¬ƒV[ƒ“‚̍Ēè‹`
#------------------------------
class Scene_Battle

 # Scene_Battle—pƒ‚ƒWƒ…[ƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh
 include Battle_End_Recovery::Scene_Battle_Module

 # Œ³‚̃tƒF[ƒY‚TŠJŽn‚É•Ê–¼‚ð‚‚¯‚é
 alias battle_end_recovery_original_start_phase5 start_phase5

 # ƒtƒF[ƒY‚TŠJŽn‚ðÄ’è‹`
 def start_phase5

   # í“¬Œã‚̉ñ•œˆ—‚ðŒÄ‚яo‚·
   battle_end_recovery

   # Œ³‚̃tƒF[ƒY‚TŠJŽn‚ðŒÄ‚яo‚·
   battle_end_recovery_original_start_phase5

 end
end

# Battle_End_Recovery
# ¥£¥ XRXS_BP10. LEVEL UP!ƒEƒBƒ“ƒhƒE ¥£¥
# by ÷‰ë Ý“y

$data_system_level_up_se = ""                       # ƒŒƒxƒ‹ƒAƒbƒvSEB""‚Å–³‚µB
$data_system_level_up_me = "Audio/ME/007-Fanfare01" # ƒŒƒxƒ‹ƒAƒbƒvME

#==============================================================================
# ¡ Window_LevelUpWindow
#------------------------------------------------------------------------------
# @ƒoƒgƒ‹I—¹ŽžAƒŒƒxƒ‹ƒAƒbƒv‚µ‚½ê‡‚ɃXƒe[ƒ^ƒX‚ð•\Ž¦‚·‚éƒEƒBƒ“ƒhƒE‚Å‚·B
#==============================================================================
class Window_LevelUpWindow < Window_Base
 #--------------------------------------------------------------------------
 # œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
 #--------------------------------------------------------------------------
 def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
   super(0, 128, 160, 192)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.visible = false
   refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
 end
 #--------------------------------------------------------------------------
 # œ ƒŠƒtƒŒƒbƒVƒ…
 #--------------------------------------------------------------------------
 def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
   self.contents.clear
   self.contents.font.color = system_color
   self.contents.font.name = "Arial"
   self.contents.font.size = 14
   self.contents.draw_text( 0,   0, 160, 24, "LEVEL UP!!")
   self.contents.font.size = 18
   self.contents.draw_text( 0,  28, 160, 24, $data_system.words.hp)
   self.contents.draw_text( 0,  50, 160, 24, $data_system.words.sp)
   self.contents.font.size = 14
   self.contents.draw_text( 0,  72,  80, 24, $data_system.words.str)
   self.contents.draw_text( 0,  94,  80, 24, $data_system.words.dex)
   self.contents.draw_text( 0, 116,  80, 24, $data_system.words.agi)
   self.contents.draw_text( 0, 138,  80, 24, $data_system.words.int)
   self.contents.draw_text(92,   0, 128, 24, "¨")
   self.contents.draw_text(76,  28, 128, 24, "=")
   self.contents.draw_text(76,  50, 128, 24, "=")
   self.contents.draw_text(76,  72, 128, 24, "=")
   self.contents.draw_text(76,  94, 128, 24, "=")
   self.contents.draw_text(76, 116, 128, 24, "=")
   self.contents.draw_text(76, 138, 128, 24, "=")
   self.contents.font.color = normal_color
   self.contents.draw_text( 0,   0,  88, 24, last_lv.to_s, 2)
   self.contents.draw_text( 0,  28,  72, 24, "+" + up_hp.to_s, 2)
   self.contents.draw_text( 0,  50,  72, 24, "+" + up_sp.to_s, 2)
   self.contents.draw_text( 0,  72,  72, 24, "+" + up_str.to_s, 2)
   self.contents.draw_text( 0,  94,  72, 24, "+" + up_dex.to_s, 2)
   self.contents.draw_text( 0, 116,  72, 24, "+" + up_agi.to_s, 2)
   self.contents.draw_text( 0, 138,  72, 24, "+" + up_int.to_s, 2)
   self.contents.font.size = 20
   self.contents.draw_text( 0,   0, 128, 24, actor.level.to_s, 2)
   self.contents.draw_text( 0,  26, 128, 24, actor.maxhp.to_s, 2)
   self.contents.draw_text( 0,  48, 128, 24, actor.maxsp.to_s, 2)
   self.contents.draw_text( 0,  70, 128, 24, actor.str.to_s, 2)
   self.contents.draw_text( 0,  92, 128, 24, actor.dex.to_s, 2)
   self.contents.draw_text( 0, 114, 128, 24, actor.agi.to_s, 2)
   self.contents.draw_text( 0, 136, 128, 24, actor.int.to_s, 2)
 end
end
#==============================================================================
# ¡ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
 #--------------------------------------------------------------------------
 # œ ’ljÁEŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•Ï”
 #--------------------------------------------------------------------------
   attr_accessor :level_up_flags             # LEVEL UP!•\Ž¦
end
#==============================================================================
# ¡ Game_Battler
#==============================================================================
class Game_Battler
 #--------------------------------------------------------------------------
 # œ ’ljÁEŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•Ï”
 #--------------------------------------------------------------------------
 attr_accessor :exp_gain_ban             # EXPŽæ“¾ˆêŽž‹ÖŽ~
 #--------------------------------------------------------------------------
 # œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
 #--------------------------------------------------------------------------
 alias xrxs_bp10_initialize initialize
 def initialize
   @exp_gain_ban = false
   xrxs_bp10_initialize
 end
 #--------------------------------------------------------------------------
 # œ ƒXƒe[ƒg [EXP ‚ðŠl“¾‚Å‚«‚È‚¢] ”»’è
 #--------------------------------------------------------------------------
 alias xrxs_bp10_cant_get_exp? cant_get_exp?
 def cant_get_exp?
   if @exp_gain_ban == true
     return true
   else
     return xrxs_bp10_cant_get_exp?
   end
 end
end
#==============================================================================
# ¡ Scene_Battle
#==============================================================================
class Scene_Battle
 #--------------------------------------------------------------------------
 # œ ƒAƒtƒ^[ƒoƒgƒ‹ƒtƒF[ƒYŠJŽn
 #--------------------------------------------------------------------------
 alias xrxs_bp10_start_phase5 start_phase5
 def start_phase5
   # EXP Šl“¾‹ÖŽ~
   for i in 0...$game_party.actors.size
     $game_party.actors.exp_gain_ban = true
   end
   xrxs_bp10_start_phase5
   # EXP Šl“¾‹ÖŽ~‚̉ðœ
   for i in 0...$game_party.actors.size
     $game_party.actors.exp_gain_ban = false
   end
   # EXP‚ð‰Šú‰»
   @exp_gained = 0
   for enemy in $game_troop.enemies
     # Šl“¾ EXP‚ð’ljÁ         # ƒGƒlƒ~[‚ª‰B‚êó‘Ô‚Å‚È‚¢ê‡
     @exp_gained += enemy.exp if not enemy.hidden
   end
   # Ý’è
   @phase5_step       = 0
   @exp_gain_actor    = -1
   # ƒŠƒUƒ‹ƒgƒEƒBƒ“ƒhƒE‚ð•\Ž¦
   @result_window.y -= 64
   @result_window.visible = true
   # ƒŒƒxƒ‹ƒAƒbƒv”»’è‚Ö
   phase5_next_levelup
 end
 #--------------------------------------------------------------------------
 # œ ƒtƒŒ[ƒ€XV (ƒAƒtƒ^[ƒoƒgƒ‹ƒtƒF[ƒY)
 #--------------------------------------------------------------------------
 alias xrxs_bp10_update_phase5 update_phase5
 def update_phase5
   case @phase5_step
   when 1
     update_phase5_step1
   else
     xrxs_bp10_update_phase5
     # ƒŒƒxƒ‹ƒAƒbƒv‚µ‚Ä‚¢‚éê‡‚Í‹­§ƒoƒgƒ‹I—¹
     battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
   end
 end
 #--------------------------------------------------------------------------
 # œ ƒtƒŒ[ƒ€XV (ƒAƒtƒ^[ƒoƒgƒ‹ƒtƒF[ƒY 1 : ƒŒƒxƒ‹ƒAƒbƒv)
 #--------------------------------------------------------------------------
 def update_phase5_step1
   # C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
   if Input.trigger?(Input::C)
     # ƒEƒBƒ“ƒhƒE‚ð•Â‚¶‚ÄŽŸ‚̃AƒNƒ^[‚Ö
     @levelup_window.visible = false if @levelup_window != nil
     @status_window.level_up_flags[@exp_gain_actor] = false
     phase5_next_levelup
   end
 end
 #--------------------------------------------------------------------------
 # œ ŽŸ‚̃AƒNƒ^[‚̃Œƒxƒ‹ƒAƒbƒv•\Ž¦‚Ö
 #--------------------------------------------------------------------------
 def phase5_next_levelup
   begin
     # ŽŸ‚̃AƒNƒ^[‚Ö
     @exp_gain_actor += 1
     # ÅŒã‚̃AƒNƒ^[‚̏ꍇ
     if @exp_gain_actor >= $game_party.actors.size
       # ƒAƒtƒ^[ƒoƒgƒ‹ƒtƒF[ƒYŠJŽn
       @phase5_step = 0
       return
     end
     actor = $game_party.actors[@exp_gain_actor]
     if actor.cant_get_exp? == false
       # Œ»Ý‚Ì”\—Í’l‚ð•ÛŽ
       last_level = actor.level
       last_maxhp = actor.maxhp
       last_maxsp = actor.maxsp
       last_str = actor.str
       last_dex = actor.dex
       last_agi = actor.agi
       last_int = actor.int
       # ŒoŒ±’lŽæ“¾‚ÌŒˆ’è“IuŠÔ(“ä
       actor.exp += @exp_gained
       # ”»’è
       if actor.level > last_level
         # ƒŒƒxƒ‹ƒAƒbƒv‚µ‚½ê‡
         @status_window.level_up(@exp_gain_actor)
         if $data_system_level_up_se != ""
           Audio.se_stop
           Audio.se_play($data_system_level_up_se)
         end
         if $data_system_level_up_me != ""
           Audio.me_stop
           Audio.me_play($data_system_level_up_me)
         end
         @levelup_window = Window_LevelUpWindow.new(actor, last_level,
           actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
           actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
         @levelup_window.x = 160 * @exp_gain_actor
         @levelup_window.visible = true
         @phase5_wait_count = 40
         @phase5_step       =  1
         # ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðƒŠƒtƒŒƒbƒVƒ…
         @status_window.refresh
         return
       end
     end
   end until false
 end
end
# ¥£¥ XRXS_17. ƒXƒŠƒbƒvƒ_ƒ[ƒW–hŒä^Œø‰Ê—ʏڍ׉» ver.1.51 ¥£¥
# by ÷‰ë Ý“y, fukuyama

#==============================================================================
# ¡ Game_Battler
#==============================================================================
class Game_Battler
 #--------------------------------------------------------------------------
 # œ ƒXƒŠƒbƒvƒ_ƒ[ƒW‚ÌŒø‰Ê“K—p
 #--------------------------------------------------------------------------
 alias xrxs_bp7_slip_damage_effect slip_damage_effect
 def slip_damage_effect
   # ”’l‚̏‰Šú‰»
   slip_damage_percent = 0
   slip_damage_plus = 0
   # Œ»Ý•t‰Á‚³‚ê‚Ä‚¢‚éƒXƒe[ƒg‚Ì’†‚©‚çƒXƒŠƒbƒvƒ_ƒ[ƒW—L‚è‚̃‚ƒm‚ð’T‚·
   for i in @states
     if $data_states.slip_damage
       # ‚»‚̃Xƒe[ƒg‚ªŽ‚Á‚Ä‚¢‚éƒXƒŠƒbƒvƒ_ƒ[ƒW‚Ì
       # Lvƒvƒ‰ƒXƒXƒe[ƒg‚Ü‚½‚ÍLvƒ}ƒCƒiƒXƒXƒe[ƒg‚ð”»’èB
       for j in $data_states.plus_state_set
         if $data_states[j] != nil
           if $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)(%|“)/
             slip_damage_percent += $1.to_i
           elsif $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)$/
             slip_damage_plus += $1.to_i
           end
         end
       end
       for j in $data_states.minus_state_set
         if $data_states[j] != nil
           if $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)(%|“)/
             slip_damage_percent -= $1.to_i
           elsif $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)$/
             slip_damage_plus -= $1.to_i
           end
         end
       end
     end
   end
   if slip_damage_percent == 0 and slip_damage_plus == 0
     xrxs_bp7_slip_damage_effect
   else
     # –h‹ï‚ªƒXƒŠƒbƒv–hŒä‚ª‚ ‚éê‡‚ð”»’è
     for i in [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
       armor = $data_armors
       next if armor == nil
       for j in armor.guard_state_set
         if $data_states[j] != nil
           if $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)(%|“)/
             if slip_damage_percent > 0
               slip_damage_percent = [slip_damage_percent - $1.to_i, 0].max
             end
           end
           if $data_states[j].name =~ /^ƒXƒŠƒbƒv([0-9]+)$/
             if slip_damage_percent > 0
               slip_damage_plus = [slip_damage_plus - $1.to_i, 0].max
             end
           end
         end
       end
     end
     # ƒ_ƒ[ƒW‚ðÝ’è
     self.damage = self.maxhp * slip_damage_percent / 100 + slip_damage_plus
     # •ªŽU
     if self.damage.abs > 0
       amp = [self.damage.abs * 15 / 100, 1].max
       self.damage += rand(amp+1) + rand(amp+1) - amp
     end
     # HP ‚©‚çƒ_ƒ[ƒW‚ðŒ¸ŽZ
     self.hp -= self.damage
     # ƒƒ\ƒbƒhI—¹
     return true
   end
 end
end
# ¥£¥ XRXS_BP 1. CP§“±“ü ver.15 ¥£¥
# by ÷‰ë Ý“y, ˜aŠó, Jack-R

#==============================================================================
# ¡ Scene_Battle_CP
#==============================================================================
class Scene_Battle_CP
 #--------------------------------------------------------------------------
 # œ ŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•Ï”
 #--------------------------------------------------------------------------
 attr_accessor   :stop                   # CP‰ÁŽZƒXƒgƒbƒv
 #----------------------------------------------------------------------------
 # œ ƒIƒuƒWƒFƒNƒg‚̏‰Šú‰»
 #----------------------------------------------------------------------------
 def initialize
   @battlers = []
   @cancel = false
   @agi_total = 0
   # ”z—ñ @count_battlers ‚ð‰Šú‰»
   @count_battlers = []
   # ƒGƒlƒ~[‚ð”z—ñ @count_battlers ‚ɒljÁ
   for enemy in $game_troop.enemies
     @count_battlers.push(enemy)
   end
   # ƒAƒNƒ^[‚ð”z—ñ @count_battlers ‚ɒljÁ
   for actor in $game_party.actors
     @count_battlers.push(actor)
   end
   for battler in @count_battlers
     @agi_total += battler.agi
   end
   for battler in @count_battlers
     battler.cp = [[65535 * (rand(15) + 85) / 100 * battler.agi / @agi_total * 4, 0].max, 65535].min
   end
 end
 #----------------------------------------------------------------------------
 # œ CPƒJƒEƒ“ƒg‚ÌŠJŽn
 #----------------------------------------------------------------------------
 def start
   if @cp_thread != nil then
     return
   end
   @cancel = false
   @stop = false
   # ‚±‚±‚©‚çƒXƒŒƒbƒh
   @cp_thread = Thread.new do
     while @cancel != true
       if @stop != true
         self.update # XV
         sleep(0.05)
       end
     end
   end
   # ‚±‚±‚܂ŃXƒŒƒbƒh
 end
 #----------------------------------------------------------------------------
 # œ CPƒJƒEƒ“ƒgƒAƒbƒv
 #----------------------------------------------------------------------------
 def update
   if @count_battlers != nil then
     for battler in @count_battlers
       # s“®o—ˆ‚È‚¯‚ê‚Ζ³Ž‹
       if battler.dead? == true #or battler.movable? == false then
         battler.cp = 0
         next
       end
       # ‚±‚±‚Ì 1.3‚ð•Ï‚¦‚邱‚ƂŁ«ƒXƒs[ƒh‚ð•ÏX‰Â”\B‚½‚¾‚µ¬”“_‚ÍŽg—p‚·‚邱‚ƁB
       battler.cp = [[battler.cp + 1.3 * 4096 * battler.agi / @agi_total, 0].max, 65535].min
     end
   end
 end
 #----------------------------------------------------------------------------
 # œ CPƒJƒEƒ“ƒg‚ÌŠJŽn
 #----------------------------------------------------------------------------
 def stop
   @cancel = true
   if @cp_thread != nil then
     @cp_thread.join
     @cp_thread = nil
   end
 end
end
#==============================================================================
# ¡ Game_Battler
#==============================================================================
class Game_Battler
 attr_accessor :now_guarding             # Œ»Ý–hŒä’†ƒtƒ‰ƒO
 attr_accessor :cp                       # Œ»ÝCP
 attr_accessor :slip_state_update_ban    # ƒXƒŠƒbƒvEƒXƒe[ƒgŽ©“®ˆ—‚Ì‹ÖŽ~
 #--------------------------------------------------------------------------
 # œ ƒRƒ}ƒ“ƒh“ü—͉”\”»’è
 #--------------------------------------------------------------------------
 def inputable?
   return (not @hidden and restriction <= 1 and @cp >=65535)
 end
 #--------------------------------------------------------------------------
 # œ ƒXƒe[ƒg [ƒXƒŠƒbƒvƒ_ƒ[ƒW] ”»’è
 #--------------------------------------------------------------------------
 alias xrxs_bp1_slip_damage? slip_damage?
 def slip_damage?
   return false if @slip_state_update_ban
   return xrxs_bp1_slip_damage?
 end
 #--------------------------------------------------------------------------
 # œ ƒXƒe[ƒgŽ©‘R‰ðœ (ƒ^[ƒ“‚²‚ƂɌĂяo‚µ)
 #--------------------------------------------------------------------------
 alias xrxs_bp1_remove_states_auto remove_states_auto
 def remove_states_auto
   return if @slip_state_update_ban
   xrxs_bp1_remove_states_auto
 end
end
#==============================================================================
# ¡ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # œ ƒZƒbƒgƒAƒbƒv
 #--------------------------------------------------------------------------
 alias xrxs_bp1_setup setup
 def setup(actor_id)
   xrxs_bp1_setup(actor_id)
   @hate = 100  # init-value is 100
   @cp = 0
   @now_guarding = false
   @slip_state_update_ban = false
 end
end
#==============================================================================
# ¡ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
 #--------------------------------------------------------------------------
 # œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
 #--------------------------------------------------------------------------
 alias xrxs_bp1_initialize initialize
 def initialize(troop_id, member_index)
   xrxs_bp1_initialize(troop_id, member_index)
   @hate = 100  # init-value is 100
   @cp = 0
   @now_guarding = false
   @slip_state_update_ban = false
 end
end
#==============================================================================
# ¡ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
 #--------------------------------------------------------------------------
 # œ ŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•Ï”
 #--------------------------------------------------------------------------
 attr_accessor   :update_cp_only                   # CPƒ[ƒ^[‚݂̂̍XV
 #--------------------------------------------------------------------------
 # œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
 #--------------------------------------------------------------------------
 alias xrxs_bp1_initialize initialize
 def initialize
   @update_cp_only = false
   xrxs_bp1_initialize
 end
 #--------------------------------------------------------------------------
 # œ ƒŠƒtƒŒƒbƒVƒ…
 #--------------------------------------------------------------------------
 alias xrxs_bp1_refresh refresh
 def refresh
   if @update_cp_only == false
     xrxs_bp1_refresh
   end
   for i in 0...$game_party.actors.size
     actor = $game_party.actors
     actor_x = i * 160 + 4
     draw_actor_cp_meter(actor, actor_x, 96, 120, 0)
   end
 end
 #--------------------------------------------------------------------------
 # œ CPƒ[ƒ^[ ‚Ì•`‰æ
 #--------------------------------------------------------------------------
 def draw_actor_cp_meter(actor, x, y, width = 156, type = 0)
   self.contents.font.color = system_color
   self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 255))
   if actor.cp == nil
     actor.cp = 0
   end
   w = width * [actor.cp,65535].min / 65535
   self.contents.fill_rect(x, y+28, w,1, Color.new(255, 255, 128, 255))
   self.contents.fill_rect(x, y+29, w,1, Color.new(255, 255, 0, 255))
   self.contents.fill_rect(x, y+30, w,1, Color.new(192, 192, 0, 255))
   self.contents.fill_rect(x, y+31, w,1, Color.new(128, 128, 0, 255))
 end
end
#==============================================================================
# ¡ Scene_Battle
#==============================================================================
class Scene_Battle
 # ‚±‚±‚ÉŒø‰Ê‰¹‚ðÝ’è‚·‚é‚ƁAƒAƒNƒ^[ƒRƒ}ƒ“ƒh‚ªƒ|ƒbƒv‚µ‚½‚Æ‚«‚ÉŒø‰Ê‰¹‚ðÄ¶
 $data_system_command_up_se = ""
 #--------------------------------------------------------------------------
 # œ ƒoƒgƒ‹I—¹
 #     result : Œ‹‰Ê (0:Ÿ—˜ 1:”s–k 2:“¦‘–)
 #--------------------------------------------------------------------------
 alias xrxs_bp1_battle_end battle_end
 def battle_end(result)
   # CPƒJƒEƒ“ƒg’âŽ~
   @cp_thread.stop
   xrxs_bp1_battle_end(result)
 end
 #--------------------------------------------------------------------------
 # œ ƒvƒŒƒoƒgƒ‹ƒtƒF[ƒYŠJŽn
 #--------------------------------------------------------------------------
 alias xrxs_bp1_start_phase1 start_phase1
 def start_phase1
   @agi_total = 0
   @cp_thread = Scene_Battle_CP.new
   # ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðÄì¬
   s1 = $data_system.words.attack
   s2 = $data_system.words.skill
   s3 = $data_system.words.guard
   s4 = $data_system.words.item
   @actor_command_window = Window_Command.new(160, [s1, s2, s3, s4, "Run"])
   @actor_command_window.y = 128
   @actor_command_window.back_opacity = 160
   @actor_command_window.active = false
   @actor_command_window.visible = false
   @actor_command_window.draw_item(4, $game_temp.battle_can_escape ? @actor_command_window.normal_color : @actor_command_window.disabled_color)
   xrxs_bp1_start_phase1
 end
 #--------------------------------------------------------------------------
 # œ ƒp[ƒeƒBƒRƒ}ƒ“ƒhƒtƒF[ƒYŠJŽn
 #--------------------------------------------------------------------------
 alias xrxs_bp1_start_phase2 start_phase2
 def start_phase2
   xrxs_bp1_start_phase2
   @party_command_window.active = false
   @party_command_window.visible = false
   # ŽŸ‚Ö
   start_phase3
 end
 #--------------------------------------------------------------------------
 # œ ƒtƒŒ[ƒ€XV (ƒp[ƒeƒBƒRƒ}ƒ“ƒhƒtƒF[ƒY)
 #--------------------------------------------------------------------------
 alias xrxs_bp1_update_phase2 update_phase2
 def update_phase2
   # C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
   if Input.trigger?(Input::C)
     # ƒp[ƒeƒBƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃J[ƒ\ƒ‹ˆÊ’u‚Å•ªŠò
     case @party_command_window.index
     when 0  # í‚¤
       # Œˆ’è SE ‚ð‰‰‘t
       $game_system.se_play($data_system.decision_se)
       @cp_thread.start
       # ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒYŠJŽn
       start_phase3
     end
     return
   end
   xrxs_bp1_update_phase2
 end
 #--------------------------------------------------------------------------
 # œ ŽŸ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
 #--------------------------------------------------------------------------
 def phase3_next_actor
   # ƒ‹[ƒv
   begin
     # ƒAƒNƒ^[‚Ì–¾–ŃGƒtƒFƒNƒg OFF
     if @active_battler != nil
       @active_battler.blink = false
     end
     # ÅŒã‚̃AƒNƒ^[‚̏ꍇ
     if @actor_index == $game_party.actors.size-1
       # ƒƒCƒ“ƒtƒF[ƒYŠJŽn
       @cp_thread.start
       start_phase4
       return
     end
     # ƒAƒNƒ^[‚̃Cƒ“ƒfƒbƒNƒX‚ði‚ß‚é
     @actor_index += 1
     @active_battler = $game_party.actors[@actor_index]
     @active_battler.blink = true
     if @active_battler.inputable? == false
       @active_battler.current_action.kind = -1
     end
     # ƒAƒNƒ^[‚ªƒRƒ}ƒ“ƒh“ü—Í‚ðŽó‚¯•t‚¯‚È‚¢ó‘Ô‚È‚ç‚à‚¤ˆê“x
   end until @active_battler.inputable?
   @cp_thread.stop
   # ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðƒZƒbƒgƒAƒbƒv
   @active_battler.now_guarding = false
   phase3_setup_command_window
 end
 #--------------------------------------------------------------------------
 # œ ‘O‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
 #--------------------------------------------------------------------------
 def phase3_prior_actor
   # ƒ‹[ƒv
   begin
     # ƒAƒNƒ^[‚Ì–¾–ŃGƒtƒFƒNƒg OFF
     if @active_battler != nil
       @active_battler.blink = false
     end
     # Å‰‚̃AƒNƒ^[‚̏ꍇ
     if @actor_index == 0
       # Å‰‚Ö–ß‚é
       start_phase3
       return
     end
     # ƒAƒNƒ^[‚̃Cƒ“ƒfƒbƒNƒX‚ð–ß‚·
     @actor_index -= 1
     @active_battler = $game_party.actors[@actor_index]
     @active_battler.blink = true
     # ƒAƒNƒ^[‚ªƒRƒ}ƒ“ƒh“ü—Í‚ðŽó‚¯•t‚¯‚È‚¢ó‘Ô‚È‚ç‚à‚¤ˆê“x
   end until @active_battler.inputable?
   @cp_thread.stop
   # ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðƒZƒbƒgƒAƒbƒv
   @active_battler.now_guarding = false
   phase3_setup_command_window
 end
 #--------------------------------------------------------------------------
 # œ ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃ZƒbƒgƒAƒbƒv
 #--------------------------------------------------------------------------
 alias xrxs_bp1_phase3_setup_command_window phase3_setup_command_window
 def phase3_setup_command_window
   # Œø‰Ê‰¹‚̍ж
   Audio.se_play($data_system_command_up_se) if $data_system_command_up_se != ""
   # –ß‚·
   xrxs_bp1_phase3_setup_command_window
 end
 #--------------------------------------------------------------------------
 # œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : Šî–{ƒRƒ}ƒ“ƒh)
 #--------------------------------------------------------------------------
 alias xrxs_bsp1_update_phase3_basic_command update_phase3_basic_command
 def update_phase3_basic_command
   # C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
   if Input.trigger?(Input::C)
     # ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃J[ƒ\ƒ‹ˆÊ’u‚Å•ªŠò
     case @actor_command_window.index
     when 4  # “¦‚°‚é
       if $game_temp.battle_can_escape
         # Œˆ’è SE ‚ð‰‰‘t
         $game_system.se_play($data_system.decision_se)
         # ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
         @active_battler.current_action.kind = 0
         @active_battler.current_action.basic = 4
         # ŽŸ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
         phase3_next_actor
       else
         # ƒuƒU[ SE ‚ð‰‰‘t
         $game_system.se_play($data_system.buzzer_se)
       end
       return
     end
   end
   xrxs_bsp1_update_phase3_basic_command
 end
 #--------------------------------------------------------------------------
 # œ ƒƒCƒ“ƒtƒF[ƒYŠJŽn
 #--------------------------------------------------------------------------
 alias xrxs_bp1_start_phase4 start_phase4
 def start_phase4
   xrxs_bp1_start_phase4
   # ƒGƒlƒ~[ƒAƒNƒVƒ‡ƒ“ì¬
   for enemy in $game_troop.enemies
     if enemy.cp < 65535
       enemy.current_action.clear
       enemy.current_action.kind = -1 # ƒ^[ƒ“”ò‚΂µB
       next
     end
     enemy.make_action
   end
   # s“®‡˜ì¬
   make_action_orders
 end
 #--------------------------------------------------------------------------
 # œ ƒtƒŒ[ƒ€XV (ƒƒCƒ“ƒtƒF[ƒY ƒXƒeƒbƒv 1 : ƒAƒNƒVƒ‡ƒ“€”õ)
 #--------------------------------------------------------------------------
 alias xrxs_bp1_update_phase4_step1 update_phase4_step1
 def update_phase4_step1
   # ‰Šú‰»
   @phase4_act_continuation = 0
   # Ÿ”s”»’è
   if judge
     @cp_thread.stop
     # Ÿ—˜‚Ü‚½‚Í”s–k‚̏ꍇ : ƒƒ\ƒbƒhI—¹
     return
   end
   # –¢s“®ƒoƒgƒ‰[”z—ñ‚̐擪‚©‚çŽæ“¾
   @active_battler = @action_battlers[0]
   # ƒXƒe[ƒ^ƒXXV‚ðCP‚¾‚¯‚ÉŒÀ’èB
   @status_window.update_cp_only = true
   # ƒXƒe[ƒgXV‚ð‹ÖŽ~B
   @active_battler.slip_state_update_ban = true if @active_battler != nil
   # –ß‚·
   xrxs_bp1_update_phase4_step1
   # ‹ÖŽ~‚ð‰ðœ
   @status_window.update_cp_only = false
   @active_battler.slip_state_update_ban = false if @active_battler != nil
 end
 #--------------------------------------------------------------------------
 # œ ƒtƒŒ[ƒ€XV (ƒƒCƒ“ƒtƒF[ƒY ƒXƒeƒbƒv 2 : ƒAƒNƒVƒ‡ƒ“ŠJŽn)
 #--------------------------------------------------------------------------
 alias xrxs_bp1_update_phase4_step2 update_phase4_step2
 def update_phase4_step2
   # ‹­§ƒAƒNƒVƒ‡ƒ“‚Å‚È‚¯‚ê‚Î
   unless @active_battler.current_action.forcing
     # CP‚ª‘«‚è‚Ä‚¢‚È‚¢ê‡
     if @phase4_act_continuation == 0 and @active_battler.cp < 65535
       @phase4_step = 6
       return
     end
     # §–ñ‚ª [“G‚ð’ʏíUŒ‚‚·‚é] ‚© [–¡•û‚ð’ʏíUŒ‚‚·‚é] ‚̏ꍇ
     if @active_battler.restriction == 2 or @active_battler.restriction == 3
       # ƒAƒNƒVƒ‡ƒ“‚ɍUŒ‚‚ðÝ’è
       @active_battler.current_action.kind = 0
       @active_battler.current_action.basic = 0
     end
     # §–ñ‚ª [s“®‚Å‚«‚È‚¢] ‚̏ꍇ
     if @active_battler.restriction == 4
       # ƒAƒNƒVƒ‡ƒ“‹­§‘Ώۂ̃oƒgƒ‰[‚ðƒNƒŠƒA
       $game_temp.forcing_battler = nil
       if @phase4_act_continuation == 0 and @active_battler.cp >= 65535
         # ƒXƒe[ƒgŽ©‘R‰ðœ
         @active_battler.remove_states_auto
         # CPÁ”ï
         @active_battler.cp = [(@active_battler.cp - 65535),0].max
         # ƒXƒe[ƒ^ƒXƒEƒBƒ“ƒhƒE‚ðƒŠƒtƒŒƒbƒVƒ…
         @status_window.refresh
       end
       # ƒXƒeƒbƒv 1 ‚Ɉڍs
       @phase4_step = 1
       return
     end
   end
   # ƒAƒNƒVƒ‡ƒ“‚ÌŽí•Ê‚Å•ªŠò
   case @active_battler.current_action.kind
   when 0
     # UŒ‚¥–hŒäE“¦‚°‚éE‰½‚à‚µ‚È‚¢Žž‚Ì‹¤’ʏÁ”ïCP
     @active_battler.cp -=     0 if @phase4_act_continuation == 0
   when 1
     # ƒXƒLƒ‹Žg—pŽž‚̏Á”ïCP
     @active_battler.cp -= 65535 if @phase4_act_continuation == 0
   when 2
     # ƒAƒCƒeƒ€Žg—pŽž‚̏Á”ïCP
     @active_battler.cp -= 65535 if @phase4_act_continuation == 0
   when -1
     # CP‚ª—­‚Ü‚Á‚Ä‚¢‚È‚¢
     @phase4_step = 6
     return
   end
   # CP‰ÁŽZ‚ðˆêŽž’âŽ~‚·‚é
   @cp_thread.stop = true
   # ƒXƒe[ƒgŽ©‘R‰ðœ
   @active_battler.remove_states_auto
   xrxs_bp1_update_phase4_step2
 end
 #--------------------------------------------------------------------------
 # œ Šî–{ƒAƒNƒVƒ‡ƒ“ Œ‹‰Êì¬
 #--------------------------------------------------------------------------
 alias xrxs_bp1_make_basic_action_result make_basic_action_result
 def make_basic_action_result
   # UŒ‚‚̏ꍇ
   if @active_battler.current_action.basic == 0 and @phase4_act_continuation == 0
     @active_battler.cp -= 65535 # UŒ‚Žž‚ÌCPÁ”ï
   end
   # –hŒä‚̏ꍇ
   if @active_battler.current_action.basic == 1 and @phase4_act_continuation == 0
     @active_battler.cp -= 32767 # –hŒäŽž‚ÌCPÁ”ï
   end
   # “G‚Ì“¦‚°‚é‚̏ꍇ
   if @active_battler.is_a?(Game_Enemy) and
      @active_battler.current_action.basic == 2 and @phase4_act_continuation == 0
     @active_battler.cp -= 65535 # “¦‘–Žž‚ÌCPÁ”ï
   end
   # ‰½‚à‚µ‚È‚¢‚̏ꍇ
   if @active_battler.current_action.basic == 3 and @phase4_act_continuation == 0
     @active_battler.cp -= 32767 # ‰½‚à‚µ‚È‚¢Žž‚ÌCPÁ”ï
   end
   # “¦‚°‚é‚̏ꍇ
   if @active_battler.current_action.basic == 4 and @phase4_act_continuation == 0
     @active_battler.cp -= 65535 # “¦‘–Žž‚ÌCPÁ”ï
     # “¦‘–‰Â”\‚Å‚Í‚È‚¢ê‡
     if $game_temp.battle_can_escape == false
       # ƒuƒU[ SE ‚ð‰‰‘t
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     # Œˆ’è SE ‚ð‰‰‘t
     $game_system.se_play($data_system.decision_se)
     # “¦‘–ˆ—
     update_phase2_escape
     return
   end
   xrxs_bp1_make_basic_action_result
 end
 #--------------------------------------------------------------------------
 # œ ƒtƒŒ[ƒ€XV (ƒƒCƒ“ƒtƒF[ƒY ƒXƒeƒbƒv 5 : ƒ_ƒ[ƒW•\Ž¦)
 #--------------------------------------------------------------------------
 alias xrxs_bp1_update_phase4_step5 update_phase4_step5
 def update_phase4_step5
   # ƒXƒŠƒbƒvƒ_ƒ[ƒW
   if @active_battler.hp > 0 and @active_battler.slip_damage?
     @active_battler.slip_damage_effect
     @active_battler.damage_pop = true
   end
   xrxs_bp1_update_phase4_step5
 end
 #--------------------------------------------------------------------------
 # œ ƒtƒŒ[ƒ€XV (ƒƒCƒ“ƒtƒF[ƒY ƒXƒeƒbƒv 6 : ƒŠƒtƒŒƒbƒVƒ…)
 #--------------------------------------------------------------------------
 alias xrxs_bp1_update_phase4_step6 update_phase4_step6
 def update_phase4_step6
   # CP‰ÁŽZ‚ðÄŠJ‚·‚é
   @cp_thread.stop = false
   # ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ð‰B‚·
   @help_window.visible = false
   xrxs_bp1_update_phase4_step6
 end
end
# ¥£¥ XRXS_BP 7. ƒoƒgƒ‹ƒXƒe[ƒ^ƒXEƒNƒŠƒAƒfƒUƒCƒ“ ver.1.02 ¥£¥
# by ÷‰ë Ý“y, TOMY

#==============================================================================
# ¡ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
 #--------------------------------------------------------------------------
 # œ ŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•Ï”
 #--------------------------------------------------------------------------
 attr_accessor   :update_cp_only                   # CPƒ[ƒ^[‚݂̂̍XV
 #--------------------------------------------------------------------------
 # œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
 #--------------------------------------------------------------------------
 alias xrxs_bp7_initialize initialize
 def initialize
   xrxs_bp7_initialize
   # «Full-View‚̏ꍇ‚͉º“ñs‚Ì # ‚ðÁ‚µ‚Ä‚­‚¾‚³‚¢B
   #self.opacity = 0
   #self.back_opacity = 0
 end
 #--------------------------------------------------------------------------
 # œ ƒŠƒtƒŒƒbƒVƒ…
 #--------------------------------------------------------------------------
 alias xrxs_bp7_refresh refresh
 def refresh
   if @update_cp_only
     xrxs_bp7_refresh
     return
   end
   # •`ŽÊ‚ð‹ÖŽ~‚µ‚È‚ª‚ç–ß‚·
   @draw_ban = true
   xrxs_bp7_refresh
   # •`ŽÊ‚Ì‹ÖŽ~‚ð‰ðœ
   @draw_ban = false
   # •`ŽÊ‚ðŠJŽn
   @item_max = $game_party.actors.size
   for i in 0...$game_party.actors.size
     actor = $game_party.actors
     actor_x = i * 160 + 21
     # •àsƒLƒƒƒ‰ƒOƒ‰ƒtƒBƒbƒN‚Ì•`ŽÊ
     draw_actor_graphic(actor, actor_x - 9, 116)
     # HP/SPƒ[ƒ^[‚Ì•`ŽÊ
     draw_actor_hp_meter_line(actor, actor_x,  72, 96, 12)
     draw_actor_sp_meter_line(actor, actor_x, 104, 96, 12)
     # HP”’l‚Ì•`ŽÊ
     self.contents.font.size = 24            # HP/SP”’l‚Ì•¶Žš‚Ì‘å‚«‚³
     self.contents.font.color = actor.hp == 0 ? knockout_color :
       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
     draw_shadow_text(actor_x-2, 58, 96, 24, actor.hp.to_s, 2)
     # SP”’l‚Ì•`ŽÊ
     self.contents.font.color = actor.sp == 0 ? knockout_color :
       actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
     draw_shadow_text(actor_x-2, 90, 96, 24, actor.sp.to_s, 2)
     # —pŒêuHPv‚Æ—pŒêuSPv‚Ì•`ŽÊ
     self.contents.font.size = 12            # —pŒêuHP/SPv‚Ì•¶Žš‚Ì‘å‚«‚³
     self.contents.font.color = system_color # —pŒêuHP/SPv‚Ì•¶Žš‚̐F
     draw_shadow_text(actor_x, 60, 96, 12, $data_system.words.hp)
     draw_shadow_text(actor_x, 92, 96, 12, $data_system.words.sp)
     
     draw_actor_state(actor, actor_x, 100)
   end
 end
end
#==============================================================================
# ¡ Window_Base
#==============================================================================
class Window_Base < Window
 #--------------------------------------------------------------------------
 # œ HPƒ[ƒ^[ ‚Ì•`‰æ
 #--------------------------------------------------------------------------
 def draw_actor_hp_meter_line(actor, x, y, width = 156, height = 4)
   w = width * actor.hp / actor.maxhp
   hp_color_1 = Color.new(255,   0,   0, 192)
   hp_color_2 = Color.new(255, 255,   0, 192)
   self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
   draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
   x -= 1
   y += (height/4).floor
   self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
   draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
   x -= 1
   y += (height/4).ceil
   self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
   draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
   x -= 1
   y += (height/4).ceil
   self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
   draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
 end
 #--------------------------------------------------------------------------
 # œ SPƒ[ƒ^[ ‚Ì•`‰æ
 #--------------------------------------------------------------------------
 def draw_actor_sp_meter_line(actor, x, y, width = 156, height = 4)
   w = width * actor.sp / actor.maxsp
   hp_color_1 = Color.new(  0,   0, 255, 192)
   hp_color_2 = Color.new(  0, 255, 255, 192)
   self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
   draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
   x -= 1
   y += (height/4).floor
   self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
   draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
   x -= 1
   y += (height/4).ceil
   self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
   draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
   x -= 1
   y += (height/4).ceil
   self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
   draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
 end
 #--------------------------------------------------------------------------
 # œ –¼‘O‚Ì•`‰æ
 #--------------------------------------------------------------------------
 alias xrxs_bp7_draw_actor_name draw_actor_name
 def draw_actor_name(actor, x, y)
   xrxs_bp7_draw_actor_name(actor, x, y) if @draw_ban != true
 end
 #--------------------------------------------------------------------------
 # œ ƒXƒe[ƒg‚Ì•`‰æ
 #--------------------------------------------------------------------------
 alias xrxs_bp7_draw_actor_state draw_actor_state
 def draw_actor_state(actor, x, y, width = 120)
   xrxs_bp7_draw_actor_state(actor, x, y, width) if @draw_ban != true
 end
 #--------------------------------------------------------------------------
 # œ HP ‚Ì•`‰æ
 #--------------------------------------------------------------------------
 alias xrxs_bp7_draw_actor_hp draw_actor_hp
 def draw_actor_hp(actor, x, y, width = 144)
   xrxs_bp7_draw_actor_hp(actor, x, y, width) if @draw_ban != true
 end
 #--------------------------------------------------------------------------
 # œ SP ‚Ì•`‰æ
 #--------------------------------------------------------------------------
 alias xrxs_bp7_draw_actor_sp draw_actor_sp
 def draw_actor_sp(actor, x, y, width = 144)
   xrxs_bp7_draw_actor_sp(actor, x, y, width) if @draw_ban != true
 end
end
#==============================================================================
# ž ŠO•”ƒ‰ƒCƒuƒ‰ƒŠ
#==============================================================================
class Window_Base
 #--------------------------------------------------------------------------
 # œ ƒ‰ƒCƒ“•`‰æ by ÷‰ë Ý“y
 #--------------------------------------------------------------------------
 def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
   # •`ŽÊ‹——£‚ÌŒvŽZB‘å‚«‚ß‚É’¼ŠpŽž‚Ì’·‚³B
   distance = (start_x - end_x).abs + (start_y - end_y).abs
   # •`ŽÊŠJŽn
   if end_color == start_color
     for i in 1..distance
       x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
       y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
       self.contents.fill_rect(x, y, width, width, start_color)
     end
   else
     for i in 1..distance
       x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
       y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
       r = start_color.red   * (distance-i)/distance + end_color.red   * i/distance
       g = start_color.green * (distance-i)/distance + end_color.green * i/distance
       b = start_color.blue  * (distance-i)/distance + end_color.blue  * i/distance
       a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
       self.contents.fill_rect(x, y, width, width, Color.new(r, g, b, a))
     end
   end
 end

 #--------------------------------------------------------------------------
 # œ ‰e•¶Žš•`‰æ by TOMY
 #--------------------------------------------------------------------------
 def draw_shadow_text(x, y, width, height, string, align = 0)
   # Œ³‚̐F‚ð•Û‘¶‚µ‚Ä‚¨‚­
   color = self.contents.font.color.dup
   # •Žš‚ʼne•`‰æ
   self.contents.font.color = Color.new(0, 0, 0)
   self.contents.draw_text(x + 2, y + 2, width, height, string, align)
   # Œ³‚̐F‚É–ß‚µ‚Ä•`‰æ
   self.contents.font.color = color
   self.contents.draw_text(x, y, width, height, string, align)
 end
end


any help would be massively appreciated. thanks in advance.

*
Rep:
Level 87
You need to post the exact error message before someone can help you.

Also, you say the crash mentions line 944, but the script you've supplied above only has 345 lines, and appears to have a big chunk missing from the beginning, based on the numerous END statements without the beginning statements for those blocks.  You need to identify which line is line 944, as we can't tell based on what you've got above.
Always remember you're unique.
Just like everybody else.

*
Rep:
Level 87
and I think it should have gone into Scripts - just check, as the forums usually have a pinned topic saying what kind of questions belong there :)

Edit: Yup - this is where it should have been posted: RMXP Scripts Help - Ask for help making your own script or ask for help with an error.
« Last Edit: December 23, 2009, 11:24:22 AM by shaz »
Always remember you're unique.
Just like everybody else.