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

Help RmK EnD

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

  1. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    Ребят, помогите убрать сейф статы при енд и рмк, или хотя бы убрать винера
    все облазил понять не могу как это реализовать :limon:
    Ghost brt r188
  2. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    [IMG]
    Doterok нравится это.
  3. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    спс завтра отпишу результат :)
  4. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    не-а не помогло
  5. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    Skype:
    Мой статус
    Почему бы просто не удалить кусок кода в команде !end ???
    Код:
    if (!Payload.empty())
                    {
                        if ( !m_Stats )
                        {
                            SendChat(player->GetPID(), tr("lang_1208"));
                            return HideCommand;
                        }
                        string winnerString; winnerString.clear();
                        uint32_t RequestedWinner = 0;
                       
                        if ( m_Map->GetMapType( ) == "dota" ) //FIXME, m_Map is a null pointer, why???
                        {
                            if ( Payload == "1" )
                            {
                                winnerString = "[SENTINEL]";
                                RequestedWinner = 1;
                            }
                            else if ( Payload == "2" )
                            {
                                winnerString = "[SCOURGE]";
                                RequestedWinner = 2;
                            }
                        }
     
                        if ( !RequestedWinner )
                        {
                            SendChat(player->GetPID(), tr("lang_1209"));
                            return HideCommand;
                        }
                       
                        if (!m_GameEndCountDownStarted)
                        {
                            if (m_GHost->m_EndReq2ndTeamAccept && m_RequestedWinner && UTIL_ToUInt32(Payload) == m_RequestedWinner)
                            if (m_Slots[GetSIDFromPID(player->GetPID())].GetTeam()!=m_EndRequestedTeam)
                            {
                                CONSOLE_Print( "[GAME: " + m_GameName + "] is over (admin ended game)" );
                                SendAllChat(tr("lang_1168")); // Game will end in 5 seconds"
                                m_GameEndCountDownStarted = true;
                                m_GameEndCountDownCounter = 5;
                                m_GameEndLastCountDownTicks = GetTicks();
                                m_Stats->SetWinner(m_RequestedWinner);
                                return HideCommand;
                            }
                        }
     
                        if (m_GHost->m_EndReq2ndTeamAccept && !RootAdminCheck)
                        {
                            bool secondTeamPresent = false;
                            unsigned char PID = player->GetPID();
     
                            for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); i++ )
                            {
                                if (m_Slots[GetSIDFromPID((*i)->GetPID())].GetTeam()!=m_Slots[GetSIDFromPID(PID)].GetTeam())
                                    secondTeamPresent = true;
                            }
       
     
                            if (m_GetMapNumTeams==2 && secondTeamPresent)
                            {
                                m_EndRequestedTeam = m_Slots[GetSIDFromPID(player->GetPID())].GetTeam();
     
                                if (!m_RequestedWinner)
                                {
                                    m_EndRequestedTicks = GetTicks();
                                    m_RequestedWinner = RequestedWinner;
                                    for( vector<CGamePlayer *> :: iterator i = m_Players.begin( ); i != m_Players.end( ); i++ )
                                    {
                                        if (m_Slots[GetSIDFromPID((*i)->GetPID())].GetTeam()!=m_EndRequestedTeam)
                                            SendChat((*i)->GetPID(), tr("lang_1173", "$USER$", User, "$WINNER$", winnerString, "$TRIGGER$", string(1, m_GHost->m_CommandTrigger)) ); // wants to end the game with winner "+winnerString+", type "+m_GHost->m_CommandTrigger+"end "+UTIL_ToString(m_RequestedWinner)+" to accept");
                                        else
                                            SendChat((*i)->GetPID(), tr("lang_1174", "$USER$", User, "$WINNER$", winnerString) );
                                    }
     
     
                                }
                                return HideCommand;
                            }
                        }
                       
                       
                        CONSOLE_Print( "[GAME: " + m_GameName + "] is over (admin ended game)" );
                        SendAllChat(tr("lang_1168")); // "Game will end in 5 seconds"
                        m_GameEndCountDownStarted = true;
                        m_GameEndCountDownCounter = 5;
                        m_GameEndLastCountDownTicks = GetTicks();
                        m_Stats->SetWinner(m_RequestedWinner);
                        return HideCommand;
                    }
  6. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Просто где идут INSERTы можно поставить проверку на winner как показал лонг, просто вроде мест больше, то только в gameplayers запрет
  7. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    подробней мона
    а вроде не поможет
  8. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    Как и говорил не помогло
  9. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011