Sign in to follow this  
Followers 0
xXDarkDragonXx

ATB ~ New Battle

3 posts in this topic

~ Active Time Battle System ~
Por: MakirouAru

Este es un CBS (Custom Battle System / Sistema de Batalla Personalizado) hecho por MakirouAru. Lo que hace es crear barras de tiempo estilo Final Fantasy. Cuando esa barra se llena, es el turno del héroe que se le lleno. La Agilidad influye en cuanto tiempo se llana. Mientras más tengas, más rapido se llena.

He aquí el script.

Abran el Editor de Scripts (F11) y creen clase nueva arriba de Main. Llamenla como deseen. Dentro pegen el siguiente script:

CODE
#==============================================================================
# ¦ 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, "¡SUBE DE NIVEL!")
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             # ¡SUBE DE NIVEL!•\Ž¦
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[i].exp_gain_ban = true
end
xrxs_bp10_start_phase5
# EXP Šl“¾‹ÖŽ~‚̉ðœ
for i in 0...$game_party.actors.size
 $game_party.actors[i].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[i].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[i].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[i].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[i]
   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[i]
 actor_x = i * 160 + 4
 draw_actor_cp_meter(actor, actor_x, 96, 120, 0)
end
end
#--------------------------------------------------------------------------
def draw_actor_name(actor, x, y)
 self.contents.font.color = normal_color
 self.contents.font.size = 24
 self.contents.draw_text(x, y, 120, 32, actor.name)
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, "Huir"])
@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
end
end
#==============================================================================
# ¡ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# œ –¼‘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
#==============================================================================
# ž Š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
end


Que les agrdade. :lol: Edited by Fegarur
0

Share this post


Link to post
Share on other sites
Muy Buen Script Pero Tengo Una Duda Eske Lo Puse Y Sirvio Y Le puse para poder Pelear Pero No Me Gusta El Estilo De La Barrita Que Se Llena La Pregunta Es
¿Se Puede Cambiar El Tipo De Barrita?
0

Share this post


Link to post
Share on other sites
Lo malo es que es incompatible con el sistema de batalla lateral mediante los charaset....se podría adaptar???
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0