qna_rh
Thread Id: 21491
Thread Name: Me explican mejor estos comandos?
#0
Natsu Dragneel 23919
No sabía bien donde poner el tema osea que lo puse aquí.
Me podrían explicar facilmente estos comandos?

- Quería saber utilidades y todo sobre el comando compare y lastresult.

- Como hago que funcionen bien los showpokepic y que hago para que la imagen se vea en el centro de la pantalla?

Grax.
Salu2.
#1
Tito Sayer301 26309
El comando compare, sirve para comprobar el valor de una variable. Va seguido de If 0x? goto @pointer.

Por ejemplo, pongamos que quieres que una persona te diga una cosa diferente segun el inicial que hayas elegido. Bien, lo primero sería elegir una variable con la que hacer el script, en este caso voy a usar la 40FF.
Bien en las pokeballs, dentro del script de cada una, tendríamos que poner un setvar 0x40FF 0x?
Donde ese ? fuese un valor diferente en cada pokeball, para que segun que pokeball elijas, se ponga un valor u otro. Entonces lo que voy a hacer es que si escojes a charmander la variable se quede con valor 0, que si escojes a bulbasaur se quede con valor 1 y si es siquirtle, con valor 2. Para ello solo añadiria setvar 0x40FF 0x? al final de cada script.
Entonces en el script de la persona que quieres que te diga cosas diferentes hariamos:

#dynamic 0x800000

#org @inicio
lock
faceplayer
compare 0x40FF 0x1
if 0x1 goto @inicio2
compare 0x40FF 0x2
if 0x1 goto @inicio3
msgbox @frase 0x6
release
end

#org @inicio2
msgbox @frase2 0x6
release
end

#org @inicio3
msgbox @frase3 0x6
release
end

#org @frase
Blabla esta parte ya la sabes.

Ahora vamos a ver el script, ves que he puesto dos compares?
cuando hables con el tio lo que hara es comprobar si la variable 40FF tiene valor uno
y si si lo tiene (if 0x1) va(goto) al inicio2(@inicio2). Y luego el segundo hace lo mismo, pero compara si tiene valor 2. Si lo tiene va a inicio3.

Si no tiene ningun valor esa variable, es decir es 0. Que es lo que pasaría si elejimos a charmander, el script continuaria sin ir a ningun otro puntero, y al lelgar al End terminaria.
En cambio si elejimos a bulbasaur, como le hemos puesto a la variable valor 1, al hablar con el tio el primer compare, nos llevará al inicio2 donde pondrémos la frase que dira si tienes a bulbasaur. Y si cojes a squirtle, como pusimos que le daria a la varibale el valor 2. Al hablar con el tio te diria la frase del inicio3.



Nose a que te refieres con poner bien los showpokepic pero si es para ponerlos en el centro, no tienes mas que en los dos ultimos 0x0 del comando showpokepic, poner las coordenadas de donde quieres que aparezca, las cordenadas bienen en el advance map cuando pasas el raton por el mapa, te dice en la parte inferior izquierda del programa la coordenada en la que se encuentra tu raton.
#2
cosarara97 12296
"lastresult" solo un nombre para la variable 0x800D. En ella se almacena el resultado de algunos comandos.
#3
Doctor Juanjo 12932
compare es un comando que hace una operación booleana entre dos variables o entre una variable y un valor.

compare 0xvar1 0xvar2
ó
compare 0xvar 0xvalor

Siempre te arrojará resultados como 0x1 o 0x0.

Este comando siempre va acompañado por un if que hará una acción en caso de que sea verdadera o falsa.

compare 0x407B 0xA
if 0x1 goto 0xdirección
continúa...

Con ese script hemos hecho que en caso de que la variable sea 0xA "salte" a otro offset. Y en caso de que no, continúe el script.

El LASTRESULT es una variable temporal (0x800D) que almacena el valor anterior de algunos comandos.

countpokemon
compare LASTRESULT 0x6
if 0x1 goto 0xdirección
msgbox ("Veo que tienes menos de 6 Pokemons en tu inventario")

En este caso el countpokemon cuenta cuantos Pokemon hay en tu inventario.

Ahora, el showpokepic tiene los siguientes parámetros:

showpokepic 0xnumeroPoke 0xposX 0xposY

En ese caso tienes que jugar con las posiciones en X y Y para que quede bien.

Espero haberte sido de ayuda.

Att: Juanjo
#4
aerd 16887
Juanjo, creo que se te olvido algo

#org @imag
special 0x140'muestra la imagen de un pokémon
showpokepic 0x(poké) 0x(posición x) 0x(posición Y)
return


pues para llamarlo: call @imag
y para que desaparezca: hidepokepic

Espero no equivocarme...
#5
Natsu Dragneel 23919
Gracias a todos!!!
Me habeis ayudado!
Salu2.