Hola a todos del foro. Soy nuevo en este lugar y espero que mi presencia sea de agrado . Como muchos de ustedes, yo también estoy creando un hack de Pokemon (Más especifico un hack de Fire Red). Comence de "0" en la hora del hack, pero, con ayuda de los tutoriales del foro y las herramientas de hack necesarias, comencé a progresar.
Uno de los temas que más estoy aprendiendo a manejar son los Scripts y bueno, gracias a las pautas del foro y los tutoriales, aprendi a hacer Scripts de Entrenadores, Pokemons salvajes, applymovement, givepokemn, giveitem, etc.
No obstante, me gustaría que me revisaran 2 Scripts que hice para mi hack y que, bueno, me estan trayendo problemas (Ligeros, nada serio).
El primer Script es este:
#dynamic 0x800000
#org @cientifico
lock
faceplayer
checkflag 0x201
if 0x1 goto @aviso
countpokemon
compare LASTRESULT 0x1
if 0x1 goto @si
if 0x0 goto @no
release
end
#org @aviso
lock
faceplayer
msgbox @mensaje3 0x6
release
end
#org @si
msgbox @mensaje1 0x6
pause 0x25
applymovement 0x4 @mov
waitmovement 0x4
setflag 0x201
release
end
#org @no
msgbox @mensaje2 0x6
release
end
#org @mensaje3
= [blue_fr]Cientifico: [black_fr]Explora la hierba\nalta, niño. Quizas encuentres\lPokemon interesantes.
#org @mensaje1
= [blue_fr]Cientifico: [black_fr]¡Vale! Parece que ya\ntienes un Pokemon. Ahí ya no hay\lproblema.\lPuedes pasar a la hierba alta.
#org @mensaje2
= [blue_fr]Cientifico: [black_fr]Lo siento niño. No\npuedo dejarte pasar. Entrar al\lhierba alta sin un Pokemon es muy\lpeligroso. Si vuelves con un\lPokemon, ahi quizas te de el paso.
#org @mov
#raw 0x12 'Paso Izquierda
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x0 'Mirar Abajo
#raw 0xFE 'Finalizar Movimientos
Resumen: El Script trata de que un Cientifico no me dejara pasar por una zona por no tener al menos un Pokemon en mi equipo. Cuando tenga al menos un Pokemon en el equipo, el cientifico se moverá y me dará pasar.
Problema del Script: El Script funciona perfectamente (Lo he probado). Sin embargo, cada vez que entro a una casa o cambio de ruta (o pueblo), el Científico vuelve a su posición original y me dice el mensaje que debería decirme el Científico cuando se aya movido de su lugar (Como si el Script se haya ejecutado, pero el Científico no se ha movido)
El segundo Script es este (Este es el más complejo que voy creando, pero soy seguro que es muy basico para un experto de Script):
#dynamic 0x800000
#org @Ranger
lock
faceplayer
checkflag 0x200
if 0x1 goto @vencido
msgbox @Rangerhabla 0x6
msgbox @opcion 0x5
compare LASTRESULT 0x1
if 0x1 goto @no
compare LASTRESULT 0x0
if 0x1 goto @si
end
#org @no
msgbox @aviso 0x6
trainerbattle 0x1 0x00A 0x0 @inicio @derrotado @despues
end
#org @despues
msgbox @mensaje1 0x2
pause 0x50
msgbox @explicacion 0x4
applymovement 0x3 @sorpresa
pause 0x75
msgbox @mensaje2 0x2
msgbox @mensaje3 0x2
clearflag 0x200
pause 0x25
applymovement 0x3 @mov
waitmovement 0x3
release
end
#org @si
msgbox @entrena 0x6
release
end
#org @vencido
msgbox @nota 0x6
release
end
#org @Rangerhabla
= [blue_fr]Ranger Ernesto: [black_fr]Has llegado\ndemasiado lejos, joven entrenador.\lSoy Ernesto, Ranger de Cresthea\ldel sur y cuidador del Bosque\lSagrado.\lYo, con mi compañera Ranger\lVioleta, no permitimos el paso a\leste bosque por orden de nuestro\ljefe psiquico. Asi que mejor\llargarte de aquí o........
#org @opcion
= [blue_fr]Ranger Ernesto: [black_fr]¿Tienes agallas\npara enfrentarme a mi, un Ranger?
#org @aviso
= [blue_fr]Ranger Ernesto: [black_fr]¡Ja! Has tomado\nuna mala decisión, novato.
#org @inicio
= [blue_fr]Ranger Ernesto: [black_fr]¡Preparate para\ncaer ante mi fuerza y astucia!
#org @derrotado
= ¡¿Pero que?! ¿Que estoy haciendo?\n¿QUE PASA?
#org @mensaje1
= [blue_fr]Ranger Ernesto: [black_fr]Madre mía. ¿Que\nesta pasando? Es como si me\lhubiera borrado la memoria y luego\lprogramado una orden que yo\lobedeci con gusto.\lGracias por liberarme, entrenador.\lCreo que si no hubieras aparecido,\lseria un zombi Ranger toda mi\lvida.
#org @explicacion
= [player] explica la situación actual al\nRanger Ernesto.
#org @mensaje2
= [blue_fr]Ranger Ernesto: [black_fr]Mmmmmm. Ya veo.\n¿Asi que hay más entrenadores que\lperdiron la razón y se volvieron\lsalvajes? y muchos de ellos se han\lido a ocultar en el Bosque Sagrado\l¿No?\lDale. Tengo que informar a los\lotros Rangers de esto situación.\l¿Querias entrar al Bosque Sagrado,\lno? Dale, te dare permiso para\lentrar y investigar lo que esta\lpasando alla.
#org @mensaje3
= [blue_fr]Ranger Ernesto: [black_fr]Ten cuidado, joven\nentrenador. No sabes que o con\lquien te vas a enfrentar.\lTampoco me sorprenderia de que mi\lcompañera Ranger Violeta este en\lese bosque, protegiendo al "jefe".\lTe deseo la mayor de la suerte.
#org @nota
= [blue_fr]Ranger Ernesto: [black_fr]¡Buena suerte!\nSi ves que la cosa se complica.\lEntrena a tus Pokemons o compra\lPociones.
#org @entrena
= [blue_fr]Ranger Ernesto: [black_fr]Es lo que crei.\nUn entrenador novato como tú no\lpodria contra un Ranger. Largo de\laqui chico. No te metas en asuntos\lde otros.
#org @sorpresa
#raw 0x62 'Exclamación (!)
#raw 0xFE 'Finalizar Movimientos
#org @mov
#raw 0x13 'Paso Derecha
#raw 0x2 'Mirar Izquierda
#raw 0xFE 'Finalizar Movimientos
Resumen: El Script consiste que al hablar con la persona (El Ranger) esta me diga un mensaje y luego me dira un mensaje de si/no, donde si respondo si, nos vamos a un combate Pokemon (Muy OP, debo decir XD. Para ser el inicio, me venció como 7 veces, pero bueno es para dar dificultad al hack ya que tampoco quiero que sea tan facil). Si respondemos que no, nos dirá un mensaje y nada más. Cuando hagemos el combate Pokemon, el Ranger nos dirá un mensaje y, después de 3 segundos, sale el mensaje de que el jugador le explica al Ranger la situacion. Al Ranger le saldrá un signo de exclamación y dirá dos nuevos mensajes. Después de eso, el Ranger se moverá para dar paso.
Problema del Script: Al igual que el anterior, el Script funciona perfectamente (No me esperaba que funcionara a la primera XD); pero tiene el mismo problema que el Script anterior: El Ranger vuelve a su posición original después de entrar y salir del lugar donde se encuentra el Ranger y dice el mensaje cuando una vez el Script ha acabado. Cabe señalar que no estoy 100% seguro si es necesario poner las pauses en la parte de "#org @despues" y si esta bien usado el "applymovement 0x3 @sorpresa" en esa parte. (Cabe señalar de que no se si la exclamación tiene su tiempo en seguidos o sale la exclamación y el msgbox al mismo tiempo).
Espero que me puedan ayudar y decirme donde esta el error en estos Scripts. Se los agradecería mucho
PD: Por un largo tiempo quería saber como poner la Pokedex nacional en FR. Lee muchos de los foros de aquí y dicen que hay reemplazar el special de la Pokedex por el de la Nacional. Lo que no se es que si se debe crear un Script especifico para que me actualice la Pokedex que me darán o cambiar el special de la Pokedex por la de la Pokedex nacional del Script del Prof. Oak de FR (Cuando este te entrega la Pokedex). Este ultimo lo he intentando y por extrañas razones una vez que termina el Script del Prof. Oak de darnos la Pokedex y 5 Pokeballs, el juego se queda colgado (Más especifico, mi personaje no se mueve, pero la musica se oye). Espero que me den una respuesta a esto y me orienten un poco .
Uno de los temas que más estoy aprendiendo a manejar son los Scripts y bueno, gracias a las pautas del foro y los tutoriales, aprendi a hacer Scripts de Entrenadores, Pokemons salvajes, applymovement, givepokemn, giveitem, etc.
No obstante, me gustaría que me revisaran 2 Scripts que hice para mi hack y que, bueno, me estan trayendo problemas (Ligeros, nada serio).
El primer Script es este:
#dynamic 0x800000
#org @cientifico
lock
faceplayer
checkflag 0x201
if 0x1 goto @aviso
countpokemon
compare LASTRESULT 0x1
if 0x1 goto @si
if 0x0 goto @no
release
end
#org @aviso
lock
faceplayer
msgbox @mensaje3 0x6
release
end
#org @si
msgbox @mensaje1 0x6
pause 0x25
applymovement 0x4 @mov
waitmovement 0x4
setflag 0x201
release
end
#org @no
msgbox @mensaje2 0x6
release
end
#org @mensaje3
= [blue_fr]Cientifico: [black_fr]Explora la hierba\nalta, niño. Quizas encuentres\lPokemon interesantes.
#org @mensaje1
= [blue_fr]Cientifico: [black_fr]¡Vale! Parece que ya\ntienes un Pokemon. Ahí ya no hay\lproblema.\lPuedes pasar a la hierba alta.
#org @mensaje2
= [blue_fr]Cientifico: [black_fr]Lo siento niño. No\npuedo dejarte pasar. Entrar al\lhierba alta sin un Pokemon es muy\lpeligroso. Si vuelves con un\lPokemon, ahi quizas te de el paso.
#org @mov
#raw 0x12 'Paso Izquierda
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x0 'Mirar Abajo
#raw 0xFE 'Finalizar Movimientos
Resumen: El Script trata de que un Cientifico no me dejara pasar por una zona por no tener al menos un Pokemon en mi equipo. Cuando tenga al menos un Pokemon en el equipo, el cientifico se moverá y me dará pasar.
Problema del Script: El Script funciona perfectamente (Lo he probado). Sin embargo, cada vez que entro a una casa o cambio de ruta (o pueblo), el Científico vuelve a su posición original y me dice el mensaje que debería decirme el Científico cuando se aya movido de su lugar (Como si el Script se haya ejecutado, pero el Científico no se ha movido)
El segundo Script es este (Este es el más complejo que voy creando, pero soy seguro que es muy basico para un experto de Script):
#dynamic 0x800000
#org @Ranger
lock
faceplayer
checkflag 0x200
if 0x1 goto @vencido
msgbox @Rangerhabla 0x6
msgbox @opcion 0x5
compare LASTRESULT 0x1
if 0x1 goto @no
compare LASTRESULT 0x0
if 0x1 goto @si
end
#org @no
msgbox @aviso 0x6
trainerbattle 0x1 0x00A 0x0 @inicio @derrotado @despues
end
#org @despues
msgbox @mensaje1 0x2
pause 0x50
msgbox @explicacion 0x4
applymovement 0x3 @sorpresa
pause 0x75
msgbox @mensaje2 0x2
msgbox @mensaje3 0x2
clearflag 0x200
pause 0x25
applymovement 0x3 @mov
waitmovement 0x3
release
end
#org @si
msgbox @entrena 0x6
release
end
#org @vencido
msgbox @nota 0x6
release
end
#org @Rangerhabla
= [blue_fr]Ranger Ernesto: [black_fr]Has llegado\ndemasiado lejos, joven entrenador.\lSoy Ernesto, Ranger de Cresthea\ldel sur y cuidador del Bosque\lSagrado.\lYo, con mi compañera Ranger\lVioleta, no permitimos el paso a\leste bosque por orden de nuestro\ljefe psiquico. Asi que mejor\llargarte de aquí o........
#org @opcion
= [blue_fr]Ranger Ernesto: [black_fr]¿Tienes agallas\npara enfrentarme a mi, un Ranger?
#org @aviso
= [blue_fr]Ranger Ernesto: [black_fr]¡Ja! Has tomado\nuna mala decisión, novato.
#org @inicio
= [blue_fr]Ranger Ernesto: [black_fr]¡Preparate para\ncaer ante mi fuerza y astucia!
#org @derrotado
= ¡¿Pero que?! ¿Que estoy haciendo?\n¿QUE PASA?
#org @mensaje1
= [blue_fr]Ranger Ernesto: [black_fr]Madre mía. ¿Que\nesta pasando? Es como si me\lhubiera borrado la memoria y luego\lprogramado una orden que yo\lobedeci con gusto.\lGracias por liberarme, entrenador.\lCreo que si no hubieras aparecido,\lseria un zombi Ranger toda mi\lvida.
#org @explicacion
= [player] explica la situación actual al\nRanger Ernesto.
#org @mensaje2
= [blue_fr]Ranger Ernesto: [black_fr]Mmmmmm. Ya veo.\n¿Asi que hay más entrenadores que\lperdiron la razón y se volvieron\lsalvajes? y muchos de ellos se han\lido a ocultar en el Bosque Sagrado\l¿No?\lDale. Tengo que informar a los\lotros Rangers de esto situación.\l¿Querias entrar al Bosque Sagrado,\lno? Dale, te dare permiso para\lentrar y investigar lo que esta\lpasando alla.
#org @mensaje3
= [blue_fr]Ranger Ernesto: [black_fr]Ten cuidado, joven\nentrenador. No sabes que o con\lquien te vas a enfrentar.\lTampoco me sorprenderia de que mi\lcompañera Ranger Violeta este en\lese bosque, protegiendo al "jefe".\lTe deseo la mayor de la suerte.
#org @nota
= [blue_fr]Ranger Ernesto: [black_fr]¡Buena suerte!\nSi ves que la cosa se complica.\lEntrena a tus Pokemons o compra\lPociones.
#org @entrena
= [blue_fr]Ranger Ernesto: [black_fr]Es lo que crei.\nUn entrenador novato como tú no\lpodria contra un Ranger. Largo de\laqui chico. No te metas en asuntos\lde otros.
#org @sorpresa
#raw 0x62 'Exclamación (!)
#raw 0xFE 'Finalizar Movimientos
#org @mov
#raw 0x13 'Paso Derecha
#raw 0x2 'Mirar Izquierda
#raw 0xFE 'Finalizar Movimientos
Resumen: El Script consiste que al hablar con la persona (El Ranger) esta me diga un mensaje y luego me dira un mensaje de si/no, donde si respondo si, nos vamos a un combate Pokemon (Muy OP, debo decir XD. Para ser el inicio, me venció como 7 veces, pero bueno es para dar dificultad al hack ya que tampoco quiero que sea tan facil). Si respondemos que no, nos dirá un mensaje y nada más. Cuando hagemos el combate Pokemon, el Ranger nos dirá un mensaje y, después de 3 segundos, sale el mensaje de que el jugador le explica al Ranger la situacion. Al Ranger le saldrá un signo de exclamación y dirá dos nuevos mensajes. Después de eso, el Ranger se moverá para dar paso.
Problema del Script: Al igual que el anterior, el Script funciona perfectamente (No me esperaba que funcionara a la primera XD); pero tiene el mismo problema que el Script anterior: El Ranger vuelve a su posición original después de entrar y salir del lugar donde se encuentra el Ranger y dice el mensaje cuando una vez el Script ha acabado. Cabe señalar que no estoy 100% seguro si es necesario poner las pauses en la parte de "#org @despues" y si esta bien usado el "applymovement 0x3 @sorpresa" en esa parte. (Cabe señalar de que no se si la exclamación tiene su tiempo en seguidos o sale la exclamación y el msgbox al mismo tiempo).
Espero que me puedan ayudar y decirme donde esta el error en estos Scripts. Se los agradecería mucho
PD: Por un largo tiempo quería saber como poner la Pokedex nacional en FR. Lee muchos de los foros de aquí y dicen que hay reemplazar el special de la Pokedex por el de la Nacional. Lo que no se es que si se debe crear un Script especifico para que me actualice la Pokedex que me darán o cambiar el special de la Pokedex por la de la Pokedex nacional del Script del Prof. Oak de FR (Cuando este te entrega la Pokedex). Este ultimo lo he intentando y por extrañas razones una vez que termina el Script del Prof. Oak de darnos la Pokedex y 5 Pokeballs, el juego se queda colgado (Más especifico, mi personaje no se mueve, pero la musica se oye). Espero que me den una respuesta a esto y me orienten un poco .