Mundo Maker
¡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
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» preguntas sobre script
por orochii Hoy a las 03:45

» Maratón Maker - del 27 al 30 de Octubre
por orochii Hoy a las 03:24

» Algunas dudas resueltas por MP
por Wecoc Hoy a las 01:13

» [XP] Custom Prices
por xXIsrael0499Xx Ayer a las 23:55

» [XP] Precisión
por rurukawaii Ayer a las 18:20

» Saludos, aquí Kaltritter
por orochii Ayer a las 03:04

» Ayuda, Busco artistas para mi juego de suspenso x accion (?)
por Kaltritter Ayer a las 00:56

» Si necesitas un dibujo entra aqui
por THESHINYMISTERXD 2017-10-20, 18:37

» [VX Ace] gameover menu
por CuteXiora 2017-10-20, 13:24

» Batallas Laterales Animadas (Ace)
por Dariel Lopez 2017-10-19, 23:57

Afiliados
Estadísticas
Tenemos 4197 miembros registrados.
El último usuario registrado es FosForium.

Nuestros miembros han publicado un total de 85243 mensajes en 12136 argumentos.

[RMXP] Dos pequeños soportes para Window_Command

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [RMXP] Dos pequeños soportes para Window_Command

Mensaje por Wecoc el 2014-04-03, 20:26

Me pidieron ésto por MP (bueno, solo el primero xD) y ya que lo tenía dije "Ale, voy a postearlo p'a la comu".

Son dos scripts muy chorras hechos en dos minutos o así del Window_Command, es decir las ventanas en las que seleccionas una opción de entre varias, como la de título, la del menú...

NO PIDO CRÉDITOS

El primer script (pegad encima de main) hace que si una de las opciones está vacía, es decir su texto vale "", entonces la salta directamente. Por si queréis poner separaciones entre comandos, en algunos juegos comerciales creo que las tienen (por eso me lo pidieron).

Código:
class Window_Base
  alias window_base_update update unless $@
end

class Window_Command < Window_Selectable
  def update
    window_base_update
    if self.active and @item_max > 0 and @index >= 0
      if Input.repeat?(Input::DOWN)
        if (Input.trigger?(Input::DOWN)) or @index < @item_max - 1
          $game_system.se_play($data_system.cursor_se)
          loop do
            if @index + 1 == @item_max
              @index = 0
            else
              @index = (@index + 1)
            end
            if @commands[@index] != ""
              break
            end
          end
        end
      end
      if Input.repeat?(Input::UP)
        if (Input.trigger?(Input::UP)) or @index >= 1
          $game_system.se_play($data_system.cursor_se)
          loop do
            if @index == 0
              @index = @item_max - 1
            else
              @index = (@index - 1)
            end
            if @commands[@index] != ""
              break
            end
          end
        end
      end
      if Input.repeat?(Input::R)
        if self.top_row + (self.page_row_max - 1) < (self.row_max - 1)
          $game_system.se_play($data_system.cursor_se)
          @index = [@index + self.page_item_max, @item_max - 1].min
          self.top_row += self.page_row_max
        end
      end
      if Input.repeat?(Input::L)
        if self.top_row > 0
          $game_system.se_play($data_system.cursor_se)
          @index = [@index - self.page_item_max, 0].max
          self.top_row -= self.page_row_max
        end
      end
    end
    if self.active and @help_window != nil
      update_help
    end
    update_cursor_rect
  end
end


El segundo script es casi igual pero en vez de hacerlo con las celdas vacías lo hace con las desactivadas, como el Cargar del título por ejemplo. Pegad también encima de main.

Código:
class Window_Base
  alias window_base_update update unless $@
end

class Window_Command < Window_Selectable
  alias disabled_initialize initialize unless $@
  def initialize(*args)
    disabled_initialize(*args)
    @disabled_items = []
  end
 
  def disable_item(index)
    draw_item(index, disabled_color)
    @disabled_items.push(index)
  end
 
  def enable_item(index)
    draw_item(index, normal_color)
    @disabled_items.delete(index)
  end
 
  def disabled?(index)
    return @disabled_items.include?(index)
  end
 
  def update
    window_base_update
    if self.active and @item_max > 0 and @index >= 0
      if Input.repeat?(Input::DOWN)
        if (Input.trigger?(Input::DOWN)) or @index < @item_max - 1
          $game_system.se_play($data_system.cursor_se)
          loop do
            if @index + 1 == @item_max
              @index = 0
            else
              @index = (@index + 1)
            end
            unless disabled?(@index)
              break
            end
          end
        end
      end
      if Input.repeat?(Input::UP)
        if (Input.trigger?(Input::UP)) or @index >= 1
          $game_system.se_play($data_system.cursor_se)
          loop do
            if @index == 0
              @index = @item_max - 1
            else
              @index = (@index - 1)
            end
            unless disabled?(@index)
              break
            end
          end
        end
      end
      if Input.repeat?(Input::R)
        if self.top_row + (self.page_row_max - 1) < (self.row_max - 1)
          $game_system.se_play($data_system.cursor_se)
          @index = [@index + self.page_item_max, @item_max - 1].min
          self.top_row += self.page_row_max
        end
      end
      if Input.repeat?(Input::L)
        if self.top_row > 0
          $game_system.se_play($data_system.cursor_se)
          @index = [@index - self.page_item_max, 0].max
          self.top_row -= self.page_row_max
        end
      end
    end
    if self.active and @help_window != nil
      update_help
    end
    update_cursor_rect
  end
end


Si necesitáis alguna cosa por el estilo o tenéis algún problema con ellos me lo decís e intentaré mirar a ver cómo hacerlo :D
avatar
Wecoc
Administrador
Administrador



Créditos 9276

Gracias : 503

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Dos pequeños soportes para Window_Command

Mensaje por orochii el 2014-04-04, 02:04

Mientras tanto, en Soviet Orochiiland, cierto personajillo de seguro haría varias ventanas para el primer caso, porque es así de chapuza. =D!.
Y el segundo ta guay, pero supongo que estoy acostumbrado a oír el sonido de "error" así que nunca lo había pensado xD.

Tan buenos los add-ons.
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6696

Gracias : 339

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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