Registrarse

[Essentials] BGM y Mensaje especial cuando al oponente le queda un solo pokemon

Master_Trainer

Usuario mítico
Hola a todos en la comunidad WaH este es mi primer tutorial y hoy les enseñare como cambiar la canción y que aparezca un mensaje en plena batalla cuando al oponente solo le queda un pokemon al mas puro estilo de Pokemon B/W B/W2, Sin mas preámbulo comenzamos.
IMAGENES




1er Paso
Primero que nada cabe mencionar que utilizaremos el Switch 112 para que pueda funcionar. de esa manera cada vez que quieras activar la transición para determinados entrenadores deberás activar el switch 112 para que funcione.

Bueno Buscaremos en nuestro editor de Script la seccion PokeBattle_Battle y buscaremos alrededor de la linea 1212 donde se encuentra la siguiente linea

@scene.pbTrainerSendOut(index,pokemon)

2do Paso
Justo después de esa linea de texto colocaremos lo siguiente

if $game_switches[112] and pbPokemonCount(@party2)==1
@scene.pbShowOpponent(0)
pbBGMPlay("GymLastPKMN",100,100)
pbDisplayPaused(_INTL("Ah ha ha! It itches! It itches!"))
@scene.pbHideOpponent
end

A Continuaciónexplicare las partes del código

#Si el switch 112 y los pokemon que le resten al oponente son igual a 1 el script se ejecuta
if $game_switches[112] and pbPokemonCount(@party2)==1
#Muestra al oponente
@scene.pbShowOpponent(0)
#Reproduce la cancion predeterminada la cancion debe de llamarse GymLastPKMN o si lo prefieren pueden cambiarle el nombre aquí
pbBGMPlay("GymLastPKMN",100,100)
#Reproduce el mensaje que dira el entrenador una vez mas puede ser cambiado al mensaje que deseen
pbDisplayPaused(_INTL("Ah ha ha! It itches! It itches!"))
#desaparece al entrenador para que así pueda continuar la batalla.
@scene.pbHideOpponent
end

Cabe resaltar que si deseamos que dos entrenadores tengan el mismo evento deberemos copiar ese codigo una vez mas para cada entrenador esto por la linea
Ejemplos:

if $game_switches[112] and pbPokemonCount(@party2)==1
@scene.pbShowOpponent(0)
pbBGMPlay("GymLastPKMN",100,100)
pbDisplayPaused(_INTL("Achis, Achis Los Mariachis"))
@scene.pbHideOpponent
end

if $game_switches[112] and pbPokemonCount(@party2)==1
@scene.pbShowOpponent(0)
pbBGMPlay("GymLastPKMN",100,100)
pbDisplayPaused(_INTL("Esto lo pagaras caro"))
@scene.pbHideOpponent
end

Y bueno eso es todo Cualquier duda coloquen la en este tema y responderé a la brevedad.

Consejos
1)Para que el evento funcione devemos de activar el Switch 112 en algun evento antes de la batalla o en el mismo evento.

2)No olviden desactivar el Switch luego de que acabe la batalla para evitar que todos los entrenadores tengan esa transicion.

3)El Switch 112 es solo para propositos ilustrativos pueden usar el switch que deseen

4)Deberemos Utilizar un switch distinto para cada Entrenador, Esto se puede arreglar colocando otra linea de codigo que todavia no esta investigada gracias a Rodrigo Jácome por la linea de codigo.
 

ElTioSans

Usuario de oro
En la linea 1212 me aparece next if isOpposing!=pbIsOpposing?(i), no @scene.pbTrainerSendOut(index,pokemon)
 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
En la linea 1212 me aparece next if isOpposing!=pbIsOpposing?(i), no @scene.pbTrainerSendOut(index,pokemon)
El tutorial es del 2014, es normal que en Essentials se haya añadido código, quizás el tutorial ni funcione con las versiones actuales.
Lo único que puedes hacer es pulsar Ctrl + F en el script y buscar la frase para ver dónde puede estar.
 

ichigogeta

Usuario de oro
Gracias a tu aporte pude llevarlo a la version 19.1. Aunque me costo encontrar el conteo del team oponente ya que se usa de otra forma.
Y ese hide era de otra manera.
Ademas de que la linea que mencionas estaba en otra clase y script mas no era igual, sino parecida.
Pero bueno con un poco de logica y teniendo algo de conocimiento se pudo implementar!
Muchas gracias!
 
Arriba