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 Citar Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Administrador TELASKO 2.929 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+ Citar Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
TioBagas 211 Postado 19 de Agosto 2023 Compartilhar Postado 19 de Agosto 2023 é no v8? Citar Link para o comentário 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 Citar Link para o comentário Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da Conversa
Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.