Registrarse

Tengo un problema con el script de la enfermera Joy.

Estado
Cerrado para nuevas respuestas.
Bueno, por donde empiezo... soy primerizo, encontré este mundo del hack gracias a que estuve buscando gamesharks en youtube, y llegue a dar con unos tutoriales del advance map (muchos los abran visto ya), muy buenos en verdad, para iniciar. Bueno el punto es que ahora necesito saber como hacer un script de la enfermera joy, ya que hice un nuevo centro pokemon (con una enfermera joy dentro como debe de ser jejeps.) y haciendo uso del copy/paste adquirí el offset de otra enfermera joy de ciudad verde, y pasa que al curar a los pokemon, los cura, pero al cerrar el boxtext, se pone la pantalla roja y negra alternando estos dos colores y después se reinicia el juego.
Aquí en este spoiler esta lo que me aparece, antes de que la enfermera termine el mensaje pasa eso, e inmediatamente se reinicia.

La verdad es que estuve a punto de dejar todo pero encontré este foro espero poder aprender un poco más. :awesome: Espero puedan ayudarme, muchas gracias. (Por el momento estoy leyendo varios tutos de aquí, que me están ayudando a comprender sobre el scripteo).
PD: este foro esta genial. :blush:
 

Naren Jr.

Puto amo
Usuario de Platino
Mmmm Podrías colocar el script completo a ver si te ayudamos!

Bienvenido a Wah
 

Aguiar

Colega de los colegas
Miembro del equipo
Staff
Bueno, bienvenido ? (Parece una mezcla de bienvenida-duda jajaja
Pues no te juntes conmigo, soy mala gente...

En cuanto al script, qué tal si das más datos? Así de primeras no sabría decirte pero algo me dice que ya tienes un bug bonito en la ROM. Igualmente tranquilo que en breves vienen aquí los dioses del script y mierdas varias y te ayudan, que yo ni idea XD

PD: Por qué de etiqueta añades Brock? Mensaje subliminal eh... (?)
 
Nose que más datos quieren pero aquí esta el script que utilice.

'---------------
#org 0x16A367
lock
faceplayer
call 0x81A6131
release
end

'---------------
#org 0x1A6131
special 0x187
compare LASTRESULT 0x2
if 0x1 goto 0x81A75A9
preparemsg 0x81A4FE0 '"¡Éste es el CENTRO POKéMON!\pNosot..."
waitmsg
multichoice 0x13 0x8 0x0 0x2
copyvar 0x8000 LASTRESULT
compare 0x8000 0x0
if 0x1 goto 0x81A6171
compare 0x8000 0x1
if 0x1 goto 0x81A621C
compare 0x8000 0x7F
if 0x1 goto 0x81A621C
end

'---------------
#org 0x1A75A9
release
end

'---------------
#org 0x1A6171
cmdc3 0xF
preparemsg 0x81A505F '"Muy bien. Ten un poco de\npacienci..."
waitmsg
call 0x81A6187
special 0x169
goto 0x81A61A5

'---------------
#org 0x1A621C
msgbox 0x81A5099 MSG_KEEPOPEN '"¡Vuelve pronto!"
return

'---------------
#org 0x1A6187
applymovement LASTTALKED 0x81A70B0
waitmovement 0x0
doanimation 0x19
checkanimation 0x19
applymovement LASTTALKED 0x81A70B6
waitmovement 0x0
special 0x0
return

'---------------
#org 0x1A61A5
special2 LASTRESULT 0x1B1
compare LASTRESULT 0x0
if 0x1 goto 0x81A61D6
special2 LASTRESULT 0x183
copyvar 0x8008 LASTRESULT
compare 0x8008 0x0
if 0x1 goto 0x81A61D6
compare 0x8008 0x1
if 0x1 goto 0x81A61EF
end

'---------------
#org 0x1A61D6
preparemsg 0x81A50B6 '"Gracias por esperar.\pMisión cumpl..."
waitmsg
applymovement LASTTALKED 0x81A6225
waitmovement 0x0
msgbox 0x81A5099 MSG_KEEPOPEN '"¡Vuelve pronto!"
return

'---------------
#org 0x1A61EF
checkflag 0x842
if 0x1 goto 0x81A61D6
msgbox 0x81A50B6 MSG_KEEPOPEN '"Gracias por esperar.\pMisión cumpl..."
setflag 0x842
preparemsg 0x81BC909 '"¡Parece que [buffer1] está jugando..."
waitmsg
applymovement LASTTALKED 0x81A6225
waitmovement 0x0
msgbox 0x81A5099 MSG_KEEPOPEN '"¡Vuelve pronto!"
return


'---------
' Strings
'---------
#org 0x1A4FE0
= ¡Éste es el CENTRO POKéMON!\pNosotros curamos a los POKéMON\ndebilitados.\p¿Quieres que nos ocupemos de los\nPOKéMON de tu equipo?

#org 0x1A505F
= Muy bien. Ten un poco de\npaciencia. Será sólo un momento.

#org 0x1A5099
= ¡Vuelve pronto!

#org 0x1A50B6
= Gracias por esperar.\pMisión cumplida. Somos especialistas\nen devolver la forma a los\lPOKéMON.

#org 0x1BC909
= ¡Parece que [buffer1] está jugando\nahora mismo! ¡Conéctate!


'-----------
' Movements
'-----------
#org 0x1A70B0
#raw 0x2F 'Face Left (Delayed)
#raw 0xFE 'End of Movements

#org 0x1A70B6
#raw 0x2D 'Face Down (Delayed)
#raw 0xFE 'End of Movements

#org 0x1A6225
#raw 0x5B 'mov5B
#raw 0x1A 'Delay3
#raw 0xFE 'End of Movements

como les dije es exactamente el mismo script que el de la enfermera joy de Ciudad Verde, creo que por eso se buguea, lo que quiero es hacer uno nuevo pero que diga y haga exactamente lo mismo que las otras joy.

PD: Solo etiquete a brock para ver si me podía ayudar, nose si se puede o deba hacer eso jejeps XD, estoy tan acostumbrado a facebook.:D
 

Naren Jr.

Puto amo
Usuario de Platino
Bien nunca he copiado el script de ellas o bueno el que usa el juego en si, puedes armar tu script, lo del bug bueno siempre he tenido claro que al copiar las mismas offset pasaba algo por eso nunca lo hago,mejor me todo el trabajo y compilo dos veces, puedes usar el "special 0x0" y lo adornas con un sound para que simule lo mismo, bueno así hago yo xD saludos /._./ si tienes una duda puedes preguntarme ;)
 

Tsuna-Sawada

Décimo jefe Vongola
Pues aqui te dejo el Script que debes usar, cambia el que tiene la enfermera por este:

Código:
#dynamic 0x80000

lock
faceplayer
call 0x81A6578
release
end

'---------------
#org 0x1A6578
special 0x187
compare LASTRESULT 0x2
if 0x1 goto 0x81A7AE0
preparemsg 0x81A5483 '"¡Éste es el CENTRO POKéMON!\pNosot..."
waitmsg
multichoice 0x13 0x8 0x0 0x2
copyvar 0x8000 LASTRESULT
compare 0x8000 0x0
if 0x1 goto 0x81A65B8
compare 0x8000 0x1
if 0x1 goto 0x81A6663
compare 0x8000 0x7F
if 0x1 goto 0x81A6663
end

'---------------
#org 0x1A7AE0
release
end

'---------------
#org 0x1A65B8
cmdc3 0xF
preparemsg 0x81A54E1 '"Muy bien. Ten un poco de\npacienci..."
waitmsg
call 0x81A65CE
special 0x169
goto 0x81A65EC

'---------------
#org 0x1A6663
msgbox 0x81A5511 MSG_KEEPOPEN '"¡Vuelve pronto!"
return

'---------------
#org 0x1A65CE
applymovement LASTTALKED 0x81A75E7
waitmovement 0x0
doanimation 0x19
checkanimation 0x19
applymovement LASTTALKED 0x81A75ED
waitmovement 0x0
special 0x0
return

'---------------
#org 0x1A65EC
special2 LASTRESULT 0x1B1
compare LASTRESULT 0x0
if 0x1 goto 0x81A661D
special2 LASTRESULT 0x183
copyvar 0x8008 LASTRESULT
compare 0x8008 0x0
if 0x1 goto 0x81A661D
compare 0x8008 0x1
if 0x1 goto 0x81A6636
end

'---------------
#org 0x1A661D
preparemsg 0x81A552B '"Gracias por esperar.\pMisión cumpl..."
waitmsg
applymovement LASTTALKED 0x81A666C
waitmovement 0x0
msgbox 0x81A5511 MSG_KEEPOPEN '"¡Vuelve pronto!"
return

'---------------
#org 0x1A6636
checkflag 0x842
if 0x1 goto 0x81A661D
msgbox 0x81A552B MSG_KEEPOPEN '"Gracias por esperar.\pMisión cumpl..."
setflag 0x842
preparemsg 0x81BCCCA '"¡Parece que [buffer1] está jugando..."
waitmsg
applymovement LASTTALKED 0x81A666C
waitmovement 0x0
msgbox 0x81A5511 MSG_KEEPOPEN '"¡Vuelve pronto!"
return


'---------
' Strings
'---------
#org 0x1A5483
= ¡Éste es el CENTRO POKéMON!\pNosotros curamos a los POKéMON\ndebilitados.\p¿Quieres que nos ocupeMuy bien. Ten un poco de\npaciencia. Será sólo un¡Vuelve pronto!

#org 0x1A54E1
= Muy bien. Ten un poco de\npaciencia. Será sólo un¡Vuelve pronto!

#org 0x1A5511
= ¡Vuelve pronto!

#org 0x1A552B
= Gracias por esperar.\pMisión cumplida. Somos especialistas\nen devolver la forma a los\lPOKéMON.

#org 0x1BCCCA
= ¡Parece que [buffer1] está jugando\nahora mismo! ¡Conéctate!


'-----------
' Movements
'-----------
#org 0x1A75E7
#raw 0x2F 'Face Left (Delayed)
#raw 0xFE 'End of Movements

#org 0x1A75ED
#raw 0x2D 'Face Down (Delayed)
#raw 0xFE 'End of Movements

#org 0x1A666C
#raw 0x5B 'mov5B
#raw 0x1A 'Delay3
#raw 0xFE 'End of Movements

Bienvenido al foro :D, pasate por las reglas y rom hackea todo lo que puedas :)
 
Gracias Scripter Copilator pero no me funciono, ahora mismo estoy romhackeando fire red (ingles) y me pasa lo mismo (antes lo estaba haciendo en rojo fuego (español)
A lo mejor sera mucha molestia pero porfavor podrían explicarme paso a paso que significan los comandos y que comandos poner para generar un script igual al de las otras enfermeras (diferente offset) simplemente les pido que me digan como le hacen ustedes al hacer ese script. (Pienso que ya ponerle mis msgbox es lo de menos)
Muchas gracias!!!
 

RedMort

Aprendiendo Decomp
Para fr ni idea, pero por lo general no hace falta comerse tanto la cabeza.
La estructura es:
Código:
#dynamic 0x800000

#org @inicio
lock
msgbox = El de bienvenida, y que te diga si quieres o no curar tu equipo
compare LASTRESULT 0x1 = Compara la respuesta (sí o no)
if 0x1 goto @inicio2 = Si dices que sí, continua el script en @inicio2
msgbox = El mensaje de "que te vaya bien" al decir que no
release
end

#org @inicio2
msgbox = El de espera que los cure
applymovement 0x1 0x(el puntero donde esté alojado el movimiento) = Aquí hace el movimiento de girarse para curar tu equipo.
waitmovement 0x1 = Espera a que lo haga
doanimation 0x(no sé en fr cual es la animacion, en ruby es 0x19) = Hace la animacion de poner las pokeballs en la maquina
checkanimation 0x(numero de animacion) = Espera a que acabe la animacion
special 0x0 = Cura tu equipo
applymovement 0x1 0x(puntero del segundo movimiento, cuando se gira hacia ti)
waitmovement 0x1 (espera a que acabe de moverse)
msgbox = El de "tu equipo se ha recuperado con exito)
applymovement 0x1 0x(puntero del ultimo movimiento, cuando hace como que se inclina para darte las gracias)
waitmovement 0x1 = Espera a que acabe
msgbox = El de "espero volver a verte"
release
end
Así los tengo hechos yo, no hace falta tanto codigo como en los juegos viene, simplemente borrarlo entero y hacerlo con sentido común, espero que te sirva ^^
 
Gracias RedMort , se ve que con eso seguro me funciona pero, lo intento mas tarde ire a dormir que son las 2 de la mañana jejejeps muchas gracias mañana te digo si me funciono y ahora ya entendí como funcionan, tienes razon es sentido comun, y tener todo ordenadito.
 

Sayer301!

UnityLord!
Miembro de honor
tuve exactamente el mismo problema y aunque ya te han dejado scripts, yo te dejo el mio también ya que es culpa de uno de los special y en que hice ahorro el máximo posible.
#dynamic 0x800000

'---------------
#org @start
lock
faceplayer
msgbox @String1 MSG_YESNO '"[lightgreen_fr]JOY[black_fr]: ¡Bie..."
compare LASTRESULT 0x0
if 0x1 goto @snippet1
msgbox @String2 MSG_NORMAL '"[lightgreen_fr]JOY[black_fr]: Bien..."
call @snippet2
msgbox @String3 MSG_NORMAL '"[lightgreen_fr]JOY[black_fr]: Grac..."
applymovement LASTTALKED @move1
waitmovement 0x0
msgbox @String4 MSG_NORMAL '"[lightgreen_fr]JOY[black_fr]: ¡Esp..."
release
end

'---------------
#org @snippet1
msgbox @String4 MSG_NORMAL '"[lightgreen_fr]JOY[black_fr]: ¡Esp..."
end

'---------------
#org @snippet2
applymovement LASTTALKED @move2
waitmovement 0x0
doanimation 0x19
checkanimation 0x19
applymovement LASTTALKED @move3
waitmovement 0x0
special 0x0
return


'---------
' Strings
'---------
#org @String1
= [lightgreen_fr]JOY[black_fr]: ¡Bienvenido al GROWCENTER!\p[lightgreen_fr]JOY[black_fr]: ¿Te gustaría curar a tus\nPOKéMON?

#org @String2
= [lightgreen_fr]JOY[black_fr]: Bien, dame tus POKéMON un\nmomento.

#org @String3
= [lightgreen_fr]JOY[black_fr]: Gracias por esperar, ya he\ncurado a tus POKéMON, toma.

#org @String4
= [lightgreen_fr]JOY[black_fr]: ¡Espero verte pronto!


'-----------
' Movements
'-----------
#org @move1
#raw 0x5B 'mov5B
#raw 0x1A 'Delay3
#raw 0xFE 'End of Movements

#org @move2
#raw 0x2F 'Face Left (Delayed)
#raw 0xFE 'End of Movements

#org @move3
#raw 0x2D 'Face Down (Delayed)
#raw 0xFE 'End of Movements
 
Pues bueno termine utilizando el script de tito sayer301 me funciono de maravilla, muchas gracias hermano.

No termine la estructura que me dejo empezada Redmort pero me sirvió de mucho tu ayuda ahora entiendo mejor para que sirve cada comando así que también me lo llevo jejeps.

Javi4315 Tengo un parche no se que es "JPAN" sera japón?, es un parche .IPS el cual sirve para que pueda guardar el juego desde ahí mismo y no utilizar CTRL+S o SHIFT+F1, ya que me salia un error de guardar.
Bueno muchas gracias de nuevo a todos, muy atentos la verdad.

Sin mas, pueden cerrar el tema.
 
Última edición:
Estado
Cerrado para nuevas respuestas.
Arriba