(Script) Menú estilo Castlevania
TallerGamer :: RECURSOS :: RPG MAKER VX
Página 1 de 1.
(Script) Menú estilo Castlevania
-Version Del Script:v2.0
-Rpg Maker:VX
-Introducion:Este es un remake de un menú de juego de la PS1 Castlevania.
-Caracteristicas:
Menú de un solo caracter.
Muestra el nombre, la dirección, el CV, el MP, el nivel y la condición del héroe.
Muestra el héroe de los atributos (fuerza, defensa, ...).
Muestra el equipo del héroe.
Muestra la ventana de tiempo y dinero.
-Demo:http://www.reinorpg.com/forum/index.php?action=dlattach;topic=7288.0;attach=4012
-Script:
La mayoría de configuraciones se encuentran en el módulo. Cambiar el nombre de las opciones de la línea 173.
-Creditos: Bnezinho
-Rpg Maker:VX
-Introducion:Este es un remake de un menú de juego de la PS1 Castlevania.
-Caracteristicas:
Menú de un solo caracter.
Muestra el nombre, la dirección, el CV, el MP, el nivel y la condición del héroe.
Muestra el héroe de los atributos (fuerza, defensa, ...).
Muestra el equipo del héroe.
Muestra la ventana de tiempo y dinero.
-Demo:http://www.reinorpg.com/forum/index.php?action=dlattach;topic=7288.0;attach=4012
-Script:
- Código:
#==============================================================================
# Menu Estilo Castlevânia v2.0
#------------------------------------------------------------------------------
# Criado por Bnezinho (abnermatheus_xd@hotmail.com)
#------------------------------------------------------------------------------
# *Bugs corridos:
# - Bug da seleção
# - Bug do dregadê
# Em caso de outros bugs ainda não corrigidos, favor me contactar.
#==============================================================================
module Castlevania
COR1 = Color.new(0,0,34) #Cor1 do Menu
COR2 = Color.new(33,33,92) #Cor2
#Fim da customização. Não modificar a partir daqui!
end
#==============================================================================
# Window_Castlevania
#------------------------------------------------------------------------------
# Classe que desenha os itens do menu
#==============================================================================
class Degrade < Window_Base
def initialize
super(5,5,540,410)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
refresh
end
def refresh
self.contents.clear
self.contents.gradient_fill_rect(0,0,510,380,Castlevania::COR1,Castlevania::COR2,Castlevania::COR2)
end
end
class Window_Castlevania < Window_Base
def initialize
super(20,20,510,380)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 0
refresh
end
def refresh
self.contents.clear
@actor = $game_party.members[0]
draw_actor_face(@actor,0,20)
draw_actor_name(@actor,140,20)
draw_actor_hp(@actor,110,45)
draw_actor_mp(@actor,110,65)
draw_actor_state2(@actor, 300, 60, width = 96)
draw_currency_value($game_party.gold, 0, 320, 150)
draw_icon(147,20,320)
draw_icon(188,270,305)
self.contents.font.color = system_color
self.contents.draw_text(300,20,self.width - 40,WLH,"Nível:")
self.contents.font.color = normal_color
self.contents.draw_text(400,20,self.width - 40,WLH,$game_party.members[0].level)
self.contents.font.color = system_color
self.contents.draw_text(300,40,self.width - 40,WLH,"Estado:")
self.contents.font.color = normal_color
self.contents.font.color = system_color
self.contents.draw_text(20,150,self.width - 40,WLH,"Ataque:")
self.contents.font.color = normal_color
self.contents.draw_text(120,150,self.width - 40,WLH,@actor.atk)
self.contents.font.color = system_color
self.contents.draw_text(20,170,self.width - 40,WLH,"Defesa:")
self.contents.font.color = normal_color
self.contents.draw_text(120,170,self.width - 40,WLH,@actor.def)
self.contents.font.color = system_color
self.contents.draw_text(20,190,self.width - 40,WLH,"Agilid:")
self.contents.font.color = normal_color
self.contents.draw_text(120,190,self.width - 40,WLH,@actor.agi)
self.contents.font.color = system_color
self.contents.draw_text(20,210,self.width - 40,WLH,"Intelig:")
self.contents.font.color = normal_color
self.contents.draw_text(120,210,self.width - 40,WLH,@actor.spi)
self.contents.font.color = system_color
self.contents.draw_text(20,250,self.width - 40,WLH,"Exp:")
self.contents.font.color = normal_color
self.contents.draw_text(80,250,self.width - 40,WLH,@actor.exp_s)
self.contents.font.color = system_color
self.contents.draw_text(20,270,self.width - 40,WLH,"Próx:")
self.contents.font.color = normal_color
self.contents.draw_text(80,270,self.width - 40,WLH,@actor.next_rest_exp_s)
self.contents.font.color = system_color
self.contents.draw_text(20,300,self.width - 40,WLH,"Ouro:")
self.contents.font.color = system_color
self.contents.draw_text(300, 120, self.width - 40, WLH, Vocab::equip)
for i in 0..4
draw_item_name(@actor.equips[i], 285 16, 120 WLH * (i 1))
end
end
end
#==============================================================================
# Ajustamento da seleção
#==============================================================================
class Scene_Equip
def return_scene
$scene = Scene_Menu.new(0)
end
end
class Scene_Skill
def return_scene
$scene = Scene_Menu.new(1)
end
end
class Scene_Item
def return_scene
$scene = Scene_Menu.new(2)
end
end
class Scene_File
def return_scene
$scene = Scene_Menu.new(3)
end
end
class Scene_End
def return_scene
$scene = Scene_Menu.new(4)
end
end
#==============================================================================
# Scene_Menu
#------------------------------------------------------------------------------
# Classe de operações na tela do menu.
#==============================================================================
class Scene_Menu < Scene_Base
#--------------------------------------------------------------------------
# Inicialização do processo
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
def start
super
create_command_window
@degrade = Degrade.new
@degrade.z = 0
@menu = Window_Castlevania.new
@menu.z = 1
@time = Window_Time.new(320,330)
@time.opacity = 0
@time.z = 2
end
#--------------------------------------------------------------------------
# Fim do processo
#--------------------------------------------------------------------------
def terminate
super
@command_window.dispose
@degrade.dispose
@menu.dispose
@time.dispose
end
#--------------------------------------------------------------------------
# Atualização da tela
#--------------------------------------------------------------------------
def update
super
@command_window.update
@degrade.update
@menu.update
@time.update
if @command_window.active
update_command_selection
end
end
#--------------------------------------------------------------------------
# Criação da janela de comandos
#--------------------------------------------------------------------------
def create_command_window
s1 = "Equipar"
s2 = "Magias"
s3 = "Joiás"
s4 = "Salvar"
s5 = "Sair"
@command_window = Window_Command.new(135, [s1,s2,s3,s4,s5])
@command_window.x = 195
@command_window.y = 160
@command_window.back_opacity = 0
@command_window.index = @menu_index
if $game_party.members.size == 0 # Se não houver membros na equipe
@command_window.draw_item(0, false) # Desabilita "Equipar"
@command_window.draw_item(1, false) # Desabilita "Magias"
@command_window.draw_item(2, false) # Desabilita "Itens"
end
if $game_system.save_disabled # Se salvar for proibido
@command_window.draw_item(3, false) # Desabilita "Salvar"
end
end
#--------------------------------------------------------------------------
# Atualização da escolha de comando
#--------------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # Equipar
$scene = Scene_Equip.new(0)
when 1 # Magias
$scene = Scene_Skill.new(0)
when 2 # Itens
$scene = Scene_Item.new
when 3 # Salvar
$scene = Scene_File.new(true, false, false)
when 4 # Fim de Jogo
$scene = Scene_End.new
end
end
end
end
class Window_Time < Window_Base
#--------------------------------------------------------------------------
# Iniciar
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 184, WLH 26)
refresh
end
#--------------------------------------------------------------------------
# Principal
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(0, -8, 200, 32, "Tempo:")
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("d:d:d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(69, -8, 200, 32, text)
end
#--------------------------------------------------------------------------
# Atualizar
#--------------------------------------------------------------------------
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
class Window_Base
#--------------------------------------------------------------------------
# - Criar String de Status para Desenhar
#
# actor : Herói
# width : Desenhar o comprimento
# need_normal : Quer seja, ou não [Normal], need= verdadeiro ou falso
#--------------------------------------------------------------------------
def make_battler_state_text(battler, width, need_normal)
# Selecionar comrpimento dos Colchetes
brackets_width = self.contents.text_size("[]").width
# Criar um string de Status para texto
text = ""
for i in battler.states
if $data_states[i].rating >= 1
if text == ""
text = $data_states[i].name
else
new_text = text "/" $data_states[i].name
text_width = self.contents.text_size(new_text).width
if text_width > width - brackets_width
break
end
text = new_text
end
end
end
# Caso esteja vazio o string de texto, tornar isto Normal
if text == ""
if need_normal
text = "[Normal]"
end
else
# Anexar Colchetes
text = "[" text "]"
end
# Retornar string de texto
return text
end
#--------------------------------------------------------------------------
# - Desenhar Status
#
# actor : Herói
# x : Desenhar a partir da coordenada x
# y : Desenhar a partir da coordenada y
# width : Desenhar o comprimento
#--------------------------------------------------------------------------
def draw_actor_state2(actor, x, y, width = 120)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
self.contents.draw_text(x, y, width, 32, text)
end
end
La mayoría de configuraciones se encuentran en el módulo. Cambiar el nombre de las opciones de la línea 173.
-Creditos: Bnezinho
MasterMoonNight- Moderador
- Mensajes : 82
Fecha de inscripción : 06/11/2011
Edad : 28
Localización : Argentina
Temas similares
» (Script) Tileset Changer VX
» (Script)Atlas del Mundo
» [Script] H-MODE 7
» (Script)Copyright
» (Script) DVD System
» (Script)Atlas del Mundo
» [Script] H-MODE 7
» (Script)Copyright
» (Script) DVD System
TallerGamer :: RECURSOS :: RPG MAKER VX
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.