1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

Ник игрока в лобби(слот)

Тема в разделе 'Кодинг/Собственные решения', создана пользователем hakersoft, 23 май 2013.

  1. Budrin Гуру

    Сообщения:
    62
    Спасибы:
    4
    Дата начала использования бота:
    22.09.2004
    у тебя какой код перед тем что ты написал?
    Код:
        SendVirtualHostPlayerInfo( Player );
        SendFakePlayerInfo( Player );
     
        BYTEARRAY BlankIP;
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
    
    этот? у тебя повторяется твой код, или же он один такой?
  2. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    лишнее зацепил но не вставляй по сути если даже 1 вставишь работать будет попробуй
    Код:
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
     
    -    CONSOLE_Print( "[GAME: " + m_GameName + "] player [" + Player->GetName( ) + "] joined the game" );
    +    //    CONSOLE_Print( "[GAME: " + m_GameName + "] player [" + Player->GetName( ) + "] joined the game" );
        m_GHost->UDPChatSend("|newplayer "+UTIL_ToString(GetSlotsOpen()) + " " + Player->GetName());
     
    // recalculate nr of players in each team + difference in players nr.
     
        ReCalculateTeams();
    @@ -3414,25 +3524,36 @@
        for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); i++ )
        {
            if( !(*i)->GetLeftMessageSent( ) && *i != Player )
            {
                // send info about the new player to every other player
    -
    +            string s;
                if( (*i)->GetSocket( ) )
    -            {
    +            {                           
    +                s = Player->GetJoinedRealm( ) == string( ) ? "Ga" : Player->GetJoinedRealm( );
    +                if ( s.find("eurobattle") != string::npos )
    +                    s = "EB";
    +                else if ( s.find("warcraft3.eu") != string::npos )
    +                    s = "EU";
    +                else s = s.substr( 0, 2 );
                    if( m_GHost->m_HideIPAddresses )
    -                    (*i)->Send( m_Protocol->SEND_W3GS_PLAYERINFO( Player->GetPID( ), Player->GetName( ), BlankIP, BlankIP ) );
    +                    (*i)->Send( m_Protocol->SEND_W3GS_PLAYERINFO( Player->GetPID( ), ( "[" + s + "]" + Player->GetName( ) ).substr( 0, 14 ), BlankIP, BlankIP ) );
                    else
    -                    (*i)->Send( m_Protocol->SEND_W3GS_PLAYERINFO( Player->GetPID( ), Player->GetName( ), Player->GetExternalIP( ), Player->GetInternalIP( ) ) );
    +                    (*i)->Send( m_Protocol->SEND_W3GS_PLAYERINFO( Player->GetPID( ), ( "[" + s + "]" + Player->GetName( ) ).substr( 0, 14 ), Player->GetExternalIP( ), Player->GetInternalIP( ) ) );
                }
     
                // send info about every other player to the new player
    -
    +            s = (*i)->GetJoinedRealm( ) == string( ) ? "Ga" : (*i)->GetJoinedRealm( );
    +            if ( s.find("eurobattle") != string::npos )
    +                    s = "EB";
    +            else if ( s.find("warcraft3.eu") != string::npos )
    +                    s = "EU";           
    +            else s = s.substr( 0, 2 );
                if( m_GHost->m_HideIPAddresses )
    -                Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), (*i)->GetName( ), BlankIP, BlankIP ) );
    +                Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), ( "[" + s + "]" + (*i)->GetName( ) ).substr( 0, 14 ), BlankIP, BlankIP ) );
                else
    -                Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), (*i)->GetName( ), (*i)->GetExternalIP( ), (*i)->GetInternalIP( ) ) );
    +                Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), ( "[" + s + "]" + (*i)->GetName( ) ).substr( 0, 14 ), (*i)->GetExternalIP( ), (*i)->GetInternalIP( ) ) );
            }
        }
     
        // check for multiple ip usage.
        vector<string>IPs;
    Budrin нравится это.
  3. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    у меня работало с 1 куда нить суй)))
    Код:
    +            s = (*i)->GetJoinedRealm( ) == string( ) ? "Ga" : (*i)->GetJoinedRealm( );
    +            if ( s.find("eurobattle") != string::npos )
    +                    s = "EB";
    +            else if ( s.find("warcraft3.eu") != string::npos )
    +                    s = "EU";         
    +            else s = s.substr( 0, 2 );
                if( m_GHost->m_HideIPAddresses )
    -                Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), (*i)->GetName( ), BlankIP, BlankIP ) );
    +                Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), ( "[" + s + "]" + (*i)->GetName( ) ).substr( 0, 14 ), BlankIP, BlankIP ) );
                else
    -                Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), (*i)->GetName( ), (*i)->GetExternalIP( ), (*i)->GetInternalIP( ) ) );
    +                Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), ( "[" + s + "]" + (*i)->GetName( ) ).substr( 0, 14 ), (*i)->GetExternalIP( ), (*i)->GetInternalIP( ) ) );
  4. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    так стоп если че добавь если не прокатит просто вроде просто страну же он в начале ника дает ну тут же страну добавляет
    Код:
                potential->GetExternalIPString();
    +            string From;
     
                // check if the country or provider is not allowed
    //            if (potential->GetExternalIPString()!="127.0.0.1")
                    if (!Reserved)
                    if (!m_ScoreCheckChecked)
                        if (m_CountryCheck || m_CountryCheck2 || m_ProviderCheck || m_ProviderCheck2 || ((m_GHost->m_AutoHostCountryCheck2 || m_GHost->m_AutoHostCountryCheck) && m_autohosted))
                        {
    -                        string From;
                            string Fromu;
                            string P;
                            string s;
                            bool bad = false;
                            bool allowed=false;
     
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
        BlankIP.push_back( 0 );
     
    -    CONSOLE_Print( "[GAME: " + m_GameName + "] player [" + Player->GetName( ) + "] joined the game" );
    +    //    CONSOLE_Print( "[GAME: " + m_GameName + "] player [" + Player->GetName( ) + "] joined the game" );
        m_GHost->UDPChatSend("|newplayer "+UTIL_ToString(GetSlotsOpen()) + " " + Player->GetName());
  5. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    и 2 кусок
    Код:
        // check if the country or provider is not allowed
    +    string From;
        if (Player->GetExternalIPString()!="127.0.0.1")
        if (!Reserved)
        if (m_CountryCheck || m_CountryCheck2 || m_ProviderCheck || m_ProviderCheck2)
        {
    -        string From;
            string P;
            string s;
            bool bad = false;
            bool allowed=false;
            if (m_ProviderCheck2)
     
                    return;
                }
            }
        }
     
    -    CONSOLE_Print( "[GAME: " + m_GameName + "] player [" + Player->GetName( ) + "] joined the game" );
    +    CONSOLE_Print( "[GAME: " + m_GameName + "] player [" + Player->GetName( ) + "] from [" + From + "] joined the game with score" );
        m_GHost->UDPChatSend("|newplayer "+Player->GetName());
     
    // recalculate nr of players in each team + difference in players nr.
     
        ReCalculateTeams();
  6. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    есть инфа то что когда я зашел видил свой ник)) TR.Sparko.ru остальные сказали мне что у меня была приставка к нику [RU] но я этова не видел
  7. Budrin Гуру

    Сообщения:
    62
    Спасибы:
    4
    Дата начала использования бота:
    22.09.2004
    Так оно и есть...
  8. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    да я думаю и это тож можно по фиксить)
  9. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    ну может быть оно к лучшему мб по этому и не пишется в логи) ник с приставкой зато все видят [RU]Burin а сам игрок свой не видит ник с приставкой) зато знает что она есть
  10. ROB4ik Рекомендуемый

    Сообщения:
    224
    Спасибы:
    35
    столько кода.
    у меня встал.
    Oxxxymiron, bic, Organated и ещё 1-му нравится это.
  11. hakersoft Гуру

    Сообщения:
    91
    Спасибы:
    54
    Сборка бота GHost:
    Ghost++ own edition
    Дата начала использования бота:
    20.03.13
    Doterok, hakers_bot , сидит на Clan Lord. Но пока в процессе.В коде спарко куча ошибок, посему беру некоторые идеи и ставлю в свой код.
    Oxxxymiron нравится это.
  12. Sparko_Dima Старожила

    Сообщения:
    744
    Спасибы:
    104
    Сборка бота GHost:
    Ghost Sparko
    Дата начала использования бота:
    10.10.09
    хз явно у меня работало
  13. hakersoft Гуру

    Сообщения:
    91
    Спасибы:
    54
    Сборка бота GHost:
    Ghost++ own edition
    Дата начала использования бота:
    20.03.13
    спарко, за 5 лет я си прилично подзабыл, сейчас на уровне нуба, но все же, бегло взглянув на код-
    if( m_GHost->m_HideIPAddresses )
    - Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), (*i)->GetName( ), BlankIP, BlankIP ) );
    + Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), ( "[" + s + "]" + (*i)->GetName( ) ).substr( 0, 14 ), BlankIP, BlankIP ) );
    else
    - Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), (*i)->GetName( ), (*i)->GetExternalIP( ), (*i)->GetInternalIP( ) ) );
    + Player->Send( m_Protocol->SEND_W3GS_PLAYERINFO( (*i)->GetPID( ), ( "[" + s + "]" + (*i)->GetName( ) ).substr( 0, 14 ), (*i)->GetExternalIP( ), (*i)->GetInternalIP( ) ) );


    если память мне не изменяет.без {} if и else принимает только 1 значение, если больше, то нужны скобки.И тд и тп.
  14. ROB4ik Рекомендуемый

    Сообщения:
    224
    Спасибы:
    35
    а как же проверка на спуф?
  15. hakersoft Гуру

    Сообщения:
    91
    Спасибы:
    54
    Сборка бота GHost:
    Ghost++ own edition
    Дата начала использования бота:
    20.03.13
    не,все-же тупой я.Помню лишь самый базис си
    вот к примеру
    string stmp = (*i)->GetJoinedRealm( ) == string( ) ? "Ga" : (*i)->GetJoinedRealm( );
    if ( stmp.find("playground") != string::npos )stmp = "PG";
    else if ( stmp.find("127") != string::npos ) stmp = "IC";
    else stmp = stmp.substr( 0, 2 );

    if( m_GHost->m_HideIPAddresses )
    (*i)->Send( m_Protocol->SEND_W3GS_PLAYERINFO( Player->GetPID( ), Player->GetName( ), BlankIP, BlankIP ) );
    else
    (*i)->Send( m_Protocol->SEND_W3GS_PLAYERINFO( Player->GetPID( ), stmp + "#" + Player->GetName( ).substr( 0, 14 ), Player->GetExternalIP( ), Player->GetInternalIP( ) ) );
    }
    Выводит лишь PG Всем, не зависимо от серва.Что делаю не так?
  16. hakersoft Гуру

    Сообщения:
    91
    Спасибы:
    54
    Сборка бота GHost:
    Ghost++ own edition
    Дата начала использования бота:
    20.03.13
    Одна лишь херь выходит..Потом займусь
  17. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    >GetJoinedRealm
    не есть playground
    GetServerAlias
    Юзай тогда
    или место плайгруунда
    пиши рубат
  18. hakersoft Гуру

    Сообщения:
    91
    Спасибы:
    54
    Сборка бота GHost:
    Ghost++ own edition
    Дата начала использования бота:
    20.03.13
    bnet3_server = playground.ru
    bnet3_serveralias = rubatlle
    так что все верно
  19. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    во 1 .ru
    Во 2 у тебя конект с таким адресом?:D
  20. hakersoft Гуру

    Сообщения:
    91
    Спасибы:
    54
    Сборка бота GHost:
    Ghost++ own edition
    Дата начала использования бота:
    20.03.13
    если я правильно понимаю .find() ищет частичное соответствие.
    Во 2 да, копипаст с работающего конфига.
    ушел за пивом.Авось, соображать лучше стану...