qna_rh
Thread Id: 21275
Thread Name: Textbox transparente [Pokémon Ruby]
#0
Areku 26649
Bueno, sólo eso.
He visto que últimamente en el hacking la tienen mucho. (Quienes saben hacerla)
Así que mi pregunta es. ¿Cómo es que la hacen? :awesome:

Se los agracedería infinitamente.

¡Muchas gracias por su atención!
#1
ReoNeky 18653
¿Cómo se hace? Modificando el I/O del propio juego, lo modificas llamandolo con un writebytetooffset y modificando su byte.
Copias esto antes del texto y ale, luego tienes que refrescar con un fadrescreen para que la textbox vuelva a la normalidad:

writebytetooffset 0x3F 0x4000048
writebytetooffset 0x1F 0x4000049
writebytetooffset 0x41 0x4000050
writebytetooffset 0x3F 0x4000051
writebytetooffset 0xF 0x4000052
writebytetooffset 0xA 0x4000053
writebytetooffset 0xFF 0x202F0AA
writebytetooffset 0xFF 0x202F0AB
writebytetooffset 0x0 0x202F0B8
writebytetooffset 0x0 0x202F0B9
writebytetooffset 0x0 0x202F0AC
writebytetooffset 0x0 0x202F0AD
writebytetooffset 0x0 0x202F0BE
writebytetooffset 0x0 0x202F0BF
writebytetooffset 0x0 0x202F0C0
writebytetooffset 0x0 0x202F0C1
writebytetooffset 0x0 0x202F0C2
writebytetooffset 0x0 0x202F0C3
writebytetooffset 0x0 0x202F0C4
writebytetooffset 0x0 0x202F0C5
writebytetooffset 0x0 0x202F0C6
writebytetooffset 0x0 0x202F0C7
writebytetooffset 0x0 0x202F0C8
writebytetooffset 0x0 0x202F0C9


¡Nos vemos!
#2
Natsu Dragneel 23919
Creo que sería mejor explicarles a los novatos como, donde y más cosas a los que no tienen mucha experiencia.
A mi me posteaban un script que les pedia y me las tenia que apañar para saber como y donde ponerlo etc...
#3
Areku 26649
¡Muchas gracias!
Entonces si la quiero permanente en cada diálogo debo configurar un script de nivel en cada mapa con estos comandos o ponerla antes del textbox, me supongo.

Gracias ReoNeky por tomarte tu tiempo en contestar! :awesome:
#4
ReoNeky 18653
Hombre... Si la quieres permanente, pones eso en un script de nivel y ale, pero ten en cuenta que al abrir la mochila, se va a ir todo al garete. Por eso, te recomiendo añadir eso antes de cualquier script de mensaje de texto (Con que lo pongas 1 vez por cada script, bastaría)

PD: Qué raro, poca gente lo quiere siempre así, aunque la verdad está bastante bien, jaja
#5
eing 12479
No te recomiendo que lo pongas siempre así.
Dado que de esa forma, cuando presionas "intro", para abrir el menú de pausa, se verá también invisible. Porque este también es un elemento del BG0.
Lo cual queda horrendo.
En teoría está echo de manera que lo llames siempre antes del textbox.
O al inicio del script, con un goto 0xofset donde se hayan los wbto que hacen invisible los textbox.

Como hace tiempo que descubrí eso, no recuerdo sí se mantenia durante la ejecución del script, o hay que llamarlo antes de cada msgbox. Que alguien lo confirme..
#6
ReoNeky 18653
No, se mantiene hasta que se refresque la pantalla, es por eso que con 1 vez bastaría, a no ser que se refrescase con un fadescreen o algo por el estilo.
Así que no habría problema, si hacemos lo de Eing, es una buena idea. Habría que añadir dos scripts de nivel, uno del 0x2 (Como ha contado arriba Eing) en el que tenga los WTBO y otro de nivel que se active al cerrar el menu, que active la flag para que funcione el de nivel del 0x2.

(Joer, que mal explico)
#7
Areku 26649
¡Gracias nuevamente!
Eres la ostia ReoNeky :D


Añadiendo dos detalles que omitiste:
- El script no sobrevive al clima "Tormenta".
- Al llamar al script es necesario agregar un return, para volver al script normal.

Dejo como ejemplo el script inicial que compilé, no es muy rebuscado, pero espero y les sirva. Agradeciendo nuevamente a ReoNeky por el código.

'-----------------------
#org 0x14D6CD //Inicio de Script
call 0x8900000 //Llamada al script de transparencia
msgbox 0x816AC00 '"Toma esto, te servirá para tu viaje..."
callstd 0x2
givepokemon 0x19 0x5 0x0 0x0 0x0 0x0 //Dar Pikachu Nivel 5
setflag 0x800 //Activar Menu Pokemon
setflag 0x801 //Activar Menu Pokedex
setflag 0x802 //Activar Menu PokeNav
setflag 0x803 //Ni puta idea para qué servian estas, igual las añadí XD
setflag 0x804 //Ni puta idea para qué servian estas, igual las añadí XD
setflag 0x805 //Ni puta idea para qué servian estas, igual las añadí XD
setflag 0x806 //Ni puta idea para qué servian estas, igual las añadí XD
fadescreen 0x1 //oscurece pantalla
pause 0x20 //Lapso de oscurecimiento
hidesprite 0x7 //Desaparece quien te dio el Pikachu
fadescreen 0x0 // Fin del Oscurecimiento de pantalla
end //Fin del Script

'-----------------------
#org 0x900000 //Función Textbox Transparente
writebytetooffset 0x3F 0x4000048
writebytetooffset 0x1F 0x4000049
writebytetooffset 0x41 0x4000050
writebytetooffset 0x3F 0x4000051
writebytetooffset 0xF 0x4000052
writebytetooffset 0xA 0x4000053
writebytetooffset 0xFF 0x202F0AA
writebytetooffset 0xFF 0x202F0AB
writebytetooffset 0x0 0x202F0B8
writebytetooffset 0x0 0x202F0B9
writebytetooffset 0x0 0x202F0AC
writebytetooffset 0x0 0x202F0AD
writebytetooffset 0x0 0x202F0BE
writebytetooffset 0x0 0x202F0BF
writebytetooffset 0x0 0x202F0C0
writebytetooffset 0x0 0x202F0C1
writebytetooffset 0x0 0x202F0C2
writebytetooffset 0x0 0x202F0C3
writebytetooffset 0x0 0x202F0C4
writebytetooffset 0x0 0x202F0C5
writebytetooffset 0x0 0x202F0C6
writebytetooffset 0x0 0x202F0C7
writebytetooffset 0x0 0x202F0C8
writebytetooffset 0x0 0x202F0C9
return //Regresar al primer script


'---------
' Strings
'---------
#org 0x16AC00
= Toma esto, te servirá para tu viaje. \n Cuídalo mucho.