hydramonSáb Jun 23, 2012 7:54 pm
Usuario Nv10
Helo como estan? yo bien y ahora les vengo a entregar este EXELENTE SCRIPT para sus proyectos, se trata de un status mejorado, que muestra lo que tiene equipado el personaje, una face del mismo con su chara y lo mejor, una informacion del mismo, no hay imagenes pero sirve mucho, un ejemplo, ocupare el mismo que tengo en mi proyecto para que vean como se usa:
Exelente, ahora a SUBIR MAS SCRIPTS!
- Spoiler:
- ###··· |######################################| ···###
##···· | 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, 'Maestro:')
self.contents.draw_text(4, 120+72, 300, 32, 'Pueblo:')
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, 'Aprox. 17') #Edad
self.contents.draw_text(108, 120+48, 300, 32, 'Nainshu Makazi')#Altura
self.contents.draw_text(108, 120+72, 300, 32, 'Sorta') #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 con su maestro, no se sabe')
self.contents.draw_text(16, 120+96+72, 300, 32, 'nada sobre sus padres,hace poco ')
self.contents.draw_text(16, 120+96+96, 300, 32, 'algo lo ha hecho dudar de su maestro')
when 2 #Personaje 2
self.contents.draw_text(108, 120+00, 300, 32, 'Masculino') #Género
self.contents.draw_text(108, 120+24, 300, 32, '15') #Edad
self.contents.draw_text(108, 120+48, 300, 32, 'Desconocido')
self.contents.draw_text(108, 120+72, 300, 32, 'Desconocida')
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 un niño distraído, siempre')
self.contents.draw_text(16, 120+96+ 72, 300, 32, 'Se pierde si está en un bosque')
self.contents.draw_text(16, 120+96+ 96, 300, 32, 'No se sabe donde vive ni adonde va..')
when 3 #Personaje 3
self.contents.draw_text(108, 120+00, 300, 32, 'Femenina')
self.contents.draw_text(108, 120+24, 300, 32, '16')
self.contents.draw_text(108, 120+48, 300, 32, 'Eskra')
self.contents.draw_text(108, 120+72, 300, 32, 'Arsandi')
self.contents.draw_text(108, 120+96, 300, 32, 'Humana')
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+48, 300, 32, 'Es una maga de prueba del salón de')
self.contents.draw_text(16, 120+96+72, 300, 32, 'Magos de ciudad Arsandi, pretende')
self.contents.draw_text(16, 120+96+96, 300, 32, 'Ser una de las mejores hechiceras del mundo.')
when 4 #Personaje 4
self.contents.draw_text(108, 120+00, 300, 32, 'WTF??')
self.contents.draw_text(108, 120+24, 300, 32, 'Desconocida')
self.contents.draw_text(108, 120+48, 300, 32, 'Rey Sunigann')
self.contents.draw_text(108, 120+72, 300, 32, 'Ferni')
self.contents.draw_text(108, 120+96, 300, 32, 'Extraterrestre')
#-------------------------------------------#Más datos(Múltiples líneas)
self.contents.draw_text(16, 120+96+48, 300, 32, 'Un extraño extraterrestre del planeta')
self.contents.draw_text(16, 120+96+72, 300, 32, '"Ferni", es un gran amigo del rey de ')
self.contents.draw_text(16, 120+96+96, 300, 32, 'Son y necesita ayuda para su misión...')
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
Exelente, ahora a SUBIR MAS SCRIPTS!