Jump to content

C++ Reinos se comunicarem


Luffy
 Share

Recommended Posts

Fica aqui o Tutorial de como os personagens dos reinos podem conversa normal

por pm e por chat comum sem usar, Anel da Linguagem ou skill passiva de linguas
 

http://i.epvpimg.com/Jaf3b.jpg

Abre o empire_text_converter.cpp (situa-se no game/src), procura por:

void ConvertEmpireText(DWORD dwEmpireID, char* szText, size_t len, int iPct)
{
    if (dwEmpireID < 1 || dwEmpireID > 3 || len == 0)
        return;

    const STextConvertTable& rkTextConvTable = g_aTextConvTable[dwEmpireID - 1];

    for (BYTE* pbText = reinterpret_cast<BYTE*>(szText) ; len > 0 && *pbText != '\0' ; --len, ++pbText)
    {
        if (number(1,100) > iPct)
        {
            if (*pbText & 0x80)
            {
                if (g_iUseLocale)
                {
                    static char s_cChinaTable[][3] = {"ˇň","ŁŁ","Ł¤","ˇů","ˇđ" };
                    int n = number(0, 4);
                    pbText[0] = s_cChinaTable[n][0];
                    pbText[1] = s_cChinaTable[n][1];
                }
                else
                {
                    if (pbText[0] >= 0xB0 && pbText[0] <= 0xC8 && pbText[1] >= 0xA1 && pbText[1] <= 0xFE)
                    {
                        UINT uHanPos = (pbText[0] - 0xB0) * (0xFE - 0xA1 + 1) + (pbText[1] - 0xA1);
                        pbText[0] = rkTextConvTable.aacHan[uHanPos][0];
                        pbText[1] = rkTextConvTable.aacHan[uHanPos][1];
                    }
                    else if ( pbText[0] == 0xA4 )
                    {
                        if ( pbText[1] >=0xA1 && pbText[1] <= 0xBE )
                        {
                            pbText[0] = rkTextConvTable.aacJaum[pbText[1]-0xA1][0];
                            pbText[1] = rkTextConvTable.aacJaum[pbText[1]-0xA1][1];
                        }
                        else if ( pbText[1] >= 0xBF && pbText[1] <= 0xD3 )
                        {
                            pbText[0] = rkTextConvTable.aacMoum[pbText[1]-0xBF][0];
                            pbText[1] = rkTextConvTable.aacMoum[pbText[1]-0xBF][1];
                        }
                    }
                }

                ++pbText;
                --len;
            }
            else
            {
                if (*pbText >= 'a' && *pbText <= 'z')
                {
                    *pbText = rkTextConvTable.acLower[*pbText - 'a'];
                }
                else if (*pbText >= 'A' && *pbText <= 'Z')
                {
                    *pbText = rkTextConvTable.acUpper[*pbText - 'A'];
                }
            }
        }
        else
        {
            if (*pbText & 0x80)
            {
                ++pbText;
                --len;
            }
        }
    }
}

Substitui toda a função por isto:

void ConvertEmpireText(DWORD dwEmpireID, char* szText, size_t len, int iPct)
{
    szText;
}

Fonte: MT2DEV

Créditos: VegaS

Tópico: Eu

 

Edited by Luffy
Link to comment
Share on other sites

1 minuto atrás, Luffy disse:

Fica aqui o Tutorial de como os personagens dos reinos podem conversa normal

por pm e por chat comum sem usar, Anel da Linguagem ou skill passiva de linguas

se não substituir por:

void ConvertEmpireText(DWORD dwEmpireID, char* szText, size_t len, int iPct)
{
    szText;
}

Irá ser necessário línguas ou anel para tal, era essa a minha dúvida.
No meu caso, o anel não funciona e a função a cima está diferente dessa, alguém mexer na mesma, e queria saber se colocar a base que está a cima se já iria concertar 

 

Link to comment
Share on other sites

Agora, L2P disse:

se não substituir por:

void ConvertEmpireText(DWORD dwEmpireID, char* szText, size_t len, int iPct)
{
    szText;
}

Irá ser necessário línguas ou anel para tal, era essa a minha dúvida.
No meu caso, o anel não funciona e a função a cima está diferente dessa, alguém mexer na mesma, e queria saber se colocar a base que está a cima se já iria concertar 

 

Peço desculpa mas ai não eu saberia responder

ainda sou um novato na área de editar source

deixa aqui outro tutorial que achei, não o testei

Abre o empire_text_converter.cpp (situa-se no game/src), procura por:

void ConvertEmpireText(DWORD dwEmpireID, char* szText, size_t len, int iPct)

Substitui toda a função por isto:

void ConvertEmpireText(DWORD dwEmpireID, char* szText, size_t len, int iPct)
{
	szText;
}

Não testei

faça sempre um backup do seus arquivos

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...