Registrarse

[pokeemerald] Traduciendo los textos de "{pokémon}'s {stat} sharply rose!"

Diego Mertens

Dartrix Joven
¡Hola!
Hoy vengo a comentarles como traducir los infames textos de cambios de las estadísticas. Si, esos que una vez traducidos directamente, dan como resultado "Ataque de Scyther mucho subió!"

Para empezar, hay que traducir las strings que contienen los textos de "subió" "bajó" "mucho" de la siguiente manera:
Vamos a src/battle_message.c y buscamos gText_StatSharply[] = _(", y reemplazaremos ese y los textos que le siguen con los siguientes:
C:
const u8 gText_StatSharply[] = _(" mucho");
const u8 gText_StatRose[] = _("subió");
static const u8 sText_StatHarshly[] = _(" mucho");
static const u8 sText_StatFell[] = _("bajó");
static const u8 sText_AttackersStatRose[] = _("¡{B_BUFF1} de {B_ATK_NAME_WITH_PREFIX} {B_BUFF2}!\n");
const u8 gText_DefendersStatRose[] = _("¡{B_BUFF1} de {B_DEF_NAME_WITH_PREFIX} \n{B_BUFF2}!");
static const u8 sText_UsingItemTheStatOfPkmnRose[] = _("¡Usando {B_LAST_ITEM}, {B_BUFF1}\nde {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}!");
static const u8 sText_AttackersStatFell[] = _("¡{B_BUFF1} de {B_ATK_NAME_WITH_PREFIX}\n{B_BUFF2}!");
static const u8 sText_DefendersStatFell[] = _("¡{B_BUFF1} de {B_DEF_NAME_WITH_PREFIX}\n{B_BUFF2}!");
¡NOTA!: Si tenés el Battle Engine 2.0, también hay que traducir los "drastically" y "severly" siguiendo el mismo formato que los otros textos.
De esta forma, nos ahorraremos tener que preocuparnos por el "!" al final de la frase, porque si no hiciéramos esto, o bien tendríamos textos como "La Defensa de Scyther bajó" o "El Ataque de Scyther subió! mucho!".

Con esto, terminamos con src/battle_message.c, así que ahora vamos con lo siguiente.
Nos vamos ahora a src/battle_script_commands.c, y buscamos las líneas:

Primero, buscamos:
C:
if (statValue == -2)
            {
                gBattleTextBuff2[1] = B_BUFF_STRING;
                gBattleTextBuff2[2] = STRINGID_STATHARSHLY;
                gBattleTextBuff2[3] = STRINGID_STATHARSHLY >> 8;
                index = 4;
            }
            else if (statValue <= -3)
            {
                gBattleTextBuff2[1] = B_BUFF_STRING;
                index = 2;
                gBattleTextBuff3[1] = STRINGID_SEVERELY & 0xFF;
                gBattleTextBuff3[2] = STRINGID_SEVERELY >> 8;
                index = 3;
            }
            gBattleTextBuff2[index] = B_BUFF_STRING;
            index++;
            gBattleTextBuff2[index] = STRINGID_STATFELL;
            index++;
            gBattleTextBuff2[index] = STRINGID_STATFELL >> 8;
            index++;
            gBattleTextBuff2[index] = B_BUFF_EOS;
Y reemplazamos todo eso con:
C:
gBattleTextBuff2[1] = B_BUFF_STRING;
            gBattleTextBuff2[2] = STRINGID_STATFELL;
            gBattleTextBuff2[3] = STRINGID_STATFELL >> 8;
            index = 4;
       
            if (statValue == -2)
            {
                gBattleTextBuff2[index] = B_BUFF_STRING;
                index++;
                gBattleTextBuff2[index] = STRINGID_STATHARSHLY;
                index++;
                gBattleTextBuff2[index] = STRINGID_STATHARSHLY>> 8;
                index++;
                gBattleTextBuff2[index] = B_BUFF_EOS;
            }
            else if (statValue <= -3)
            {
                gBattleTextBuff2[index] = B_BUFF_STRING;
                index++;
                gBattleTextBuff2[index] = STRINGID_SEVERELY & 0xFF;
                index++;
                gBattleTextBuff2[index] = STRINGID_SEVERELY >> 8;
                index++;
            }
Luego, debemos hacer lo mismo con las líneas que controlan las subidas de estadísticas, por lo que buscamos esto:
C:
if (statValue == 2)
        {
            gBattleTextBuff2[1] = B_BUFF_STRING;
            gBattleTextBuff2[2] = STRINGID_STATSHARPLY;
            gBattleTextBuff2[3] = STRINGID_STATSHARPLY>> 8;
            index = 4;
        }
            else if (statValue >= 3)
            {
                gBattleTextBuff2[1] = B_BUFF_STRING;
                gBattleTextBuff2[2] = STRINGID_DRASTICALLY & 0xFF;
                gBattleTextBuff2[3] = STRINGID_DRASTICALLY >> 8;
                index = 4;
            }
        gBattleTextBuff2[index] = B_BUFF_STRING;
        index++;
        gBattleTextBuff2[index] = STRINGID_STATROSE;
        index++;
        gBattleTextBuff2[index] = STRINGID_STATROSE >> 8;
        index++;
        gBattleTextBuff2[index] = B_BUFF_EOS;
Y las reemplazamos a todas con:
Código:
gBattleTextBuff2[1] = B_BUFF_STRING;
        gBattleTextBuff2[2] = STRINGID_STATROSE;
        gBattleTextBuff2[3] = STRINGID_STATROSE >> 8;
        index = 4;
       
        if (statValue == 2)
        {
            gBattleTextBuff2[index] = B_BUFF_STRING;
            index++;
            gBattleTextBuff2[index] = STRINGID_STATSHARPLY;
            index++;
            gBattleTextBuff2[index] = STRINGID_STATSHARPLY >> 8;
            index++;
            gBattleTextBuff2[index] = B_BUFF_EOS;
        }
        else if (statValue >= 3)
        {
            gBattleTextBuff2[index] = B_BUFF_STRING;
            index++;
            gBattleTextBuff2[index] = STRINGID_DRASTICALLY & 0xFF;
            index++;
            gBattleTextBuff2[index] = STRINGID_DRASTICALLY >> 8;
            index++;
            gBattleTextBuff2[index] = B_BUFF_EOS;
        }
Primero, buscamos:
C:
if (statValue == -2)
            {
                gBattleTextBuff2[1] = B_BUFF_STRING;
                gBattleTextBuff2[2] = STRINGID_STATHARSHLY;
                gBattleTextBuff2[3] = STRINGID_STATHARSHLY >> 8;
                index = 4;
            }
            gBattleTextBuff2[index] = B_BUFF_STRING;
            index++;
            gBattleTextBuff2[index] = STRINGID_STATFELL;
            index++;
            gBattleTextBuff2[index] = STRINGID_STATFELL >> 8;
            index++;
            gBattleTextBuff2[index] = B_BUFF_EOS;
Y reemplazamos todo eso con:
C:
gBattleTextBuff2[1] = B_BUFF_STRING;
            gBattleTextBuff2[2] = STRINGID_STATFELL;
            gBattleTextBuff2[3] = STRINGID_STATFELL >> 8;
            index = 4;
       
            if (statValue == -2)
            {
                gBattleTextBuff2[index] = B_BUFF_STRING;
                index++;
                gBattleTextBuff2[index] = STRINGID_STATHARSHLY;
                index++;
                gBattleTextBuff2[index] = STRINGID_STATHARSHLY>> 8;
                index++;
                gBattleTextBuff2[index] = B_BUFF_EOS;
            }
Luego, debemos hacer lo mismo con las líneas que controlan las subidas de estadísticas, por lo que buscamos esto:
C:
if (statValue == 2)
        {
            gBattleTextBuff2[1] = B_BUFF_STRING;
            gBattleTextBuff2[2] = STRINGID_STATSHARPLY;
            gBattleTextBuff2[3] = STRINGID_STATSHARPLY>> 8;
            index = 4;
        }
        gBattleTextBuff2[index] = B_BUFF_STRING;
        index++;
        gBattleTextBuff2[index] = STRINGID_STATROSE;
        index++;
        gBattleTextBuff2[index] = STRINGID_STATROSE >> 8;
        index++;
        gBattleTextBuff2[index] = B_BUFF_EOS;
Y las reemplazamos a todas con:
Código:
gBattleTextBuff2[1] = B_BUFF_STRING;
        gBattleTextBuff2[2] = STRINGID_STATROSE;
        gBattleTextBuff2[3] = STRINGID_STATROSE >> 8;
        index = 4;
       
        if (statValue == 2)
        {
            gBattleTextBuff2[index] = B_BUFF_STRING;
            index++;
            gBattleTextBuff2[index] = STRINGID_STATSHARPLY;
            index++;
            gBattleTextBuff2[index] = STRINGID_STATSHARPLY >> 8;
            index++;
            gBattleTextBuff2[index] = B_BUFF_EOS;
        }

Y con eso, ¡ya estaría todo listo!
Este es el resultado in-game:


Si hay algún error, déjenmelo saber!
 
Última edición:

Mobius1

Usuario de bronce
Hola buenas, perdon por revivir esto pero despues de modificar esto y compilar, se me crashea el juego, al no tener errores cuando compila no os puedo dejar nada para buscar solucion.
 
Arriba