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

Помогите вспомнить!

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

  1. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    Всем Привет! Я уже подзабыл че к чему, вот решил обратится к Вам. Юзал С++ еще в универе и давным уже все забыл че к чему. Проблема в том, что братишка попросил собрать игровой бот а я уже забросил это дела давно. Ну короче не в этом дела, а в следующем:

    Бот от GHostOne взял чистый.

    не могу найти чет вычисление очков хотел следующее в ланге score=="0.00" убрать лишние нулии .00 где именно вот не помню кроме ланга еще где то нужно, если не ошибаюсь?

    Прошу помочь и без флуда.
  2. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    Всё уже реализовано, ну да ладно.
    На счёт точки -
    Game.cpp строка~580
    ищешь
    Код:
    UTIL_ToString2( DotAPlayerSummary->GetScore()),RankS);
    заменяешь на
    Код:
    UTIL_ToString( DotAPlayerSummary->GetScore(), 0 ),RankS)
    далее Bnet.cpp строка ~557
    ищешь
    Код:
    UTIL_ToString2( DotAPlayerSummary->GetScore()),RankS), name, Whisper );
    меняешь на
    Код:
    UTIL_ToString( DotAPlayerSummary->GetScore(), 0),RankS), name, Whisper );
    собс-но и всё. По идее должно пахать.
    Begzod и Vilion нравится это.
  3. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    Organated спс! ща попробую.
  4. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    Еще одна просьба! )) в общем делал leavecount переносил с брт на она с помощью FileSeek. вроде сделал все четко. перепроверил. но видимо руки дырявые :stenka: компил выбил кучу ошибок. Вроде просмотрел но все же беда ((
    Помогите парни

    Код:
    1>Компиляция...
    1>bnet.cpp
    1>.\bnet.cpp(551) : error C2039: GetLeaveCount: не является членом "CDBDotAPlayerSummary"
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\ghostdb.h(1189): см. объявление 'CDBDotAPlayerSummary'
    1>.\bnet.cpp(552) : error C2039: GetLeaveCount: не является членом "CDBDotAPlayerSummary"
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\ghostdb.h(1189): см. объявление 'CDBDotAPlayerSummary'
    1>.\bnet.cpp(553) : error C2039: GetLeaveCount: не является членом "CDBDotAPlayerSummary"
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\ghostdb.h(1189): см. объявление 'CDBDotAPlayerSummary'
    1>.\bnet.cpp(555) : error C2039: GetLeaveCount: не является членом "CDBDotAPlayerSummary"
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\ghostdb.h(1189): см. объявление 'CDBDotAPlayerSummary'
    1>.\bnet.cpp(565) : error C2660: CLanguage::HasPlayedDotAGamesWithThisBot2: функция не принимает 17 аргументов
    1>game.cpp
    1>.\game.cpp(575) : error C2039: GetLeaveCount: не является членом "CDBDotAPlayerSummary"
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\ghostdb.h(1189): см. объявление 'CDBDotAPlayerSummary'
    1>.\game.cpp(576) : error C2039: GetLeaveCount: не является членом "CDBDotAPlayerSummary"
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\ghostdb.h(1189): см. объявление 'CDBDotAPlayerSummary'
    1>.\game.cpp(577) : error C2039: GetLeaveCount: не является членом "CDBDotAPlayerSummary"
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\ghostdb.h(1189): см. объявление 'CDBDotAPlayerSummary'
    1>.\game.cpp(579) : error C2039: GetLeaveCount: не является членом "CDBDotAPlayerSummary"
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\ghostdb.h(1189): см. объявление 'CDBDotAPlayerSummary'
    1>.\game.cpp(588) : error C2660: CLanguage::HasPlayedDotAGamesWithThisBot2: функция не принимает 17 аргументов
    1>ghostdbmysql.cpp
    1>.\ghostdbmysql.cpp(1724) : error C2065: leavecount: необъявленный идентификатор
    1>.\ghostdbmysql.cpp(1727) : error C2065: leavecount: необъявленный идентификатор
    1>ghostdbsqlite.cpp
    1>.\ghostdbsqlite.cpp(2701) : error C2181: недопустимый else без парного if
    1>language.cpp
    1>.\language.cpp(655) : error C2511: std::string CLanguage::HasPlayedDotAGamesWithThisBot2(std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string,std::string): перегруженная функция-член не найдена в 'CLanguage'
    1>        c:\users\дом\desktop\ghost one 1.7.266\ghost\language.h(29): см. объявление 'CLanguage'
    1>Журнал построения был сохранен в "file://c:\Users\Дом\Desktop\GHost One 1.7.266\ghost\Release MySQL\BuildLog.htm"
    1>ghost - ошибок 14, предупреждений 0
    ========== Построение: успешно: 0, с ошибками: 1, без изменений: 1, пропущено: 0 ==========
  5. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    Не объявил пару переменных, читай тему, там расписали весь код. Делай сам, ручками и тогда всё получится
  6. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    Все сделал спс!
    Сможешь помочь с командой !end хочу закрыть ее доступ ток для рутадмина

    вот ток не очень получилось
  7. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    взял сам код а вот что делать уже не помню. раньше делал хоть прибей не помню ваще

    вроде нужно задавать на проверку рута

    Код:
    if (!RootAdminCheck)
                        {
                            QueueChatCommand(m_GHost->m_Language->YouDontHaveAccessToThatCommand( ), User, Whisper);
                            return;
                        }

    Код:
    //
                    // !END
                    //
     
                    if( (Command == "end"|| Command == "энд") && !Payload.empty( ) )
                    {
                        // todotodo: what if a game ends just as you're typing this command and the numbering changes?
     
                        if (!CMDCheck(CMD_end, AdminAccess))
                        {
                            QueueChatCommand(m_GHost->m_Language->YouDontHaveAccessToThatCommand( ), User, Whisper);
                            return;
                        }
     
                        uint32_t GameNumber = UTIL_ToUInt32( Payload ) - 1;
     
                        if( GameNumber < m_GHost->m_Games.size( ) )
                        {
                            // if the game owner is still in the game only allow the root admin to end the game
     
                            if( m_GHost->m_Games[GameNumber]->GetPlayerFromName( m_GHost->m_Games[GameNumber]->GetOwnerName( ), false ) && !IsRootAdmin( User ))
                                QueueChatCommand( m_GHost->m_Language->CantEndGameOwnerIsStillPlaying( m_GHost->m_Games[GameNumber]->GetOwnerName( ) ), User, Whisper );
                            else
                            {
                                if (!RootAdminCheck)
                                if (m_GHost->m_EndReq2ndTeamAccept && m_GHost->m_Games[GameNumber]->m_GetMapNumTeams==2)
                                    return;
                                QueueChatCommand( m_GHost->m_Language->EndingGame( m_GHost->m_Games[GameNumber]->GetDescription( ) ), User, Whisper );
                                CONSOLE_Print( "[GAME: " + m_GHost->m_Games[GameNumber]->GetGameName( ) + "] is over (admin ended game)" );
                                m_GHost->m_Games[GameNumber]->SendAllChat("Game will end in 5 seconds");
                                m_GHost->m_Games[GameNumber]->m_GameEndCountDownStarted = true;
                                m_GHost->m_Games[GameNumber]->m_GameEndCountDownCounter = 5;
                                m_GHost->m_Games[GameNumber]->m_GameEndLastCountDownTicks = GetTicks();
        //                        m_GHost->m_Games[GameNumber]->StopPlayers( "was disconnected (admin ended game)" );
                            }
                        }
                        else
                            QueueChatCommand( m_GHost->m_Language->GameNumberDoesntExist( Payload ), User, Whisper );
                    }
    Хочу сделать, чтобы овнер и админы не могли юзать команду. тип: Команда для Вас закрыта, доступна только для рута!
  8. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    еще такой вопрос как вывести формулу при в ходе в лоби, когда отображается статы впилить пинг туда

    ну тип
    lang_0995 = ● $USER$ ● Игр: $TOTALGAMES$ ● PTS: $SCORE$ ● Пoбeд: $WPG$% ● Ты: $RANG$ ● Ваш пинг: $PING$
  9. Max5 Старожила

    Сообщения:
    360
    Спасибы:
    68
    Сборка бота GHost:
    GhostOne 1.7.266
    Дата начала использования бота:
    14.05.2013
    при входе пинг 0 будет
  10. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    у меня да но у юзеров то норм будет отображать, просто я видел эту фишку раньше
  11. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    у всех будет по нулям - пропинговка происходит после 5 сек как зашел игрок.
    Где ты видел такое? О_о
  12. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    Я вот тоже думал как он сделал, поэтому и у вас спрашивал мб кто нибудь реализовывал.
    Могу выложить бот, посмотри. я не знаю как он сделал но когда заходят показывает.
    Исходников нету ((
    там формула у него $user$ $pts$ $Leavecount$ $ping$
  13. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    единственное где ты видел такое - у меня (если не на ракапе или лайвзоне - у меня стоял рандом фейк инфа), но это при подключении к серверу инфа такая стояла...
    Vilion нравится это.
  14. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
    а ну понятно тогда. значит бестолку ставить
  15. Vilion Ньюфаг

    Сообщения:
    17
    Спасибы:
    0
    Дата начала использования бота:
    10.08.2012
  16. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    Поставь проверку на рутадмина после синтаксиса вызова команды енд
    Vilion нравится это.
  17. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    Кароче
    Ctrl+F(поиск) потом вбиваешь вот это
    Код:
    if( Command == "end" && m_GameLoaded ){
    Сразу же после этого ставишь
    Код:
    if (!RootAdminCheck)
    {
    и опять поиск(Ctrl+F) вбиваем
    Код:
    //StopPlayers( "was disconnected (admin ended game)" );
    }
    сразу после этого ставим
    Код:
    }
    Vilion нравится это.
  18. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    Я тоже пытался замутить эту фичу, но она реально бестолковая. Так как на определение пинга уходит помоему 5 сек, точно не помню. А так всё, что ты видел однозначный фейк
    Vilion нравится это.
  19. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    ошибаешься...
  20. Organated Гуру

    Сообщения:
    164
    Спасибы:
    14
    Сборка бота GHost:
    GhostOne 1.7 mod by Org-code
    Дата начала использования бота:
    1.89.89
    не стоило ради этого делать отдельный пост, автор попросил же без флуда.
    Vilion нравится это.