Pesquisar na Comunidade
Mostrando resultados para as tags ''hp/mp por %''.
Encontrado 1 registro
-
tfs 1.0/1.2 Hp e mana por porcentagem!
um tópico no fórum postou Yan Liima Linguagens de Programação
Fala galera do Xtibia beleza? Alguns meses atrás tinha resolvido um tópico que o membro @julhinhuu tinha pedido Mana e Life por porcentagem para TFS 1.2 Como tem muita gente atrás desse code e não acha em nenhum lugar, resolvi adaptar para TFS 1.x e compartilhar com vocês! Estarei deixando também para as versões anteriores... TFS 1.X Em protocolgame.cpp procure por: msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH), std::numeric_limits<uint16_t>::max())); Troque por isto: if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg.add<uint16_t>(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Depois procure por: msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA), std::numeric_limits<uint16_t>::max())); Troque por: if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg.add<uint16_t>(player->getMana() * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Pronto depois é só compilar e ser feliz xD Testado em TFS 1.0/1.2 Para as versões anteriores aqui está: Agora inves de ser um número grande --> <-- Irá ser um número pequeno Não se preocupe, isso não altera o health nem a mana do jogador, apenas ficara mais fácil de saber se o player irá morrer sim ou não. Créditos: Yan Liima