¡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
» Tutorial Interactivo [Uso de interruptores]
por Ledai Hoy a las 16:58

» Necesito Script
por Elian84 Hoy a las 04:44

» Holaaa a tod@s!!!
por chronoMxx Hoy a las 03:41

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Hoy a las 01:06

» El poder oculto (Segunda entrega)
por alex1633 Ayer a las 23:18

» Hola mucho gusto
por Hk Diamond Ayer a las 13:49

» SoraDeathss se presenta!
por chronoMxx Ayer a las 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx Ayer a las 06:45

» las cosas como son...
por Bleuw Ayer a las 04:18

» Busco artistas graficos para proyecto serio
por Rudy_kinneas 2016-12-02, 20:52

Afiliados
Estadísticas
Tenemos 3381 miembros registrados.
El último usuario registrado es Hk Diamond.

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

[RMXP] Dos pequeños soportes para Window_Command

 :: RPG Maker :: Scripts

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

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

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.

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

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.