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

Статистика пользователя при заходе в игру

Тема в разделе 'Кодинг/Собственные решения', создана пользователем Ghost_hnt, 21 окт 2010.

  1. Ghost_hnt Ньюфаг

    Сообщения:
    48
    Спасибы:
    0
    Здравствуйте, уважаемые пользователи ботов Ghost!
    я вот подумал, было бы прикольно сделать функцию в боте, чтобы при заходе пользователя в игру (в лобби) показывалась его статистика следующего вида:

    Зашел Ghost: рейтинг 100, процент игрового времени 80%
    Зашел Fake: рейтинг 1000, процент игрового времени 90%
    ....
    и тд , чтобы хост видел, кто часто ливает и кто хорошо или плохо играет!
    воть...

    можно ли такое реализовать!?
  2. Fanat Ranetok Старожила

    Сообщения:
    167
    Спасибы:
    0
    Сборка бота GHost:
    Skynet++ 2.0
    можно, реализовывай
  3. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    Можно, думаю не зная исходник бота минут за 10-20 можно с 0 разобраться =)
  4. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Это уже реализовано в lang_1000
  5. Ghost_hnt Ньюфаг

    Сообщения:
    48
    Спасибы:
    0
    Код:
    CONSOLE_Print( "[GAME: " + m_GameName + "] player [" + Player->GetName( ) + "] joined the game" );
    это я так понимаю надо SendAllChat() делать , верно?

    мне надо чтобы этот lang_1000 выводился при заходе в игру любого игрока
    как связать SandAllChat и этот ланг1000
  6. Ghost_hnt Ньюфаг

    Сообщения:
    48
    Спасибы:
    0
    Спс капитан! Команду принял
    Мог бы такой ответ и не постить
  7. Ghost_hnt Ньюфаг

    Сообщения:
    48
    Спасибы:
    0
    точнее вот как как работать с language.cpp ?
    есть вызов ленга 169
    Код:
    string CLanguage :: PlayerHasScore( string player, string score )
    {
    	string Out = m_CFG->GetString( "lang_0169", "lang_0169" );
    	Replace( Out, "$PLAYER$", player );
    	Replace( Out, "$SCORE$", score );
    	return Out;
    }
    
    Код:
    lang_0169 = $PLAYER$  рейтинг $SCORE$.
    так как его вызывать то? не понимаю!*(
  8. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    в файле game_base.cpp ищи строку
    Код:
    	SendWelcomeMessage( Player ); 
    Только которая первая а не 2, после неё впиши
    Код:
    SendAllChat(Player->GetName()+" "+m_GHost->m_Language->PlayerHasScore());
    Только в ланге убери $PLAYER$, либо строку
    Код:
    SendAllChat(Player->GetName()+" "+m_GHost->m_Language->PlayerHasScore());
    измени на
    Код:
    SendAllChat(m_GHost->m_Language->PlayerHasScore());
    Ну и естественно компилируй.
  9. Fanat Ranetok Старожила

    Сообщения:
    167
    Спасибы:
    0
    Сборка бота GHost:
    Skynet++ 2.0
    всегда рад помочь!
  10. Ghost_hnt Ньюфаг

    Сообщения:
    48
    Спасибы:
    0
    вот такую ошибку выдает(
    компиляция на дебиане:
    Код:
    game_base.cpp: In member function ‘virtual void CBaseGame::EventPlayerJoined(CPotentialPlayer*, CIncomingJoinPlayer*)’:
    game_base.cpp:3548: error: no matching function for call to ‘CLanguage::PlayerHasScore()’
    language.h:214: note: candidates are: std::string CLanguage::PlayerHasScore(std::string, std::string)
    make: *** [game_base.o] Error 1
    
    компиляция через Visual C++
    Код:
    1>------ Построение начато: проект: ghost, Конфигурация: Debug MySQL Win32 ------
    1>Компиляция...
    1>game_base.cpp
    1>h:\ghostone1.7.266\ghostone\ghost\game_base.cpp(3548) : error C2660: CLanguage::PlayerHasScore: функция не принимает 0 аргументов
    1>Журнал построения был сохранен в "file://h:\GHostOne1.7.266\GHostOne\ghost\Debug MySQL\BuildLog.htm"
    1>ghost - ошибок 1, предупреждений 0
    ========== Построение: успешно: 0, с ошибками: 1, без изменений: 2, пропущено: 0 ==========
    
    туда надо передавать 2 параметра :
    Код:
    string CLanguage :: PlayerHasScore( string player, string score )
    {
    	string Out = m_CFG->GetString( "lang_0169", "lang_0169" );
    	Replace( Out, "$PLAYER$", player );
    	Replace( Out, "$SCORE$", score );
    	return Out;
    }
    1 имя игрока это ясно. а что за стринг очки?
  11. Ghost_hnt Ньюфаг

    Сообщения:
    48
    Спасибы:
    0
    Код:
    SendAllChat(Player->GetName()+" "+m_GHost->m_Language->PlayerHasScore(Player->GetName(),score)));
    вот надо как-то вытащить score - есть ли такая функция?
  12. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Через vc++ выбери не Debug MySQL Win32, а Release MySQL Win32
  13. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    Код:
    SendAllChat(Player->GetName()+" "+m_GHost->m_Language->PlayerHasScore());
    заменить на
    Код:
    SendAllChat(m_GHost->m_Language->PlayerHasScore( joinPlayer->GetName( ), UTIL_ToString( score, 2 ) ) );
  14. Ghost_hnt Ньюфаг

    Сообщения:
    48
    Спасибы:
    0
    воть(
    Код:
    g++ -o game_base.o  -O3 -DGHOST_MYSQL -I. -I../bncsutil/src/ -I../StormLib/ -I/usr/local/include -I/usr/local/include/boost-1_39 -c game_base.cpp
    game_base.cpp: In member function ‘virtual void CBaseGame::EventPlayerJoined(CPotentialPlayer*, CIncomingJoinPlayer*)’:
    game_base.cpp:3548: error: ‘score’ was not declared in this scope
    make: *** [game_base.o] Error 1
    
  15. Ghost_hnt Ньюфаг

    Сообщения:
    48
    Спасибы:
    0
    Короче лан я разобрался ! спасибо всем за помощь
  16. MeGaLeX Знакомый модера

    Сообщения:
    62
    Спасибы:
    0
    и в чём была ошибка? o_O Людям же тоже такое потребуется)
  17. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    Ошибки то нету никакой =)
    У меня лично при входе игрока пишет так
    Ник : Сервер
    планирую сделать
    Ник : Сервер : Кол-во игр : %лива
    Для ТТВ актуально =)
  18. MeGaLeX Знакомый модера

    Сообщения:
    62
    Спасибы:
    0
    При компиляции, пишет что не найден определитель "score". Как и у человека, писавшего выше) Что делать, как быть? )
  19. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    Завтра посмотрю, отпишусь, что можно сделать.
  20. MeGaLeX Знакомый модера

    Сообщения:
    62
    Спасибы:
    0
    Будем ждать)

    Бот Ghost++ 17.1 :) GhostOne не предлагать, мы гонимся за производительностью ^^