otomeuhugo 126 Postado 16 de Agosto 2023 Compartilhar Postado 16 de Agosto 2023 Bom, essas alterações permitem que você possa mudar a cor do nome de um jogador devido a alguma condição que você quiser impor. Nesse tópico irei ensinar a mudar a cor em duas condições diferentes. NOME ESPECÍFICO Spoiler Bom, caso você queira que a cor diferente seja aplicada a um player ou monstro ESPECÍFICO você pode fazer da seguinte forma. Na source do seu servidor você irá no arquivo "Creature.cpp" e irá procurar a função: void Creature::setHealthPercent(uint8 healthPercent) { 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(); } Bom em uma explicação breve o "healthPercent" é a porcentagem de vida do monstro/player então se você quiser que a cor vá escurecendo/esclarecendo de acordo com a porcentagem de vida você deverá modificar da seguinte forma: void Creature::setHealthPercent(uint8 healthPercent) { if(healthPercent > 92){ if (m_name == "Otomeuhugo"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0x00, 0xBC, 0x00); } }else if(healthPercent > 60){ if (m_name == "Otomeuhugo"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0x50, 0xA1, 0x50); } }else if(healthPercent > 30){ if (m_name == "Otomeuhugo"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0xA1, 0xA1, 0x00); } }else if(healthPercent > 8){ if (m_name == "Otomeuhugo"){ m_informationColor = Color(0xB2, 0x22, 0x22); }else{ m_informationColor = Color(0xBF, 0x0A, 0x0A); } }else if(healthPercent > 3){ if (m_name == "Otomeuhugo"){ 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(); } A variável "m_name" é referente ao nome do player/monstro que você quer, logo embaixo de cada linha "if (m_name == "Otomeuhugo"){" existe uma variável m_informationColor, é importante que você somente modifique a m_informationColor que está abaixo dessas linhas "if (m_name == "Otomeuhugo"){". Essas cores estão no código hexadecimal, então você irá pegar uma cor hexadecimal e dividir em três partes. Exemplo: #FFFF00 -> FF FF 00 -> Color(0xFF, 0xFF, 0x00) EXTRA Caso você não queira que a coloração do nome não mude de acordo com a porcentagem de vida basta substituir pelo seguinte código: void Creature::setHealthPercent(uint8 healthPercent) { if(m_name == "Otomeuhugo") m_informationColor = Color(0xFF, 0xFF, 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(); } E segue a mesma lógica, você irá mudar o m_informationColor que está abaixo da linha "if(m_name == "Otomeuhugo")". TAG NAME Spoiler Nesse caso funciona da seguinte forma, imagine que você queira que todos os nomes continue com a cor padrão mas que alguém que tenha a tag [ADM] no seu nome fique com ele inteiro vermelho, você poderá aplicar isso pra infinitas tags que quiser. Ainda no arquivo "Creature.cpp" procure pela função: void Creature::setHealthPercent(uint8 healthPercent) { 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(); } Nela você fará a seguinte modificação adaptando para o seu contexto: void Creature::setHealthPercent(uint8 healthPercent) { if(m_name.find("[ADM]")!=std::string::npos) m_informationColor = Color(0x00, 0x2a, 0xff); 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(); } Bom no caso usei a tag [ADM] mas você pode mudar pra qual você quiser, e é só mudar o m_informationColor abaixo da linha "if(m_name.find("[ADM]")!=std::string::npos)" para a cor que desejar. Créditos: BananaFight Refe Eu 15 5 Link para o comentário https://tibiadevs.com/forums/topic/66-c-otclient-color-name/ Compartilhar em outros sites Mais opções de compartilhamento...
Administrador TELASKO 2.945 Postado 16 de Agosto 2023 Administrador Compartilhar Postado 16 de Agosto 2023 Tópico Aprovado! Somos gratos por sua contribuição, com certeza será útil para toda a comunidade! ❤️ REP+ Link para o comentário https://tibiadevs.com/forums/topic/66-c-otclient-color-name/#findComment-319 Compartilhar em outros sites Mais opções de compartilhamento...
TioBagas 213 Postado 19 de Agosto 2023 Compartilhar Postado 19 de Agosto 2023 é no v8? Link para o comentário https://tibiadevs.com/forums/topic/66-c-otclient-color-name/#findComment-360 Compartilhar em outros sites Mais opções de compartilhamento...
otomeuhugo 126 Postado 19 de Agosto 2023 Autor Compartilhar Postado 19 de Agosto 2023 1 hora atrás, TioBagas disse: é no v8? Esse ai foi testado no otclient normal Link para o comentário https://tibiadevs.com/forums/topic/66-c-otclient-color-name/#findComment-362 Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Crie uma conta ou entre para comentar
Você precisar ser um membro para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora