Aquí aporto un script que estoy usando en mi juego, creo que no esta aportado (me da hueva ver el indice antes de aportar :T)
-Nombre: Status mejorado
-Autor: Selkie
-Descripción:
-La finalidad de este script es sustituir la sosa ventana de Estado que viene
-por defecto en RPG Maker XP por una escena con varias ventanas, organización
-más bonita, añadiendo gráficos de face y un perfil personal para cada personaje.
-Instrucciones:
1 - Pegar script encima del main.
2 - Poner las face de los personajes en la carpeta pictures, por ejemplo la face del personaje 1 deberá llamarse Face1, la del pj 2 se llamara Face2 y así consecutivamente.
3 - Personalizar el script a su gusto.
-Aquí dejo una sacada de mi game:
Script:
Espero que les guste.
-Salu2-
-Nombre: Status mejorado
-Autor: Selkie
-Descripción:
-La finalidad de este script es sustituir la sosa ventana de Estado que viene
-por defecto en RPG Maker XP por una escena con varias ventanas, organización
-más bonita, añadiendo gráficos de face y un perfil personal para cada personaje.
-Instrucciones:
1 - Pegar script encima del main.
2 - Poner las face de los personajes en la carpeta pictures, por ejemplo la face del personaje 1 deberá llamarse Face1, la del pj 2 se llamara Face2 y así consecutivamente.
3 - Personalizar el script a su gusto.
-Aquí dejo una sacada de mi game:
Script:
Código:
###··· |######################################| ···###
##···· | Advanced Status Display, by Selkie | ····##
#····· | 17/01/2010 (DD/MM/YYYY) | ·····#
##···· | planetarpg.com.ar | ····##
###··· |######################################| ···###
################################################################################
# La finalidad de este script es sustituir la sosa ventana de Estado que viene #
# por defecto en RPG Maker XP por una escena con varias ventanas, organización #
# más bonita, añadiendo gráficos de face y un perfil personal para cada perso- #
# naje. #
# -Autor: Selkie #
# -Agradecimientos: #
# · Silentwalker por su método para dibujar faces #
# · Abbet por la idea #
################################################################################
# Instrucciones: #
# 1.- Pegar el script en una página superior a Main. #
# 2.- En Graphics/Pictures, meter gráficos de Face para cada personaje, #
# preferiblemente de 96x96px. #
# 3.- Personalizar los datos de los personajes #
# 3.- ¡Disfrutar! #
################################################################################
#==============================================================================
# ** Método para dibujar las faces **
#==============================================================================
class Window_Base < Window
def draw_actor_face (actor, x, y)############# Aquí se edita el nombre
###############################(Edición de nombre )# que ha de tener cada
bitmap = RPG::Cache.picture('Face'+actor.id.to_s)#<-face.
######################################################
src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.contents.blt(x - bitmap.width / 2, y - bitmap.height, bitmap, src_rect)
end
end
#==============================================================================
# ** Ventana superior **
#==============================================================================
class Window_Status0 < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, 0, 96, 32, "Nombre:")
self.contents.draw_text(230, 0, 96, 32, "Profesión:")
self.contents.font.color = normal_color
draw_actor_name(@actor, 80, 0)
draw_actor_class(@actor, 320, 0)
draw_actor_state(@actor, 480, 0)
end
end
#==============================================================================
# ** Ventana de información del personaje **
#==============================================================================
class Window_Status1 < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 320, 480-64)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_face (@actor, 48, 96) #Face
draw_actor_graphic (@actor, 96, 104) #Chara
draw_actor_level (@actor, 108, -4) #Nivel
draw_actor_exp (@actor, 108, 20) #Experiencia
draw_actor_hp (@actor, 118, 50) #Vida
draw_actor_sp (@actor, 118, 70) #Magia
self.contents.font.color = system_color
self.contents.draw_text(4, 120+00, 300, 32, 'Género:')
self.contents.draw_text(4, 120+24, 300, 32, 'Edad:')
self.contents.draw_text(4, 120+48, 300, 32, 'Rango:')
self.contents.draw_text(4, 120+72, 300, 32, 'Region:')
self.contents.draw_text(4, 120+96, 300, 32, 'Raza:')
self.contents.font.color = normal_color
######################################
## Comienzo de la personalización ##
######################################
case @actor.id
when 1 #Personaje 1
self.contents.draw_text(108, 120+00, 300, 32, 'Masculino') #Género
self.contents.draw_text(108, 120+24, 300, 32, '17') #Edad
self.contents.draw_text(108, 120+48, 300, 32, 'Elite blanca')#Altura
self.contents.draw_text(108, 120+72, 300, 32, 'Kornan') #Peso
self.contents.draw_text(108, 120+96, 300, 32, 'Humano') #Carácter
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+48, 300, 32, 'Un chico que vive solo, no se sabe')
self.contents.draw_text(16, 120+96+72, 300, 32, 'nada sobre sus padres, gana la vida')
self.contents.draw_text(16, 120+96+96, 300, 32, 'haciendo misiones y es muy valiente')
when 2 #Personaje 2
self.contents.draw_text(108, 120+00, 300, 32, 'Femenino') #Género
self.contents.draw_text(108, 120+24, 300, 32, '16') #Edad
self.contents.draw_text(108, 120+48, 300, 32, 'Elite blanca')
self.contents.draw_text(108, 120+72, 300, 32, 'Kornan')
self.contents.draw_text(108, 120+96, 300, 32, 'Humana')#Carácter
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+ 48, 300, 32, 'Es la mejor amiga de Cain, siempre')
self.contents.draw_text(16, 120+96+ 72, 300, 32, 'Se preocupa por el y su bienestar')
self.contents.draw_text(16, 120+96+ 96, 300, 32, 'Es una gran maga')
when 3 #Personaje 3
self.contents.draw_text(108, 120+00, 300, 32, 'Masculino')
self.contents.draw_text(108, 120+24, 300, 32, '17')
self.contents.draw_text(108, 120+48, 300, 32, 'Elite blanca')
self.contents.draw_text(108, 120+72, 300, 32, 'Kornan')
self.contents.draw_text(108, 120+96, 300, 32, 'Humano')
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+48, 300, 32, 'Es el mejor amigo de Cain desde la')
self.contents.draw_text(16, 120+96+72, 300, 32, 'infancia, siempre lo apoya en las')
self.contents.draw_text(16, 120+96+96, 300, 32, 'buenas o en las malas')
when 4 #Personaje 4
self.contents.draw_text(108, 120+00, 300, 32, 'Masculino')
self.contents.draw_text(108, 120+24, 300, 32, '19')
self.contents.draw_text(108, 120+48, 300, 32, 'Elite blanca lider')
self.contents.draw_text(108, 120+72, 300, 32, 'Kornan')
self.contents.draw_text(108, 120+96, 300, 32, 'Humano')
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+48, 300, 32, 'Es el prinsipe de Kornan, el hijo')
self.contents.draw_text(16, 120+96+72, 300, 32, 'del rey, suele ser siempre serio')
self.contents.draw_text(16, 120+96+96, 300, 32, 'y es un excelente lider')
end
#### Fin de la personalización
end
end
#==============================================================================
# ** Ventana de Equipo y stats
#==============================================================================
class Window_Status2 < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 320, 480-64)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 96, 32, "Arma:")
self.contents.draw_text(4, 30, 96, 32, "Escudo:")
self.contents.draw_text(4, 60, 96, 32, "Cabeza:")
self.contents.draw_text(4, 90, 96, 32, "Cuerpo:")
self.contents.draw_text(4, 120, 96, 32, "Accesorio:")
draw_item_name($data_weapons[@actor.weapon_id], 100, 0)
draw_item_name($data_armors[@actor.armor1_id], 100, 30)
draw_item_name($data_armors[@actor.armor2_id], 100, 60)
draw_item_name($data_armors[@actor.armor3_id], 100, 90)
draw_item_name($data_armors[@actor.armor4_id], 100, 120)
draw_actor_parameter(@actor, 4, 0 +240-64, 0)
draw_actor_parameter(@actor, 4, 30 +240-64, 1)
draw_actor_parameter(@actor, 4, 60 +240-64, 2)
draw_actor_parameter(@actor, 4, 90 +240-64, 3)
draw_actor_parameter(@actor, 4, 120+240-64, 4)
draw_actor_parameter(@actor, 4, 150+240-64, 5)
draw_actor_parameter(@actor, 4, 180+240-64, 6)
end
end
#==============================================================================
# ** Scene_Status
#------------------------------------------------------------------------------
# Aquí está la escena, con las llamadas a las diferentes ventanas
#==============================================================================
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_window0 = Window_Status0.new(@actor)
@status_window1 = Window_Status1.new(@actor)
@status_window1.y = 64
@status_window2 = Window_Status2.new(@actor)
@status_window2.x = 320
@status_window2.y = 64
# Execute transition
Graphics.transition
# Main loop
loop do
# Update game screen
Graphics.update
# Update input information
Input.update
# Frame update
update
# Abort loop if screen is changed
if $scene != self
break
end
end
# Prepare for transition
Graphics.freeze
# Dispose of windows
@status_window0.dispose
@status_window1.dispose
@status_window2.dispose
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# If B button was pressed
if Input.trigger?(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 Input.trigger?(Input::R)
# Play cursor SE
$game_system.se_play($data_system.cursor_se)
# To next actor
@actor_index += 1
@actor_index %= $game_party.actors.size
# Switch to different status screen
$scene = Scene_Status.new(@actor_index)
return
end
# If L button was pressed
if Input.trigger?(Input::L)
# Play cursor SE
$game_system.se_play($data_system.cursor_se)
# To previous actor
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
# Switch to different status screen
$scene = Scene_Status.new(@actor_index)
return
end
end
end
Espero que les guste.
-Salu2-
Última edición: