FANDOM


Esta página muestra cómo controlar los eventos del juego mediante comandos de script. Esto incluye cómo hacer que un evento se mueva por el lugar (aplicando una ruta de movimiento), cambiar sus gráficos y mucho más.

Comandos de script simple Editar

La sección PokemonField contiene distintas funciones para controlar eventos con scripts. Se puede encontrar un ejemplo de su uso en la sección del script PokemonDuel.

pbWait(x) Editar

Espera por x frames, donde un frame es 1/40 de un segundo. Mientras espera, se procesa el resto de la escena.

pbShake(poder,velocidad,x) Editar

Zarandea la pantalla con una potencia y velocidad dada durante x frames, donde un frame es 1/20 de un segundo. Devuelve inmediatamente, de forma que se pueden hace otras cosas mientras sucede el zarandeo.

pbFlash(color,x) Editar

Destella la pantalla con un color dado durante x frames, donde un frame es 1/20 de un segundo.

pbToneChangeAll(tono,duración) Editar

Establece el tono para la pantalla y todos los gráficos en ella. Mantiene el tono durante los frames indicados en duración, donde un frame es 1/20 de un segundo.

pbMoveRoute(evento,comandos) Editar

Reproduce una serie de movimientos sobre un evento (Game_Character). Para ejecutar los movimientos en el jugador, se usa $game_player en evento. Para definir los movimientos de un evento del mapa actual, se usa $game_map.events[X], donde X es el ID del evento. El argumento evento puede ser nil. El argumento comandos es un arreglo de comandos de movimientos, donde cada comando está seguido por sus propios parámetros. A continuación se muestra un ejemplo de movimientos definidos para el jugador:

pbMoveRoute($game_player,[
      PBMoveRoute::ChangeSpeed,2, 
      PBMoveRoute::Backward
    ])

Tenga en cuenta que el comando ChangeSpeed es seguido por un número que determina la velocidad. El comando Backward no tiene parámetros. La siguiente lista muestra los comandos disponibles y sus parámetros requeridos:

  • Down, Left, Right, Up - sin parámetros
  • LowerLeft, LowerRight, UpperLeft, UpperRight - sin parámetros
  • Random - sin parámetros
  • TowardPlayer, AwayFromPlayer - sin parámetros
  • Forward, Backward - sin parámetros
  • TurnDown, TurnLeft, TurnRight, TurnUp - sin parámetros
  • TurnRight90, TurnLeft90, Turn180, TurnRightOrLeft90 - sin parámetros
  • TurnRandom, TurnTowardPlayer, TurnAwayFromPlayer - sin parámetros
  • WalkAnimeOn, WalkAnimeOff - sin parámetros
  • StepAnimeOn, StepAnimeOff - sin parámetros
  • DirectionFixOn, DirectionFixOff - sin parámetros
  • ThroughOn, ThroughOff - sin parámetros
  • AlwaysOnTopOn, AlwaysOnTopOff - sin parámetros
  • Jump - desplazamiento en X; desplazamiento en Y
  • Wait - Números de frames a esperar (1/20 segundos)
  • SwitchOn - Número de Interruptor
  • SwitchOff - Número de Interruptor
  • ChangeSpeed - Velocidad de movimiento deseada (1-6)
  • ChangeFreq - Frecuencia deseada (1-6)
  • Graphic - Nombre de archivo; tono (0-359); dirección (2=abajo, 4=izquierda, 6=derecha, 8=arriba); patrón (0-3)
  • Opacity - Opacidad nueva (0-255)
  • Blending - Tipo de mezcla nuevo (0=normal, 1=suma, 2=resta)
  • PlaySE - Nombre del archivo de efecto sonoro (SE) a reproducir
  • Script - Script a ejecutar
  • ScriptAsync - Script a ejecutar (no se espera que se complete una ruta de movimiento para continuar la ejecución)

Cuando se usa "pbMoveRoute", siempre se seteará ThroughOn al inicio y ThroughOff al final. Esto significa que el evento se puede mover por tiles que normalmente no podría atravesar (por ejemplo, el jugador podría caminar sobre el agua, un PNJ podría caminar sobre los árboles, etc.). Debe asegurarse de que no ocurran estas cosas en el diseño de los comandos de movimientos.

Esta función devuelve de forma inmediata, y no se espera que los movimientos se finalicen. El valor devuelto por esta función es la ruta de movimiento generada (RPG::MoveRoute).