Registrarse

[Scripting] FR | Como hacer una wildbattle en un script

Dani_SR_17

¡Pokémon LionHeart!
Antes de nada, lo primero que quiero aclarar es que no voy a deciros como usar el comando "wildbattle", sino quiero enseñaros como usarlo bien.

Y diréis, ¿y qué misterio tiene el comando?
Pues bien sencillo, si el comando está en un script obligatorio, no es lo mismo derrotar al Pokémon salvaje que huir o capturarlo, quizás no quieras que se pueda huir, o quieras mostrar una Pokéball en el lugar del mini del Pokémon salvaje al atraparlo.
¡Pues eso es lo que vengo a enseñaros!

Así que paso de enrollarme y empiezo a mostraros cosas:
Código:
#dynamic 0x800000

#org @Start
clearflag 0xFlagSalvaje
showsprite 0xSalvaje
msgbox @text1 0x6 'El grito de guerra del Pokémon salvaje, que no falte
applymovement 0xSalvaje @mov1
waitmovement 0xSalvaje 'Hasta aquí todo relleno, para que empiece el combate
wildbattle 0xEspecie 0xNivel 0x0 'Aquí tenemos el comando que todos conocemos, pero es ahora cuando empieza la mágia
compare LASTRESULT 0x4 'Si la variable LASTRESULT esta en 4, es que has huido de la batalla
if 0x1 goto @Huyes
compare LASTRESULT 0x7 'Si la variable LASTRESULT esta en 7, es que has atrapado al Pokémon
if 0x1 goto @Capturas
goto @Derrotado

#org @Derrotado 'Si venimos a esta parte del script es que le hemos derrotado, y ya el relleno de siempre
msgbox @text2 0x6
applymovement 0xSalvaje @mov2
waitmovement 0xSalvaje
setflag 0xFlagSalvaje
hidesprite 0xSalvaje
end

#org @Huyes 'Aquí os muestro un poco de mágia
pause 0x20
msgbox @text3 0x6 '¡No seas cobarde y lucha!
special 0x143 'Este special lo que hace combatir contra el último pokémon al que nos hemos enfrentado tal cual ha terminado la batalla (vida, sexo, si es shiny o no, etc)
waitstate
compare LASTRESULT 0x4 'Si la variable LASTRESULT esta en 4, es que has huido de la batalla
if 0x1 goto @Huyes
compare LASTRESULT 0x7 'Si la variable LASTRESULT esta en 7, es que has atrapado al Pokémon
if 0x1 goto @Capturas
goto @Derrotado

#org @Capturas 'Aquí por ejemplo puedes colocar una Pokéball en el lugar en el que estaría el mini del pokemon salvaje y hacerla aparecer tras el combate
setflag 0xFlagSalvaje
hidesprite 0xSalvaje
clearflag 0xFlagPokeball
showsprite 0xPokeball
applymovement 0xPokeball @mov3 'Si quieres hacer que se mueva de un lado para otro
waitmovement 0xPokeball
msgbox @text4 0x6 'Ea, eres el puto amo y lo has atrapado
setflag 0xFlagPokeball
hidesprite 0xPokeball
end

Y esto es todo, es algo muy sencillo pero se le puede dar mucho juego (lo digo por experiencia), además todo lo anterior puede hacerse sin nada ajeno a la rom.
Y para terminar, un par de rutinas que pueden complementarse y ser útiles:
- Deshabilitar captura
- Deshabilitar huir (aunque con lo de arriba lo veo algo innecesario)
- Pokémon shiny

Cualquier duda dejadla en comentarios, ah, y os podéis ahorrar el "eso ya lo sabía yo, menuda tontería". Porque yo también lo se desde hace tiempo, pero seguro que a muchos les viene bien.
 
Última edición:

FEL!X

ᴛᴜ ᴀᴍɪɢᴏ ᴇʟ ᴇsᴘᴀᴅᴀᴄʜíɴ
Usuario de Oro
Respuesta: FR | Scripting | Como hacer una wildbattle en un script

Cualquier duda dejadla en comentarios, ah, y os podéis ahorrar el "eso ya lo sabía yo, menuda tontería". Porque yo también lo se desde hace tiempo, pero seguro que a muchos les viene bien.
Pues aquí, a uno no tan nuevo le irá de perlas ;)

¡Yeeeah! ¡Qué aporte Dani! Me gusta mucho ya que me será realmente útil para ciertos eventos. Gracias por facilitarnos un script tan completo; la verdad es que no conocía el special 0x143. Me encanta su función ¿En qué evento de FireRed se usa?

En resumen, un aporte muy bien explicado paso por paso y bien acompañado si seguimos las rutinas que nos dejas para complementar. No le puedo sacar ninguna pega, mil gracias:heart:

Un abrazo :blush:
 
M

Miembro eliminado 28262

Invitado
Respuesta: FR | Scripting | Como hacer una wildbattle en un script

El tutorial está genial, me lo apunto!
Desconocía totalmente la utilidad del special 0x143
al igual que este metodo con el compare.

Había visto las rutinas hace tiempo, pero gracias a esto lograré sacar mucho juego!

Gracias por el aporte!
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Re: FR | Scripting | Como hacer una wildbattle en un script

No entiendo como este tutorial ha pasado tan desapercibido. La verdad es que es un aportazo de la ostia ;)

No sabes el tiempo que he pasado para tratar lo mismo que has hecho en cuatro comandos. Esta explicado de una forma bastante sencilla y se ve fácil de hacer. Se agradece muchísimo este tuto, gracias Dani ;)
 
Arriba