Registrarse

[RH - Scripting] Pregunta/respuesta rápida

Estado
Cerrado para nuevas respuestas.

FelixTheCat

Profesional de WaH
Respuesta: [Scripting] Pregunta/respuesta rápida

Cual es el script que tengo que usar para que una persona (u otra cosa, no se xD) me muestre el sprite de un Pokémon, o algo por el estilo? ¿:.

Datos:
- ROM base: Fire Red
- Que aparezca en un recuadro, como te muestra la PC de Bill.
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: [Scripting] Pregunta/respuesta rápida

Cual es el script que tengo que usar para que una persona (u otra cosa, no se xD) me muestre el sprite de un Pokémon, o algo por el estilo?
El comando que se usa es el "showpokepic" y lo ocultas usando "hidepokepic".

Ejemplo de uso:
Código:
#dynamic 0x800000
#org @#inicio
showpokepic 0xAF 0xA 0x3
msgbox @#1 0x2
hidepokepic
end

#org @#1
= ¡Mira mi huevo!
Nota: "0xAF" es Togepi (Pokémon #175/0xAF), 0xA y 0x3 son las cordenadas X e Y donde aparecerá el pokepic en hexadecimal.

Resultado:
 

Dragonite

But where's your heart
Respuesta: [Scripting] Pregunta/respuesta rápida

El comando que se usa es el "showpokepic" y lo ocultas usando "hidepokepic".

Ejemplo de uso:
Código:
#dynamic 0x800000
#org @#inicio
showpokepic 0xAF 0xA 0x3
msgbox @#1 0x2
hidepokepic
end

#org @#1
= ¡Mira mi huevo!
Nota: "0xAF" es Togepi (Pokémon #175/0xAF), 0xA y 0x3 son las cordenadas X e Y donde aparecerá el pokepic en hexadecimal.

Resultado:
Lifehack o algo:

Si tienes XSE 1.1.1 (el último que ha salido, vamos) puedes reemplazar los números HEX por decimales comunes y corrientes.

Código:
#dynamic 0x800000
#org @#inicio
showpokepic 175 10 3
msgbox @#1 2
hidepokepic
end

#org @#1
= ¡Mira mi huevo!
Este script vale igualmente y funcionará perfectamente (excepto que tengas un XSE más antiguo o algo)
 

FelixTheCat

Profesional de WaH
Respuesta: [Scripting] Pregunta/respuesta rápida

El comando que se usa es el "showpokepic" y lo ocultas usando "hidepokepic".

Ejemplo de uso:
Código:
#dynamic 0x800000
#org @#inicio
showpokepic 0xAF 0xA 0x3
msgbox @#1 0x2
hidepokepic
end

#org @#1
= ¡Mira mi huevo!
Nota: "0xAF" es Togepi (Pokémon #175/0xAF), 0xA y 0x3 son las cordenadas X e Y donde aparecerá el pokepic en hexadecimal.

Resultado:
Nunca vi nadie que se molestara tanto en realizar una respuesta tan elaborada y explicada!

Muchisimas gracias! :awesome:
 

ANT0N9

Algun Sprite?
Respuesta: [Scripting] Pregunta/respuesta rápida

Hola espero que tengan buen día y feliz navidad :heart:, vengo por un error con un script de pokemon inicial.

#dynamic 0x800000

#org @inicio
pause 0x10
showpokepic 0x1F4 0xA 0x4
msgbox @frase 0x5
compare LASTRESULT 0x1
hidepokepic
if 0x1 goto @inicio2
if 0x0 goto @inicio3
end

#org @frase
= Es un riolu lo tomas?

#org @inicio3
msgbox @habla2 0x6
end

#org @inicio2
msgbox @si 0x6
pause 0x10
sound 0x13F
pause 0x10
hidesprite 0x3
sound 0x12D
givepokemon 0x1F4 0x5 0x0 0x0 0x0 0x0
setflag 0x828
pause 0x10
applymovement 0x4 @mov
waitmovement 0x4
spriteface 0xFF 0x3
msgbox @habla 0x6
sound 0x1
setflag 0x829
end

#org @si
= HAS OBTENIDO A RIOLU!

#org @mov
#raw 0x10 'Paso Abajo
#raw 0x2 'Mirar Izquierda
#raw 0xFE 'Finalizar Movimientos

#org @habla
= [darknavyblue_fr]Hector: Muy buena elección ahora\nese pokemon sera tu compañero\lcuidalo bien [player].\l[blue_fr][player]: Claro que si... Sera buena\lla compañia de alguien.\l[darknavyblue_fr]Hector: Hací es, bueno no te\lmolesto mas, ahora eres un\lentrenador y estoy seguro que\lseras el mejor. Ve por el camino\lde la derecha del pueblo, te\lllevara a la ruta 1 y si sigues\lllegaras a Ciudad Alada alli se\lencuentra uno de los gimnacios de\lAmery retalo y ganaras una\lmedalla, te deceo mucha suerte\lchico.\l[blue_fr][player]: Muchas gracias profesor.

#org @habla2
= [blue_fr][player]: Tomare otro.

Este script presenta el siguiente error.


No tengo ni idea de como, ni porque sale este error, investigue en paginas de rom hacking y en una decía que hacia falta un archivo (std.rbh) o algo así, pero no lo encontré.
 

Inferno

Miembro insignia
Miembro insignia
Respuesta: [Scripting] Pregunta/respuesta rápida

Hola espero que tengan buen día y feliz navidad :heart:, vengo por un error con un script de pokemon inicial.

#dynamic 0x800000

#org @inicio
pause 0x10
showpokepic 0x1F4 0xA 0x4
msgbox @frase 0x5
compare LASTRESULT 0x1
hidepokepic
if 0x1 goto @inicio2
if 0x0 goto @inicio3
end

#org @frase
= Es un riolu lo tomas?

#org @inicio3
msgbox @habla2 0x6
end

#org @inicio2
msgbox @si 0x6
pause 0x10
sound 0x13F
pause 0x10
hidesprite 0x3
sound 0x12D
givepokemon 0x1F4 0x5 0x0 0x0 0x0 0x0
setflag 0x828
pause 0x10
applymovement 0x4 @mov
waitmovement 0x4
spriteface 0xFF 0x3
msgbox @habla 0x6
sound 0x1
setflag 0x829
end

#org @si
= HAS OBTENIDO A RIOLU!

#org @mov
#raw 0x10 'Paso Abajo
#raw 0x2 'Mirar Izquierda
#raw 0xFE 'Finalizar Movimientos

#org @habla
= [darknavyblue_fr]Hector: Muy buena elección ahora\nese pokemon sera tu compañero\lcuidalo bien [player].\l[blue_fr][player]: Claro que si... Sera buena\lla compañia de alguien.\l[darknavyblue_fr]Hector: Hací es, bueno no te\lmolesto mas, ahora eres un\lentrenador y estoy seguro que\lseras el mejor. Ve por el camino\lde la derecha del pueblo, te\lllevara a la ruta 1 y si sigues\lllegaras a Ciudad Alada alli se\lencuentra uno de los gimnacios de\lAmery retalo y ganaras una\lmedalla, te deceo mucha suerte\lchico.\l[blue_fr][player]: Muchas gracias profesor.

#org @habla2
= [blue_fr][player]: Tomare otro.

Este script presenta el siguiente error.


No tengo ni idea de como, ni porque sale este error, investigue en paginas de rom hacking y en una decía que hacia falta un archivo (std.rbh) o algo así, pero no lo encontré.
El archivo std.rbh suele venir en la carpeta en la que descargas el XSE, compruebalo, si no es así lo puedes descargar aquí en el foro.
De todos modos LASTRESULT es lo que hace la variable $800D, prueba a poner 800D en su lugar.
 

ANT0N9

Algun Sprite?
Respuesta: [Scripting] Pregunta/respuesta rápida

El archivo std.rbh suele venir en la carpeta en la que descargas el XSE, compruebalo, si no es así lo puedes descargar aquí en el foro.
De todos modos LASTRESULT es lo que hace la variable $800D, prueba a poner 800D en su lugar.
MUCHAS GRACIAS ya encontré el archivo, jajajaja me sentí muy tonto al recordar que ese archivo en especifico lo había guardado en otra carpeta '^^. (ya el script se ejecuta correctamente)
 

hacanoca

Héroe de WaH
Respuesta: [Scripting] Pregunta/respuesta rápida

Buenas
Llevo poco tiempo aprendiendo de roomhacking.
Estoy trabajando en Fire Red y quiero hacer un script de una misión secundaria en el que uno le devuelva un PKMN perdido a algún mini. (Le copié la idea del Parasect a Jota de Black Dark). El caso es que no tengo claro el proceso de este script. A continuación pondré el script que usó Jota en su juego (para la parte del Parasect, quitando el contenido de algunos textos), para ver si alguno de ustedes, o el mismo Jota puede aclararmelo, por favor

Código:
'---------------
#org 0x870D56
faceplayer
checkflag 0x1435
if 0x1 goto 0x8872088
checkflag 0x1436
if 0x1 goto 0x887201E
msgbox 0x8279B52 MSG_YESNO '"Texto1"
compare LASTRESULT 0x1
if 0x1 goto 0x887200A
closeonkeypress
end

'---------------
#org 0x872088
msgbox 0x82FAE52 MSG_NORMAL '"Texto2"
end

'---------------
#org 0x87201E
msgbox 0x8279CE2 MSG_NORMAL '"Amanda: ¿Has encontrado a mi\n[ora..."
setvar 0x4060 0x2F
special 0xBC
waitstate
[COLOR="Green"]compare 0x8004 0x6
if 0x4 goto 0x8872056
special2 0x8005 0xBA[/COLOR]
[COLOR="green"]comparevars 0x4060 0x8005
if 0x1 goto 0x8872062[/COLOR]
msgbox 0x8279D12 MSG_NORMAL '"Amanda: Veo que todavía no.\pVen a..."
end

'---------------
#org 0x87200A
msgbox 0x8279C6A MSG_NORMAL '"Amanda: ¿De veras? ¡Qué majo!\pTe ..."
clearflag 0x1425
clearflag 0x1434
setflag 0x1436
end

'---------------
#org 0x872056
msgbox 0x8279D12 MSG_NORMAL '"Amanda: Veo que todavía no.\pVen a..."
end

'---------------
#org 0x872062
[COLOR="green"]special2 0x8005 0xBA
special 0xBB
cmdc3 0x2F[/COLOR]
msgbox 0x8279D72 MSG_NORMAL '"Amanda: ¡Mi [orange_fr]Parasect[re..."
giveitem 0x44 0x1 MSG_OBTAIN
setflag 0x1435
closeonkeypress
end


'---------
' Strings
'---------
#org 0x279B52
= Texto1

#org 0x2FAE52
= Texto2

#org 0x279CE2
= Amanda: ¿Has encontrado a mi\n[orange_fr]Parasect[red_fr]?

#org 0x279D12
= Amanda: Veo que todavía no.\pVen a verme cuando lo tengas,\n¿vale? Te agradezco las molestias.

#org 0x279C6A
= Amanda: ¿De veras? ¡Qué majo!\pTe pagaré por el favor, no tengo\nmucho dinero pero te puedo dar\lalgún objeto valioso.

#org 0x279D72
= Amanda: ¡Mi [orange_fr]Parasect[red_fr]!\pNo sabes cuanto te agradezco que\nlo hayas traido de vuelta.\pA partir de ahora voy a hacerle\nmas caso, para que no vuelva a\lescaparse.\pTen, no tengo dinero, pero seguro\nque esto te gustará:
[CODE]

Sobretodo las  partes en verde son las que menos entiendo, especialmente ese comando cmdc3 y la variable 8004 (Es que esa la he visto mucho por ahí, ¿es una variable especial?)

Gracias de antemano.
 

Cheve

MoonLover~
Miembro de honor
Respuesta: [Scripting] Pregunta/respuesta rápida

Buenas
Llevo poco tiempo aprendiendo de roomhacking.
Estoy trabajando en Fire Red y quiero hacer un script de una misión secundaria en el que uno le devuelva un PKMN perdido a algún mini. (Le copié la idea del Parasect a Jota de Black Dark). El caso es que no tengo claro el proceso de este script. A continuación pondré el script que usó Jota en su juego (para la parte del Parasect, quitando el contenido de algunos textos), para ver si alguno de ustedes, o el mismo Jota puede aclararmelo, por favor

Código:
'---------------
#org 0x870D56
faceplayer
checkflag 0x1435
if 0x1 goto 0x8872088
checkflag 0x1436
if 0x1 goto 0x887201E
msgbox 0x8279B52 MSG_YESNO '"Texto1"
compare LASTRESULT 0x1
if 0x1 goto 0x887200A
closeonkeypress
end

'---------------
#org 0x872088
msgbox 0x82FAE52 MSG_NORMAL '"Texto2"
end

'---------------
#org 0x87201E
msgbox 0x8279CE2 MSG_NORMAL '"Amanda: ¿Has encontrado a mi\n[ora..."
setvar 0x4060 0x2F
special 0xBC
waitstate
[COLOR="Green"]compare 0x8004 0x6
if 0x4 goto 0x8872056
special2 0x8005 0xBA[/COLOR]
[COLOR="green"]comparevars 0x4060 0x8005
if 0x1 goto 0x8872062[/COLOR]
msgbox 0x8279D12 MSG_NORMAL '"Amanda: Veo que todavía no.\pVen a..."
end

'---------------
#org 0x87200A
msgbox 0x8279C6A MSG_NORMAL '"Amanda: ¿De veras? ¡Qué majo!\pTe ..."
clearflag 0x1425
clearflag 0x1434
setflag 0x1436
end

'---------------
#org 0x872056
msgbox 0x8279D12 MSG_NORMAL '"Amanda: Veo que todavía no.\pVen a..."
end

'---------------
#org 0x872062
[COLOR="green"]special2 0x8005 0xBA
special 0xBB
cmdc3 0x2F[/COLOR]
msgbox 0x8279D72 MSG_NORMAL '"Amanda: ¡Mi [orange_fr]Parasect[re..."
giveitem 0x44 0x1 MSG_OBTAIN
setflag 0x1435
closeonkeypress
end


'---------
' Strings
'---------
#org 0x279B52
= Texto1

#org 0x2FAE52
= Texto2

#org 0x279CE2
= Amanda: ¿Has encontrado a mi\n[orange_fr]Parasect[red_fr]?

#org 0x279D12
= Amanda: Veo que todavía no.\pVen a verme cuando lo tengas,\n¿vale? Te agradezco las molestias.

#org 0x279C6A
= Amanda: ¿De veras? ¡Qué majo!\pTe pagaré por el favor, no tengo\nmucho dinero pero te puedo dar\lalgún objeto valioso.

#org 0x279D72
= Amanda: ¡Mi [orange_fr]Parasect[red_fr]!\pNo sabes cuanto te agradezco que\nlo hayas traido de vuelta.\pA partir de ahora voy a hacerle\nmas caso, para que no vuelva a\lescaparse.\pTen, no tengo dinero, pero seguro\nque esto te gustará:
[CODE]

Sobretodo las  partes en verde son las que menos entiendo, especialmente ese comando cmdc3 y la variable 8004 (Es que esa la he visto mucho por ahí, ¿es una variable especial?)

Gracias de antemano.[/QUOTE]

1. Deberías aprender a hacer tus scripts desde cero, para no pasar por estas cosas.

2. Es R[B][U][I]o[/I][/U][/B]m Hacking 

3. Las variables de la 0x8000 a la 0x800D (O 0x800F? no recuerdo bien xD) son variables que se borran y se reescriben en casi todo momento, por comandos o por cosas externas a "Scripts".

4. A saber que hizo Jo7a ahí xDDDD

5. Jo7a es más fan de JPAN que yo, sus Special pueden ni siquiera ser los mismos que los de otra Rom
 
Respuesta: [Scripting] Pregunta/respuesta rápida

Hola, solo quisiera saber si para hacer un efecto de "flashback" se necesita un script o algún otro método, y si se necesita un script ¿cúal es? gracias

salu2
 

Inferno

Miembro insignia
Miembro insignia
Re: Respuesta: [Scripting] Pregunta/respuesta rápida

Hola, solo quisiera saber si para hacer un efecto de "flashback" se necesita un script o algún otro método, y si se necesita un script ¿cúal es? gracias

salu2
Siguiendo este tutorial lo puedes conseguir: https://whackahack.com/foro/t-12177/gba-scripting-hacer-efecto-gris-para-flashback

Básicamente lo que se hace es un writebytetooffset a un offset de la RAM que controla los colores de la pantalla para conseguir el efecto gris, y luego se refresca la pantalla, ahí lo hace por medio del comando warp, para hacer el efecto de forma correcta.
 

hacanoca

Héroe de WaH
Respuesta: [Scripting] Pregunta/respuesta rápida

Hola
Una duda: Tengo un problema con los minisprites de un mapa. Cuando ingreso al mapa desde cierta conexión (la conexión de arriba) algunos minisprites cambian de lugar, algunos incluso desaparecen. Esto me había ocurrido anteriormente en este mapa con otras conexiones, lo cual había solucionado borrando los minis y volviéndolos a insertar. Pero en este caso no funciona, digamos que si borro el mini que cambia de lugar y lo vuelvo agregar, cuando ensayo nuevamente el mini que se cambia es otro y luego otro y así en un círculo vicioso. El mapa no posee scripts de nivel. La base es FR.
 

Inferno

Miembro insignia
Miembro insignia
Re: Respuesta: [Scripting] Pregunta/respuesta rápida

Hola
Una duda: Tengo un problema con los minisprites de un mapa. Cuando ingreso al mapa desde cierta conexión (la conexión de arriba) algunos minisprites cambian de lugar, algunos incluso desaparecen. Esto me había ocurrido anteriormente en este mapa con otras conexiones, lo cual había solucionado borrando los minis y volviéndolos a insertar. Pero en este caso no funciona, digamos que si borro el mini que cambia de lugar y lo vuelvo agregar, cuando ensayo nuevamente el mini que se cambia es otro y luego otro y así en un círculo vicioso. El mapa no posee scripts de nivel. La base es FR.
Los minis que pongas cerca de las conexiones entre mapas es normal que hagan el efecto de desaparecer y aparecer al salir y entrar del mapa, piensa que estás cargando un mapa nuevo y dejando el otro a poca distancia, eso si el mini está cerca del límite del mapa y incluso se puede llegar a solucionar volviendo a insertar los minis en cuestión.

Si dices que se te cambia de lugar y estás seguro de que no hay scripts de nivel te tengo que preguntar dos cosas, ¿Tienes los minis algún script asignado? ¿Se trata de un mapa original y lo has extendido?
 

Tia Piolin

el mangacue e ma canon que tu mama x tu papa
Re: [Scripting] Pregunta/respuesta rápida

Hola, resulta que este script se compila bien y todo pero cuando lo pongo en algun mini el prota se queda congelado 8(

#org 0x80459A
fadescreen 0x1
callasm 0x8750021
writebytetooffset 0x30 0x4000012
faceplayer
lock
msgbox 0x88045C4 MSG_NORMAL '"white fr (texto)"
msgbox 0x88045F9 MSG_NORMAL '"(mas texto)"
msgbox 0x8804624 MSG_NORMAL '"(aun mas texto)"
release
end
¿Que esta mal? :(((
 

hacanoca

Héroe de WaH
Respuesta: Re: Respuesta: [Scripting] Pregunta/respuesta rápida

Los minis que pongas cerca de las conexiones entre mapas es normal que hagan el efecto de desaparecer y aparecer al salir y entrar del mapa, piensa que estás cargando un mapa nuevo y dejando el otro a poca distancia, eso si el mini está cerca del límite del mapa y incluso se puede llegar a solucionar volviendo a insertar los minis en cuestión.

Si dices que se te cambia de lugar y estás seguro de que no hay scripts de nivel te tengo que preguntar dos cosas, ¿Tienes los minis algún script asignado? ¿Se trata de un mapa original y lo has extendido?
Sí, es un mapa original. Es el mapa de CIUDAD VERDE (el 3.1).
Los minis que cambian de lugar tienen asignados un script de texto sencillo.
Recuerdas que CIUDAD VERDE tiene un árbol de CORTE cerca de la conexión con la ruta 2. Lo que me está pasando es que, al ingresar a la ciudad desde la ruta 2, un mini que se encuentra localizado como en la mitad del mapa me aparece en donde en el juego original se localiza este árbol, igual cuando lo pierdo de vista reaparece en su posición original. Como dije antes, cuando vuelvo a insertar el mini, el error me pasa con un mini diferente, pero siempre la posición extraña en la que aparece es dónde se localizaba ese árbol.
 

Tia Piolin

el mangacue e ma canon que tu mama x tu papa
Re: [Scripting] Pregunta/respuesta rápida

Al final solucione mi problema de alguna forma que no logro entender, pero ahora tengo uno nuevo :( Por alguna razón la pantalla sigue estando negra aun cuando puse el fadescreen 0x0, ¿A que puede deberse?
 

hacanoca

Héroe de WaH
Respuesta: Re: [Scripting] Pregunta/respuesta rápida

Hola, resulta que este script se compila bien y todo pero cuando lo pongo en algun mini el prota se queda congelado 8(



¿Que esta mal? :(((
Hola.
Que pena utilizar tu pregunta para realizarte otra, y más cuando no la puedo solucionar.
Pero creo que estás usando algo que requiero aprender. Los primeros comandos que usas: "callasm y writebyte to offset" ¿para que sirven? ¿Se requiere un proceso especial para usarlos?
 

Tia Piolin

el mangacue e ma canon que tu mama x tu papa
Re: Respuesta: Re: [Scripting] Pregunta/respuesta rápida

@hacanoca ,

El callasm sirve para llamar una rutina ASM equis que tengas insertada, es como llamar un script normalmente pero este es como especial (?

writebytetoffset aun no comprendo muy bien todos sus usos, puesto que he visto que lo usan para muchas cosas lol, pero el que yo estaba usando en el script es para mantener centrado el textbox



PS: Mi problema persiste, help 8(
 

Inferno

Miembro insignia
Miembro insignia
Respuesta: [Scripting] Pregunta/respuesta rápida

@hacanoca
Me parece muy raro lo que te sucede, por lo que general agrandar un mapa original puede llegar a dar algún que otro error como es el que te está pasando a ti, pero si dices que no lo has hecho más grande y que no tienes ningún script de nivel asignado en el mapa, lo único que se me ocurre es que sea por culpa de algún script de gatillo o de algún de los scripts de habla. El error te sucede después de hacer determinado evento o te sucede según entras al mapa?


@Tia Piolin
Que se te congele la pantalla pienso que puede ser por dos cosas, una que bien sea un script de gatillo y lo tengas mal configurado en el propio AM o bien que el orden de los comandos no sea el adecuado, yo recomiendo siempre poner el lock seguido del faceplayer, y estos dos comandos si tienes claro que se van a usar, ponerlos al principio del script, aunque siempre hay excepciones claro.
No entiendo muy bien lo que tratas de hacer con esos fadescreen, pero si la pantalla sigue en negro aún después del haber hecho el de 0x0, y el script se ejecuta correctamente hasta ese punto, entonces seguramente el fallo sea de lo que tengas entre ambos fadescreen, que en este caso me decantaría por algún posible fallo de la rutina que llamas con el callasm.
 
Estado
Cerrado para nuevas respuestas.
Arriba