Jump to content

Evitar 2 contas por jogador em OX


Recommended Posts

Boas amigos, 

Venho deixar-vos um Tutorial que um amigo me passou e com o seu consentimento resolvi postar aqui para vocês que me tem ajudado.

Citar

Abrir OXEvent.h,

Encontrar GetAttenderCount() e adicionar as seguintes linhas a baixo:

    // Ox-event IP-Checker
    public:
        bool CheckIpAddress(LPCHARACTER ch);
        void RemoveFromAttenderList(DWORD dwPID);
        
------------------------------------
Abrir OXEvent.cpp,

Encontrar COxEventManager::LogWinner() e adicionar as seguintes linhas a baixo:

bool COXEventManager::CheckIpAddress(LPCHARACTER ch)
{
    for (itertype(m_map_attender) it = m_map_attender.begin(); it != m_map_attender.end(); ++it)
    {
        LPCHARACTER tch = CHARACTER_MANAGER::Instance().FindByPID(it->second);
        if (!tch || !tch->GetDesc())
            continue;

        if (!strcmp(ch->GetDesc()->GetHostName(), tch->GetDesc()->GetHostName()) && ch->GetMapIndex() == tch->GetMapIndex())
        {
            LogManager::Instance().HackLog("MULTI_IP_OX", ch);
            ch->GoHome();
            return false;
        }
    }

    return true;
}


void COXEventManager::RemoveFromAttenderList(DWORD dwPID)
{
    m_map_attender.erase(dwPID);
}

bool COXEventManager::EnterAttender(LPCHARACTER pkChar)
{
    DWORD pid = pkChar->GetPlayerID();
    
    if (CheckIpAddress(pkChar))
    {
        m_map_char.insert(std::make_pair(pid, pid));
        m_map_attender.insert(std::make_pair(pid, pid));
        return true;
    }

    return false;
}

-----------------------------------------------
Abrir char.cpp

Encontrar MessengerManager::instance().Logout(GetName()); e adicionar o seguinte a baixo:
    if (GetMapIndex() == OXEVENT_MAP_INDEX)
        COXEventManager::Instance().RemoveFromAttenderList(GetPlayerID());

 

Nao sei a origem deste código mas fica ai este tutorial!

 

 

Link to post
Share on other sites
37 minutos atrás, moikano22 disse:

Boas amigos, 

Venho deixar-vos um Tutorial que um amigo me passou e com o seu consentimento resolvi postar aqui para vocês que me tem ajudado.

Nao sei a origem deste código mas fica ai este tutorial!

 

 

Testaste?

 

Link to post
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
×
×
  • Create New...