Registrarse

[RH - Scripting] Fire Red - Ayuda con Script con Var & Flag

Estado
Cerrado para nuevas respuestas.

Kay_hack

Usuario mítico
Hola, espero que estén bien.
les explico un poco mi duda, sé que es un poco basica, pero aun no lo puedo lograr a entender bien.
lo que quiero hacer es agregar un item, que pueda recoger... esta tiene la flag 200, agregue otro mini más
para interactuar con este item.

lo que quiero hacer es que antes de agarrar este item, el mini me hable sobre ese item... una vez agarrado
volver hablar con este mini y me diga otro texto... despues de esos cuando vuelva a ese mapa el mini esté en otra parte del mapa y me diga otra...
tengo 2 de 3 cosas hechas... lo del mapa y lo del script que me diga que hay un item...
lo que no logro hacer es que apenas agarre el item, este mini me diga otro texto.

les dejare los script aquí. Estoy ocupando la var 4012.

SCRIPT MINI
#dynamic 0xB00000

'---------------
#org @start
faceplayer
lock
compare 0x4012 0x1
if 0x1 goto @snippet1
msgbox @string1 MSG_KEEPOPEN '"¡Dicen que hay una POKéBOLA\nescon..."
applymovement 0x1 @move1
waitmovement 0x0
closeonkeypress
release
end

'---------------
#org @snippet1
faceplayer
applymovement 0x1 @move1
waitmovement 0x0
msgbox @string2 MSG_KEEPOPEN '"Creo que ya no la encontré...\nEsp..."
release
end

'---------
' Strings
'---------
#org @string1
= ¡Dicen que hay una POKéBOLA\nescondida por aquí!

#org @string2
= Creo que ya no la encontré...\nEspero que a alguien más le sirva.


'-----------
' Movements
'-----------
#org @move1
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements

y este es el script del mapa

#dynamic 0xB00000

'---------------
#org @start
setworldmapflag 0x890
checkflag 0x200
if 0x1 call @snippet1
compare 0x4011 0x1
'---------------
#org @snippet1
checkflag 0x200
if 0x1 goto @snippet2
movesprite2 0x4 0x5 0xF
spritebehave 0x4 0x7
return

'---------------
#org @snippet2
movesprite2 0x4 0x5 0x8
spritebehave 0x4 0x2
setvar 0x4012 0x1
return

Sé que tengo que agregar un snipet más donde va el texto despues que agarras el itém y una checkflag, pero no sé como hacer que el script valla hacía allá...

al final lo que quiero es que el mini (no item) me diga 3 textos. INICIO - MEDIO (ya con el item) - FINAL (CUANDO SE REFRESQUE EL MAPA), como dije ya tengo el inicio y el final... solo me falta hacer el del medio, espero me puedan guiar y ayudar en esto, es un script la verdad facil, pero no logro concretarlo al 100% eso, saludos.
 

kakarotto

Leyenda de WaH
Tienes q jugar con el valor de las variables

Por defecto es 0 (inicio) despues del inicio pasa a 1, qie sería mitad y el final seria valor 2. Para que no se repita, tendría q pasar a valor 3

Antes de nada tendrías q hacer un compare Variable 0xvalor para que si se cumple o 0 o 1 o 2 pase a la siguiente parte.


compare 0x4011 0x1
if 0x1 goto @inicio
compare 0x4011 0x2
if 0x1 goto @mitad
compare 0x4011 0x3
if 0x1 goto @fin

#org @inicio
lock
faceplayer
#org @mensajeinicial
giveitem ....
setvar 0x4011 0x2
end

Espero q se entienda. No es perfecto pero creo q te ayudará
 

Kay_hack

Usuario mítico
Tienes q jugar con el valor de las variables

Por defecto es 0 (inicio) despues del inicio pasa a 1, qie sería mitad y el final seria valor 2. Para que no se repita, tendría q pasar a valor 3

Antes de nada tendrías q hacer un compare Variable 0xvalor para que si se cumple o 0 o 1 o 2 pase a la siguiente parte.


compare 0x4011 0x1
if 0x1 goto @inicio
compare 0x4011 0x2
if 0x1 goto @mitad
compare 0x4011 0x3
if 0x1 goto @fin

#org @inicio
lock
faceplayer
#org @mensajeinicial
giveitem ....
setvar 0x4011 0x2
end

Espero q se entienda. No es perfecto pero creo q te ayudará
Si entiendo un poco, el problema radica en que empezando el script tiene el mensaje box (inicio)
al estar el 0x4012 0x1

el mensaje box final está en el script del mapa, de ahí llama a ese mensaje una vez que ya halla recogido el item y halla refrescado el mapa, es decir salir y entrar...

lo que quiero en especifico es que al tomar el item que esta al lado del mini, este me diga otro mensaje (que seria el intermedio) sin salir del mapa, este me vuelva a decir el mensaje (intermedio) y al salir y entrar al mapa me ponga el mensaje final... lo he probado y la verdad es que no funciona.
alguna idea?

la verdad yo creo en que radica en la flag, ya que el interruptor de ese mensaje es el item (flag 200), cosa que también está en el script del mapa en general.


lo que quiero hacer es esto.

 
Última edición:

Kay_hack

Usuario mítico
Perdon por el doble post.. pero ya lo he resuelto, he puesto la flag en el lugar correcto y añadi algunas cosas mas al codigo quedando así.

#dynamic 0x800000

'---------------
#org @start
faceplayer
lock
compare 0x4012 0x1
if 0x1 goto @snippet1
checkflag 0x200
setvar 0x4012 0x2
if 0x1 goto @snippet2
msgbox @string1 MSG_KEEPOPEN '"¡Dicen que hay una POKéBOLA\nescon..."
applymovement 0x1 @move1
waitmovement 0x0
moveoffscreen 0x1
closeonkeypress
release
end

'---------------
#org @snippet1
faceplayer
applymovement 0x1 @move1
waitmovement 0x0
msgbox @string2 MSG_KEEPOPEN '"Creo que ya no la encontré...\nEsp..."
release
end

'---------------
#org @snippet2
setvar 0x4012 0x2
faceplayer
applymovement 0x1 @move1
waitmovement 0x0
msgbox @string3 MSG_KEEPOPEN '"Si salto esa valla pueda\nque teng..."
release
end


'---------
' Strings
'---------
#org @string1
= ¡Dicen que hay una POKéBOLA\nescondida por aquí!

#org @string2
= Creo que ya no la encontré...\nEspero que a alguien más le sirva.

#org @string3
= Si salto esa valla pueda\nque tenga suerte.


'-----------
' Movements
'-----------
#org @move1
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements

Gracias por su tiempo y responder!

pueden cerrar el tema.
 
Estado
Cerrado para nuevas respuestas.
Arriba