qna_rh
Thread Id: 18539
Thread Name: Givepokemon distinto según tu principal
#0
Tito Sayer301 26309
Hola buenas! Soy novato en esto del hacking y estoy empezando practicando y haciendo tonterias (supongo que como todo el mundo que empieza) y bueno queria que el givepokemon que he usado te de un pokemon diferente según el que elijas al principio en pokemon RF. Nose si me explico bien asi que pongo un ejemplo:
Elijes de pokemon a charmander y al hablar con este personaje en Ciudad verde, te da un bulbasaur. Obviamente si uso el givepokemon si elijo a Bulbasaur de primer pokemon me dará otro bulbasaur, y quisiera que me diese a charmander.

¿Cómo lo hago? Muchas gracias.

Este es mi primer tema si no se entiende algo o no me he explicado mucho lo siento mucho :D.
#1
Tito Sayer301 26309
Iniciado por Ciro
Se hace con variables, imagínate que tenemos la variable 40FF con valor 0. Al escoger a Bulbasaur, que el valor de la variable siga siendo 0 (es decir, se deja así). Luego, al hablar con el hombre de ciudad verde se hace un compare 0x40FF 0x0 y luego un if. Si el valor de la variable es 0, te dará a Squirtle habiendo escogido tú a Bulbasaur. Y lo mismo con los otros Pokémon. Con Charmander añadirías 1 a la variable y con Squirtle un 2, y harías otros 2 compare en el script del señor de Ciudad Verde.
No sé si me he explicado bien, si no es así me lo dices.


Sinceramente, no me he enterado mucho. Estoy siguiendo tus tutoriales y no he visto aún lo de las variables, vi lo de if y pense que con eso se podria. Aun así muchas gracias, supongo que cuando aprenda mas me enteraré mejor.:D
De todas formas si me pudieses poner un codigo como en tu tutorial seguro que lo entenderia mas.
#2
Tito Sayer301 26309
Iniciado por Ciro
No recuerdo muy bien esto, así que no me hagas mucho caso, pero sería algo así:

Script de cuando coges a Bulbasaur:

givepokemon 0x1 y el resto de parámetros
Y por aquí todos los comandos que le quieras añadir a tu script


Script de cuando coges a Charmander:

givepokemon 0x4 y el resto de parámetros
setvar 0x40FF 0x1 ' Esto hace que el valor de 40FF sea 1
Y por aquí todos los comandos


Script de cuando coges a Squirtle:

givepokemon 0x7 y el resto de parámetros
setvar 0x40FF 0x2 ' Esto hace que el valor de 40FF sea 2


Vale, esa es la parte "fácil", ahora llega el script del señor de Ciudad Verde, que sería más o menos algo así:


#org @puntero1
compare 0x40FF 0x0 ' Compara si el valor de 40FF es 0, es decir, si no se modificó (lo que ocurriría al coger a Bulbasaur)
if 0x1 goto @punterobulba ' Si el valor es 0, es decir, si escogiste a Bulbasaur, irá al puntero @punterobulba
compare 0x40FF 0x1 ' Compara si el valor de 40FF es 1, es decir, si cogiste a Charmander (el cual seteaba el valor de 40FF a 1)
if 0x1 goto @punterocharm ' Si el valor es 1, es decir, si escogiste a Charmander, irá al puntero @punterocharm
compare 0x40FF 0x2 ' Compara si el valor de 40FF es 2, es decir, si cogiste a Squirtle
if 0x1 goto @punterosquirt ' Lo de antes, va a @punterosquirt si escogiste a Squirtle, el cual seteaba el valor de 40FF a 2


#org @punterobulba
Aquí lo que tú quieras hacer si cogiste a Bulbasaur

#org @punterocharm
Aquí lo que tú quieras hacer si cogiste a Charmander

#org @punterosquirt
Y aquí lo de Squirtle


Espero haberte ayudado ^^
Un saludo!


Vale creo que lo he entendido lo probaré. Pero aun así tengo unas dudas.
En el codigo de bulbasaur no tendria que poner tambien lo de setvar 0x40FF?
Setvar es lo mismo que Flag? (alomejor suena tonto pero es por asegurarme que ando algo confuso)
Para bloquear las otras dos pokeballs, con una flag me bastaria no?
#3
Tito Sayer301 26309
Iniciado por Ciro
No, en el de Bulbasaur no es necesario, porque el valor de la variable por defecto ya es 0, así que poner setvar 0x40FF 0x0 es una chorrada.
Y, sí, las variables son parecidas a las flags. Las flags tienen 2 estados, 1 y 0 (como su nombre indica, son banderas, y pueden estar izadas o bajadas). Las variables pueden tener muchos valores, ahora mismo no sé cuántos son exactamente. Puede que FF, o FFFF. No me acuerdo.

Y depende de cómo quieras bloquear las Pokéball. Si quieres que estén ahí y no desaparezcan pero no las puedes coger, puedes aprovecharte de la variable directamente para no malgastar flags. Si quieres que desaparezcan, usa un hidesprite en cada Pokéball y activa la flag que previamente les hayas asignado.


Vale creo que me ha quedado todo claro. Esta tarde lo probaré.
Muchas gracias por tu ayuda :D