qna_rh
Thread Id: 25863
Thread Name: ¿Qué script de nivel se usa para esta situación?
#0
Tito Dafting301_4315♪ Kuchiki 24341
Esta es mi duda, quisiera saber qué script de nivel se debe usar para que se ejecute luego de una wildbattle generada por script o bien por el sistema (simplemente entrando a la hierba)

Mi idea es hacer un script de "Quests" para que por ejemplo se puedan hacer búsquedas secundarias "cazando" determinados Pokémon y determinada cantidad de ellos, pero para ello necesito saber contra qué Pokémon acabo de luchar.
#1
RedMort 26611
En mi hack estoy haciendo algo parecido, y me parece que te entiendo mal porque yo no uso ningun script de nivel.
Según lo entendido, te hago un esquema xD
En las wildbattles, para saber contra qué pokemon luchas, lo único que se me ocurre es crear una ruta, donde no haya pokémon salvajes.
En la hierba, ponerle scripts de gatillo con el comando random, y el wildbattle con los pokémon que puedan aparecer.
Dentro del script, puedes asignarle una variable a cada pokémon que pueda aparecer. (Por ejemplo, haces que aparezcan 5 pokémon: Charmander, Bulbasaur, Squirtle, Pikachu y Rattata, y con sus respectivas variables 40FF, 40FE, 40FD, 40FC y 40FB)
Ahora, cada vez que el random te lleve a por ejemplo Squirtle, que le añada un valor. (quedaria addvar 0x40FD 0x1)
Así, al final del script puedes saber cuantos te has encontrado.
Sólo quedaría saber la cantidad capturada, y ahora mismo no se me ocurre nada.
Con el script de "takepokemon" pude hacer algo parecido, pero ya no recuerdo bien.

Si quieres acabar el script con X numero de encuentros, basta con ponerle otra variable, esta vez a todos y que le sume 1, tal cual el ejemplo de squirtle, de forma que al llegar a 10 se active.
No necesitarías script de nivel, simplemente en el script de la misma wildbattle hacerlo.
No se como se hace lo de ver en que valor esta la variable porque nunca lo he necesitado, si no, siempre puedes hacerlo por flags.

En fin, si no te sirve, espero que si al siguiente en comentar y sepa decir cómo contar los capturados, pero es cuestion de darle vueltas ^^
#2
Javi4315♪ 13374
Bueno, he estado mirando en la RAM y el último pokémon que te sale en la hierba alta se guarda en esta dirección: 20235C8 (en fire red, que es lo que pone en tu perfil, si es para ruby, tendría que buscarla).

Y sobre el script, si lo que quieres es que se ejecute cuando salgas de la batalla, el 07. Pero tienes que tener cuidado porque ese se ejecuta cuando sales del menú, vuelves a cargar la partida... Entonces, en el propio script tendrías que comprobar si has salido de una batalla.

No te puedo decir gran cosa porque no das muchos datos xD
#3
Tito Dafting301_4315♪ Kuchiki 24341
Preferiría no hacer lo de los gatillos, es bastante tedioso, pero bueh!

EDIT: No había visto lo de Javi. Pues eso me gusta bastante, ahora, eso no se puede poner a 00 00 cuando termina el script?

Es decir:
Lucha con Pokémon salvaje
Termina batalla
Contabiliza batalla
Vuelve 00 00 el valor de esa RAM

Calculo que se podrá hacer con un WBTO.
#4
Javi4315♪ 13374
Iniciado por Dafting
Preferiría no hacer lo de los gatillos, es bastante tedioso, pero bueh!

EDIT: No había visto lo de Javi. Pues eso me gusta bastante, ahora, eso no se puede poner a 00 00 cuando termina el script?

Es decir:
Lucha con Pokémon salvaje
Termina batalla
Contabiliza batalla
Vuelve 00 00 el valor de esa RAM

Calculo que se podrá hacer con un WBTO.


En principio sí se podría hacer, aunque no lo he probado. Pero lo suyo sería que el script guarde el valor en una variable y si es diferente a 0, entonces es que ha habido una lucha. Así que prueba a ver si puedes cambiarlo con WBTO.
#5
Tito Dafting301_4315♪ Kuchiki 24341
Iniciado por Javi4315♪
En principio sí se podría hacer, aunque no lo he probado. Pero lo suyo sería que el script guarde el valor en una variable y si es diferente a 0, entonces es que ha habido una lucha. Así que prueba a ver si puedes cambiarlo con WBTO.


En caso de que no se pudiera, quizá con ASM?