Ir para conteúdo

[Encerrado] [OTcliente]Como mudar a cor do nome dos NPCs


Taiger

Posts Recomendados

Ola amigos, gostaria de mutar a cor do nick dos npcs no otcliente, mas não faço a minima ideia em qual arquivo esta essa config, alguem poderia me dar uma luz?

Link para o comentário
Compartilhar em outros sites

Créditos: BananaFight.

 

Creature.cpp procure por:

if(healthPercent > 92)

 

Embaixo você muda para:

if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }

 

 

Adicionando Nomes:

 

Isto representa o nome do monstro/player que terá a cor do nome alterada. (Sim, vai ter que cadastrar nome por nome nesse sistema.)

if (m_name == "Banana Fight")

 

Para adicionar mais nomes é só seguindo a logica:

if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else if (m_name == "Demon"){            m_informationColor = Color(0xFF, 0xFF, 0xFF);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }

 

E para colorir o resto das porcentagens a mesma coisa:

else if(healthPercent > 60)    if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x50, 0xA1, 0x50);}

 

Só recomendo que não mecha no ultimo, pois se não souber mexer pode dar erro.

else        m_informationColor = Color(0x85, 0x0C, 0x0C);

 

 

Adicionando Cores:

 

Isto representa a porcentagem de hp que o player ou monstro vai estar

m_informationColor = Color(0x00, 0xBC, 0x00);

 

Para mudar a cor você edita aqui :

Color(0x00, 0xBC, 0x00)

 

As cores funcionam da seguinte maneira (RGB), tabelahttp://shibolete.tripod.com/RGB.html

Você tem que pegar a cor hexadecimal e dividir em 3 partes (#FFFF00 > FF FF 00), ai é só você preencher, Color(0xFF, 0xFF, 0x00) com cada letra/numero. 

 

Exemplo Final:

void Creature::setHealthPercent(uint8 healthPercent){    if(healthPercent > 92)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }    else if(healthPercent > 60)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x50, 0xA1, 0x50);        }    else if(healthPercent > 30)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0xA1, 0xA1, 0x00);        }    else if(healthPercent > 8)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0xBF, 0x0A, 0x0A);        }    else if(healthPercent > 3)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x91, 0x0F, 0x0F);        }    else        m_informationColor = Color(0x85, 0x0C, 0x0C);    m_healthPercent = healthPercent;    callLuaField("onHealthPercentChange", healthPercent);    if(healthPercent <= 0)        onDeath();}
Link para o comentário
Compartilhar em outros sites

29 minutos atrás, Taiger disse:

vem ca mais isto é nas sources? Eu lembro de uma vez ter modificado em algum arquivo do otc sem ser nas sources.

Sim, essas modificações são feitas pela source.

Não é do meu conhecimento a existência de algum sistema externo que possibilite a modificação como você citou... mas acredito que seja possível cria-lo.

Link para o comentário
Compartilhar em outros sites

33 minutos atrás, Stigal disse:

Créditos: BananaFight.

 

Creature.cpp procure por:

if(healthPercent > 92)

 

Embaixo você muda para:

if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }

 

 

Adicionando Nomes:

 

Isto representa o nome do monstro/player que terá a cor do nome alterada. (Sim, vai ter que cadastrar nome por nome nesse sistema.)

if (m_name == "Banana Fight")

 

Para adicionar mais nomes é só seguindo a logica:

if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else if (m_name == "Demon"){            m_informationColor = Color(0xFF, 0xFF, 0xFF);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }

 

E para colorir o resto das porcentagens a mesma coisa:

else if(healthPercent > 60)    if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x50, 0xA1, 0x50);}

 

Só recomendo que não mecha no ultimo, pois se não souber mexer pode dar erro.

else        m_informationColor = Color(0x85, 0x0C, 0x0C);

 

 

Adicionando Cores:

 

Isto representa a porcentagem de hp que o player ou monstro vai estar

m_informationColor = Color(0x00, 0xBC, 0x00);

 

Para mudar a cor você edita aqui :

Color(0x00, 0xBC, 0x00)

 

As cores funcionam da seguinte maneira (RGB), tabelahttp://shibolete.tripod.com/RGB.html

Você tem que pegar a cor hexadecimal e dividir em 3 partes (#FFFF00 > FF FF 00), ai é só você preencher, Color(0xFF, 0xFF, 0x00) com cada letra/numero. 

 

Exemplo Final:

void Creature::setHealthPercent(uint8 healthPercent){    if(healthPercent > 92)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{            m_informationColor = Color(0x00, 0xBC, 0x00);        }    else if(healthPercent > 60)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x50, 0xA1, 0x50);        }    else if(healthPercent > 30)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0xA1, 0xA1, 0x00);        }    else if(healthPercent > 8)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0xBF, 0x0A, 0x0A);        }    else if(healthPercent > 3)        if (m_name == "Banana Fight"){            m_informationColor = Color(0xB2, 0x22, 0x22);        }else{        m_informationColor = Color(0x91, 0x0F, 0x0F);        }    else        m_informationColor = Color(0x85, 0x0C, 0x0C);    m_healthPercent = healthPercent;    callLuaField("onHealthPercentChange", healthPercent);    if(healthPercent <= 0)        onDeath();}

na verdade, isso é mais para monstros/players. Sendo assim, teria de colocar npc por npc, e mesmo assim fazer umas modificações rs

 

 

Mas, existe uma maneira de deixar todos os npcs em azul.

vai em: 

\src\client\game.cpp

procura por:

enableFeature(Otc::GameAccountNames);

e adiciona em baixo:

enableFeature(Otc::GameBlueNpcNameColor);

Só compilar e fim, ou você pode fazer por lua..

Em modules/game_things em things.lua, depois de:

if version >= 840 then

só adiciona:

g_game.enableFeature(GameBlueNpcNameColor)

Fim.

Link para o comentário
Compartilhar em outros sites

13 minutos atrás, Deadpool disse:

na verdade, isso é mais para monstros/players. Sendo assim, teria de colocar npc por npc, e mesmo assim fazer umas modificações rs

 

 

Mas, existe uma maneira de deixar todos os npcs em azul.

vai em: 

\src\client\game.cpp

procura por:

enableFeature(Otc::GameAccountNames);

e adiciona em baixo:

enableFeature(Otc::GameBlueNpcNameColor);

Só compilar e fim, ou você pode fazer por lua..

Em modules/game_things em things.lua, depois de:

if version >= 840 then

só adiciona:

g_game.enableFeature(GameBlueNpcNameColor)

Fim.

Se eu quiser colocar de outra cor, pode ? tipo amarelo 

Link para o comentário
Compartilhar em outros sites

filename =  nilloaded = falsefunction init()  connect(g_game, { onProtocolVersionChange = load })endfunction terminate()  disconnect(g_game, { onProtocolVersionChange = load })endfunction setFileName(name)  filename = nameendfunction isLoaded()  return loadedendfunction load()  local version = g_game.getProtocolVersion()  g_game.enableFeature(GameSpritesU32)  local datPath, sprPath  if filename then    datPath = resolvepath('/things/' .. filename)    sprPath = resolvepath('/things/' .. filename)  else    datPath = resolvepath('/things/' .. version .. '/Tibia')    sprPath = resolvepath('/things/' .. version .. '/Tibia')  end  local errorMessage = ''  if not g_things.loadDat(datPath) then    errorMessage = errorMessage .. tr("Unable to load dat file, please place a valid dat in '%s'", datPath) .. '\n'  end  if not g_sprites.loadSpr(sprPath) then    errorMessage = errorMessage .. tr("Unable to load spr file, please place a valid spr in '%s'", sprPath)  end  loaded = (errorMessage:len() == 0)  if errorMessage:len() > 0 then    local messageBox = displayErrorBox(tr('Error'), errorMessage)    addEvent(function() messageBox:raise() messageBox:focus() end)    disconnect(g_game, { onProtocolVersionChange = load })    g_game.setProtocolVersion(0)    connect(g_game, { onProtocolVersionChange = load })  end  g_game.enableFeature(GameBlueNpcNameColor)end

 

Link para o comentário
Compartilhar em outros sites

9 minutos atrás, Taiger disse:
filename =  nilloaded = falsefunction init()  connect(g_game, { onProtocolVersionChange = load })endfunction terminate()  disconnect(g_game, { onProtocolVersionChange = load })endfunction setFileName(name)  filename = nameendfunction isLoaded()  return loadedendfunction load()  local version = g_game.getProtocolVersion()  g_game.enableFeature(GameSpritesU32)  local datPath, sprPath  if filename then    datPath = resolvepath('/things/' .. filename)    sprPath = resolvepath('/things/' .. filename)  else    datPath = resolvepath('/things/' .. version .. '/Tibia')    sprPath = resolvepath('/things/' .. version .. '/Tibia')  end  local errorMessage = ''  if not g_things.loadDat(datPath) then    errorMessage = errorMessage .. tr("Unable to load dat file, please place a valid dat in '%s'", datPath) .. '\n'  end  if not g_sprites.loadSpr(sprPath) then    errorMessage = errorMessage .. tr("Unable to load spr file, please place a valid spr in '%s'", sprPath)  end  loaded = (errorMessage:len() == 0)  if errorMessage:len() > 0 then    local messageBox = displayErrorBox(tr('Error'), errorMessage)    addEvent(function() messageBox:raise() messageBox:focus() end)    disconnect(g_game, { onProtocolVersionChange = load })    g_game.setProtocolVersion(0)    connect(g_game, { onProtocolVersionChange = load })  end  g_game.enableFeature(GameBlueNpcNameColor)end

 

Isso >>

g_game.enableFeature(GameBlueNpcNameColor)

Ta no lugar errado no arquivo é logo abaixo dá função load:

function load()  local version = g_game.getProtocolVersion()  g_game.enableFeature(GameSpritesU32)  //-coloque aqui-//

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...