Transferencias de Mapa
Las transferencias de mapa mueven al jugador de un mapa a otro con una transición (fundido a negro, fundido a blanco, etc.). Se usan principalmente para entrar y salir de edificios, cuevas y cualquier lugar que no use conexiones de mapa fluidas.
Comando Transfer Player (RPG Maker XP)
La forma más básica de crear una transferencia es mediante el comando de evento "Transfer Player" en RPG Maker XP:
- Crea un evento en el tile donde quieres que ocurra la transferencia.
- Configura el disparador (trigger): "Player Touch" para transferencias automáticas al pisar, o "Action Button" para interactuar con una puerta.
- En los comandos del evento, selecciona "Transfer Player".
- Elige el mapa de destino, las coordenadas X e Y, y la dirección del jugador al llegar.
Direcciones disponibles
| Valor | Dirección |
|---|---|
| 0 | Mantener la dirección actual |
| 2 | Abajo |
| 4 | Izquierda |
| 6 | Derecha |
| 8 | Arriba |
Animaciones de puerta
Para crear una transición natural al entrar en un edificio, Pokémon Essentials usa una animación de puerta. Para configurarla correctamente:
Eventos de puerta típicos
Un evento de puerta tiene dos páginas:
Página 1 (Sin condición)
- Trigger: Player Touch
- Gráfico: El sprite de la puerta cerrada.
- Comandos:
# Reproducir sonido de puerta
pbSEPlay("Door enter")
# Animar la puerta abriéndose
pbDoorAnimation($game_player.x, $game_player.y + 1)
# Transferir al jugador
pbTransferPlayer(mapID, x, y, dirección)
# Cerrar la puerta en el mapa de destino
$game_temp.transition_processing = true
$game_temp.transition_name = ""
Página 2 (Puerta abierta - evento secundario)
Generalmente no es necesaria. La animación de puerta se gestiona automáticamente con
pbDoorAnimation.
Transferencia por script
El método principal para transferir al jugador por script es pbTransferPlayer:
pbTransferPlayer(mapID, x, y, dirección)
| Parámetro | Tipo | Descripción |
|---|---|---|
mapID |
Integer | ID del mapa de destino. |
x |
Integer | Coordenada X de destino. |
y |
Integer | Coordenada Y de destino. |
dirección |
Integer | Dirección del jugador al llegar (0, 2, 4, 6, 8). Si es 0, mantiene la dirección actual. |
Ejemplos de uso
# Transferir al jugador al mapa 5, posición (10, 8), mirando abajo
pbTransferPlayer(5, 10, 8, 2)
# Transferir manteniendo la dirección actual
pbTransferPlayer(12, 5, 3, 0)
# Transferir con fade personalizado
pbFadeOutIn {
pbTransferPlayer(20, 15, 10, 8)
}
Tipos de transición (Fade)
Pokémon Essentials soporta diferentes tipos de transición visual al moverse entre mapas:
| Tipo | Descripción | Uso |
|---|---|---|
| Fundido a negro | La pantalla se oscurece completamente y luego vuelve a aparecer. | Transición predeterminada. Edificios, cuevas. |
| Fundido a blanco | La pantalla se aclara a blanco y luego vuelve. | Teletransporte, efectos especiales. |
| Sin transición | El cambio ocurre instantáneamente. | Warps especiales invisibles. |
Fade personalizado por script
# Fade a negro (predeterminado)
pbFadeOutIn {
pbTransferPlayer(5, 10, 8, 2)
}
# Fade a blanco
pbFadeOutIn(99999, true) {
pbTransferPlayer(5, 10, 8, 2)
}
# Sin transición (instantáneo)
pbTransferPlayer(5, 10, 8, 2)
Tiles Warp (Teletransportadores)
Los tiles warp son tiles que transfieren al jugador automáticamente al pisarlos, sin necesidad de presionar un botón. Se usan para escaleras, alfombras de teletransporte, agujeros en el suelo, etc.
Configuración de un warp tile
- Coloca un evento en el tile deseado.
- Configura el trigger como "Player Touch".
- Añade el comando de transferencia.
Ejemplo: Escalera hacia abajo
# Evento con trigger "Player Touch"
pbSEPlay("Door enter")
pbFadeOutIn {
pbTransferPlayer(30, 5, 3, 2) # Mapa cueva nivel 2
}
Ejemplo: Agujero en el suelo
# Evento con trigger "Player Touch"
pbSEPlay("Player fall")
pbFadeOutIn {
pbTransferPlayer(31, 8, 12, 2) # Caer al piso inferior
}
Cuerda Huida y Excavación
Los objetos Cuerda Huida (Escape Rope) y el movimiento Excavación (Dig) permiten al jugador salir de una cueva y regresar a la última entrada.
Pokémon Essentials gestiona esto automáticamente: al entrar en una cueva, el juego guarda la posición de entrada. Al usar Cuerda Huida o Excavación, el jugador regresa a esa posición.
Configurar manualmente el punto de salida
# Establecer el punto de escape manualmente
$PokemonGlobal.escapePoint = [mapID, x, y, dirección]
# Ejemplo: guardar la posición actual como punto de escape
$PokemonGlobal.escapePoint = [
$game_map.map_id,
$game_player.x,
$game_player.y,
$game_player.direction
]
Habilitar/Deshabilitar Cuerda Huida
La Cuerda Huida solo funciona si el tile actual no es exterior (Outdoor = false) y existe un punto
de escape guardado. No necesitas configurar nada adicional si la cueva tiene Outdoor = false en sus
metadatos.
Destinos de Vuelo
El movimiento Vuelo (Fly) permite al jugador desplazarse a ciudades y pueblos previamente visitados. Para que un mapa aparezca como destino de Vuelo:
- El mapa debe tener
MapPositiondefinido en sus metadatos. - El mapa debe tener
Outdoor = true. - El mapa debe tener un
HealingSpotdefinido, o el jugador debe haber visitado un Centro Pokémon en ese mapa. - El jugador debe haber visitado el mapa al menos una vez.
Coordenadas de aterrizaje de Vuelo
El jugador aterrizará en las coordenadas definidas en HealingSpot del mapa de destino. Es
importante que estas coordenadas no estén bloqueadas o dentro de un edificio.
Registrar destino de Vuelo por script
# Marcar una posición como visitada para Vuelo
# Esto normalmente ocurre automáticamente al visitar un Centro Pokémon
pbSetPokemonCenter
# Definir un punto de curación específico
$PokemonGlobal.healingSpot = [mapID, x, y]
Notas importantes
- Siempre prueba las transferencias para verificar que las coordenadas de destino son correctas y el jugador no aparece dentro de una pared o fuera del mapa.
- Usa
pbFadeOutInpara envolver la transferencia y crear una transición suave. - Para puertas, usa
pbDoorAnimationantes de la transferencia para un efecto visual profesional. - Los tiles con trigger "Player Touch" se activan al ser pisados. Ten cuidado de no colocar dos eventos de warp uno al lado del otro sin espacio para que el jugador se detenga.
- Las transferencias son diferentes a las conexiones de mapa: las transferencias usan transición visual y las conexiones son desplazamiento fluido.