FANDOM


Esta página explica sobre las transferencias de mapa. En detalle, todoas las formas en las que el jugador puede moverse instantáneamente de un mapa a otro.

Ver también Editar

Recorriendo el mapa

  • Esta página explics sobre caminar, correr, andar en bici, surfear y bucear.

Conexión de mapas

  • Sobre cómo posicionar un mapa junto a otro para permitir que el jugador pueda cruzar caminando de forma continuada.

Movimientos fuera de batalla

  • Algunos movimientos se pueden utilizar fuera de la batalla para transferirse a algún lugar de forma instantánea (por ejemplo, Teletransporte, Vuelo, etc.).

Puertas Editar

Las puertas son básicamente eventos que pueden transferir al jugador a otro lugar. La complejidad que se puede ver en un evento de puerta está en la animación de la misma, mover al jugador, reproducir un efecto de sonido y oscurecer/aclarar la pantalla.

Los eventos de puertas tienen dos páginas. La primera página es para entrar por la puerta, y la segunda es usada cuando el jugador está saliendo por ella.

Aunque un evento ocupa un solo tile, se pueden tener puertas más grandes que ocupen más de un tile de tamaño. Solo se deben controlar los eventos de forma apropiada.

Las imágenes de puertas deberían estar en un archivo de imagen de personaje (en la carpeta "Graphics/Characters"). Vea el ejemplo de gráficos de puerta que vienen en Essentials para tener una idea sobre cómo ordenar estos gráficos.

Evento de puerta, página 1 Editar

Puerta1

Página 1 de un evento de puerta típico.

Esta página no tiene condiciones, y es disparada por Toparse con héroe. Su gráfico es el de una puerta cerrada. Generalmente, los comandos de evento de esta página son los siguientes:

@>Mover evento : Este evento (Ignorar si no se puede)
 :             : $>Efecto sonoro : 'Entering Door', 100, 100
 :             : $>Esperar : 2 frames
 :             : $>Mirar izquierda
 :             : $>Esperar : 2 frames
 :             : $>Mirar derecha
 :             : $>Esperar : 2 frames
 :             : $>Mirar arriba
 :             : $>Esperar : 2 frames
@>Esperar a finalizar movimiento
@>Mover evento : Personaje (Ignorar si no se puede)
 :             : $>Through ON
 :             : $>Move Up
 :             : $>Through OFF
@>Esperar a finalizar movimiento
@>Cambiar transparencia : Transparente
@>Mover evento : Este evento (Ignorar si no se puede)
 :             : $>Esperar : 2 frames
 :             : $>Mirar derecha
 :             : $>Esperar : 2 frames
 :             : $>Mirar izquierda
 :             : $>Esperar : 2 frames
 :             : $>Mirar abajo
 :             : $>Esperar : 2 frames
@>Esperar a finalizar movimiento
@>Cambiar tono de pantalla : (-255,-255,-255,0), @6
@>Esperar : 8 frames
@>Cambiar transparencia : Normal
@>Teletransportar:[003: Casa de \PN], (003,008), Arriba, No borrar
@>Cambiar tono de pantalla : (0,0,0,0), @6
@>

Tenga en cuenta que los comandos "Cambiar tono de pantalla" y "Teletransportar" son útiles también para otros tipos de transferencias.

Evento de puerta, página2 Editar

Puerta2

Página 2 de un evento de puerta típico.

Esta página tiene la condición de que el Interruptor Global 22 esté activado, y está configurado en Inicio automático. Su gráfico es el mismo que el de la página 1. Generalmente, los comandos de evento de esta página son los siguientes:

@>Condiciones y efecto : Script: get_character(0).onEvent?
  @>Cambiar transparencia : Transparente
  @>Mover evento : Este evento (Ignorar si no se puede)
   :             : $>Efecto sonoro : 'Entering Door', 100, 100
   :             : $>Esperar : 2 frames
   :             : $>Mirar izquierda
   :             : $>Esperar : 2 frames
   :             : $>Mirar derecha
   :             : $>Esperar : 2 frames
   :             : $>Mirar arriba
   :             : $>Esperar : 2 frames
  @>Esperar a finalizar movimiento
  @>Cambiar transparencia : Normal
  @>Mover evento : Personaje (Ignorar si no se puede)
   :             : $>Mirar abajo
  @>Esperar a finalizar movimiento
  @>Mover evento : Este evento (Ignorar si no se puede)
   :             : $>Mirar derecha
   :             : $>Esperar : 2 frames
   :             : $>Mirar izquierda
   :             : $>Esperar : 2 frames
   :             : $>Mirar abajo
   :             : $>Esperar : 2 frames
  @>Esperar a finalizar movimiento
  @>
 : FIN
@>Script: setTempSwitchOn("A")
@>

Esta página verifica si el jugador está parado sobre la puerta, y si lo está, muestra al jugador saliendo de ella. Esto significa que, cuando se está definiendo la posición destino, se deberá apuntar al tile que tiene el evento de la puerta (es decir, sobre la puerta misma, no delante de ella).

Escaleras Editar

EscalerasArriba

Evento típico de unas escaleras que sube hacia la derecha.

Las escaleras se comportan de forma similar a una puerta, salvo que (usualmente) no tienen una animación mientras el jugador avanza.

Las escaleras laterales son un problema al hacer que el jugador suba, ya que, debido a la perspectiva del juego, el jugador sólo debe subir/bajar hasta la mitad de un tile por cada tile que atraviese. Este movimiento no se puede hacer fácilmente en RPG Maker XP, y a menos que pases mucho tiempo aprendiendo a hacer esto, bastará con que el jugador se mueva diagonalmente (1 tile horizontal y 1 tile hacia arriba/abajo), pero oscureciendo la pantalla antes de que se tone obviamente que el jugador no se está moviendo correctamente.

A la derecha hay un ejemplo de un evento para escaleras que suben hacia la derecha. Para adaptar ésto en otras direcciones, simplemente cambie la dirección de giro del jugador, y la dirección diagonal en la que se mueve. Si las escaleras van hacia abajo, se recomienda que el jugador simplemente se mueva hacia la izquierda/derecha en lugar de hacerlo diagonalmente.

Tiles de teletransporte Editar

Los tiles de teletransporte con simplemente eso, cuando el jugador se para sobre uno de ellos, será transferido hacia otro lugar. Funciona de la misma manera que las puertas y escaleras, ya que todos ellos usan el comando de evento "Teletransportar".

También se pueden agregar animaciones, como hacer que el jugador de giros sobre sí mismo antes de ser transferido, o hacer que la pantalla destelle, o que el mismo tile sea animado.

Entradas y salidas de cuevas Editar

Hay unas animaciones especiales que se pueden/deberían usar para cuando el jugador entre o sale de una cueva. Estas animaciones son reproducidas por los métodos pbCaveEntrance y pbCaveExit respectivamente. Hay varios ejemplos sobre el uso de estos métodos en los mapas de ejemplo.

Como se ha mencionado antes, estas animaciones están conectadas para usarse con Excavar y Cuerda Huida (es decir, se pueden usar en las cuevas).

Mientras se usa surf Editar

El método normal de transferir al jugador a un mapa diferente (es decir, el comando de evento "Teletransportar") cancelará automáticamente el surf cuando es usado. Para realizar transferencias de mapa mientras se usa surf, se debe utilizar un método alternativo:

Kernel.pbTransferSurfing(42,10,14)
Kernel.pbTransferSurfing(42,10,14,8)

Este script transferirá al jugador a un mapa diferente mientras se asegura que siga surfeando. En el ejemplo dado, el destino es el mapa 42, en las coordenadas (10,14). El cuarto parámetro es opcional, y es la dirección en la que se transferirá al jugador (por defecto, se mantiene la dirección actual del jugador).

Esto permite al jugador hacer surf para entrar a una cueva u otras estructuras.

Mientras se bucea Editar

El método normal de transferir al jugador a un mapa diferente (es decir, el comando de evento "Teletransportar") cancelará automáticamente el surf cuando es usado. Para realizar transferencias de mapa mientras se bucea, se debe utilizar un método alternativo:

Kernel.pbTransferUnderwater(42,10,14)
Kernel.pbTransferUnderwater(42,10,14,8)

Este script transferirá al jugador a un mapa diferente mientras se asegura que siga buceando. En el ejemplo dado, el destino es el mapa 42, en las coordenadas (10,14). El cuarto parámetro es opcional, y es la dirección en la que se transferirá al jugador (por defecto, se mantiene la dirección actual del jugador).

Esto permite al jugador bucear por el fondo marino y entrar en cuevas submarinas.

Vuelo, Teletransporte y Excavar Editar

Página principal en Movimientos fuera de batalla

Los movimientos Vuelo, Teletransporte y Excavar cambian todos la ubicación del jugador instantáneamente.

Para obtener más información sobre cómo Excavar decide a dónde enviar al jugador (y cuándo se puede usar), vea la sección "Cuerda Huida" de abajo, ya que ambos usan el mismo sistema.

Cuerda Huida Editar

La Cuerda Huida es un objeto que cambiará la ubicación del jugador, y su efecto es equivalente a usar el movimiento Excavar. Solo puede ser usado si se ha definido un punto de escape, y sólo si el jugador no tiene un evento dependiente (es decir, un entrenador acompañante).

En la mayoría de los casos, la ubicación donde el jugador puede usar una Cuerda Huida/Excavar será el interior de una cueva, en tal caso se estará usando los métodos pbCaveEntrance y pbCaveExit para entrar/salir de estas zonas (ver arriba). Estos métodos setean/borran automáticamente el punto de escape al mismo tiempo, por lo tanto, mientras se usen estos métodos, no será necesario preocuparse de los puntos de escape. En el extraño caso que quieras setear/borrar el punto de escape sin usar la animación de transición de cueva, vea más abajo.

Cuando se ingresa a una cueva o cualquier otro lugar donde esté permitido usar una Cuerda Huida, se debe establecer el punto de escape ($PokemonGlobal.escapePoint). Para hacer esto, se usa una llamada al método pbSetEscapePoint justo antes de la transferencia de mapa (que debería ser un portal o una entrada de algún tipo). Este método establecerá el punto de escape como el punto justo detrás del jugador (quien estará parado en la entrada cuando se llame a este método), es decir, el punto justo al frente de la entrada.

Cuando se sale de una zona habilitada para Cuerda Huida, se debe borrar el punto de escape. Para hacer esto, se usa una llamada al método pbEraseEscapePoint en todos los mapas que sean salida de dicha zona. El punto de escape se borra automáticamente cuando se usa Vuelo, Teletransporte, Excavar, Cuerda Huida o cuando el jugador se desmaya.

Los efectos de Cuerda Huida están en la sección PokemonItemEffects.

Perdiendo el conocimiento Editar

Si al jugador no le quedan más Pokémon activos, se desmayará y regresará al último Centro Pokémon donde haya hablado con la enfermera. Esto puede ocurrir en el camino cuando el último Pokémon activo del jugador cae debilitado por envenenamiento o quemadura, o al final de una batalla donde el jugador ha sido derrotado.

El script que transfiere al jugador cuando se desmaya está en la sección PokemonField. pbCheckAllFainted verifica si no le quedan Pokémon activos al jugador y muestra los mensajes, y Kernel.pbStartOver controla la transferencia misma. Si el jugador se ha desmayado por perder una batalla, solamente se usará el último de estos scripts.

La ubicación a la que es transferido el jugador es establecida por el script Kernel.pbSetPokemonCenter, y debería aparecer al inicio de todos los eventos de enfermera de un Centro Pokémon. La ubicación que se guarda es la posición actual del jugador cuando interactúa con la enfermera. Si ésta variable no ha sido informada (es decir, el jugado aún no ha hablado con ninguna enfermera), entonces se usarán las coordenadas definida en los metadatos como "Home".

Cuando el jugador se desmaya, se activa el Interruptor Global con el número definido por STARTING_OVER_SWITCH (en la sección Settings; Interruptor Global 1 por defecto). Esto permite que se puedan hacer distintas cosas una vez que se regresa al punto de curación, como tener un PNJ cerca que diga algo sobre presionar demasiado a los Pokémon. Para aprovechar este interruptor, simplemente se debe tener un evento de Inicio automático en el mapa que dependa de que dicho interruptor está activado. Generalmente se usa en la enfermera o en la madre del jugador.

Finalmente, el equipo del jugador será curado completamente.

El cartel de ubicación Editar

Cuando se ingresa a algunos mapas, se mostrará una ventana en la esquina superior izquierda de la ventana anunciando el nombre del mapa. Éste es el carte de ubicación.

Solamente los mapas que tengan el metadato "ShowArea" en TRUE mostrarán el carte de ubicación. Generalmente, serán mapas de exteriores y algunos mapas interiores importantes.

El script que controla la apariencia de este cartel está en la sección PokemonField, en la clase LocationWindow. Estos scripts son llamados desde el procedimiento Events.onMapSceneChange de la misma sección.

Si el cartel debería aparecer al entrar un mapa en particular, pero el jugador viene de un mapa con el mismo nombre, entonces el cartel no será mostrado. Esto es útil cuando se divide una ubicación grande en varios mapas, por lo que no se mostrará el cartel en el medio de esa ubicación. Entonces, el cartel se mostrará cuando se llegue a esta ubicación la primera vez, y cuando el nombre del mapa vuelva a cambiar.

También se puede evitar que se muestre el carten cuando se llegue a ciertos mapas que normalmente lo mostrarían. Para hacer esto, en la sección Settings hay un arreglo llamado NOSIGNPOSTS. Se debe agregar los número de ID de los dos mapas entre los que no se quiere que se muestre el cartel cuando se pasa de uno al otro. El orden en el que se ingresan estos números no es importante, y se pueden agregar todos los pares de mapas que se deseen. Por ejemplo:

NOSIGNPOSTS=[4,5,16,17,42,43]

Este ejemplo evitará que se muestre el cartel cuando el jugador se mueve del mapa 4 al 5 (y viceversa), desde el mapa 16 al 17 (y viceversa), y desde el 42 al 43 (y viceversa).

Registrando la ruta del jugador Editar

Hay un arreglo que registra los cambios de mapa más reciente del jugador:

$PokemonGlobal.mapTrail

Este arreglo guarda el número de ID de los últimos 4 mapas por los que pasó el jugador, incluyendo el mapa donde se encuentra actualmente. El orden en el que se guardan es del más reciente al más viejo. Es decir, $PokemonGlobal.mapTrail[0] es el mapa actual, $PokemonGlobal.mapTrail[1] es el último mapa visitado, $PokemonGlobal.mapTrail[2] es el mapa anterior al último, etc.

Ésto se actualiza en el mismo lugar del script que controla el cartal de ubicación.

Consejos Editar

  • No olvide que puedes bloquear/desbloquear puertas y activar/desactivar tiles de teletrasporte mediante varios métodos, como por ejemplo si el jugador tiene un determinado Objeto Clave o cambiando un Interruptor Global cuando ocurre algún situación determinada.