MA

{PEDIDO} MANA e LIFE exibida por porcentagem no cliente!

Por Magraozinho, 18 de abr. de 2016 em Scripts

life
mana
porcentagem
lifeemana
100/100
pedido
4
4.1k
MagraozinhoM
18 de abril de 2016 às 05:01

Eae galera, blz? seguinte... eu estava dando uma olhada em um ot 8.6 e percebi que ao entrar no ot, a LIFE e a MANA no cliente se exibe por porcentagem 100/100. eu queria saber se alguem me da um tutorial de como fazer isso em meu ot. a versão do meu ot é 8.6 e o TFS é  0.4.0.377 ;  andei dando uma olhada em outros tópicos e entendi que a edição é feita em uma source.. baixei umas sources, e pretendo usar o DEV C++ para editar, porém, não sei como usar o DEV C++ e nem editar uma source, preciso de ajuda! Obrigado.

Editado Abril 18 por Magraozinho

Yan LiimaY
18 de abril de 2016 às 06:38

Vai em protocolgame.cpp e procure por:

msg->put<uint16_t>(player->getHealth());msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH));

Substitue por:

if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0)    {        msg->put<uint16_t>(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH)));        msg->put<uint16_t>(100);    }    else    {        msg->put<uint16_t>(0);        msg->put<uint16_t>(0);      }

Depois procure por:

msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA));msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA));

Substitue por:

if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0)    {        msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA));        msg->put<uint16_t>(100);    }    else    {        msg->put<uint16_t>(0);        msg->put<uint16_t>(0);    }

Testado em TFS 0.3.6/0.4.

 

Se quiser para TFS 1.x clique AQUI

Editado Abril 18 por nedroesdoksdja

MagraozinhoM
18 de abril de 2016 às 17:20
10 horas atrás, Yan Liima disse:

Vai em protocolgame.cpp e procure por:

msg->put<uint16_t>(player->getHealth());msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH));

Substitue por:

Depois procure por:

msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA));msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA));

Substitue por:

if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0)    {        msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA));        msg->put<uint16_t>(100);    }    else    {        msg->put<uint16_t>(0);        msg->put<uint16_t>(0);    }

Testado em TFS 0.3.6/0.4.

 

Se quiser para TFS 1.x clique AQUI

Me salvou, funfou certinho comigo.. obrigado!

 

Yan LiimaY
18 de abril de 2016 às 19:18

Se realmente te ajudei de REP + e ficamos quites ;):

 

Com essa nova atualização do fórum não tenho certeza se tem a opção de melhor resposta, mais se tiver por favor clique em resolvido.

Editado Abril 18 por nedroesdoksdja