06-17-2006, 01:00 PM
(This post was last modified: 06-10-2017, 04:10 AM by DerVVulfman.)
Level UP Screen after fight
Akxiv
Jun 17 2006
OK, Yesterday I was looking for a level up box after fight... After 3 hours and a lot of broken links I've found here 2 Scripts.
But there was a new Problem^^
The 2 Scripts was borken -.-
Then I've tried to repair it and after 30 minutes work I've found the reason. Then the game started finally. I fighted with an test monster and win wink.gif but then the level up boxes are all at the same place -.-
After 2 hours work I repaired the script and now its work nearly perfect.
Now I've decided give you the script, too.
Have fun with the full working level up screen^^
Akxiv
Jun 17 2006
This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.
No support is given. If you are the owner of the thread, please contact administration.
OK, Yesterday I was looking for a level up box after fight... After 3 hours and a lot of broken links I've found here 2 Scripts.
But there was a new Problem^^
The 2 Scripts was borken -.-
Then I've tried to repair it and after 30 minutes work I've found the reason. Then the game started finally. I fighted with an test monster and win wink.gif but then the level up boxes are all at the same place -.-
After 2 hours work I repaired the script and now its work nearly perfect.
Now I've decided give you the script, too.
Have fun with the full working level up screen^^
Here is my script
Code:
#================================================
# Level Up Box
#================================================
#V 2
#By Akxiv
#Modified at 27. June 2006
#==============================================================================
# Class Scene Battle
#==============================================================================
class Scene_Battle
LEVEL_UP_SE = "" # Soundeffect for Level UP
LEVEL_UP_ME = "Audio/ME/007-Fanfare01" # Audio Sound for Level UP
end
class Window_SkillLearning < Window_Base
SKILLLEARN_SE = "Audio/SE/106-Heal02" # Soundeffect if Skill learning
end
#==============================================================================
# Window_LevelUpWindow
#------------------------------------------------------------------------------
#==============================================================================
class Window_LevelUpWindow < Window_Base
#--------------------------------------------------------------------------
def initialize(x, y, actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
# super(x, y, 160, 192)
super(x-x, y-64, 160, 192+64)
self.contents = Bitmap.new(width - 32, height - 32)
self.visible = false
self.back_opacity = 160
refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
end
#--------------------------------------------------------------------------
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.size = 20
self.contents.font.name = "Arial"
self.contents.draw_text( 20, 0, 160, 24, "LEVEL UP!!")
self.contents.font.size = 20
self.contents.font.name = "Arial"
self.contents.draw_text( 0, 28+64, 160, 24, $data_system.words.hp)
self.contents.draw_text( 0, 50+64, 160, 24, $data_system.words.sp)
self.contents.font.size = 20
self.contents.font.name = "Arial"
self.contents.draw_text( 0, 0+64, 80, 24, "Level")
self.contents.draw_text( 0, 72+64, 80, 24, $data_system.words.str[0,3])
self.contents.draw_text( 0, 94+64, 80, 24, $data_system.words.dex[0,3])
self.contents.draw_text( 0, 116+64, 80, 24, $data_system.words.agi[0,3])
self.contents.draw_text( 0, 138+64, 80, 24, $data_system.words.int[0,3])
self.contents.draw_text(76, 0+64, 128, 24, "=")
self.contents.draw_text(76, 28+64, 128, 24, "=")
self.contents.draw_text(76, 50+64, 128, 24, "=")
self.contents.draw_text(76, 72+64, 128, 24, "=")
self.contents.draw_text(76, 94+64, 128, 24, "=")
self.contents.draw_text(76, 116+64, 128, 24, "=")
self.contents.draw_text(76, 138+64, 128, 24, "=")
self.contents.font.size = 20
self.contents.font.color = normal_color
self.contents.draw_text( 0, 0+64, 72, 24, "+" + (actor.level-last_lv).to_s, 2)
self.contents.draw_text( 0, 28+64, 72, 24, "+" + up_hp.to_s, 2)
self.contents.draw_text( 0, 50+64, 72, 24, "+" + up_sp.to_s, 2)
self.contents.draw_text( 0, 72+64, 72, 24, "+" + up_str.to_s, 2)
self.contents.draw_text( 0, 94+64, 72, 24, "+" + up_dex.to_s, 2)
self.contents.draw_text( 0, 116+64, 72, 24, "+" + up_agi.to_s, 2)
self.contents.draw_text( 0, 138+64, 72, 24, "+" + up_int.to_s, 2)
self.contents.font.size = 20
self.contents.font.name = "Arial"
self.contents.draw_text( 0, 0+64, 128, 24, actor.level.to_s, 2)
self.contents.draw_text( 0, 26+64, 128, 24, actor.maxhp.to_s, 2)
self.contents.draw_text( -40, 26, 128, 24, actor.name, 2)
self.contents.draw_text( 0, 48+64, 128, 24, actor.maxsp.to_s, 2)
self.contents.draw_text( 0, 70+64, 128, 24, actor.str.to_s, 2)
self.contents.draw_text( 0, 92+64, 128, 24, actor.dex.to_s, 2)
self.contents.draw_text( 0, 114+64, 128, 24, actor.agi.to_s, 2)
self.contents.draw_text( 0, 136+64, 128, 24, actor.int.to_s, 2)
end
end
#==============================================================================
# ¡ Window_SkillLearning
#==============================================================================
class Window_SkillLearning < Window_Base
#--------------------------------------------------------------------------
attr_reader :learned
#--------------------------------------------------------------------------
def initialize(class_id, last_lv, now_lv)
super(160, 64-32, 320, 64)
self.contents = Bitmap.new(width - 32, height - 28)
self.visible = false
self.back_opacity = 160
@learned = false
refresh(class_id, last_lv, now_lv)
end
#--------------------------------------------------------------------------
def refresh(class_id, last_lv, now_lv)
for i in 0...$data_classes[class_id].learnings.size
learn_lv = $data_classes[class_id].learnings[i].level
if learn_lv > last_lv and learn_lv <= now_lv
@learned = true
if SKILLLEARN_SE != "" #SE for Skilllearning
Audio.se_play(SKILLLEARN_SE)
end
skill_name = $data_skills[$data_classes[class_id].learnings[i].skill_id].name
self.contents.clear
self.contents.font.name = "Arial"
self.contents.draw_text(0,0,448,32, skill_name + " learned !!") #Skillname and then your text (here is for example Cut learned !!)
self.visible = true
loop do
Graphics.update
Input.update
update
if @learned == false
break
end
end
end
end
end
#--------------------------------------------------------------------------
def update
if Input.trigger?(Input::C)
@learned = false
self.visible = false
end
end
end
#==============================================================================
# Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
attr_accessor :level_up_flags # LEVEL UP!
end
#==============================================================================
# Scene_Battle
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
alias xrxs_bp10_start_phase5 start_phase5
def start_phase5
xrxs_bp10_start_phase5
@exp_gained = battle_exp
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if actor.cant_get_exp? == false
last_level = actor.level
actor.exp -= @exp_gained
if actor.level < last_level
@status_window.level_up_flags[i] = false
end
end
end
@exp_gain_actor = -1
@result_window.visible = true
end
#--------------------------------------------------------------------------
alias xrxs_bp10_update_phase5 update_phase5
def update_phase5
@level_up_phase_done = false if @level_up_phase_done != true
if Input.trigger?(Input::C)
@levelup_window.visible = false if @levelup_window != nil
@status_window.level_up_flags[@exp_gain_actor] = false
@level_up_phase_done = phase5_next_levelup
end
if @level_up_phase_done
if @phase5_wait_count < 2
@result_window.opacity = 0
@result_window.back_opacity = 0
@result_window.contents_opacity = 0
end
xrxs_bp10_update_phase5
battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
end
end
#--------------------------------------------------------------------------
def phase5_next_levelup
begin
@exp_gain_actor += 1
if @exp_gain_actor >= $game_party.actors.size
return true
end
actor = $game_party.actors[@exp_gain_actor]
if actor.cant_get_exp? == false
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
actor.exp += @exp_gained
if actor.level > last_level
@status_window.level_up(@exp_gain_actor)
@result_window.visible = false
if LEVEL_UP_SE != ""
Audio.se_play(LEVEL_UP_SE)
end
if LEVEL_UP_ME != ""
Audio.me_stop
Audio.me_play(LEVEL_UP_ME)
end
actors_size = [$game_party.actors.size, 4].max
x_shift = 160 + (640 - 160*actors_size)/(actors_size - 1)
x = x_shift * @exp_gain_actor
y = 128
@levelup_window = Window_LevelUpWindow.new(x, y, 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.visible = true
@status_window.refresh
@skilllearning_window = Window_SkillLearning.new(actor.class_id, last_level, actor.level)
@phase5_wait_count = 40
return false
end
end
end until false
end
def battle_exp
bexp = 0
for enemy in $game_troop.enemies
unless enemy.hidden
bexp += enemy.exp
end
end
return bexp
end
end