Jump to content

[C ++] Reduza o tempo de ressurreição


F-Caneiras
 Share

Recommended Posts

Boas

Este tutorial irá explicar-lhe como reduzir o atraso antes do respawn, então veja: 

[Imagem: P_U9Oz5UTfytvcFzCpgxYQ.png]

Vamos seguir em frente sem mais detalhes. 

cmd_general.cpp procurar por:

int iTimeToDead = (event_time(ch->m_pkDeadEvent) / passes_per_sec);

Desta linha, para a linha:

//END_PREVENT_HACK

Substitua tudo pelo meu código:

    int iTimeToDead = (event_time(ch->m_pkDeadEvent) / passes_per_sec);

    int iTown = iTimeToDead - 2; // Retire 2 secondes au temps de rez en ville (default = 6)
    int iHere = iTimeToDead - 5; // Retire 5 secondes au temps de rez sur place (default = 9)

    if (subcmd != SCMD_RESTART_TOWN && (!ch->GetWarMap() || ch->GetWarMap()->GetType() == GUILD_WAR_TYPE_FLAG))
    {
        if (!test_server)
        {
            if (ch->IsHack())
            {
                //성지 맵일경우에는 체크 하지 않는다.
                if (false == CThreeWayWar::instance().IsSungZiMapIndex(ch->GetMapIndex()))
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아직 재시작 할 수 없습니다. (%d초 남음)"), iTimeToDead - (180 - g_nPortalLimitTime));
                    return;
                }
            }

            if (iHere > 170) // RESPAWN_HERE
            {
                ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아직 재시작 할 수 없습니다. (%d초 남음)"), iHere - 170);
                return;
            }
        }
    }

    //PREVENT_HACK
    //DESC : 창고, 교환 창 후 포탈을 사용하는 버그에 이용될수 있어서
    //        쿨타임을 추가 
    if (subcmd == SCMD_RESTART_TOWN)
    {
        if (ch->IsHack())
        {
            //길드맵, 성지맵에서는 체크 하지 않는다.
            if ((!ch->GetWarMap() || ch->GetWarMap()->GetType() == GUILD_WAR_TYPE_FLAG) ||
                   false == CThreeWayWar::instance().IsSungZiMapIndex(ch->GetMapIndex()))
            {
                ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아직 재시작 할 수 없습니다. (%d초 남음)"), iTimeToDead - (180 - g_nPortalLimitTime));
                return;
            }
        }

        if (iTown > 173) // RESPAWN_TOWN
        {
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("아직 마을에서 재시작 할 수 없습니다. (%d 초 남음)"), iTown - 173);
            return;
        }
    }
    //END_PREVENT_HACK

Em seguida, modifique os dados desses valores para o que deseja:

    int iTown = iTimeToDead - 2; // Retire 2 secondes au temps de rez en ville
    int iHere = iTimeToDead - 5; // Retire 5 secondes au temps de rez sur place

Preste atenção às guias no início da linha! Compile, divirta-se. 

AVISO: você pode reduzir o tempo de espera para 0, mas não se surpreenda se o seu cliente falhar após várias ressurreições. 
Além disso, definir um valor muito baixo traria a PK, então verifique os valores que você colocou;). 
 

Fonte:funky-emu

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...