The RPG Maker Resource Kit

RMRK RPG Maker Creation => RPG Maker General => General Scripting => Topic started by: idahlo on October 25, 2006, 07:44:57 PM

Title: i need a script please :D
Post by: idahlo on October 25, 2006, 07:44:57 PM
could any1 make me a script that changes the char image on the menu... i need to change instead of showing the sprite to show the face of the char :P i hope u guys understand what i mean XD
Title: Re: i need a script please :D
Post by: &&&&&&&&&&&&& on October 25, 2006, 08:22:24 PM
I think i can do that...
Title: Re: i need a script please :D
Post by: idahlo on October 26, 2006, 01:02:23 AM
wow can u? i will be really glad :D but could u put for 4 chars plz? i saw one with 3 chars only and it dont  works for me XD thx :D
Title: Re: i need a script please :D
Post by: &&&&&&&&&&&&& on October 26, 2006, 01:41:06 AM
http://rmrk.net/index.php?topic=2966.msg86017#msg86017  (LINK)

Ta'da
Title: Re: i need a script please :D
Post by: idahlo on October 26, 2006, 02:12:49 AM
hmmm i dont understand that one i rather that some make it for me >_> that guy dont explain well what to do. but well thx for the help
Title: Re: i need a script please :D
Post by: Blizzard on October 26, 2006, 12:49:50 PM
Simplier and more short. Just put this into a new script over main.

module RPG

  module Cache

    def self.faces(filename)
      path = "Graphics/Faces/"
      return load_bitmap(path,filename)
    end

  end

end

class Window_Base < Window

  def draw_actor_face(actor,x,y)
    bitmap = RPG::Cache.faces(actor.name)
    rect = Rect.new(x, y, bitmap.width, bitmap.height)
    self.contents.blt(rect,bitmap)
  end

end


Press CTRL+SHIFT+F in the Scene_Menu script and type in the first part

draw_actor_character(actor, x, y)

and in the second

draw_actor_face(actor, x, y)

Press ENTER and done.

Now create a Faces folder in the Graphics folder and place all your faces there, making the filenames the same as the character's name.
Title: Re: i need a script please :D
Post by: idahlo on October 26, 2006, 03:12:12 PM
thx blizzard :P i can c u advanced a lot since my last post XD i buzz's brother the one was making space twister hope u remember XD
Title: Re: i need a script please :D
Post by: idahlo on October 26, 2006, 03:26:56 PM
hmmm... when i press that it apears a window and i put draw_actor_character(actor, x, y) there and it says it didnt find anything... what should i do
Title: Re: i need a script please :D
Post by: The Mystical One on October 26, 2006, 04:47:14 PM
Don't search for it exactly like that, since x and y will be replaced by numbers in the actual script.  Just search for draw_actor_character(actor, and you should find that.
Title: Re: i need a script please :D
Post by: idahlo on October 26, 2006, 04:57:31 PM
it says sintax error... maybe im doing something wrong lol XD
Title: Re: i need a script please :D
Post by: &&&&&&&&&&&&& on October 26, 2006, 08:28:07 PM
Try the one I showed you.
Title: Re: i need a script please :D
Post by: Sthrattoff on October 27, 2006, 02:18:35 AM
Blizz....
I've found an easier way...
Like this


class Window_Base < Window
def draw_actor_face(actor, x, y)
bitmap = RPG::Cache.picture(actor.name)
self.contents.blt(x, y, bitmap, Rect.new(0, 0, 72, 72)
end
end


Paste that code above the Main.
And if that doesn't works...

add this to Window_Base on the lower part of that script

def draw_actor_face(actor, x, y)
bitmap = RPG::Cache.picture(actor.name)
self.contents.blt(x, y, bitmap, Rect.new(0, 0, 72, 72)
end


Now to the technical problem, you need to resize your faceset to 72x72 pixel, but just import it to the pictures resource folder (Import: Graphics/Pictures)

And where you want to add the faceset (e.g the menu, so go to Window_MenuStatus), add this line on the def refresh :

draw_actor_face(actor, x, y)

You can change the x and y if it isn't on the right place...

Hope it works...
Title: Re: i need a script please :D
Post by: idahlo on October 27, 2006, 03:28:38 PM
im still getting sintax errors
Title: Re: i need a script please :D
Post by: Blizzard on October 27, 2006, 04:07:04 PM
@Sthrattoff: No offense, I only explained Tsuno's code. xD

My bad, you need to replace

draw_actor_character

with

draw_actor_face

without and (...)
Title: Re: i need a script please :D
Post by: idahlo on October 27, 2006, 06:48:57 PM
it need some fixes :P i dunno how to fix this check it out
this is my script in window base

  def draw_actor_face(actor, x, y)
    bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
    cw = bitmap.width / 4
    ch = bitmap.height / 4
    src_rect = Rect.new(0, 0, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)

(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg109.imageshack.us%2Fimg109%2F1462%2Fdibujodo9.jpg&hash=a8e767c5e6646319cfddd5fde86b389f7bc66b78) (http://imageshack.us)
Title: Re: i need a script please :D
Post by: Sthrattoff on October 28, 2006, 04:33:51 AM
Awawawawaaa!!!

@Blizzard = you're right! I've forgot to tell him to erase the draw_actor_graphic line.
@Blizzard again = and i've trying tsuno's code and get error. So i've modified his code and become the code i've posted. Nice learner, don't I?
@idahlo = well, I'll try to make you smart on scripting (I still learning too... Don't worry). Just go to Window_MenuStatus. You should see these lines

def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_face(actor, 0 + 10, y + 10)  #Diedit lebih lanjut!!!
      draw_actor_name(actor, x + 24, y)
      draw_actor_class(actor, x + 122, y)
      draw_actor_level(actor, x + 24, y + 30)
      draw_actor_state(actor, x + 122, y + 30)
      draw_actor_exp(actor, x + 24, y + 60)
      draw_actor_hp(actor, x + 236, y)
      draw_hp_bar(actor, x + 236, y + 24, 120)
      draw_actor_sp(actor, x + 236, y + 30)
      draw_sp_bar(actor, x + 236, y + 54, 120)
    end
  end


OOPS, I've modified this. Anyway, try to do this for example :

draw_actor_name(actor, x + how, y + how)

Change the how with number. Keep tryin' until it sees fit. Do this to all line containing "draw_actor_..."
Or... Just use the code above and make sure to erase this from Window_MenuStatus before you pasting the code above (paste it to Window_MenuStatus too...)

def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 116
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, x - 40, y + 80)
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 144, y)
      draw_actor_level(actor, x, y + 32)
      draw_actor_state(actor, x + 90, y + 32)
      draw_actor_exp(actor, x, y + 64)
      draw_actor_hp(actor, x + 236, y + 32)
      draw_actor_sp(actor, x + 236, y + 64)
    end
  end


And still don't forget to add this to Window_Base. You copy my code or not, don't forget to copy the script below :

def draw_actor_face(actor, x, y)
bitmap = RPG::Cache.picture(actor.name)
self.contents.blt(x, y, bitmap, Rect.new(0, 0, 72, 72)
end


Wooow...
Hope it works... :D
Title: Re: i need a script please :D
Post by: Blizzard on October 28, 2006, 05:13:55 PM
This thing:

self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)

Make it look like

self.contents.blt(x, y, bitmap, src_rect)

If it still is not correct mess around with it like

self.contents.blt(x+16, y-16, bitmap, src_rect)

until it's correct.
Title: Re: i need a script please :D
Post by: idahlo on October 28, 2006, 05:21:39 PM
i fixed it by my self :P dunno how but i did! muahaha thx for the help :P ur good guys ^^ now i need some help with a battle thingie

(https://rmrk.net/proxy.php?request=http%3A%2F%2Fimg114.imageshack.us%2Fimg114%2F4007%2Fdibujocc3.jpg&hash=ced4216d648175e36a6fb8a6a90eaa309009cde7) (http://imageshack.us)

i want to change the font size of the Name ,SP, HP and Status thingie how do i do that :P
Title: Re: i need a script please :D
Post by: Blizzard on October 28, 2006, 05:26:55 PM
1) In Seph's script find "class Window_BattleStatus" and "def initialize". There should be

self.contents.font.size = NUMBER

Just increase NUMBER.

2) Look at my post above. You just need to change the x and y of the drawing.
Title: Re: i need a script please :D
Post by: idahlo on October 28, 2006, 06:16:30 PM
thx blizz yeah i saw the 2) thingie before so i deleted it xD hehe sry for my stupidity i will test out the number thingie thx


Modified) i wanna change everyones hp sp status and name if i do what u say it only changes karthack i think my image made a missunderstand and when i do something in the battle it goes back to it normal size :S
Title: Re: i need a script please :D
Post by: Blizzard on October 28, 2006, 06:28:22 PM
It goes back? Then change every

self.contents.font.size = NUMBER

in "class Window_Battle_Status"

And what do you want to change now in the status screen? ?_? You can change the name of HP/SP in the Database->System Tab. The Normal can also be changed. Press CTRL+SHIFT+F in the scripts editor and type "def make_battler_state_text". There you can change what should be displayed in case of no status effect applied on the characters.
Title: Re: i need a script please :D
Post by: idahlo on October 28, 2006, 10:33:47 PM
ok what i need is to change the size of the name only now.. i cant change the size cuz when i go where u say it only changes karthack one and it change it back to normal.. so i went to the other script i have that changed the style of the bars, so i was trying to find how to change the size and what i found is that if i change the name size it changes the sp and hp size too and it looks ugly cuz the sp bars cover it xD so if u kno the way to change the name size only o a way to make the sp and hp stays in the front always tell me how plz ^^ heres my script
#==============================================================================
# ¦ 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[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_me != "Audio/ME/011-Item02"
           Audio.me_stop
           Audio.me_play($data_system_level_up_me)
         end
         if $data_system_level_up_me != "Audio/ME/011-Item02"
           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
#--------------------------------------------------------------------------
# œ 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[i]
     actor_x = i * 160 + 21
     # •àsƒLƒƒƒ‰ƒOƒ‰ƒtƒBƒbƒN,Ì•`ŽÊ
     draw_actor_name(actor, actor_x - 0, 32)
     # 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 += 8           # 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, 54, 96, 32, 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, 86, 96, 32, actor.sp.to_s, 2)
     # —pŒêuHPv,Æ—pŒêuSPv,Ì•`ŽÊ
     self.contents.font.size -= 14           # —pŒêuHP/SPv,Ì•¶Žš,Ì'å,«,³
     self.contents.font.color = system_color # —pŒêuHP/SPv,Ì•¶Žš,̐F
     draw_shadow_text(actor_x, 52, 96, 32, $data_system.words.hp)
     draw_shadow_text(actor_x, 84, 90, 32, $data_system.words.sp)
     draw_actor_state(actor, actor_x, 100)
     self.contents.font.size += 6           # —pŒêuHP/SPv,Ì•¶Žš,Ì'å,«,³
   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
Title: Re: i need a script please :D
Post by: Arrow on October 29, 2006, 01:06:39 AM
Dude, that Zara battler looks wicked. Where'd you find it?
Title: Re: i need a script please :D
Post by: Blizzard on October 29, 2006, 12:45:27 PM
I modified the code you posted. Just copy paste him back into your game. BTW, use [ code ] tags, otherwise the code gets corrupted, because [ i ] will be treated as the "make text italic" forum text command. >.<
Title: Re: i need a script please :D
Post by: idahlo on October 29, 2006, 05:18:59 PM
THX BLIZZ JUST WHAT I NEEDED!! xd THX A LOT