Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
SilentSteps Menu System
#1
SilentSteps Menu System
by Silentwalker
Version: 1.0

June 17, 2007


This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.


Introduction

Hi everyone, first of all, i'm from argentina, and i dont speak english very well, i hope everyone can understand a word of what i say':|
This is my first post, so i hope i do this right-_-

Well, i made a menu system and i like to share it with you. (this is my first script so dont expect much;) )


Script

Heres the code
Code:
#==============================================================================
# ** SilentMenu
# Version: 1.0
# Thanks to Rudy Guillan, Sayonara-P, TDS, Le?n y Soramaro.
#------------------------------------------------------------------------------
# CMS fully animated, transparent windows, map background, transition
# between scenes and game completion window.
#==============================================================================


#==============================================================================
# ** Window_Completado
#------------------------------------------------------------------------------
#  Esta es la ventana que muestra el porcentaje completo del juego.
#==============================================================================


class Window_Completado < Window_Base
  #--------------------------------------------------------------------------
  # * Inicializacion de objetos
  #--------------------------------------------------------------------------
def initialize
  super(0, 0, 160, 64)
  self.contents = Bitmap.new(width - 32, height - 32)
  refresh
end

  #--------------------------------------------------------------------------
  # * Refresco
  #--------------------------------------------------------------------------  
   def refresh
    self.contents.clear
    self.contents.font.name = "Tahoma"
    self.contents.font.size = 14
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 80, 32, "Completed ")
    self.contents.font.color = normal_color
    #================#Define aqui la variable#================#
    self.contents.draw_text(106, 0, 60, 32, $game_variables[10].to_s + "%")
    #================#Por defecto es la N. 10#================#
  end
end


#==============================================================================
# ** Window_Oro
#------------------------------------------------------------------------------
#  Esta ventana muestra el oro del grupo.
#==============================================================================

class Window_Oro < Window_Base
  #--------------------------------------------------------------------------
  # * Inicializacion de objetos
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Actualizacion
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
  end
end



#==============================================================================
# ** Window_Localizaci?n
#------------------------------------------------------------------------------
#  Esta es la ventana que muestra el nombre del mapa
#==============================================================================

class Window_Localizacion< Window_Base
  
  #--------------------------------------------------------------------------
  # * Inicializacion de objetos
  #--------------------------------------------------------------------------
def initialize
  super(0, 0, 480, 64)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 18
   refresh
end

  #--------------------------------------------------------------------------
  # * Actualizacion
  #--------------------------------------------------------------------------
def refresh
   self.contents.clear
   data = load_data("Data/MapInfos.rxdata")
   self.contents.font.color = system_color
   self.contents.draw_text(0, 0, 248, 32, "Location:")
   self.contents.font.color = normal_color
   self.contents.draw_text(90, 0, 208, 32, data[$game_map.map_id].name, 2)
end

end



#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  Esta es la ventana que muestra a los miembros del grupo.
#==============================================================================

class Window_MenuStatus < Window_Selectable
  
  #--------------------------------------------------------------------------
  # * Inicializacion de objetos
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 480, 296)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Actualizacion
  #--------------------------------------------------------------------------
  def refresh
    self.contents.font.name = "Tahoma"
    self.contents.font.size = 18
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 64
      y = i * 64
      actor = $game_party.actors[i]
      draw_actor_graphic(actor, 32, y + 60)
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 144, y)
      draw_actor_level(actor, x, y + 16)
      draw_actor_state(actor, x + 90, y + 16)
      draw_actor_exp(actor, x, y + 32)
      draw_actor_hp(actor, 32+230, y+16)
      draw_actor_sp(actor, 32+230, y+32)
    end
  end
  #--------------------------------------------------------------------------
  # * Renovacion del rectangulo de cursor
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 64, self.width - 32, 64)
    end
  end
end


#==============================================================================
# ** Window_Ayuda
#------------------------------------------------------------------------------
#  Esta es la ventana que muestra la ayuda sobre cada comando.
#==============================================================================

class Window_Ayuda < Window_Base  
  #--------------------------------------------------------------------------
  # * Inicializacion de objetos
  #--------------------------------------------------------------------------  
def initialize
super(0, 0, 480, 64)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = "Tahoma"  
self.contents.font.size = 18
end

  #--------------------------------------------------------------------------
  # * Actualizacion
  #--------------------------------------------------------------------------
def update(help_text)
  self.contents.clear
  self.contents.draw_text(0, 0, 440, 32, help_text)
end

end

#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  Esta es la escena del menu.
#==============================================================================

class Scene_Menu
  
  #--------------------------------------------------------------------------
  # * Inicializacion de objetos
  #--------------------------------------------------------------------------  
def initialize(menu_index = 0)
   @menu_index = menu_index
end
  
  #--------------------------------------------------------------------------
  # * Metodo principal
  #--------------------------------------------------------------------------  
def main
  @spriteset = Spriteset_Map.new
  viewport = Viewport.new(0, 0, 640, 480)
  viewport.tone = Tone.new(0, 0, 0,166)
  #--------------------------------------------------------------------------
  # * Llamado a las ventanas del menu
  #--------------------------------------------------------------------------  
  @window_Completado = Window_Completado.new
  @window_Completado.back_opacity = 130
  @window_Completado.x = 480 + 160
  @window_Completado.y = 392
  @window_Oro = Window_Oro.new
  @window_Oro.back_opacity = 130
  @window_Oro.x = 480 + 160
  @window_Oro.y = 30
  @window_Localizacion = Window_Localizacion.new
  @window_Localizacion.back_opacity = 130
  @window_Localizacion.y = 392 + 190
  @status_window = Window_MenuStatus.new
  @status_window.back_opacity = 130
  @status_window.x = -480
  @status_window.y = 95
  @window_Ayuda = Window_Ayuda.new
  @window_Ayuda.back_opacity = 130
  @window_Ayuda.y = -80
  @window_Ayuda.update(" ")
  #--------------------------------------------------------------------------
  # * Creaci?n de la ventana de comandos
  #--------------------------------------------------------------------------  
  s1 = $data_system.words.item
  s2 = $data_system.words.skill
  s3 = $data_system.words.equip
  s4 = "Status"
  s5 = "Save"
  s6 = "Exit"
  @command_window = Window_Command.new(160, [s1,s2,s3,s4,s5,s6])
  @command_window.x = 480 + 160
  @command_window.y = 95
  @command_window.height = 296
  @command_window.index = @menu_index
  @command_window.back_opacity = 130
  #--------------------------------------------------------------------------
  # * Transici?n
  #--------------------------------------------------------------------------  
  Graphics.transition(8, "Graphics/Transitions/004-Blind04")
  loop do
   Graphics.update
   Input.update
   update
   if $scene != self
    break
   end
end

  Graphics.freeze
  @spriteset.dispose
  viewport.dispose
  @window_Oro.dispose
  @window_Completado.dispose
  @window_Localizacion.dispose
  @status_window.dispose
  @command_window.dispose
  @window_Ayuda.dispose
end

  #--------------------------------------------------------------------------
  # * Animacio?n de Entrada
  #--------------------------------------------------------------------------
  def animacion_entrada

  @command_window.x -= 10 if @command_window.x > 480    
  @window_Completado.x -= 10 if @window_Completado.x > 480    
  @window_Localizacion.y -= 10 if @window_Localizacion.y > 392
  @window_Oro.x -= 10 if @window_Oro.x > 480    
  @status_window.x += 20 if @status_window.x < 0
  @window_Ayuda.y += 10 if @window_Ayuda.y < 30
  
  end

  #--------------------------------------------------------------------------
  # * Animaci?n de Salida
  #--------------------------------------------------------------------------
  def animacion_salida

  @command_window.x += 10 if @command_window.x < 640    
  @window_Completado.x += 10 if @window_Completado.x < 640  
  @window_Localizacion.y += 10 if @window_Localizacion.y < 480
  @window_Oro.x += 10 if @window_Oro.x < 640    
  @status_window.x -= 20 if @status_window.x > -480
  @window_Ayuda.y -= 10 if @window_Ayuda.y > -64
  
  if @status_window.x <= -480
    $scene = Scene_Map.new
    $game_map.autoplay  
    return
  end
  
  
  end
  
  #--------------------------------------------------------------------------
  # * Actualizacion de Frames
  #--------------------------------------------------------------------------

  def update
    
    if @intro == nil
     animacion_entrada
   end
  
  if @salida == true    
    animacion_salida
    @intro = false
  end
  
    
    @status_window.update
    @window_Localizacion.update
    @window_Oro.update
    @window_Completado.update
    @command_window.update


case @command_window.index
  when 0
    @window_Ayuda.update("See and manage the items of your party.")
  when 1
    @window_Ayuda.update("See the abilityes of each of your characters.")
  when 2
    @window_Ayuda.update("Manage the equipment of the selected character.")
  when 3
    @window_Ayuda.update("A deep overview to a character status.")
  when 4
    @window_Ayuda.update("Save the game to continue it later.")
  when 5
    @window_Ayuda.update("Exit to main menu or to windows.")
end  


    if @command_window.active
      update_command
      return
    end
    if @status_window.active
      update_status
      return
    end
#-----------------------------------#    
end# fin del update
#-----------------------------------#


def update_command
if Input.trigger?(Input::C)
case @command_window.index
  when 0
   $game_system.se_play($data_system.decision_se)
   $scene = Scene_Item.new
  when 1
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.index = 0
  when 2
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.index = 0
  when 3
      $game_system.se_play($data_system.decision_se)
      @command_window.active = false
      @status_window.active = true
      @status_window.index = 0
  when 4
      if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
    $scene = Scene_Save.new
  when 5  
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_End.new
  end  
end

if Input.trigger?(Input::B)
  $game_system.se_play($data_system.cancel_se)
  @salida = true
  return
end
end
#==#Fin de la Scene#==#
end
#==#Fin de la Scene#==#



Instructions

Just put it above Main and run the game^_^
To add a number to the game completion window, make a variable operation and put the number to the variable numer 10.


FAQ

None yet.


Compatibility

It should work with everything, if you find any problem, please post it.


Credits and Thanks

I'm not asking for credits, but you cant say you made the script:-/


Author's Notes

Please tell what you think about it:thumb:
}


Possibly Related Threads…
Thread Author Replies Views Last Post
  FF7 style menu system Narc the Jester 0 2,488 05-04-2010, 01:00 PM
Last Post: Narc the Jester
  L's Custom Menu Scenes Landarma 0 2,434 02-27-2009, 01:00 PM
Last Post: Landarma
  Advanced Menu Screen Kanon 1 3,150 11-21-2008, 01:00 PM
Last Post: Kanon
  Legend of dragoon type Equipment Menu Genshyu 0 2,353 09-02-2008, 01:00 PM
Last Post: Genshyu
  Final Fantasy III Menu Style DragonKnigth 0 2,427 09-07-2007, 01:00 PM
Last Post: DragonKnigth
  Level Up AP System Skyboar 0 2,338 08-18-2007, 01:00 PM
Last Post: Skyboar
  Ring Menu for SDK2 Landarma 0 2,776 06-01-2007, 01:00 PM
Last Post: Landarma
  Variable Image Menu Chrono Cry 0 1,992 04-25-2007, 01:00 PM
Last Post: Chrono Cry
  Ztorm's Speed Menu ztorm 0 2,318 01-21-2007, 01:00 PM
Last Post: ztorm
  Kingdom Hearts Menu Leon Blade 0 2,359 12-29-2006, 01:00 PM
Last Post: Leon Blade



Users browsing this thread: