Brume

ATB sur RPG XP, problême avec le script

15 contributions / 0 nouveau(x)
Dernière contribution
Portrait de Lionheart
J'ai mis un script de ATB battle qui doit marcher sur XP, mais il ne marche pas... quelqu'un peut me dire où est le problême? Il est censé marcher

voici le script


Citation

#==============================================================================
# ¦ 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






PS : Arf, des smileys s'invitent
Portrait de Funky Jah
:lol: :bravo: aaaaaaaaaahhhhhhhh, qu'est-ce que j'ai bien ri en voyant ce post !
sérieusement, 15 pages de code source incompréhensible, ça me fait cet effet là :berk:
Portrait de Elenna

D'you speak french ?

Portrait de Exelo
Désolé Lionheart, mais je n'y connais rien en Ruby (le code des scripts RM XP)...
Portrait de Funky Jah
Je viens de piger un truc, ce code source a été écrit dans une langue qui n'utilise pas l'alphabet latin (d'où les caractères bizarres sur toutes les lignes qui commencent par #, ce qui correspond aux commentaires). Ya des chances qu'à cause d'un problème d'encodage, ça fasse merder aussi le code. La seule solution, c'est de vérifier tout le code source, mais pour ça faut s'y connaitre en Ruby (et n'avoir que ça à faire aussi)
Portrait de Lionheart

J'avais pas vu le problême d'alphabet... surtout que ça me bloque les autres evenements... quelqu'un a un script qui marche?

Portrait de Funky Jah
Citation (Lionheart le Samedi 3 Février 2007 à 20:51)

J'avais pas vu le problême d'alphabet...




ah ? t'arrives à lire ça toi ? Citation

# Å’³â€šÌF‚É–ß‚µâ€šÄ•`‰æ



à mon avis les commentaires son écrits en japonais (principalement des katakanas) encodés en utf-7 (ou un truc ressemblant)
désolé mais je refuse de lire un code source dont je ne comprends pas les commentaires
Portrait de Lionheart

Oui mais ils ne soit pas la cause du fait que le script fait bugeur des trucs, si?

Portrait de Poppu

Non puisque c'est en commentaire.

Portrait de Lionheart
Bon, comme les trucs bizarres sont des commentaires, quelqu'n peut me dire pourquoi le scripte bloque les évènements?
Portrait de Funky Jah
juste pour info, ça m'est arrivé de voir un problème d'encodage sur les commentaires faire planter un script

pour ceux que ça intéresse, c'est quand un script est analysé comme étant encodé en iso-8859-1 alors qu'en réalité c'est de l'utf-8, du coup si une ligne de commentaire se termine par exemple par un caractère accentué, il "mange" le saut de ligne, et ça fout le bordel (mais ça ne semble pas être le cas ici)
Portrait de Lionheart
Tu vas rire funky, mais je crois que si : il y avait un espace de trop à la fin
Portrait de Funky Jah

et ça marche maintenant ?

Portrait de Lionheart
A mon plus grand étonnement, oui
Portrait de Funky Jah

bon ben ravi d'avoir pu t'aider :lol:

Ajouter un commentaire

(If you're a human, don't change the following field)
(If you're a human, don't change the following field)