¡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] Simple NVL mode v0.2

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [RMXP] Simple NVL mode v0.2

Mensaje por silvanash el 2015-08-23, 21:45

Los que jueguen a novelas gráficas ya sabrán qué es "NVL". Es el modo "llenar pantalla de texto", con pantallas y más pantallas llenas de texto sobre fondo, para que el jugador se pregunte cuándo va a tocar t*ta.

simple NVL mode permite cambiar entre el modo ADV (texto normal, tal y como viene en el Maker) y NVL. Si podemos tener juegos de terror con el RPG Maker, ¿por qué no podemos tener novelas gráficas?

Features:
- Cambia entre ADV y NVL on the fly.
- Soporta elecciones y entrada numérica en modo NVL. No permite abrir la ventana de oro (\g) en modo NVL (¿dónde leches vas a colocar la ventana de oro si la ventana de mensaje cubre la pantalla?) Soporta los comandos default del Maker (\c[n], \v[n], \n[n]).
- Después de llamar a elecciones o entrada numérica se inicia una página nueva.
- Añadido el código \s para tachar texto. Llamarlo una vez tacha todo el texto hasta que se vuelva a llamar. No funciona en modo ADV (esto lo hice para Kelala, pero lo copypasteo aquí igualmente).
- Parte automáticamente el texto en otra página si no cabe en la página actual. El usuario no tiene que preocuparse por separar el texto en páginas; el script se encarga por su cuenta.

Compatibilidad:
- Probablemente compatible con otros UMS, siempre y cuando se limiten a modificar la ventana original. No obstante, el modo NVL no podrá usar ningún método del UMS.

Código:
Código:
#Simple nvl mode v0.2

module SLV_Config
  
  KEEP_TEXT = 1     #Switch ID; when TRUE bitmap isn't cleared when fading out
  KEEP_WINDOW = 2   #Switch ID; when TRUE window doesn't fade when text is not called
  CUSTOM_PAUSE = 3  #Switch ID; when TRUE uses custom pause graphic
  
end

class Game_System
  
  attr_accessor :message_mode
  attr_accessor :last_mode
  
  alias slv_init initialize
  
  def initialize
    slv_init
    @message_mode = "adv" #Switch between "nvl" and "adv"
    @last_mode = "adv"
  end
  
end

class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  
  alias slv_init initialize
  
  def initialize
    slv_init
    #Forcibily initializes the window in nvl mode if needed
    if $game_system.message_mode == "nvl"
      self.width = 640
      self.height = 480
      self.contents = Bitmap.new(width - 32, height - 32)
    end
    @y = 0
    @strike = false
    @slv_line_count = 0
    @pause_anim = 0
    @pause_anim2 = 0
  end
  
  alias slv_dispose dispose
  
  def dispose
    if @pause_sprite != nil
      @pause_sprite.dispose
      @pause_sprite = nil
    end
    slv_dispose
  end

  #--------------------------------------------------------------------------
  # * Terminate Message
  #--------------------------------------------------------------------------
  
  alias slv_terminate_message terminate_message
  
  def terminate_message
    if $game_system.message_mode == "adv"
      slv_terminate_message
      return
    end
    self.active = false
    self.pause = false
    self.index = -1
    #self.contents.clear
    # Clear showing flag
    @contents_showing = false
    # Call message callback
    if $game_temp.message_proc != nil
      $game_temp.message_proc.call
    end
    # Clear variables related to text, choices, and number input
    $game_temp.message_text = nil
    $game_temp.message_proc = nil
    $game_temp.choice_start = 99
    $game_temp.choice_max = 0
    $game_temp.choice_cancel_type = 0
    $game_temp.choice_proc = nil
    $game_temp.num_input_start = 99
    $game_temp.num_input_variable_id = 0
    $game_temp.num_input_digits_max = 0
  end

  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  
  alias refresh_adv refresh
  
  def refresh
    if $game_system.message_mode == "adv"
      self.x = 80
      self.y = 304
      self.width = 480
      self.height = 160
      self.contents = Bitmap.new(width - 32, height - 32)
      $game_system.last_mode = "adv"
      refresh_adv
    else
      refresh_nvl
    end
  end
  
  def refresh_nvl
    self.contents_opacity = 255
    self.pause = false
    self.x = 0
    self.y = 0
    self.width = 640
    self.height = 480
    self.contents.font.color = normal_color
    x = @pause_x = 0
    @slv_line_count = 0
    if $game_system.last_mode == "adv"
      @y = 0
      self.contents = Bitmap.new(width - 32, height - 32)
      $game_system.last_mode = "nvl"
    end
    #Loads custom pause sprite
    if @pause_sprite == nil and $game_switches[SLV_Config::CUSTOM_PAUSE] == true
      @pause_sprite = Sprite.new
      @pause_sprite.bitmap = Bitmap.new("Graphics/Windowskins/nvl_pause")
      @pause_sprite.z = self.z
      sx = @pause_anim * @pause_sprite.bitmap.width / 4
      swidth = @pause_sprite.bitmap.width / 4
      sheight = @pause_sprite.bitmap.height
      @pause_sprite.src_rect.set(sx, 0, swidth, sheight)
    end
    @cursor_width = 0
    # Indent if choice
    if $game_temp.choice_start == 0
      x = 8
    end
    if @y > 10  #Starts a new page if current page has more than 10 lines
      self.contents.clear
      @y = 0
    end
    # If waiting for a message to be displayed
    if $game_temp.message_text != nil
      text = $game_temp.message_text
      # Control text processing
      begin
        last_text = text.clone
        text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until text == last_text
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      # Change "\\\\" to "\000" for convenience
      text.gsub!(/\\\\/) { "\000" }
      # Change "\\C" to "\001" and "\\G" to "\002"
      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      text.gsub!(/\\[Ss]/) { "\002" } #strike text
      text.gsub!(/\\[Ff]/) { "\003" } #starts a new page
      # Get 1 text character in c (loop until unable to get text)
      while ((c = text.slice!(/./m)) != nil)
        # If \\
        if c == "\000"
          # Return to original text
          c = "\\"
        end
        # If \C[n]
        if c == "\001"
          # Change text color
          text.sub!(/\[([0-9]+)\]/, "")
          color = $1.to_i
          if color >= 0 and color <= 7
            self.contents.font.color = text_color(color)
          end
          # go to next text
          next
        end
        if c == "\002"  #\S; strike text
          @strike = (not @strike)
        end
        if c == "\003"  #\F; starts a new page
          @y = 0
          self.contents.clear
        end
        # If new line text
        if c == "\n"
          # Update cursor width if choice
          if @y >= $game_temp.choice_start
            @cursor_width = [@cursor_width, x].max
          end
          # Add 1 to y
          @y += 1
          @slv_line_count += 1
          x = 0
          # Indent if choice
          if @slv_line_count + @y >= $game_temp.choice_start
            x = 8
          end
          # go to next text
          next
        end
        # Draw text
        self.contents.draw_text(4 + x, 32 * @y, 40, 32, c)
        # Add x to drawn text width
        x += self.contents.text_size(c).width
        @pause_x = x
        if @strike == true  #Draws a line over the text
          strike = self.contents.text_size(c).width
          self.contents.fill_rect(x - strike + 4, @y * 32 + 16, strike, 1, normal_color)
        end
      end
    end
    if $game_switches[SLV_Config::CUSTOM_PAUSE] == true
      @pause_sprite.y = @y * 32 - @pause_sprite.bitmap.height / 2
      @pause_sprite.x = @pause_x + 32
    end
    # If choice
    if $game_temp.choice_max > 0
      @item_max = $game_temp.choice_max
      @pause_sprite.visible = false if @pause_sprite != nil
      self.active = true
      self.index = 0
    end
    # If number input
    if $game_temp.num_input_variable_id > 0
      @pause_sprite.visible = false if @pause_sprite != nil
      digits_max = $game_temp.num_input_digits_max
      number = $game_variables[$game_temp.num_input_variable_id]
      @input_number_window = Window_InputNumber.new(digits_max)
      @input_number_window.number = number
      @input_number_window.x = self.x + 8
      @input_number_window.y = self.y  + @y * 32#+ $game_temp.num_input_start * 32
    end

  end
  #--------------------------------------------------------------------------
  # * Set Window Position and Opacity Level
  #--------------------------------------------------------------------------
  def reset_window
    if $game_system.message_frame == 0
      self.opacity = 255
    else
      self.opacity = 0
    end
    self.back_opacity = 160
    #Disables changing y cord during nvl mode
    return if $game_system.message_mode == "nvl"
    if $game_temp.in_battle
      self.y = 16
    else
      case $game_system.message_position
      when 0  # up
        self.y = 16
      when 1  # middle
        self.y = 160
      when 2  # down
        self.y = 304
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    # If fade in
    if @fade_in
      self.contents_opacity += 24
      if @input_number_window != nil
        @input_number_window.contents_opacity += 24
      end
      if self.contents_opacity == 255
        @fade_in = false
      end
      return
    end
    # If inputting number
    if @input_number_window != nil
      @input_number_window.update
      # Confirm
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_variables[$game_temp.num_input_variable_id] =
          @input_number_window.number
        $game_map.need_refresh = true
        # Dispose of number input window
        @input_number_window.dispose
        @input_number_window = nil
        terminate_message
      end
      return
    end
    # If message is being displayed
    if @contents_showing
      # If choice isn't being displayed, show pause sign
      if $game_temp.choice_max == 0
        if $game_system.message_mode == "nvl" and
          $game_switches[SLV_Config::CUSTOM_PAUSE] == true
          self.pause = false
          @pause_sprite.visible = true
          @pause_anim2 += 1
          if @pause_anim2 >= 10
            @pause_anim2 = 0
            @pause_anim = (@pause_anim + 1) % 4
            sx = @pause_anim * @pause_sprite.bitmap.width / 4
            swidth = @pause_sprite.bitmap.width / 4
            sheight = @pause_sprite.bitmap.height
            @pause_sprite.src_rect.set(sx, 0, swidth, sheight)
          end
        else
          self.pause = true
        end
      end
      # Cancel
      if Input.trigger?(Input::B)
        if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
          $game_system.se_play($data_system.cancel_se)
          $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
          terminate_message
          @y = 0
          self.contents.clear if $game_system.message_mode == "nvl"
        end
      end
      # Confirm
      if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
          @y = 0
          self.contents.clear if $game_system.message_mode == "nvl"
        end
        terminate_message
      end
      return
    end
    # If display wait message or choice exists when not fading out
    if @fade_out == false and $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      self.contents_opacity = 0 if $game_system.message_mode == "adv"
      if @input_number_window != nil
        @input_number_window.contents_opacity = 0
      end
      @fade_in = true
      return
    end
    # If message which should be displayed is not shown, but window is visible
    if self.visible
      if $game_switches[SLV_Config::KEEP_WINDOW] == true
        @fade_out = false
        $game_temp.message_window_showing = false
        return
      end
      @fade_out = true
      self.opacity -= 48
      @pause_sprite.visible = false if @pause_sprite != nil
      if self.opacity == 0
        self.visible = false
        @fade_out = false
        $game_temp.message_window_showing = false
        if $game_system.message_mode == "adv"
          self.contents.clear
        else
          self.contents.clear if $game_switches[SLV_Config::KEEP_TEXT] == false
          @y = 0 if $game_switches[SLV_Config::KEEP_TEXT] == false
        end
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  
  alias slv_update_cursor_rect update_cursor_rect
  
  def update_cursor_rect
    if $game_system.message_mode == "adv"
      slv_update_cursor_rect
    else
      nvl_update_cursor_rect
    end
  end
  
  def nvl_update_cursor_rect
    if @index >= 0
      n = @y + @index + $game_temp.choice_start - @slv_line_count
      self.cursor_rect.set(8, n * 32, @cursor_width, 32)
    else
      self.cursor_rect.empty
    end
  end
end

Pegar en cualquier lugar debajo de Window_Message y encima de Scene_Map. Para jugar sobre seguro, pegar justo debajo de Window_Message. Importante: no borrar el Window_Message original, o se bugeará brutalmente todo.

Para usarlo, llamar a script tal que así:

Código:
$game_system.message_mode = "mode"

"mode" puede ser "adv" y "nvl". Es importante que se pongan las comillas.

$game_system.message_mode = nvl => error; método nvl no definido

$game_system.message_mode = "nvl" => funciona correctamente.

No pido créditos. Sólo yuri.

Imágenes (sólo en modo NVL; el ADV es el texto clásico del Maker):
Spoiler:
Click para ver en grande y eso.

Instrucciones de NVL v0.2 en el post de abajo.

Gráfico de pause_custom aquí.


Última edición por silvanash el 2015-08-24, 14:47, editado 2 veces

silvanash
Aventurero
Aventurero

0/3

Créditos 1417

Gracias : 176

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Simple NVL mode v0.2

Mensaje por silvanash el 2015-08-24, 14:25

¡simple NVL mode v0.2 disponible!

Más features:
- Añadido el modo KEEP_TEXT (activado con interruptor, ID en el module del principio del script). Cuando ese interruptor está activado (y la ventana en modo NVL), el texto no se borra al salir de la ventana de texto. Por ejemplo, es posible mostrar un portrait, poner texto, ocultar la ventana, mover al portrait y mostrar más texto a continuación del anterior en lugar de tener una página nueva.
- Añadido el modo KEEP_WINDOW (activado con interruptor, ID en el module del principio del script). Cuando ese interruptor está activado (y la ventana en modo NVL), la ventana no se oculta mientras se ejecutan otros eventos. Es posible mostrar texto y mover imágenes por detrás del texto. KEEP_TEXT y KEEP_WINDOW no funcionan de forma simultánea (KEEP_WINDOW tiene prioridad sobre KEEP_TEXT). No obstante, ya que en modo KEEP_WINDOW la ventana no desaparece, el texto anterior no se borra, así que no es necesario usar KEEP_TEXT. Importante: desactivar el interruptor de KEEP_WINDOW al terminar de mostrar el texto. La ventana de mensaje NUNCA desaparece mientras KEEP_WINDOW esté activo.
- Añadido un custom_pause (activado con interruptor, ID en el module del principio del script). Permite mostrar una animación de la flecha de "sigue leyendo" customizada, que aparece al final de la línea de texto. El gráfico del pause tiene que estar en Windowskins. La animación es de 4 frames.
- Añadido el comando \f en modo NVL. Empieza una nueva página. Este comando hay que usarlo al principio del mensaje =>
Código:
\fNueva página.
- Arreglados varios bugs.

Código en el post anterior.

silvanash
Aventurero
Aventurero

0/3

Créditos 1417

Gracias : 176

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Simple NVL mode v0.2

Mensaje por Wecoc el 2015-08-24, 15:05

Mhm... Ventana de texto con tamaño personalizable y más de 4 líneas, texto tachado, custom pause... Todo eso está en el Wecoc's Message System tal cual, no veo nada que no se pueda hacer con mi script excepto lo de KEEP_TEXT y KEEP_WINDOW, que no acabé de pillar.

Además creo que lo más común en esos juegos son las múltiples elecciones con más de 4 posibilidades. Y eso lo soporta mi script pero el maker por defecto no...

Si te parece, le haré una nueva versión del script que sea como un Add-On de mi sistema, de ese modo se le podran sacar más cosas...

PD.- Yo las llamo Visual Novel directamente xD

Edito: Ya lo hice. Creo que ya está todo menos lo de los KEEPs que si realmente es necesario te dejo que lo implementes tú mismo xD Tampoco está tan automatizado lo del salto de línea pero no creo que sea un verdadero problema.

Además añadí una nueva variable, $game_system.pause_in_text, porque en novelas gráficas es típico que la flechita se vea justo al final del texto.

Código:
#==============================================================================
# ** Visual Novel AddOn for Wecoc's Message System
#------------------------------------------------------------------------------
# Autores: Silvanash, Wecoc
# Versión: 0.2
#==============================================================================

class Game_System
  
  attr_reader :message_mode, :last_message_mode
  attr_accessor :pause_in_text
  
  alias nvlwec_ini initialize unless $@
  def initialize
    nvlwec_ini
    @message_mode = "default"
    @last_message_mode = @message_mode
    @pause_in_text = false
  end
  
  def message_mode=(mode)
    @last_message_mode = @message_mode
    @message_mode = mode
    case @message_mode.downcase
    when "default"
      @message_x = 80
      @message_y = 304
      @message_width = 480
      @message_height = 160
      @message_opacity = 255
      @message_back_opacity = 160
    when "adv"
      @message_x = 0
      @message_y = 320
      @message_width = 640
      @message_height = 160
      @message_opacity = 255
      @message_back_opacity = 160
    when "nvl"
      @message_x = 0
      @message_y = 0
      @message_width = 640
      @message_height = 480
      @message_opacity = 255
      @message_back_opacity = 160
      @message_max_lines = 4
    end
    @message_max_lines = (@message_height - 32) / 32
  end
end

class Window_Message
  def update_pause
    @pause_sprite.update
    if $game_system.pause_in_text == true
      @pause_sprite.x = self.x + @pause_x
      @pause_sprite.y = self.y + @pause_y
    else
      @pause_sprite.x = $game_system.pause_x + self.x + self.width / 2
      @pause_sprite.y = $game_system.pause_y + self.y + self.height - 8
    end
  end
  
  alias nvlwec_write_text write_text unless $@
  def write_text(a)
    return if a == nil
    @pause_x = 32 + a.x + 8
    @pause_y = 32 + a.y * 32
    nvlwec_write_text(a)
  end

  def skip
    until @text_array.size == 0
      a = @text_array.shift
      write_text(a)
    end
  end
end

La variable message_mode puede ser default, adv y nvl aunque no son modos reales, solo son atajos para cambiar la posición de la ventana.

- default es la posición de siempre
- adv es igual pero sin márgenes, es decir la x de la ventana es 0, la width es 640 y tampoco queda separación debajo de ésta.
- nvl es la ventana a pantalla completa.

El strike no tiene atajo directo pero se puede definir así en llamar script para luego usar \s[0] tal y como tú estabas usando \s:

Código:
define_message(0, "self.contents.font.strikeline = !self.contents.font.strikeline")

Igualmente no sé si lo usas mucho a lo largo del juego como para tener que hacerle un atajo (\strike) como hice con bold (\b) y otras propiedades de fuente.

Spoiler:
Cabe recordar que a parte del strike sin más hay otras propiedades:

Código:
define_message(0,
"self.contents.font.strikeline = true
self.contents.font.strikeline_full = false
self.contents.font.strikeline_double = false
self.contents.font.strikeline_height = 2")

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Simple NVL mode v0.2

Mensaje por silvanash el 2015-08-24, 16:53

No he visto tu script (no miro recursos ajenos por política personal, y el único script tuyo que he mirado sigues sin corregirlo), aunque no puedo impedirte hacer el add-on porque... Bueno, ya lo has hecho.

Por lo demás, el simple NVL lo hice para tener disponible el NVL de forma simple, sin que la gente tuviese que meterse a configurar cosas.

Lo de los KEEP no sé cómo lo vas a hacer. En simple NVL los KEEP son modificaciones del update, para modificar la forma en la que se oculta y hace clear del bitmap de la ventana.

Y los KEEP se hicieron para novelas gráficas en modo NVL, para poder cambiar los gráficos de los personajes (los portraits y demases) mientras se está mostrando texto:

Mostrar imagen de tsundere en modo tsun.
Texto: lo que sea.
Mostrar imagen de tsundere en modo dere.
Texto: otro lo que sea.

KEEP_TEXT ocultaría la ventana al acabar el primer comando de texto y mostrar imagen, pero no borraría el texto anterior cuando se dibujarse el "otro lo que sea"; es decir, al mostrar el segundo mensaje la ventana de texto tendría escrito el "lo que sea" anterior. KEEP_WINDOW directamente no oculta la ventana, lo que permite mover imágenes en el fondo mientras muestras texto; algo así como cambiar la expresión del personaje en el fondo sin ocultar la ventana.

Edito: y el pause custom del simple NVL ya mostraba el pause al final de la línea.

Edit2: no recuerdo ninguna novela gráfica donde hubiese más de 3 decisiones al mismo tiempo, ni falta que hace. Cada una de las tres decisiones se ramifica en otras dos o tres, y luego en otras tantas o ya tocas t*ta y/o BAD END.

silvanash
Aventurero
Aventurero

0/3

Créditos 1417

Gracias : 176

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Simple NVL mode v0.2

Mensaje por Wecoc el 2015-08-24, 17:20

Bueno, el nivel de configuración sigue siendo casi el mismo si te quedas con lo simple del script. Yo no me preocuparía tanto por eso, no es un script difícil de usar. Implementar el KEEP_WINDOW es fácil, porque mi update está muy fragmentado así que no hay que editarlo todo, solo la parte del fade llamada update_fade_out.

El KEEP_TEXT sí es más complejo porque el self.contents.clear no está allí mismo, creo que el mío está dentro de refresh (no me preguntes por qué xD), y ese método sí es más "tochón".

Ya ví que en el tuyo el pause queda al final de línea también, me había confundido porque lo había mirado en modo ADV. Pero en fin, en todo caso es otra cosa que funciona en ámbos scripts xD

Spoiler:
Nagisa's Path
Éste tiene hasta 6 opciones según he visto.

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Simple NVL mode v0.2

Mensaje por Contenido patrocinado Hoy a las 20:23


Contenido patrocinado


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.