¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3699 miembros registrados.
El último usuario registrado es subliminal30.

Nuestros miembros han publicado un total de 82088 mensajes en 11616 argumentos.
Navega con Google Chrome
[DESCARGA]

[XP] Ventana de créditos sencilla

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP] Ventana de créditos sencilla

Mensaje por Wecoc el 2015-07-13, 20:26

Hice éste script hace tiempo, y no pido créditos por él, ni se os ocurra ponerme dentro de ésta preciosa ventana (?)

Código:
class Window_Credits < Window_Base
  def initialize
    super(0, 0, 400, 400)
    @oy_move = 1
    @oy_max = 640
    self.x = 640 / 2 - self.width / 2
    self.y = 480 / 2 - self.height / 2
    self.contents = Bitmap.new(self.width - 32, @oy_max)
    self.back_opacity = 160
    refresh
  end
  
  def refresh
    self.contents.draw_text(0, 0, self.width - 32, 32, "Scripts", 1)
    draw_chr(0, 8, self.width - 32, 32, "_")
    draw_name(240, 48 + 32 * 0, "Wecoc", ".", "Éste script")
    draw_name(240, 48 + 32 * 1, "Otro", ".", "Nada guay")
    draw_name(240, 48 + 32 * 2, "Otro más", ".", "No importa")
    draw_name(240, 48 + 32 * 3, "Orochii", ".", "(Siempre está)")
    draw_name(240, 48 + 32 * 4, "Wecoc", ".", "¿Otra vez?")
    draw_name(240, 48 + 32 * 5, "Tú", ".", "Bueno, tú no")
    self.contents.draw_text(240, 48 + 32 * 5 + 20 * 1, 128, 32, "hiciste nada,")
    self.contents.draw_text(240, 48 + 32 * 5 + 20 * 2, 128, 32, "fue Wecoc")
    draw_name(240, 48 + 32 * 7, "Wecoc", ".", "Será pesado...")
  end
  
  def draw_chr(x, y, width, height, chr)
    chr_width = self.contents.text_size(chr).width
    chr_num = width / chr_width
    self.contents.draw_text(x, y, width, height, chr * chr_num, 1)
  end
  
  def draw_name(max_x, y, name1, chr, name2)
    x = 8
    self.contents.draw_text(x, y, self.width - 32, 32, name1)
    x += self.contents.text_size(name1).width + 8
    width = max_x - x - 8
    draw_chr(x, y, width, 32, chr)
    self.contents.draw_text(max_x, y, self.width - 32, 32, name2)
  end
  
  def update
    super
    if self.active
      @oy_move = 1
      wait_frames = Graphics.frame_count % 2
      if Input.press?(Input::DOWN)
        @oy_move = 2
        wait_frames = 0
      end
      if Input.press?(Input::UP)
        @oy_move = -2
        wait_frames = 0
      end
      if wait_frames == 0
        self.oy += @oy_move
      end
      self.oy = 0 if self.oy < 0
      if self.oy > (@oy_max - self.height + 32)
        self.oy = (@oy_max - self.height + 32)
      end
    end
  end
  
  def visible=(value)
    super(value)
    self.oy = 0
  end
end

Las modificaciones que tenéis que hacerle son en casi la primera línea donde pone:

@oy_max = 640

Cambiáis ese 640 por lo que os ocupen los créditos.
Se pueden hacer otras modificaciones simples por el estilo pero esa sería la principal.

Y luego cambiáis todo lo que hay dentro del def refresh por los créditos de vuestro juego, en el formato que os parezca. Puse alguno de ejemplo.

El script es solo la ventana, así que tendréis que implementarlo en algún lado. Hice un script para que lo veáis como una opción en Scene_Title, pegadlo encima de main también si es que lo queréis ahí.

Código:
class Scene_Title
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    # If battle test
    if $BTEST
      battle_test
      return
    end
    # Load database
    $data_actors        = load_data("Data/Actors.rxdata")
    $data_classes       = load_data("Data/Classes.rxdata")
    $data_skills        = load_data("Data/Skills.rxdata")
    $data_items         = load_data("Data/Items.rxdata")
    $data_weapons       = load_data("Data/Weapons.rxdata")
    $data_armors        = load_data("Data/Armors.rxdata")
    $data_enemies       = load_data("Data/Enemies.rxdata")
    $data_troops        = load_data("Data/Troops.rxdata")
    $data_states        = load_data("Data/States.rxdata")
    $data_animations    = load_data("Data/Animations.rxdata")
    $data_tilesets      = load_data("Data/Tilesets.rxdata")
    $data_common_events = load_data("Data/CommonEvents.rxdata")
    $data_system        = load_data("Data/System.rxdata")
    # Make system object
    $game_system = Game_System.new
    # Make title graphic
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title($data_system.title_name)
    # Make command window
    s1 = "Nuevo"
    s2 = "Cargar"
    s3 = "Créditos"
    s4 = "Salir"
    @command_window = Window_Command.new(192, [s1, s2, s3, s4])
    @command_window.back_opacity = 160
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 288
    
    @credits_window = Window_Credits.new
    @credits_window.active = false
    @credits_window.visible = false
    # Continue enabled determinant
    # Check if at least one save file exists
    # If enabled, make @continue_enabled true; if disabled, make it false
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    # If continue is enabled, move cursor to "Continue"
    # If disabled, display "Continue" text in gray
    if @continue_enabled
      @command_window.index = 1
    else
      @command_window.disable_item(1)
    end
    # Play title BGM
    $game_system.bgm_play($data_system.title_bgm)
    # Stop playing ME and BGS
    Audio.me_stop
    Audio.bgs_stop
    # 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 command window
    @command_window.dispose
    # Dispose of title graphic
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update command window
    @command_window.update
    @credits_window.update
    if @command_window.active == true
      update_command
      return
    end
    if @credits_window.active == true
      update_credits
      return
    end
  end
  
  def update_command
    # If C button was pressed
    if Input.trigger?(Input::C)
      # Branch by command window cursor position
      case @command_window.index
      when 0  # New game
        command_new_game
      when 1  # Continue
        command_continue
      when 2  # Credits
        command_credits
      when 3  # Shutdown
        command_shutdown
      end
    end
  end

  def command_credits
    $game_system.se_play($data_system.decision_se)
    @command_window.active = false
    @command_window.visible = false
    @credits_window.active = true
    @credits_window.visible = true
  end
  
  def update_credits
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @command_window.active = true
      @command_window.visible = true
      @credits_window.active = false
      @credits_window.visible = false
    end
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @command_window.visible = true
      @credits_window.active = false
      @credits_window.visible = false
    end
  end
end
avatar
Wecoc
Administrador
Administrador



Créditos 8779

Gracias : 412

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Ventana de créditos sencilla

Mensaje por Metalero el 2015-07-15, 02:00

LOGRO OBTENIDO POR EL CONTENIDO DE ESTE POST: +1 Scripter de Bronce

_________________
avatar
Metalero
Administrador
Administrador



Créditos 1715

Gracias : 98

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Scripts

Permisos de este foro:
No puedes responder a temas en este foro.