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
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 4150 miembros registrados.
El último usuario registrado es Nikerah.

Nuestros miembros han publicado un total de 84841 mensajes en 12081 argumentos.

Obligar a usar un objeto de menú

Ver el tema anterior Ver el tema siguiente Ir abajo

Obligar a usar un objeto de menú

Mensaje por alex1633 el 2017-03-29, 21:05

Bueno, quien haya leído mi último post sobre mi proyecto, habrá visto que he creado una piedra que teletransporta a lugares ya visitados anteriormente. Mi duda es que en una escena, quiero obligar a mi personaje a usar una piedra que teletransporta a otro mapa, entonces, lo que hago en el evento es "llamar menú" pero puedo salir sin problema del menú y escabullirme de utilizar el objeto, entonces mi duda es, cómo hago un bucle para que el que juegue, por narices a de darle al objeto y utilizarlo? Espero haberme explicado correctamente. Sweat

Y otra duda que no tiene que ver con esto. ¿Qué significa esto?

Maker : RPG Maker XP
Creando Proyecto : El poder oculto
0/3
¿El 0/3 es experiencia o qué es eso?
avatar
alex1633
Soñador
Soñador

0/3

Créditos 391

Gracias : 15

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por RiKennedy-Maker el 2017-03-29, 21:30

Es el contador de warns :v procura que no suba xD se me ocurre una idea de hacerlo por interruptor, pones digamos el interruptor 1, y en el evento del objeto pones que sí el interruptor este apagado que lo active y que te teletransporte, y así compruebas que sí sigue apagado que te vuevua a llamar al menú :D avisame si te funcionó, Bye Bye Cool
avatar
RiKennedy-Maker
Principiante
Principiante

0/3

Créditos 331

Gracias : 50

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por alex1633 el 2017-03-29, 21:37

Supongo que te refieres a un interruptor tipo modo paralelo, pero bueno, ya he evitado esto, así que creo que este hilo que he abierto, me lo he resuelto evitándolo xD
pues yo pretendía llegar al 3/3, menos mal jaja
esto no es foro para decir cosas fuera de tema, creo que mejor borren hilo.
Ahora estoy mirándome las transiciones para el tema de la piedra, así que quiero soltar otra duda, he visto que la transición funciona preparando primero, poniendo la imagen luego y finalizamos con ejecutar transición, pero en el caso de que me teletransporto, quiero que esta imagen que sale diciendo de viajar a tal lugar, se borre pero con el mismo efecto que aparece.
avatar
alex1633
Soñador
Soñador

0/3

Créditos 391

Gracias : 15

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por Wecoc el 2017-03-29, 21:43

Para ir al menú de objetos desde el evento directamente usa en llamar script:
$scene = Scene_Item.new

Luego para tu duda concreta yo lo que haría es que si un interruptor está activo, al ir a menú no puedas ir atrás. Luego al usar el objeto que llama al evento común, desactivas el interruptor.

Recapitulando, supongamos que es el interruptor 17:
1. En el evento que obliga a usar el objeto, activas el interruptor 17 y justo después pones la llamada de evento que he dicho al principio.

2. Pon éste script encima de main y cambia ahí el ID del interruptor al principio (le he puesto el 17 para seguir con el ejemplo)

Código:
#==============================================================================
# ** Scene_Item Teleport Stone Addon
#==============================================================================

class Scene_Item
  # ID del interruptor al obligar a usar la piedra
  TELEPORT_STONE_ID = 17
  #--------------------------------------------------------------------------
  # * Frame Update (when item window is active)
  #--------------------------------------------------------------------------
  alias update_stone_item update_item unless $@
  def update_item
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Avoid return if the stone switch is on
      if $game_switches[TELEPORT_STONE_ID] == true
        $game_system.se_play($data_system.buzzer_se)
        return
      end
    end
    update_stone_item
  end
end

3. En el evento común del teletransporte al principio del todo desactivas el interruptor 17.

A ver si te sirve ;D

PD.- No te pondré warn por ésto, pero estaría bien que miraras bien las normas del foro porque ahí está todo explicado.


Última edición por Wecoc el 2017-03-29, 21:44, editado 1 vez
avatar
Wecoc
Administrador
Administrador



Créditos 9221

Gracias : 493

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por RiKennedy-Maker el 2017-03-29, 21:43

¿qué no sería preparar transición-borrar imagen-ejecutar transición? Igual no te olvides de quitarle el "borrado" sí te teletransportas con transiciones :gc00l:
Bye Bye Cool
avatar
RiKennedy-Maker
Principiante
Principiante

0/3

Créditos 331

Gracias : 50

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por alex1633 el 2017-03-29, 21:55

Es un buen script. Esto resuelve mis problemas. Muchas gracias wecoc.

Sí, ya lo he logrado rikennedy eso de la transición, no miré bien. Gracias.
avatar
alex1633
Soñador
Soñador

0/3

Créditos 391

Gracias : 15

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por Wecoc el 2017-03-29, 22:08

¿Como que no puede estar repetido en otros mapas?
No entiendo muy bien tu sistema.

Si te refieres a que en varios eventos/mapas sucede lo mismo de obligar a usar la piedra, puedes usar el mismo interruptor sin problema. El interruptor lo que hace es evitar que vuelvas atrás en el menú.

Si a parte de no poder volver atrás te interesa que cuando estás forzando al jugador no se pueda usar ningún objeto que no sea ese concreto (lo cual es bastante comprensible) hay que añadir un par de líneas más al script pero sigue siendo sencillo, eso sí tendrás que definirle también la ID del objeto (su número en la base de datos)

Código:
#==============================================================================
# ** Scene_Item Teleport Stone Addon
#==============================================================================

class Scene_Item
  # ID del interruptor al obligar a usar la piedra
  TELEPORT_STONE_SWITCH_ID = 17
  # ID del objeto de la piedra que teletransporta
  TELEPORT_STONE_ITEM_ID = 95
  #--------------------------------------------------------------------------
  # * Frame Update (when item window is active)
  #--------------------------------------------------------------------------
  alias update_stone_item update_item unless $@
  def update_item
    if $game_switches[TELEPORT_STONE_SWITCH_ID] == true
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      if Input.trigger?(Input::C)
        if @item.is_a?(RPG::Item) && @item.id != TELEPORT_STONE_ITEM_ID
          $game_system.se_play($data_system.buzzer_se)
          return
        end
      end
    end
    update_stone_item
  end
end

Por lo contrario si te refieres a que hay varias piedras cada una con un teletransporte a un mapa distinto y quieres obligar al jugador a usar una concreta cada vez, sigue siendo factible pero se complicaría un poco el sistema.
avatar
Wecoc
Administrador
Administrador



Créditos 9221

Gracias : 493

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por alex1633 el 2017-03-29, 22:22

Ah, bueno, había editado el comentario porque era un poco absurdo lo que decía, ya que he visto que en efecto, el interruptor es para activar o desactivar y nada más. Este último, me interesa más, sí, es lo que me gustaría, que use solo un objeto específico. Lo probaré mañana, gracias nuevamente.
avatar
alex1633
Soñador
Soñador

0/3

Créditos 391

Gracias : 15

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por alex1633 el 2017-03-30, 19:15

Pues con este nuevo script, no funciona, me va al menú pero no me deja usar la piedra que tiene el Id 44, si es que funciona según la posición en lista de objetos en la que está.


Corrijo: Deja usar la piedra, pero el resto de objetos también deja usarlos.
Si uso por ejemplo, la poción, deja usarla una vez y no deja usar la piedra ni nada, por lo que el menú se queda ahí y no se puede salir.
avatar
alex1633
Soñador
Soñador

0/3

Créditos 391

Gracias : 15

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por Wecoc el 2017-03-30, 20:30

Nah, es una tontería, ya veo lo que ocurre.
Ahora te funcionará bien, vuelve a poner las ID que tocan al principio y pruebalo.

Código:
#==============================================================================
# ** Scene_Item Teleport Stone Addon
#==============================================================================

class Scene_Item
  # ID del interruptor al obligar a usar la piedra
  TELEPORT_STONE_SWITCH_ID = 17
  # ID del objeto de la piedra que teletransporta
  TELEPORT_STONE_ITEM_ID = 95
  #--------------------------------------------------------------------------
  # * Frame Update (when item window is active)
  #--------------------------------------------------------------------------
  alias update_stone_item update_item unless $@
  def update_item
    if $game_switches[TELEPORT_STONE_SWITCH_ID] == true
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      if Input.trigger?(Input::C)
        item = @item_window.item
        if item.is_a?(RPG::Item) && item.id != TELEPORT_STONE_ITEM_ID
          $game_system.se_play($data_system.buzzer_se)
          return
        end
      end
    end
    update_stone_item
  end
end
avatar
Wecoc
Administrador
Administrador



Créditos 9221

Gracias : 493

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por alex1633 el 2017-03-30, 20:39

Ah, perfecto ahora!! Pensaba que iba a ser algo distinto el script, pensaba que iba a llevar al menú pero que solo aparecería la piedra como único objeto en el menú, pero bueno, ya está bastante bien así. Agradezco nuevamente tu ayuda wecoc Cool
avatar
alex1633
Soñador
Soñador

0/3

Créditos 391

Gracias : 15

Volver arriba Ir abajo

Re: Obligar a usar un objeto de menú

Mensaje por Contenido patrocinado


Contenido patrocinado


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.