Registrarse

Problemas con el WBTO en un script

  • Autor Miembro eliminado 28262
  • Fecha de inicio
Estado
Cerrado para nuevas respuestas.
M

Miembro eliminado 28262

Invitado
Hola, bueno, hace poco estaba investigando si se podia reemplazar un texto del juego,

por ejemplo la mochila que dice "aqui se guardan cosas"
por uno nuevo pero que se cambie in-game, que se yo "queseyo"
pero no logro entender bien como hacer que funcione.

actualmente tengo este script

Código:
'---------------
#org 0x8ED60C
lock
faceplayer
msgbox 0x88ED641 MSG_NORMAL '"¡¿Tú que miras caratorta?!\pSi tie..."
writebytetooffset 0x41 0x045F6F4 '40' 
writebytetooffset 0xD6 0x045F6F5 'D8'
writebytetooffset 0x8E 0x045F6F6 '1A'
release
end


'---------
' Strings
'---------
#org 0x8ED641
= ¡¿Tú que miras caratorta?!
en el script quiero copiar los bytes que apuntan a mi nuevo "texto" 41 d6 8e
(está invertido) en los offset donde se situa el texto anterior (tambien invertido)

alguien me puede hechar una mano? le agradeceria un millón :D

EDIT: se usar las herramientas para traducir perfectamente, lo que quiero es cambiar un texto "In-game"

EDIT2:

en el memorin (tubo cotilla, fame checker) cada "persona" te dice lo que opina sobre alguien, lo que quiero es que se actualize de vez en cuando al hablar con la gente, y asi cambiar lo que pone por defecto.
a la larga tambien estoy investigando sobre como cambiar los OW que aparecen ahi por defecto.
 
Última edición por un moderador:

CelticFrostie

Sexador de pollos
Creo (ojo si me equivoco) que el WBTO no funciona así. Osea, por ejemplo, para cambiar el nombre de tu Pokémon con WBTO, tienes que hacer WBTO al byte que corresponde a cada letra, no coger los bytes que corresponden al offset de una frase como has hecho en éste caso.
Porque el offset que habrás sacado te marca dónde comienza la frase, que quieres cambiar, pero no donde acaba xD

No sé si me explico.

EDIT: Como te dice @Adke, no será mejor que cambies un texto manualmente en vez de hacer eso? xDDD
 

Jon.

Usuario mítico
Es exactamente como dijo Flame. Las letras las puedes sacar de la tabla del Thingy.
Por cierto... no sé si eso funcionara. Ya que los WBTO sirve para editar la RAM y los textos y eso están en el ROM.

No lo recuerdo bien :\
 

Sayer301!

UnityLord!
Miembro de honor
Es exactamente como dijo Flame. Las letras las puedes sacar de la tabla del Thingy.
Por cierto... no sé si eso funcionara. Ya que los WBTO sirve para editar la RAM y los textos y eso están en el ROM.

No lo recuerdo bien :\
^ En este mensaje está la clave de tu fallo.

Tú estás cambiando el byte de la ROM, y con WBTO lo que cambias es un byte en la RAM, no se mucho de esto, aunque gracias a @eing y mirarlo de vez en cuando le estoy pillando el truco poco a poco.

El caso es que con el "search for cheats" des emulador, tienes que ver a que bytes llama cuando muestra el texto.
Por ejemplo, imaginate que la direccion 02980000 de la RAM es la que se encarga de cargar el texto ese que buscas, lo que tendrías que hacer serían WBTO a esa direccion de la RAM y cambiar los bytes que está cargando la RAM, no el ROM. Se que me explico como el culo, pero estoy viendo que para estas cosas entiendes mejor que yo, espero que hayas entendido jajaja, si no ya tu saaa!
 

H.B.P

Emperador Kaktiácero
Miembro de honor
Verás, tal y como te dijeron, el WBTO sirve para cambiar datos guardados en la RAM. Sin embargo, a modo de idea, y para evitar complicaciones innecesarias, puedes hacer que cambien los textos según el valor de una o diversas variables, es tan fácil como jugar con los valores y ni siquiera tendrías que desechar el script actual (basta con usar compare y condiciones, compilas un script nuevo sólo con esta serie de comandos), puedes mirar mi tutorial sobre cambiar minis con variables para que veas un ejemplo de a qué me refiero.

Espero que te sirva de ayuda.
 

eing

Miembro de honor
Miembro de honor
Vaya el crack de sage pidiendo ayuda.. Quien lo diria! Haha (ironia/sarcasmo)

Para leer un texto dinamico es tan simple como:
1)en tu scriot cargar el texto desde la ram.
Msgbox 0x02offset. (Aqui iran tus letras en hex)

2)buscar el msgbox en la ram (hay una rutina que lo hace, solo debes buscar el offset en la ram y hacer el wbto ahí)

3)rutina asm para eso xD
 
Estado
Cerrado para nuevas respuestas.
Arriba