Registrarse

[RH - Scripting] | [Fire Red] Problema con script de checkitem/removeitem

Estado
Cerrado para nuevas respuestas.

Tofi2000

Usuario de bronce
Hola! Vuelvo después de un receso

Vengo a mostrarles el script mas largo que he hecho hasta la fecha, y el mas complejo.
Tan complejo que literalmente no entiendo el problema, pero les doy contexto y lo que quiero lograr.

Contexto:
Hice el código y daba problemas, cuando daba la opción "SI" el juego se bugueaba, pero al darle al "NO" seguía joya.
Lo compilé y me fui de viaje de egresados, ahora volví y decidí revisarlo. Lo edito un poco y sigue sin funcionar, ¿Que onda?

Propósito:
La idea es encontrarte un flaco que, tras un contexto prescindible para el problema, te pide 2 repelentes, cuando volves a hablar con él se te abre la caja de SÍ y NO, si le das al SÍ sin los 2 repelentes en la mochila, el flaco te dice "Que onda gil" o algo por el estilo, y te echa a la mierda (pero podes volverle a traer los 2 repelentes sin problema), si los tenes, te los quita de la mochila y te dice los Pokémon de Ruta.

El tema ahora es que nisiquiera puedo ver la caja del sí y el no xd

Código:
'---------------
#org 0x800671
msgbox 0x88007B3 MSG_YESNO '"¡Volviste! ¿Tenés los\n[green_fr]r..."
waitmsg
compare LASTRESULT 0x1
if 0x1 goto 0x880068F
msgbox 0x88007DD MSG_FACE '"¿No? Bueno, metele."
end

'---------------
#org 0x80068F
msgbox 0x88007F3 MSG_FACE '"Espero que no me estés\nmintiendo...."
waitmsg
checkitem 0x56 0x2
compare LASTRESULT 0x2
if 0x4 goto 0x88006AD
if 0x0 goto 0x800888
end

'---------------
#org 0x8006AD
removeitem 0x56 0x2
msgbox 0x8800867 MSG_FACE '"¡Sos un re genio! Me ayudas banda,..."
addvar 0x4001 0x1
end


'---------
' Strings
'---------
#org 0x80014D
= Malditos Weedles... Da igual\ncuantos de ellos derrote, siguen\linfestando mis preciosas flores.\l¡ASÍ NUNCA SACARÉ MI PROPIA GAMA\lDE PERFUMES!

#org 0x8001DC
= ¡Che vos! Si me traes [green_fr]2 Repelentes[blue_fr]\nte digo a detalle que Pokémon hay\len ésta ruta.

#org 0x800895
= Los Pokémon de la ruta son:\nPidgey, Rattata, Spearrow,\lSandshrew, Nidoran Hembra, Oodish,\lMankey, Bellsprout, Caterpie,\lMetapod y los Weedle... Como odio\la los Weedle.

#org 0x8007B3
= ¡Volviste! ¿Tenés los\n[green_fr]repelentes[blue_fr]?

#org 0x8007DD
= ¿No? Bueno, metele.

#org 0x8007F3
= Espero que no me estés\nmintiendo... Dejame ver.

#org 0x800867
= ¡Sos un re genio! Me ayudas banda,\nenserio.

#org 0x800888
= ¡No tenes los repelentes flaco!\n¡Anda a laburar!

'-----------
' Movements
'-----------
#org 0x800255
#raw 0x4B 'Face Against Player
#raw 0x1A 'Delay3
#raw 0xFE 'End of Movements

#org 0x800259
#raw 0x63 'Question Mark (?)
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements
 

Omega

For endless fight
Miembro del equipo
Moderador/a
Respuesta: No entiendo el problema / Fire Red

Tu script parece cortado, faltan los punteros de algunos dialogos (y ya está compilado, es más entendible revisarlos sin compilar) por lo que hice un script desde cero recreando solo ese fragmento, aquí lo tienes:

Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
msgbox @volviste 0x5
compare lastresult 0x1
if 0x1 goto @si
msgbox @no 0x6
release
end

#org @si
msgbox @mentir 0x6
waitmsg
checkitem 0x56 0x2
compare LASTRESULT 0x1
if 0x1 goto @tieneobjeto
msgbox @notieneobjeto 0x6
release
end

#org @tieneobjeto
msgbox @ayudasbanda
waitmsg
removeitem 0x56 0x2
addvar 0x4001 0x1
end

Puedes adaptarlo a tu script y si no te funciona pasa el script completo está vez, un saludo!!!
 

Tofi2000

Usuario de bronce
¡Gracias master!
Funciona joya, lo reescribí todo de una y ahora funciona perfecto, de paso me fui fijando en tu parte del código para corregir, el único problema que tengo ahora es que cuando salgo del mapa, para conseguir los repelentes la variable se reinicia:

Código:
#org 0x800E99
compare 0x4004 0x2
if 0x1 goto 0x8800F35
compare 0x4004 0x1
if 0x1 goto 0x8800EDF
setvar 0x4004 0x0
applymovement 0x3 0x8800F3F
msgbox 0x8800F48 MSG_NORMAL '"¡Malditos Weedles! No dejan de\nco..."
lock
waitmsg
applymovement 0x3 0x8800F43
waitmovement 0x3
msgbox 0x8800FDB MSG_FACE '"Che vos, te veo medio al pedo ¿No\..."
addvar 0x4004 0x1
release
end

'---------------
#org 0x800F35
msgbox 0x8801114 MSG_FACE '"Pokemon."
end

'---------------
#org 0x800EDF
msgbox 0x8801073 MSG_YESNO '"Volviste... ¿Los tenés?"
waitmsg
compare LASTRESULT 0x1
if 0x1 goto 0x8800EFD
msgbox 0x880111F MSG_FACE '"¿Y que esperas?"
end

'---------------
#org 0x800EFD
msgbox 0x880108D MSG_FACE '"¿A ver? No estarás mintiendo..."
waitmsg
checkitem 0x56 0x2
compare LASTRESULT 0x1
if 0x1 goto 0x8800F21
msgbox 0x88010AF MSG_FACE '"Flaco ¿Me ves cara de boludo? Anda..."
waitmsg
end

'---------------
#org 0x800F21
removeitem 0x56 0x2
msgbox 0x88010F3 MSG_FACE '"Acá están ¡Muchas gracias che!"
addvar 0x4004 0x1
end


'---------
' Strings
'---------
#org 0x800F48
= ¡Malditos Weedles! No dejan de\ncomerse las flores, no importa\lcuantos derrote ¡Siguen saliendo!\l¡¡ASÍ NUNCA VOY A SACAR MI EMPRESA\lDE PERFUMES!!

#org 0x800FDB
= Che vos, te veo medio al pedo ¿No\nme traerías unos[green_fr] Repelentes\l[blue_fr]? Con 2 me alcanza... Si lo\lhaces te digo todos los Pokémon\lque están en la ruta.

#org 0x801114
= Pokemon.

#org 0x801073
= Volviste... ¿Los tenés?

#org 0x80111F
= ¿Y que esperas?

#org 0x80108D
= ¿A ver? No estarás mintiendo...

#org 0x8010AF
= Flaco ¿Me ves cara de boludo? Anda\na buscar los [green_fr]Repelentes b .

#org 0x8010F3
= Acá están ¡Muchas gracias che!


'-----------
' Movements
'-----------
#org 0x800F3F
#raw 0x4B 'Face Against Player
#raw 0x19 'Delay2
#raw 0xFE 'End of Movements

#org 0x800F43
#raw 0x19 'Delay2
#raw 0x63 'Question Mark (?)
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements
 
Última edición por un moderador:
Estado
Cerrado para nuevas respuestas.
Arriba