qna_rh
Thread Id: 27622
Thread Name: ¿Cómo accedo al mensaje del comportamiento de tiles?
#0
RedMort 26611
Buenas, parece que ahora todo el mundo está con esto de editar los mensajes que aparecen en los comportamiento de tiles, como el del PC o la enfermera joy.
El caso es que para mi hack le vendría de perlas algo así.
Buscando por wah vi que había un tuto en el que lo explicaban divinamente, de hecho me enteré, pero los offsets que da son para FR.
Me decidí a buscarlos yo mismo, y creo que con un buen procedimiento, pero no me da resultado.
Os lo expongo para que me digáis en qué fallo:

1- Busco un texto que no vaya a usar, como por ejemplo, las enfermeras del piso de arriba del CP (lo del cable link)

2- En el thingy busco el texto.

3- Lo encuentra, y a su lado me aparece la dirección del offset.

4- Busco ese offset y me aparece vacío.

Quiero añadir que he probado con el del pc y la enfermera Joy principal y nada, me siguen apareciendo vacíos ese offsets y los cercanos que miro probando.
Estoy en Ruby.
¿Qué hago mal?
#1
Tito Sayer301 26309
Iniciado por RedMort
Buenas, parece que ahora todo el mundo está con esto de editar los mensajes que aparecen en los comportamiento de tiles, como el del PC o la enfermera joy.
El caso es que para mi hack le vendría de perlas algo así.
Buscando por wah vi que había un tuto en el que lo explicaban divinamente, de hecho me enteré, pero los offsets que da son para FR.
Me decidí a buscarlos yo mismo, y creo que con un buen procedimiento, pero no me da resultado.
Os lo expongo para que me digáis en qué fallo:

1- Busco un texto que no vaya a usar, como por ejemplo, las enfermeras del piso de arriba del CP (lo del cable link)

2- En el thingy busco el texto.

3- Lo encuentra, y a su lado me aparece la dirección del offset.

4- Busco ese offset y me aparece vacío.

Quiero añadir que he probado con el del pc y la enfermera Joy principal y nada, me siguen apareciendo vacíos ese offsets y los cercanos que miro probando.
Estoy en Ruby.
¿Qué hago mal?


Pues la enfermera que yo sepa no es un comportamiendo te tile, es un script sin mas, puedes hacerlo de 0 a tu gusto, de hecho yo lo he hecho por mi mismo, le añades que la primera vez te active una flag y listo.

El del PC viene en Zonecirkus, imagino que con algo de tiempo igual lo puedo sacar para ruby, ya te contaré como me va eso.
#2
Javi4315♪ 13374
Es sencillo. Necesitas localizar el script, por tanto, tienes que localizar el texto original del comportamiento que quieras modificar. Una vez que lo localices, vas al principio del texto y miras qué offset tienes. Ese texto es llamado mediante un msgbox desde el script del comportamiento, por lo que tienes que llegar a ese msgbox. Permutas el offset del texto convirtiéndolo en un puntero y lo buscas. La búsqueda te debería llevar al script. Ahora sólo tienes que localizar el principio del script. Fíjate en los bytes, suele haber otro script justo antes que termine en 02 (comando end) o algún otro comando que igualmente finalice el script.
#3
RedMort 26611
Iniciado por Jo7ika Jr.
Pues la enfermera que yo sepa no es un comportamiendo te tile, es un script sin mas, puedes hacerlo de 0 a tu gusto, de hecho yo lo he hecho por mi mismo, le añades que la primera vez te active una flag y listo.

El del PC viene en Zonecirkus, imagino que con algo de tiempo igual lo puedo sacar para ruby, ya te contaré como me va eso.


Es verdad lo de la enfermera xD
Pero lo que me interesaba de eso era llegar al offset donde se encontrara el msgbox, y bueno, en este caso el del PC.

Iniciado por Javi4315♪
Es sencillo. Necesitas localizar el script, por tanto, tienes que localizar el texto original del comportamiento que quieras modificar. Una vez que lo localices, vas al principio del texto y miras qué offset tienes. Ese texto es llamado mediante un msgbox desde el script del comportamiento, por lo que tienes que llegar a ese msgbox. Permutas el offset del texto convirtiéndolo en un puntero y lo buscas. La búsqueda te debería llevar al script. Ahora sólo tienes que localizar el principio del script. Fíjate en los bytes, suele haber otro script justo antes que termine en 02 (comando end) o algún otro comando que igualmente finalice el script.


Me perdí en eso de permutar, creo que no entiendo muy bien que significa xD.
Lo que hago es cuando me da el offset del PC, introducirlo en XSE, pero me sale vacío:
'---------------
#org 0x172F84
¿Como lo convierto en puntero?
#4
Javi4315♪ 13374
Iniciado por RedMort
Es verdad lo de la enfermera xD
Pero lo que me interesaba de eso era llegar al offset donde se encontrara el msgbox, y bueno, en este caso el del PC.



Me perdí en eso de permutar, creo que no entiendo muy bien que significa xD.
Lo que hago es cuando me da el offset del PC, introducirlo en XSE, pero me sale vacío:
'---------------
#org 0x172F84
¿Como lo convierto en puntero?


Dándole la vuelta de dos en dos números (es decir, le das la vuelta a los bytes). Recuerda que los offsets, aunque en XSE y eso se salten, van precedidos por "08". Por ejemplo, si tú tienes el offset 80A524 llevaría un 08 delante siendo 0880A524. Y permutarlo sería esto: 08 80 A5 24 => 24 A5 80 08.
#5
cosarara97 12296
Iniciado por RedMort

'---------------
#org 0x172F84
¿Como lo convierto en puntero?


En thingy vas a buscar los bytes ordenados, pero en el ROM todos los números están en little-endian, de modo que 0x172F84 se traduce a los bytes 842F17.
Como podrás ver, el primer byte va al final, el segundo penúltimo, etc.
De hecho, en el ROM encontrarás 842F1708, ya que es una dirección del ROM (el ROM está mapeado a partir de 0x8000000).

EDIT: http://en.wikipedia.org/wiki/Race_condition - javi siempre gana
#6
RedMort 26611
Me funciona xD muchas gracias a los tres ^^
#7
J.com 12785
Si encuentras muchos comportamientos de esos, podrias hacer un aporte con los offsets, o pasarmelos a mi todos por privado (?)

Cierro tema