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

клиар статс

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

  1. Inhuman Пил пиво с админом

    Сообщения:
    147
    Спасибы:
    6
    Сборка бота GHost:
    BrtGhost rev 1.81
    Дата начала использования бота:
    15.09.2010
    оооочень нужен код для команды !clearstats , при использовании которой будет очищена вся статистика написавшего её, есть такая фишка на иккапе
  2. rost2 Забанен за предупреждения: 5 баллов

    Сообщения:
    66
    Спасибы:
    1
    ну окей, наскоко я знаю эут команду (QUERY), ее можно изменить и вписать как новую примерно так:
    Код помести в bnet.cpp ниже команды !query
    Код:
    /////////// !clearstats
    if( Command == "clearstats" )
    {
    string Usr;
    Usr = Whisper ? User : string( );
    if (m_GHost->m_WhisperAllMessages)
    Usr = User;
    QueueChatCommand("Ваша статистика была обнулена", User, Whisper);
    Payload = "UPDATE gameplayers SET name = 'ClearstatS' WHERE name = '" +User+ "'";
    m_PairedRunQueries.push_back( PairedRunQuery(Usr, m_GHost->m_DB->ThreadedRunQuery(Payload)));
    }
    PS: Нету щас бота, на ремонте он, так что тести сам.
  3. FrozenMama Олд-фаг

    Сообщения:
    10
    Спасибы:
    0
    3 ошибки - двойка.
  4. rost2 Забанен за предупреждения: 5 баллов

    Сообщения:
    66
    Спасибы:
    1
    ахахах???? где покажи краб...
  5. ___ROB___ Гуру

    Сообщения:
    256
    Спасибы:
    45
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    1.1.1991
    rost2, ето ж запрос на переброс статы :spy: ?
  6. FrozenMama Олд-фаг

    Сообщения:
    10
    Спасибы:
    0
    1. Payload = "UPDATE gameplayers SET name = 'ClearstatS' WHERE name = '"+User+"';
    2. Payload = "delete from gameplayers WHERE name = '"+User+"';
    3. string AnyFreeVar = "delete from gameplayers WHERE name = '"+User+"';
  7. rost2 Забанен за предупреждения: 5 баллов

    Сообщения:
    66
    Спасибы:
    1
    просто на удаление надо пару запросов, а так мы на левый ник все сбрасывать будем и усе))
    Вот как правильно:
    Payload = "UPDATE gameplayers SET name = 'clearstats' WHERE name = '" +User+ "'";

    А если вот так:
    Payload = "delete from gameplayers WHERE name = '"+User+"';
    Во первых конец неправельный... во вторых в статистике игр, скорее всего игрок выпадет один, будет стата кривая, 9 игроков место 10... а так будет видно что этот игрок стер стату ( у всех таких будет ник clearstats)
  8. FrozenMama Олд-фаг

    Сообщения:
    10
    Спасибы:
    0
    Нет, вот так правильно:

    Код:
    string AnyFreeVar = "delete from gameplayers WHERE name = '"+User+"';
  9. rost2 Забанен за предупреждения: 5 баллов

    Сообщения:
    66
    Спасибы:
    1
    незнаю чег ты тут незакрываешь
    Код:
    "'
    разве недолжно закрыть?
    Код:
    "'"
    я незнаю невыдаст ли ошибку компиль, небуду спорить... я бы закрыл ибо так наверяка, а так хз как... незнаю, неспорю.
  10. FrozenMama Олд-фаг

    Сообщения:
    10
    Спасибы:
    0
    Код:
    string AnyFreeVar = "delete from gameplayers WHERE name = '"+User+"'";
    :lol:
  11. rost2 Забанен за предупреждения: 5 баллов

    Сообщения:
    66
    Спасибы:
    1
    Че ржошь??
    "delete from gameplayers WHERE name = '" 1-я часть
    +User+ 2-я часть
    "'" 3-я часть

    а если чесно бесить уже начинаешь...
  12. Ziko Гуру

    Сообщения:
    130
    Спасибы:
    2
    Сборка бота GHost:
    Ghost ++17.1
    Дата начала использования бота:
    01.09.2010
    Skype:
    Мой статус
    Предлагаю добавить код
    Код:
    if ( RootAdminCheck )
    {
    }
    
  13. Ziko Гуру

    Сообщения:
    130
    Спасибы:
    2
    Сборка бота GHost:
    Ghost ++17.1
    Дата начала использования бота:
    01.09.2010
    Skype:
    Мой статус
    Код:
    Zikoi5: !clsts zikoi5
    BOT: Ваша статистика была обнулена
    BOT: Query returned: Error preparing query: near "zikoi5": syntax error
    Код:
    // !clearstats
    if( (Command == "clearstats" || Command == "clstats" || Command == "clsts") )
    {
           if ( RootAdminCheck )
           {
    
                string Usr;
                Usr = Whisper ? User : string( );
    
                if (m_GHost->m_WhisperAllMessages)
                  Usr = User;
                QueueChatCommand("Ваша статистика была обнулена", User, Whisper);
                string AnyFreeVar = "delete from gameplayers WHERE name = '" +User+ "'";
                m_PairedRunQueries.push_back( PairedRunQuery(Usr, m_GHost->m_DB->ThreadedRunQuery(Payload)));
           }
    }
    Что то не так
  14. FrozenMama Олд-фаг

    Сообщения:
    10
    Спасибы:
    0
  15. rost2 Забанен за предупреждения: 5 баллов

    Сообщения:
    66
    Спасибы:
    1
    AnyFreeVar или Payload
    Ты используешь разные переменные...
    зделай копипаст функции вверху, а не суй туда еще пару лишних строк.

    И проверка на рутадмина урана, потому что ненужно писать так:
    !clearstas NAME
    просто пишешь
    !clearstats
    команда обнуляет стату только игрока который ее прописал, а с проверкой на рутадмина, ее сможет нулить естественно только он... :facepalm:
    Читай, что люди просили, а ели хочешь добавить еще команду где бы руут мог обнулить любому юзеру, код нужно править.
  16. dev Ньюфаг

    Сообщения:
    51
    Спасибы:
    0
    Сборка бота GHost:
    0.0
    Не нужно удалять игроков безследно из базы, игрока нужно просто переименовывать
    Вот это правильно.

    Почему именно так? Первое то что в игре исчезнет игрок, второе если вдруг вы соберетесь пересчитывать очки всем игрокам ( например если используете дота_ело ), результат уже изменится
  17. rost2 Забанен за предупреждения: 5 баллов

    Сообщения:
    66
    Спасибы:
    1
    Собственно вот то что я писал))
    Хоть кто-то понял суть именно такого кода, а не тот тип который тупо толдычет мне delete, даже неработая наверное с ДОС или еще какимто подобным видом сайта, где статистика доты будет грубо искажаться, если зделать delete...
  18. FrozenMama Олд-фаг

    Сообщения:
    10
    Спасибы:
    0
    Глупые люди :facepalm:
  19. rost2 Забанен за предупреждения: 5 баллов

    Сообщения:
    66
    Спасибы:
    1
    залепи уже дуло... тебе норм объясняют, ты тут свою ху*валу пишешь.
    Сгинь с темы, не флуди, свое предлагал бы, если тыкой крутой, а так избавь меня от твоих ненужных глухып и тупых постов :facepalm: :facepalm: :facepalm: :facepalm:
  20. FrozenMama Олд-фаг

    Сообщения:
    10
    Спасибы:
    0
    Писать научись сначала, хохлина.