Conectarse
Buscar
Últimos temas
Los posteadores más activos del mes
No hay usuarios |
Estadísticas
Tenemos 98 miembros registradosEl último usuario registrado es Lawdesifi
Nuestros miembros han publicado un total de 6208 mensajes en 777 argumentos.
[RMXP]Advanced Status Display
Drupogame :: RPG Maker :: RPG maker XP :: Scripts
Página 1 de 1.
[RMXP]Advanced Status Display
INTRODUCCIÓN
Sí. La pantalla de status que viene con el RPG Maker XP es aburrida. No era ningún secreto... Así que, ya que estaba aprendiendo RGSS, me dije: "¿Por qué no hago una pantalla de status yo mismo? ¿Por qué Windows XP se llama XP, les gustaba ese smiley? ¿Por qué en los botones de los ascensores pone el número en braille, si cuando tocas ya se ha pulsado?"... Ya sabéis, cosas profundas.
CARACTERÍSTICAS
Muestra nombre, profesión, estado, vida, magia, armamento y estadísticas.
Muestra información adicional como peso, altura, etcétera.
Muestra una pequeña "historia" del personaje.
Para terminar, muestra un gráfico de face y el chara.
SCRIPT
SCREEN
DEMO
Pincha aqui
INSTRUCCIONES
En el script y la demo están bien detalladas
CRÉDITOS
Selkie
Sí. La pantalla de status que viene con el RPG Maker XP es aburrida. No era ningún secreto... Así que, ya que estaba aprendiendo RGSS, me dije: "¿Por qué no hago una pantalla de status yo mismo? ¿Por qué Windows XP se llama XP, les gustaba ese smiley? ¿Por qué en los botones de los ascensores pone el número en braille, si cuando tocas ya se ha pulsado?"... Ya sabéis, cosas profundas.
CARACTERÍSTICAS
Muestra nombre, profesión, estado, vida, magia, armamento y estadísticas.
Muestra información adicional como peso, altura, etcétera.
Muestra una pequeña "historia" del personaje.
Para terminar, muestra un gráfico de face y el chara.
SCRIPT
- Spoiler:
- 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, 'Altura:')
self.contents.draw_text(4, 120+72, 300, 32, 'Peso:')
self.contents.draw_text(4, 120+96, 300, 32, 'Carácter:')
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, '3 meses') #Edad
self.contents.draw_text(108, 120+48, 300, 32, '64 píxeles') #Altura
self.contents.draw_text(108, 120+72, 300, 32, '2 KB') #Peso
self.contents.draw_text(108, 120+96, 300, 32, 'Genérico') #Carácter
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+48, 300, 32, 'Este pelirrojo individuo se gana la')
self.contents.draw_text(16, 120+96+72, 300, 32, 'vida como protagonista de los juegos')
self.contents.draw_text(16, 120+96+96, 300, 32, 'que usan el RTP del RPG Maker XP.')
when 2 #Personaje 2
self.contents.draw_text(108, 120+00, 300, 32, 'Terror (?)') #Género
self.contents.draw_text(108, 120+24, 300, 32, '78 milenios') #Edad
self.contents.draw_text(108, 120+48, 300, 32, '3 pulgadas') #Altura
self.contents.draw_text(108, 120+72, 300, 32, '50 gramos') #Peso
self.contents.draw_text(108, 120+96, 300, 32, 'Inexistente') #Carácter
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+ 48, 300, 32, 'El mejor amigo de Alexis. Aunque')
self.contents.draw_text(16, 120+96+ 72, 300, 32, 'parezca un lancero de verdad, tan')
self.contents.draw_text(16, 120+96+ 96, 300, 32, 'sólo es un disfraz poco conseguido.')
when 3 #Personaje 3
self.contents.draw_text(108, 120+00, 300, 32, '')#Género
self.contents.draw_text(108, 120+24, 300, 32, '')#Edad
self.contents.draw_text(108, 120+48, 300, 32, '')#Altura
self.contents.draw_text(108, 120+72, 300, 32, '')#Peso
self.contents.draw_text(108, 120+96, 300, 32, '')#Carácter
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+48, 300, 32, '')
self.contents.draw_text(16, 120+96+72, 300, 32, '')
self.contents.draw_text(16, 120+96+96, 300, 32, '')
when 4 #Personaje 4
self.contents.draw_text(108, 120+00, 300, 32, '')#Género
self.contents.draw_text(108, 120+24, 300, 32, '')#Edad
self.contents.draw_text(108, 120+48, 300, 32, '')#Altura
self.contents.draw_text(108, 120+72, 300, 32, '')#Peso
self.contents.draw_text(108, 120+96, 300, 32, '')#Carácter
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+48, 300, 32, '')
self.contents.draw_text(16, 120+96+72, 300, 32, '')
self.contents.draw_text(16, 120+96+96, 300, 32, '')
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
SCREEN
DEMO
Pincha aqui
INSTRUCCIONES
En el script y la demo están bien detalladas
CRÉDITOS
Selkie
Drupogame :: RPG Maker :: RPG maker XP :: Scripts
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
Lun Ene 23, 2012 11:32 pm por edux
» edux returns
Lun Ene 23, 2012 11:30 pm por edux
» The Elder Scrolls IV: Oblivion
Vie Ene 20, 2012 11:28 pm por Aljevalsar
» Kojima promete que habrá un Metal Gear Solid de auténtico sigilo
Jue Dic 22, 2011 7:33 pm por Anime_Maker
» Este fin de semana habrá nuevos modos para Modern Warfare 3
Jue Dic 15, 2011 12:03 pm por Akeo
» Kojima quiso crear un Metal Gear Solid 5 ambientado en la Segunda Guerra Mundial
Jue Dic 15, 2011 11:01 am por Akeo
» Darksiders II se dejará ver en los Spike VGA
Miér Dic 14, 2011 11:50 am por Akeo
» El creador de Bayonetta desmiente estar implicado en el desarrollo de Metal Gear Rising
Miér Dic 14, 2011 1:54 am por Akeo
» Los creadores de Bayonetta se encargan del desarrollo de Metal Gear Rising
Miér Dic 14, 2011 1:52 am por Akeo
» En Construccion: Mundo Abismal
Lun Oct 24, 2011 4:03 am por SagahonArturo
» Visceral Games busca nuevo personal para la franquicia Dead Space
Mar Oct 11, 2011 3:22 am por The_King_Jaas
» buenas
Mar Oct 11, 2011 3:21 am por The_King_Jaas
» Batman: Arkham City llegará "sin ninguna limitación"
Sáb Oct 08, 2011 1:44 am por Akeo
» Los creadores de Bulletstorm admiten divertidos que el juego tenía demasiadas palabras malsonantes
Sáb Oct 08, 2011 1:41 am por Akeo
» PES 2012: El primer DLC estará disponible el 11 de octubre
Sáb Oct 08, 2011 1:39 am por Akeo