0% found this document useful (0 votes)
22 views17 pages

Scripts

This document contains a script for organizing the status screen into different windows to make it look neater in RPG Maker games. It defines several new window classes to display stats, equipment, and a bio on separate parts of the screen. The script allows showing or hiding the bio section and is designed to be easy to install and use in games.

Uploaded by

Tinogamer01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views17 pages

Scripts

This document contains a script for organizing the status screen into different windows to make it look neater in RPG Maker games. It defines several new window classes to display stats, equipment, and a bio on separate parts of the screen. The script allows showing or hiding the bio section and is designed to be easy to install and use in games.

Uploaded by

Tinogamer01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 17

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

You might also like