Square721 Cn BT
# ***** BETTER STATUS WINDOW *****
# A script by Travis F.
# (c) 2018 Zetaform Games / Travis F.
#
# Feel free to use this script in any game you want.
# No, seriously. Any game. Even if it goes commercial!
# (Though a bit of credit would be nice in that case...)
#==============================================================================
#
#
# This script will organise the status screen into different windows,
# so that it'll look neater. It also adds a profile section, called the
# Bio in this script, that you can turn off if you wish.
# Install this script above Main.
#
# Configuration:
# This switch will enable/disable
# the bio at the bottom of the status screen.
SHOWBIO = true
# That's it! You're done!
#==============================================================================
# This status window will display basic stats about the current actor.
# It will be on the left side.
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# This window displays full status specs on the status screen.
#==============================================================================
class Window_Status < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 320, 480)
[Link] = [Link](width - 32, height - 32)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
[Link]
draw_actor_graphic(@actor, 40, 112)
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 4 + 144, 0)
draw_actor_level(@actor, 96, 32)
draw_actor_state(@actor, 96, 64)
draw_actor_hp(@actor, 96, 112, 172)
draw_actor_sp(@actor, 96, 144, 172)
draw_actor_parameter(@actor, 96, 192, 0)
draw_actor_parameter(@actor, 96, 224, 1)
draw_actor_parameter(@actor, 96, 256, 2)
draw_actor_parameter(@actor, 96, 304, 3)
draw_actor_parameter(@actor, 96, 336, 4)
draw_actor_parameter(@actor, 96, 368, 5)
draw_actor_parameter(@actor, 96, 400, 6)
end
end
#==============================================================================
# This status window displays the EXP of the current actor.
# It will be in the upper right corner.
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# This window displays full status specs on the status screen.
#==============================================================================
class Window_StatusTop < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(320, 0, 320, 96)
[Link] = [Link](width - 32, height - 32)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
[Link]
[Link] = system_color
[Link].draw_text(0, 0, 192, 32, "Total EXP:")
[Link].draw_text(0, 32, 192, 32, "Next Level:")
[Link] = normal_color
[Link].draw_text(0 + 160, 0, 84, 32, @actor.exp_s, 2)
[Link].draw_text(0 + 160, 32, 84, 32, @actor.next_rest_exp_s, 2)
end
end
#==============================================================================
# This status window displays equipped items of the current actor.
# It will be to the right centre.
# If the Bio is disabled, it will take up the rest of the vertical space.
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# This window displays full status specs on the status screen.
#==============================================================================
class Window_StatusBottom < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
if SHOWBIO == true
super(320, 96, 320, 240)
else
super(320, 96, 320, 384)
end
[Link] = [Link](width - 32, height - 32)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
[Link]
[Link] = system_color
[Link].draw_text(0, 0, 128, 32, "Equipment:")
draw_item_name($data_weapons[@actor.weapon_id], 0 + 16, 32)
draw_item_name($data_armors[@actor.armor1_id], 0 + 16, 64)
draw_item_name($data_armors[@actor.armor2_id], 0 + 16, 96)
draw_item_name($data_armors[@actor.armor3_id], 0 + 16, 128)
draw_item_name($data_armors[@actor.armor4_id], 0 + 16, 160)
end
def dummy
[Link] = system_color
[Link].draw_text(0, 112, 96, 32, $data_system.[Link])
[Link].draw_text(0, 176, 96, 32, $data_system.words.armor1)
[Link].draw_text(0, 240, 96, 32, $data_system.words.armor2)
[Link].draw_text(0, 304, 96, 32, $data_system.words.armor3)
[Link].draw_text(0, 368, 96, 32, $data_system.words.armor4)
draw_item_name($data_weapons[@actor.weapon_id], 0 + 24, 144)
draw_item_name($data_armors[@actor.armor1_id], 0 + 24, 208)
draw_item_name($data_armors[@actor.armor2_id], 0 + 24, 272)
draw_item_name($data_armors[@actor.armor3_id], 0 + 24, 336)
draw_item_name($data_armors[@actor.armor4_id], 0 + 24, 400)
end
end
#==============================================================================
# This window will display the bio, if enabled.
# Configure bio entries here.
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# This window displays full status specs on the status screen.
#==============================================================================
class Window_StatusBio < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(320, 336, 320, 144)
[Link] = [Link](width - 32, height - 32)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
[Link]
[Link] = system_color
[Link].draw_text(0, 0, 48, 24, "Bio:")
[Link] = normal_color
case
when @[Link] == "Aluxes" then
l0 = "Age 30"
l1 = "An excellent fighter."
l2 = "Wards off the undead with"
l3 = "his attacks."
when @[Link] == "Arshes" then
l0 = "Age 30"
l1 = "An excellent fighter."
l2 = "Wards off the undead with"
l3 = "his attacks."
when @[Link] == "Basil" then
l0 = "Age 32"
l1 = "His attacks never miss."
l2 = "Known for his top-notch"
l3 = "lancer skills."
when @[Link] == "Gloria" then
l0 = "Age 26"
l1 = "A reliable cleric."
l2 = "Very confident about what"
l3 = "she gets herself into."
when @[Link] == "Hilda" then
l0 = "Age 36"
l1 = "She's been trained in"
l2 = "using magic attacks."
l3 = "They do lots of damage!"
end
[Link].draw_text(64, 0, 192, 24, l0, 2)
[Link].draw_text(0, 24, 320, 32, l1)
[Link].draw_text(0, 48, 320, 32, l2)
[Link].draw_text(0, 72, 320, 32, l3)
end
end
#==============================================================================
# Replace the Status Scene to fit the new windows.
#==============================================================================
# ** Scene_Status
#------------------------------------------------------------------------------
# This class performs status screen processing.
#==============================================================================
class Scene_Status
#--------------------------------------------------------------------------
# * Object Initialization
# actor_index : actor index
#--------------------------------------------------------------------------
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# Get actor
@actor = $game_party.actors[@actor_index]
# Make status window
@status_window = Window_Status.new(@actor)
@status_window_top = Window_StatusTop.new(@actor)
if SHOWBIO == true
@status_window_bio = Window_StatusBio.new(@actor)
end
@status_window_bottom = Window_StatusBottom.new(@actor)
# Execute transition
[Link]
# Main loop
loop do
# Update game screen
[Link]
# Update input information
[Link]
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
[Link]
# Dispose of windows
@status_window.dispose
@status_window_top.dispose
if SHOWBIO == true
@status_window_bio.dispose
end
@status_window_bottom.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# If B button was pressed
if [Link]?(Input::B)
# Play cancel SE
$game_system.se_play($data_system.cancel_se)
# Switch to menu screen
$scene = Scene_Menu.new(3)
return
end
# If R button was pressed
if [Link]?(Input::R)
# Play cursor SE
$game_system.se_play($data_system.cursor_se)
# To next actor
@actor_index += 1
@actor_index %= $game_party.[Link]
# Switch to different status screen
$scene = Scene_Status.new(@actor_index)
return
end
# If L button was pressed
if [Link]?(Input::L)
# Play cursor SE
$game_system.se_play($data_system.cursor_se)
# To previous actor
@actor_index += $game_party.[Link] - 1
@actor_index %= $game_party.[Link]
# Switch to different status screen
$scene = Scene_Status.new(@actor_index)
return
end
end
end
# por DaD y RagnarokM
m�dulo Enemy_Book_Config
DROP_ITEM_NEED_ANALYZE = false
EVA_NAME = "Evasi�n"
SHOW_COMPLETE_TYPE = 3 fin
class Game_Temp
attr_accessor : Enemy_book_data
alias temp_enemy_book_data_initialize initialize
def initialize
temp_enemy_book_data_initialize
@enemy_book_data = Data_MonsterBook . nuevo fin fin
clase Game_Party
attr_accessor : enemigo_info
# -------------------------------------------- ------------------------------
alias book_info_initialize initialize
def initialize
book_info_initialize
@enemy_info = {} fin # -------------------------------------------
------------------------------- def add_enemy_info ( Enemy_id , type = 0 ) tipo de
caso cuando 0 si @enemy_info [ Enemy_id ] == 2 devuelve el final falso @enemy_info
[ enemigo_id ] = 1 cuando 1 @enemy_info [ enemigo_id ] = 2 cuando - 1 @enemy_info
[ enemigo_id ] = 0 fin fin # ------------------------------------------
-------------------------------- def enemigo_book_max
return $ game_temp . enemigo_book_data . id_data . tama�o - 1 final #
--------------------------------------------- ----------------------------- def
enemigo_book_now
now_enemy_info = @enemy_info . llaves
no_add = $ game_temp . enemigo_book_data . no_add_element
new_enemy_info = [] para yo en now_enemy_info
enemigo = $ data_enemies [ i ] siguiente si es enemigo . nombre == "" si enemigo .
element_ranks [ no_add ] == 1 siguiente final
new_enemy_info . empujar ( id . enemigo ) end return new_enemy_info . tama�o
final # -----------------------------------------------
--------------------------- def enemigo_book_complete_percentage
e_max = enemigo_book_max . to_f
e_now = enemigo_book_now . to_f
comp = e_now / e_max * 100 return comp . truncar
final final
class Interpreter def enemigo_book_max
return $ game_party . Enemigo_book_max
end def Enemigo_book_now
return $ game_party . Enemigo_book_now
end def Enemigo_book_comp
return $ game_party . enemigo_book_complete_percentage
end end
class Scene_Battle alias add_enemy_info_start_phase5 start_phase5
def start_phase5
para el enemigo en $ game_troop . enemigos a
menos que sea enemigo . oculto
$ game_party . add_enemy_info ( id . enemigo , 0 ) end end
add_enemy_info_start_phase5
fin fin
clase Window_Base < Ventana
def initialize ( x , y , width , height ) super () self . contenido = mapa de
bits . nuevo ( ancho - 32 , alto - 32 ) self . contenidos . fuente . nombre =
"Arial" @windowskin_name = $ sistema_de_juego . Windowskin_name
self . windowskin = RPG :: Cach�
. windowskin ( @windowskin_name ) self . x = x
uno mismo . y = y
self . ancho = ancho
propio . altura = altura
propia . z = 100 fin # ---------------------------------------------
----------------------------- def draw_enemy_drop_item ( enemigo , x , y ) self .
contenidos . fuente .
color = normal_color
self . contenidos . fuente . nombre = "Arial"
tesoros = [] si enemigo . item_id > 0
tesoros . push ( $ data_items [ enemigo . item_id ]) finaliza si es enemigo .
arma_id > 0
tesoros . empujar ( $ data_weapons [ enemigo . weapon_id ]) finalizar si
enemigo . id_armadura > 0
tesoros . push ( $ data_armors [ enemigo . armor_id ]) finaliza si hay tesoros .
tama�o > 0
elemento = tesoros [ 0 ]
mapa de bits = RPG :: Cach� . icon ( item . icon_name )
opacity = 255 self . contenidos . blt ( x , y
+ 4 , mapa de bits , Rect . nuevo ( 0 , 0 , 24 , 24 ), opacidad )
nombre = tesoros [ 0 ]. nombre
m�s yo . contenidos . fuente . color = disabled_color
self . contenidos . fuente . name = "Arial"
name = "No Item" end self . contenido
. draw_text ( x + 28 , y , 212 , 32 , nombre ) end #
---------------------------------- ---------------------------------------- def
draw_enemy_book_id ( enemigo , x , y ) self . contenidos . fuente . color =
normal_color
self . contenidos . fuente . nombre = "Arial"
id = $ game_temp .
enemigo_book_data . id_data . �ndice ( id . enemigo ) self . contenidos .
draw_text ( x , y , 32 , 32 , id . to_s ) end # ----------------------------------
---------------------------------------- def draw_enemy_name ( enemigo , x , y )
self . contenidos . fuente . color = normal_color
yo . contenidos . fuente . nombre = "Arial" yo . contenidos . draw_text ( x , y ,
152 , 32 , enemigo . nombre ) final # ----------------------------------
---------------------------------------- def draw_enemy_graphic ( enemigo , x , y ,
opacidad = 255 )
mapa de bits = RPG :: Cach� .
battler ( enemigo . battler_name , enemigo . battler_hue )
cw = mapa de bits . anchura
ch = mapa de bits . altura
src_rect = Rect . nuevo ( 0 , 0 , cw , ch )
x = x + ( cw / 2 - < img src =
'[Link] class =
'bbc_emoticon' alt = 'X)' /> si cw / 2 > x
self . contenidos . blt ( x - cw / 2 , y - ch , mapa de bits , src_rect
, opacidad ) end # ------------------------------------
-------------------------------------- def draw_enemy_exp ( enemigo , x , y )
self . contenidos . fuente . color = system_color
self . contenidos . fuente . nombre = "Arial" yo . contenidos . dibujar_texto (
x , y , 120 , 32 , "EXP" ) propio . contenidos . fuente . color = normal_color
self . contenidos . fuente . nombre = "Arial" yo . contenidos . draw_text ( x +
120 , y , 36 , 32 , enemigo . exp . to_s , 2 ) final
# ------------------------------------------------- ------------------------- def
draw_enemy_gold ( enemigo , x , y ) self . contenidos . fuente . color =
system_color
self . contenidos . fuente . nombre = "Arial" yo . contenidos . draw_text ( x ,
y , 120 , 32 , $ data_system . words . gold
) yo . contenidos . fuente . color = normal_color
self . contenidos . fuente . nombre = "Arial" yo . contenidos . draw_text ( x +
120 , y , 36 , 32 , enemigo . gold . to_s , 2 ) end end
clase Game_Enemy_Book < Game_Enemy # ---------------------------------------------
----------------------------- def initialize ( enemigo_id ) super ( 2 , 1 )
@enemy_id = enemigo_id
enemigo = $ data_enemies [ @enemy_id ] @battler_name = enemigo . battler_name
@battler_hue = enemigo . battler_hue
@hp = maxhp
@sp = maxsp
end end
clase Data_MonsterBook
attr_reader : id_data
# -------------------------------------------- ------------------------------ def
initialize
@id_data = enemigo_book_id_set
end # ------------ -------------------------------------------------- ------------
def no_add_element
no_add = 0 para i en 1. .. $ data_system . elementos . tama�o
si $ data_system . elementos [ i ] = ~ / Monster Book /
no_add = i
rompo fin end return no_add
end # ------------------------------ --------------------------------------------
def enemigo_book_id_set
data = [ 0 ]
no_add = no_add_element
para i en 1. .. $ data_enemies . Talla
enemigo = $ data_enemies [ i ] siguiente si es enemigo . nombre == "" si enemigo .
element_ranks [ no_add ] == 1 siguiente
dato final . empujar ( id . enemigo ) fin volver datos
fin fin
clase Window_MonsterBook < Window_Selectable
attr_reader : data
# ------------------------------------------ -------------------------------- def
inicializar ( �ndice = 0 ) super ( 0 , 64 , 640 , 416 ) @ column_max = 2 @book_data
= $ game_temp . enemigos_book_data
@data = @book_data . id_data . dup
@data . shift
@item_max
= @data . tama�o
propio . index = 0
actualizar si @item_max > 0 end # ---------------------------------------
----------------------------------- def data_set
datos = $ partido_juego . enemigo_info . llaves
fecha . ordenar !
newdata = [] para i en datos
next if $ game_party . enemigo_info [ i ] == 0 if book_id ( i ) ! = nil
newdata . push ( i ) end end return newdata
end # ---------------------------------------- ----------------------------------
def show ? ( id ) if $ game_party .
enemigo_info [ id ] == 0 o $ game_party . Enemigo_info [ id ] == nil return false
else return true end end # -----------------------------------
--------------------------------------- def book_id ( id ) return @book_data .
index ( id ) end # --------------------------------------------
------------------------------ def item
return @data [ self
. �ndice ] fin # ----------------------------------------------
---------------------------- def refrescar
si es self . contenido ! = nulo self . contenidos . disponer de
uno mismo . contenido = nil end self . contenido = mapa de bits . nuevo ( ancho -
32 , fila_max * 32 ) si @item_max > 0 para i en 0.
.. @item _max
draw_item ( i ) end end end # -------------------------------------
------------------------------------- def draw_item ( �ndice )
enemigo = $ data_enemies [ @data [ �ndice ]] volver si enemigo == nulo
x = 4 + �ndice % 2 * ( 288 + 32 )
y = �ndice / 2 *
32
rect = Rect . new ( x , y , self . width / @column_max - 32 , 32 ) self .
contenidos . fill_rect ( rect , Color . new ( 0 , 0 , 0 , 0 )) self . contenidos .
fuente . color = normal_color
self . contenidos .
fuente . name = "Arial"
draw_enemy_book_id ( enemigo , x , y ) if show ? ( enemigo . id ) self . contenidos
. draw_text ( x + 28 + 16 , y , 212 , 32 , enemigo . nombre , 0 ) otro auto .
contenidos . dibujar_texto ( x + 28
+ 16 , y , 212 , 32 , "-----" , 0 ) return end if analizar ? ( @Data [ index ])
self . contenidos . fuente . color = color_texto ( 3 ) self . contenidos . fuente .
nombre = "Arial" yo . contenidos . dibujar_texto ( x + 256 ,
y , 24 , 32 , "Cancelar" , 2 ) end end # -----------------------------------
--------------------------------------- def analizar ? ( Enemigo_id ) if $
game_party . Enemigo_info [ Enemigo_id ] == 2 devuelve verdadero si no devuelve
falso fin fin fin
class Window_MonsterBook_Info < Window_Base
include Enemy_Book_Config
#--------------------------------------------------------------------------
def initialize
super(0, 0+64, 640, 480-64)
[Link] = [Link](width - 32, height - 32)
end
#--------------------------------------------------------------------------
def refresh(enemy_id)
[Link]
[Link] = "Arial"
[Link] = 22
enemy = Game_Enemy_Book.new(enemy_id)
draw_enemy_graphic(enemy, 96, 240+48+64, 200)
draw_enemy_book_id(enemy, 4, 0)
draw_enemy_name(enemy, 48, 0)
draw_actor_hp(enemy, 288, 0)
draw_actor_sp(enemy, 288+160, 0)
draw_actor_parameter(enemy, 288 , 32, 0)
[Link] = system_color
[Link].draw_text(288+160, 32, 120, 32, EVA_NAME)
[Link] = normal_color
[Link].draw_text(288+160 + 120, 32, 36, 32, [Link].to_s, 2)
draw_actor_parameter(enemy, 288 , 64, 3)
draw_actor_parameter(enemy, 288+160, 64, 4)
draw_actor_parameter(enemy, 288 , 96, 5)
draw_actor_parameter(enemy, 288+160, 96, 6)
draw_actor_parameter(enemy, 288 , 128, 1)
draw_actor_parameter(enemy, 288+160, 128, 2)
draw_enemy_exp(enemy, 288, 160)
draw_enemy_gold(enemy, 288+160, 160)
if analyze?([Link]) or !DROP_ITEM_NEED_ANALYZE
[Link].draw_text(288, 192, 96, 32, "Oggetto lasciato")
draw_enemy_drop_item(enemy, 288+96+4, 192)
[Link] = normal_color
end
end
#--------------------------------------------------------------------------
def analyze?(enemy_id)
if $game_party.enemy_info[enemy_id] == 2
return true
else
return false
end
end
end
class Scene_MonsterBook
include Enemy_Book_Config
#--------------------------------------------------------------------------
def main
$game_temp.enemy_book_data = Data_MonsterBook.new
@title_window = Window_Base.new(0, 0, 640, 64)
@title_window.contents = [Link](640 - 32, 64 - 32)
@title_window.contents.draw_text(4, 0, 320, 32, "Monster Book", 0)
if SHOW_COMPLETE_TYPE != 0
case SHOW_COMPLETE_TYPE
when 1
e_now = $game_party.enemy_book_now
e_max = $game_party.enemy_book_max
text = e_now.to_s + "/" + e_max.to_s
when 2
comp = $game_party.enemy_book_complete_percentage
text = comp.to_s + "%"
when 3
e_now = $game_party.enemy_book_now
e_max = $game_party.enemy_book_max
comp = $game_party.enemy_book_complete_percentage
text = e_now.to_s + "/" + e_max.to_s + " " + comp.to_s + "%"
end
if text != nil
@title_window.contents.draw_text(320, 0, 288, 32, text, 2)
end
end
@main_window = Window_MonsterBook.new
@main_window.active = true
@info_window = Window_MonsterBook_Info.new
@info_window.z = 110
@info_window.visible = false
@info_window.active = false
@visible_index = 0
[Link]
loop do
[Link]
[Link]
update
if $scene != self
break
end
end
[Link]
@main_window.dispose
@info_window.dispose
@title_window.dispose
end
#--------------------------------------------------------------------------
def update
@main_window.update
@info_window.update
if @info_window.active
update_info
return
end
if @main_window.active
update_main
return
end
end
#--------------------------------------------------------------------------
def update_main
if [Link]?(Input::
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Zaino.new(2)
return
end
if [Link]?(Input::C)
if @main_window.item == nil or @main_window.show?(@main_window.item) == false
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
@main_window.active = false
@info_window.active = true
@info_window.visible = true
@visible_index = @main_window.index
@info_window.refresh(@main_window.item)
return
end
end
#--------------------------------------------------------------------------
def update_info
if [Link]?(Input::
$game_system.se_play($data_system.cancel_se)
@main_window.active = true
@info_window.active = false
@info_window.visible = false
return
end
if [Link]?(Input::C)
return
end
if [Link]?(Input::L)
$game_system.se_play($data_system.decision_se)
loop_end = false
while loop_end == false
if @visible_index != 0
@visible_index -= 1
else
@visible_index = @main_window.[Link] - 1
end
loop_end = true if @main_window.show?(@main_window.data[@visible_index])
end
id = @main_window.data[@visible_index]
@info_window.refresh(id)
return
end
if [Link]?(Input::R)
$game_system.se_play($data_system.decision_se)
loop_end = false
while loop_end == false
if @visible_index != @main_window.[Link] - 1
@visible_index += 1
else
@visible_index = 0
end
loop_end = true if @main_window.show?(@main_window.data[@visible_index])
end
id = @main_window.data[@visible_index]
@info_window.refresh(id)
return
end
end
end
#------------------------------------------------------------------------------
# Script Barras Hp y Sp del Enemigo
#------------------------------------------------------------------------------
class Window_Help < Window_Base
def set_enemy(actor)
[Link]
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
carol3_draw_hp_bar(actor, 284, 0)
carol3_draw_sp_bar(actor, 460, 0)
@text = nil
[Link] = true
end
def carol3_draw_hp_bar(actor, x, y, width = 128)
[Link] = system_color
[Link].fill_rect(x-1, y+17, width+2,6, [Link](0, 0, 0, 255))
w = width * [Link] / [Link]
[Link].fill_rect(x, y+18, w,1, [Link](255, 96, 96, 255))
[Link].fill_rect(x, y+19, w,1, [Link](255, 0, 0, 255))
[Link].fill_rect(x, y+20, w,1, [Link](128, 0, 0, 255))
[Link].fill_rect(x, y+21, w,1, [Link](0, 0, 0, 255))
[Link].draw_text(x,y,128,32,$data_system.[Link],1)
[Link] = normal_color
end
def carol3_draw_sp_bar(actor, x, y, width = 128)
[Link] = system_color
[Link].fill_rect(x-1, y+17, width+2,6, [Link](0, 0, 0, 255))
w = width * [Link] / [Link]
[Link].fill_rect(x, y+18, w,1, [Link](128, 255, 255, 255))
[Link].fill_rect(x, y+19, w,1, [Link](0, 255, 255, 255))
[Link].fill_rect(x, y+20, w,1, [Link](0, 192, 192, 255))
[Link].fill_rect(x, y+21, w,1, [Link](0, 128, 128, 255))
[Link].draw_text(x,y,128,32,$data_system.[Link],1)
[Link] = normal_color
end
end
module Neo_Sky
SWITCH = 1 #interruptor que activa la hud
end
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
class Neo_Sky_HUD < Window_Base
include Neo_Sky
def initialize
super(0, 0, 320, 140)
[Link] = [Link](width - 32, height - 32)
@actor = $game_party.actors[0]
[Link] = nil
[Link] = 26
[Link] = true
[Link] = true
end
def refresh
pos = 0
[Link]
back = RPG::[Link]("back_hud")
[Link](0, 0, back, [Link](0, 0, [Link], [Link]))
draw_hp
draw_face
[Link].draw_text(0, 30, 64, 32, @[Link].to_s)
end
def draw_face
face = RPG::[Link]("PER")
[Link](0, 0, face, [Link](0, 0, [Link], [Link]))
end
def draw_hp
hp = RPG::[Link]("hp_bar")
[Link](x + 54, y + 37, hp, [Link](0, 0, [Link] * @[Link] /
@[Link], [Link]))
end
def draw_equip(equip, x, y)
if equip
bitmap = RPG::[Link](equip.icon_name)
[Link](x + 68, 5, bitmap, [Link](0, 0, 24, 24))
end
end
end
class Scene_Map
alias hud_main main
def main
@Hud = Neo_Sky_HUD.new
@[Link] = false
hud_main
@[Link]
end
alias hud_update update
def update
hud_update
if $game_switches[Neo_Sky::SWITCH]
@[Link] = true
@[Link]
@[Link]
else
@[Link] = false
end
end
end