BE

[OTClient] Cor no nome por tag (ADM;GM;HELP)

Por Benny, 22 de fev. de 2019 em Clients

11
11.3k
BennyB
22 de fevereiro de 2019 às 17:54

BPhsjCm.png

XOU0xgx.png

 

PREVIEW:

 

Spoiler

52920209_294277161249799_150974273610894

 

CÓDIGO:

 

Abra o creature.cpp da source do seu otclient e procure por: 

void Creature::setHealthPercent(uint8 healthPercent)

Substitua tudo por:

void Creature::setHealthPercent(uint8 healthPercent)
{
    if(m_name.find("[ADM]")!=std::string::npos)
        m_informationColor = Color(0x00, 0x2a, 0xff);
    else if(m_name.find("[GM]")!=std::string::npos)
        m_informationColor = Color(0x00, 0xff, 0x0c);
    else if(m_name.find("[HELP]")!=std::string::npos)
        m_informationColor = Color(0xff, 0x00, 0x00);
    else if(healthPercent > 92)
        m_informationColor = Color(0x00, 0xBC, 0x00);
    else if(healthPercent > 60)
        m_informationColor = Color(0x50, 0xA1, 0x50);
    else if(healthPercent > 30)
        m_informationColor = Color(0xA1, 0xA1, 0x00);
    else if(healthPercent > 8)
        m_informationColor = Color(0xBF, 0x0A, 0x0A);
    else if(healthPercent > 3)
        m_informationColor = Color(0x91, 0x0F, 0x0F);
    else
        m_informationColor = Color(0x85, 0x0C, 0x0C);

    m_healthPercent = healthPercent;
    callLuaField("onHealthPercentChange", healthPercent);

    if(healthPercent <= 0)
        onDeath();
}

Explicação:

Citar

 if(m_name.find("[ADM]")!=std::string::npos)
        m_informationColor = Color(0x00, 0x2a, 0xff);

 

[ADM] é a tag (Qualquer personagem que tenha [ADM] no nome)

Color(0x00, 0x2a, 0xff) é a cor. No caso, você tem que usar cores RGB Hexadecimais, pode encontrar uma tabela AQUI e completar com 0x.

Exemplo:

A cor amarela tem como código: #FFFF00

Ficaria assim: Color(0xFF, 0xFF, 0x00)

 

Qualquer dúvida, à disposição!

Créditos: @Refe

 

Abração!!

 

1 mês depois...
21 de março de 2019 às 03:32

Caso eu queira trocar a cor padrao de todos, exemplo: Players que nao tem essas tags, tirar aquele padrao verde e caso eu queira setar um fonte para determinadas tags? Eu tentei dessa forma mas nao deu:

if (isPlayer() && isAdm())
            g_painter->setColor(Color(245, 245, 245));

            g_painter->setFont(g_fonts.getFont("gla-16px"));

else
            g_painter->setColor(fillColor);
            g_painter->drawFilledRect(healthRect);
            g_painter->drawTexturedRect(backgroundRect, m_healthBarTexture); ...

 

E nao funcionou D:

Editado Março 21 por Bagastalgia22

1 ano depois...
adrianokkA
05 de março de 2020 às 12:54

Valeu man, consegui mudar aqui.
Eu estou com um problema similar, tem como me ajudar ?
Todo dano que player ou pokemon leva ta assim. Sabe como faz para alterar o tamanho do texto? 
ja procurei que so o arquivo e não acho ele
damage.png.bac241f53b629e339c9adb7474218040.png

adrianokkA
09 de março de 2020 às 23:00

Teria como colocar a mudação de cor, apenas na TAG ?
[ADM] Fica colorido e o resto do nome normal ?

ex: [ADM] Teste

2 meses depois...
KaboFlowK
15 de maio de 2020 às 04:56
Em 22/02/2019 em 14:54, Benny disse:

BPhsjCm.png

XOU0xgx.png

 

PREVIEW:

 

  Mostrar conteúdo oculto

52920209_294277161249799_150974273610894

 

CÓDIGO:

 

Abra o creature.cpp da source do seu otclient e procure por: 

void Creature::setHealthPercent(uint8 healthPercent)

Substitua tudo por:

void Creature::setHealthPercent(uint8 healthPercent)
{
    if(m_name.find("[ADM]")!=std::string::npos)
        m_informationColor = Color(0x00, 0x2a, 0xff);
    else if(m_name.find("[GM]")!=std::string::npos)
        m_informationColor = Color(0x00, 0xff, 0x0c);
    else if(m_name.find("[HELP]")!=std::string::npos)
        m_informationColor = Color(0xff, 0x00, 0x00);
    else if(healthPercent > 92)
        m_informationColor = Color(0x00, 0xBC, 0x00);
    else if(healthPercent > 60)
        m_informationColor = Color(0x50, 0xA1, 0x50);
    else if(healthPercent > 30)
        m_informationColor = Color(0xA1, 0xA1, 0x00);
    else if(healthPercent > 8)
        m_informationColor = Color(0xBF, 0x0A, 0x0A);
    else if(healthPercent > 3)
        m_informationColor = Color(0x91, 0x0F, 0x0F);
    else
        m_informationColor = Color(0x85, 0x0C, 0x0C);

    m_healthPercent = healthPercent;
    callLuaField("onHealthPercentChange", healthPercent);

    if(healthPercent <= 0)
        onDeath();
}

Explicação:

 

[ADM] é a tag (Qualquer personagem que tenha [ADM] no nome)

Color(0x00, 0x2a, 0xff) é a cor. No caso, você tem que usar cores RGB Hexadecimais, pode encontrar uma tabela AQUI e completar com 0x.

Exemplo:

A cor amarela tem como código: #FFFF00

Ficaria assim: Color(0xFF, 0xFF, 0x00)

 

Qualquer dúvida, à disposição!

Créditos: @Refe

 

Abração!!

 

 

 

meu source nao tenhe iso ajuda

 

image.thumb.png.0630490d5ddd3fa9d2ab1d65b9a82c09.png

 

image.thumb.png.1ddd905d41cc1531e66ee28e57e86b21.png

 

2 semanas depois...
001rafa0
23 de maio de 2020 às 20:54
Em 15/05/2020 em 04:56, KaboFlow disse:

 

 

meu source nao tenhe iso ajuda

 

image.thumb.png.0630490d5ddd3fa9d2ab1d65b9a82c09.png

 

image.thumb.png.1ddd905d41cc1531e66ee28e57e86b21.png

 

Procure por: 

setHealthPercent
1 mês depois...
luangopL
05 de junho de 2020 às 09:55
Em 09/03/2020 em 23:00, adrianokk disse:

Teria como colocar a mudação de cor, apenas na TAG ?
[ADM] Fica colorido e o resto do nome normal ?

ex: [ADM] Teste

Também estou procurando por isso, se conseguir por favor me avise xD

2 meses depois...
Smash TibiaS
16 de agosto de 2020 às 23:21
Em 23/05/2020 em 20:54, 001rafa disse:

Procure por: 

setHealthPercent

Infelizmente estou com o mesmo problema, tento procurar mas não acho de forma alguma... Provavelmente não está lá... Porque sinceramente não é possivel uhasuhasu
Oque eu posso fazer agora?

2 anos depois...
S3mpr3S
30 de agosto de 2022 às 14:54

erro ao compilar a source, entre outros: C:\OTC\src\client\creature.cpp|610|error: stray '\357' in program|
Como se resolve isso?

Editado Agosto 30 por S3mpr3

2 meses depois...
09 de outubro de 2022 às 12:01
Em 05/03/2020 em 12:54, adrianokk disse:

Valeu man, consegui mudar aqui.
Eu estou com um problema similar, tem como me ajudar ?
Todo dano que player ou pokemon leva ta assim. Sabe como faz para alterar o tamanho do texto? 
ja procurei que so o arquivo e não acho ele
damage.png.bac241f53b629e339c9adb7474218040.pngconseguiu Man?

 

 

2 anos depois...
Jhon1995J
08 de abril de 2025 às 12:45

Hola una pregunta es posible hacer que el nombre cambie de color constantemente de forma automática??