Registrarse

[Duda] Hacer que el siguiente script no se repita

Estado
Cerrado para nuevas respuestas.

Javi5454

Aprender por querer.
Tengo un problema, estoy haciendo el script para el laboratorio del profesor Oak, cuando te da el primer pokemón, y no se como hacer para que no se repita. Lo pongo en una persona con el sprite de la pokeball.

Trabajo en Fire Red

Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
applymovement 0x4 @mov1
waitmovement 0x4
showpokepic 0x89 0xA 0x3
msgbox @frase 0x6
msgbox @caja 0x5
compare LASTRESULT 0x1
if 0x1 goto @caja1
if 0x0 goto @caja2
release
end

#org @frase
= Este es Porygon, un pokemón de\ntipo normal que evoluciona sin\lnecesidad de intercambio

#org @caja
= ¿Quieres este Porygon?

#org @caja1
msgbox @frase2 0x6
givepokemon 0x89 0x5 0x0 0x0 0x0 0x0
giveitem 0x13 0x1 0x0
applymovement 0x4 @mov2
waitmovement 0x4
setflag 0x828
setvar 0x4011 0x1
release
end

#org @caja2
msgbox @frase3 0x6
release
end

#org @frase2
= Has recibido a Porygon

#org @frase3
= Ya veo que no te gusta, así que\npuedes escoger otro pokemón

#org @mov1
#raw 0x13
#raw 0x13
#raw 0x0
#raw 0xFE

#org @mov2
#raw 0x1B
#raw 0x1B
#raw 0x12
#raw 0x12
#raw 0x0
#raw 0xFE
 

Lunos

Enfrentando a La Organización
Miembro insignia
Antes del "release", pon un "setflag 0x" y una flag vacia, como por ejemplo, el 8D3.
Luego, vé al Sprite en A-Map y pon el mismo flag que usaste para el script, en el Person ID.
Si me equivoco, ya vendrá alguien a corregirme xD

EDITO:
Soy muy tonto.
Has lo que ha dicho Dafting xD
Añade el "setflag 0x" con una flag vacia, luego un "checkflag 0x" con la misma flag, un "if 0x1 goto @palabra" y alli pon el texto que menciona que el jugador ya ha elegido a ese Pokémon.
 
Última edición:

Dragonite

But where's your heart
Pues usando 3 comandos:

setflag 0xla_que_sea (Activas una flag, las flags son como interruptores de la luz, encendido o apagado, si está encendido la luz se enciende y si está apagado la luz se apaga, pues esto es igual, si está encendida evita que el script se repita, si está apagada lo ejecuta normalmente)

checkflag 0xla_misma_flag_que_usaste (verifica el estado de esa flag, si está encendida o apagada)

if 0x1 goto @flag_on (si está encendida, se irá a otro lado y no ejecutará el script normalmente)

No puedo copiar el script pero más o menos deberías darte cuenta de dónde va cada comando :)
 

Lunos

Enfrentando a La Organización
Miembro insignia
Soy muy tonto.
Has lo que ha dicho Dafting xD

1) Añade el "setflag 0x" con una flag vacia en la linea siguiente al "setvar 0x4011 0x1"

2) Luego un "checkflag 0x" con la misma flag en la sección principal, tras el Faceplayer.
Cosa que al hablar con la Pokeball y ejecutar el script, antes que nada comprobará la Flag que se activó al elegir a Porygon.
Por ende, como la flag está activa, el checkflag actuará a tu voluntad.

3) Justo despues del "checkflag 0x" pones un "compare LASTRESULT 0x1"
Para comparar si la flag que el checkflag comprobó con una opcion a tu favor, el tipico "Si" o "Primera Opcion".

4) En la linea siguiente iria un "if 0x1 goto @palabra".
Cosa que, si la flag que usaste en el setflag si está en uso, te direccionará a la sección "#org @palabra"

5)Y por ultimo, una simple sección como:
#org @palabra
msgbox @elegido 0x6
release
end"

Ya lo he probado y funciona de maravilla.
Aunque.. ¿No seria mejor poner el Full Restore equipado al Porygon? xD

EDITO:
Por cierto, @Javi5454, debes añadir un "hidepokepic" tras el givepokemon, para que el pokepic no se quede en pantalla todo el rato al dope xD
 
Última edición:
Estado
Cerrado para nuevas respuestas.
Arriba