• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Codigo] Health y Mana al 100% (TFS 1.2 y TFS 1.3)

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de tibiaface


    bueno aqui le traigo el codigo c++ que hace que el mana y health del player se ponga al 100% para servidores war o de experiencia alta que su vida sobre pasa el limite y bugea el cliente.


    [Tienes que estar registrado y conectado para ver este vínculo]

    vamos con el tuto:

    buscamos protocolgame.cpp y dentro buscamos esta linea

    Código:
     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->getMaxHealth(), std::numeric_limits<uint16_t>::max()));

    si son tfs 1.2 cambia a esto:

    Código:

        if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0)
        {
            msg.add<uint16_t>(std::min<int32_t>(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH), std::numeric_limits<uint16_t>::max()));
            msg.add<uint16_t>(100);
        }
        else
        {
            msg.add<uint16_t>(0);
            msg.add<uint16_t>(0);
        }

    si son tfs 1.3 cambian a esto:

    Código:

        if (player->getMaxHealth() > 0)
        {
            msg.add<uint16_t>(std::min<int32_t>(player->getHealth() * 100 / player->getMaxHealth(), std::numeric_limits<uint16_t>::max()));
            msg.add<uint16_t>(100);
        }
        else
        {
            msg.add<uint16_t>(0);
            msg.add<uint16_t>(0);
        }

    en el mismo archivo buscamos:

    Código:

      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->getMaxMana(), std::numeric_limits<uint16_t>::max()));

    si son tfs 1.2 remplazamos por esto

    Código:

        if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0)
        {
            msg.add<uint16_t>(std::min<int32_t>(player->getMana() * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA), std::numeric_limits<uint16_t>::max()));
            msg.add<uint16_t>(100);
        }
        else
        {
            msg.add<uint16_t>(0);
            msg.add<uint16_t>(0);
        }


    si son tfs 1.3 remplzamos por esto:

    Código:

        if (player->getMaxMana() > 0)
        {
            msg.add<uint16_t>(std::min<int32_t>(player->getMana() * 100 / player->getMaxMana(), std::numeric_limits<uint16_t>::max()));
            msg.add<uint16_t>(100);
        }
        else
        {
            msg.add<uint16_t>(0);
            msg.add<uint16_t>(0);
        }


    es muy posible que en tfs 1.3 este dando error al compilar en estas lineas

    Código:

    player->getPlayerInfo(PLAYERINFO_MAXMANA)
    player->getPlayerInfo(PLAYERINFO_MAXHEALTH)

    si le da el error remplazan por estas

    Código:

    player->getMaxMana()
    player->getMaxHealth()

    y listo

    creditos: @Crypton3



    [Codigo] Health y  Mana al 100% (TFS 1.2 y TFS 1.3) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

    Temas Recomendados×+

       

      BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).