¡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 3399 miembros registrados.
El último usuario registrado es agapitovillaporca_803.

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

Ayuda con el menu

 :: RPG Maker :: Scripts

Ver el tema anterior Ver el tema siguiente Ir abajo

Ayuda con el menu

Mensaje por M4T4P4J4ROS el 2012-03-25, 19:34

Saludo foreros, soy nuevo aquí, vnego de otro foro que la verdad está bastante muerto en cuanto a RPG MAKER ,así que he decidido buscar otro haber ssi tengo más suerte.
No se si esto va aquí, he buscado un apartado de Scripts y encontrado esto, si no va en este lugar o algo me lo decis.
Soy muy muy nuevo en esto de los Scripts así que seguramente esté diciendo alguna barbaridad, corregidmelos ^^
Bien, mi duda es la siguiente, tengo el RPG Maker XP y estoy creando un juego en el cual el menú que necesito es muy simple, continuar, guardar y salir.
He pensado borrar el menú que trae (que tiene objetos,habilidades estado etc..) y crear yo uno con la orden def star y crear los tres casos. Si quiero continuar o salir se como ponerlo, pero no se que poner en el segundo caso, es decir, para guardar. ¿Podriais ayudarme?
Seguramente esté diciendo una burrada y sea mucho mejor mediante otro tipo de script o algo, así que por ello recurro a vosotros.
Muchas gracias.

M4T4P4J4ROS
Iniciado
Iniciado

0/3

Créditos 28

Gracias : 2

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por Wecoc el 2012-03-25, 19:53

Lo que tienes que editar es el Scene_Menu.
Enseguida que pueda editaré y te subiré el script.

Pero antes que nada pásame, por aquí o por MP, el que tenías hecho y te diré lo que tengas mal si quieres, así aprenderás más.

Wecoc
Administrador
Administrador



Créditos 8272

Gracias : 372

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por M4T4P4J4ROS el 2012-03-25, 20:02

Ei tio muchas gracias, y que velocidad O.o jajaja no estoy acostumbrado xDD
bueno el script que llevaba hecho era esto (es muy poco):
Código:
class Scene_Sample < Scene_Base
  def star
    op1 "continuar"
    op2 "Guardar"
    op3 "salir"
    @mapa = Spriteset_Map.new
    @com = Window_Command.new(172,[op1,op2,op3])
  end
  def update
    @mapa.update
    @com.update
    if Input.trigger?(Input::C)
    case @com.index
    when 0
      $scene = Scene_Map.new
      when 1     
 (((aquí tendría la opción de guardar))))
      when 2
      exit
  end
end

M4T4P4J4ROS
Iniciado
Iniciado

0/3

Créditos 28

Gracias : 2

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por Wecoc el 2012-03-25, 20:13

Bueno, el que he hecho yo:
Código:
#==============================================================================
# Scene_Menu (simplificado)
#==============================================================================

class Scene_Menu
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  def main
    @spriteset = Spriteset_Map.new
    s1 = "Cargar"
    s2 = "Guardar"
    s3 = "Salir"
    @command_window = Window_Command.new(160, [s1, s2, s3])
    @command_window.index = @menu_index
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    if not @continue_enabled
      @command_window.disable_item(0)
    end
    if $game_system.save_disabled
      @command_window.disable_item(1)
    end
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @command_window.dispose
    @spriteset.dispose
  end
  def update
    @command_window.update
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      case @command_window.index
      when 0  # Cargar
        unless @continue_enabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_Load.new
      when 1 # Guardar
        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 2  # Salir
        $game_system.se_play($data_system.decision_se)
        $scene = Scene_End.new
      end
      return
    end
  end
end

Ten en cuenta que también habría que editar los Scene_Menu.new de otros scripts, porque lo llaman mas o menos así Scene_Menu.new(index) y los index ya no son el mismo.

Luego tu script está bastante bien, no le veo ningún error, no está del todo completo, pero mal no está. Yo personalmente no usaria @com sinó @command_window porque es como lo usa el RTP y usar el mismo puede ahorrarte algunos problemas de compatibilidad. Con las demás variaciones lo mismo.

Luego lo que está mal; no entiendo por qué en when 0 (Continuar) has puesto $scene = Scene_Map.new.
Y lo último, en when 2 has puesto "exit". Así cierra la ventana directamente. Sí, está bien, pero es muy brusco xDDDD.

Bueno solo eso. Salut,
Wecoc.

Wecoc
Administrador
Administrador



Créditos 8272

Gracias : 372

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por M4T4P4J4ROS el 2012-03-25, 20:19

WOW, muchas gracias eternamente agradecido xD!! ^-^
Pués fue mirando un poco por internet y por ahi, pense que así volvería a la imagen del map en el que estaba.
Lo de editar otros Scene_Menu.new(index) ¿sería buscarlo en otros script y sustituirlos o como?¿si es así por que lo tendria que sustituir? (soy muy noob así que hay bastantes cosas que no entiendo :P)
Gracias
PD: ***der tio... lo acabo de probar y está genial muchisimas gracias, mira que he buscado en foros y he preguntado, pero ninguno como aquí jajaja ya se donde venir a preguntar mis dudas :3

M4T4P4J4ROS
Iniciado
Iniciado

0/3

Créditos 28

Gracias : 2

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por Wecoc el 2012-03-25, 20:24

Ahora el index es así:
0 --> Cargar
1 --> Guardar
2 --> Salir

Tu busca "Scene_Menu.new"
y te saldran cosas así:
en Scene_Save saldrá 2 veces esto:
Código:
$scene = Scene_Menu.new(4)
como ahora Guardar está en el index 1, lo cambias por esto:
Código:
$scene = Scene_Menu.new(1)

Y luego en el Scene_End que sale esto 2 veces:
Código:
$scene = Scene_Menu.new(5)
lo cambias por esto:
Código:
$scene = Scene_Menu.new(2)

Para que al cancelar en Scene_Load te vaya al menú habría que editar ese script también, porque sinó por defecto cuando canceles te irá al Title
Sweat

Wecoc
Administrador
Administrador



Créditos 8272

Gracias : 372

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por M4T4P4J4ROS el 2012-03-25, 20:30

De acuerdo,muchas gracias, ya lo he cambiado ^^.
¿De que dependen esos numeritos?(me gusta mucho esto del script así que INTENTO entender lo máximo que puedo xD) ¿en función de que se cambia el 4 por el uno o el 5 por el dos? ¿de las 3 opciones ((guardar,cargar,continuar))?

M4T4P4J4ROS
Iniciado
Iniciado

0/3

Créditos 28

Gracias : 2

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por Wecoc el 2012-03-25, 20:34

A ver... Cuando tu creas una ventana con diferentes opciones, cada una de ellas es un index, y se ordenan así: 0,1,2,3,4,5... Por esto en este caso como hay tres opciones es 0, 1, 2. Luego cuando llamas a la escena, indicas a qué index de la ventana quieres que vaya, así si estas en Scene_Save y cancelas, irá al menú con el cursor sobre de "Guardar", y lo llamas con el index 1 que era "Guardar".

Wecoc
Administrador
Administrador



Créditos 8272

Gracias : 372

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por M4T4P4J4ROS el 2012-03-25, 20:54

aaah oki oki ^-^ muchas gracias

M4T4P4J4ROS
Iniciado
Iniciado

0/3

Créditos 28

Gracias : 2

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por Metalero el 2012-03-26, 16:11


A ver... Cuando tu creas una ventana con diferentes opciones, cada una de ellas es un index, y se ordenan así: 0,1,2,3,4,5... Por esto en este caso como hay tres opciones es 0, 1, 2. Luego cuando llamas a la escena, indicas a qué index de la ventana quieres que vaya, así si estas en Scene_Save y cancelas, irá al menú con el cursor sobre de "Guardar", y lo llamas con el index 1 que era "Guardar".

Esto no es para cualquier escena como decis Wecoc, esto esta hecho solo con el Scene_Menu

Si te fijas en el Initialize, ahi es donde le entra el parametro index para setear en que indice del Window_Command arranca, pero no es en general.

Y en el menu que hiciste wecoc, no tiene la opcion para volver al mapa XD (salir del menu), igual eso lo puede implementar M4T4P4J4ROS tranquilamente, como lo habia hecho por su cuenta.

Despues, para salir del juego, si lo que queres hacer es cerrar la ventana del juego, la forma correcta no es usando "exti" como pusiste (que creo que es un macro de ruby) si no mediante:

Código:

$scene = nil

de esa forma, (por como esta estructurado el sistema de escenas del maker) se destruyen bien todos los objectos/recusos y se libera bien la memoria.


_________________

Metalero
Administrador
Administrador



Créditos 1715

Gracias : 98

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por Wecoc el 2012-03-26, 16:20

Cierto que esto del index no es así para todos pero como la mayoría usan de base una Window_Command lo quise generalizar un poco: Scene_Menu, Scene_Item, Scene_Title, Scene_Shop... casi todos tienen alguna window_command con índices 0,1,2,3,etc.

Aún así es verdad lo que dices, que no tiene por qué ser así xD

Luego lo de volver al mapa me lo dejé xDDDD eso me pasa por no probar las cosas.
Y lo del exit, el maker solo lo usa en el kernel, para cuando clicas la cruz de cerrar el juego directamente. La manera normal de cerrarlo es como has dicho. Aún así en mi script le puse el Scene_End.

Y luego para hacer que al cancelar en Scene_Load el script sepa si volver al Title o al Menú en mi juego yo uso una global $loadmenu, pero eso ya es otra historia.

Edito: Ey, lo he vuelto a mirar y sí que puse lo de salir al mapa ._.


Última edición por Wecoc el 2012-03-27, 20:54, editado 1 vez

Wecoc
Administrador
Administrador



Créditos 8272

Gracias : 372

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por M4T4P4J4ROS el 2012-03-27, 19:47

Bueno, para salir del menú solo le tengo que dar a ESC y ya está xD

M4T4P4J4ROS
Iniciado
Iniciado

0/3

Créditos 28

Gracias : 2

Volver arriba Ir abajo

Re: Ayuda con el menu

Mensaje por Contenido patrocinado Hoy a las 00:14


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.