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

Как сделать что бы бот писал каждые n сек

Тема в разделе 'Запуск и Поддержка', создана пользователем vlfrostylv, 28 янв 2011.

  1. vlfrostylv Ньюфаг

    Сообщения:
    88
    Спасибы:
    0
    Мне нужно что бы бот писал каждое n секунд опеределенное мне предложение НО что бы лобби ето допустим было каждые 20 сек а в игре каждые 120 сек и что бы это были разные предложения
  2. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    !announce n TEXT
  3. vlfrostylv Ньюфаг

    Сообщения:
    88
    Спасибы:
    0
    А автоматом нельзя прописать что бы не парится каждый раз когда бота запускаю? и про разныеш сообщения, нельзя так?
  4. Mr_LiSa Старожила

    Сообщения:
    421
    Спасибы:
    3
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    видел как на европе бот создал мапу ткок и выдавал всю инфу там не одна строчка а де то по 2-3 и предложений было выше 20
    но как понял это был не ghost one или Ghost+ так как у бота был цветной визуальный ник длинной в 20 символов
    правда что насчёт аннонса в игре не видел не играл там но думаю если такое сделали...
  5. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    Бред имхо сомнение что ник большк 15 символов возможен без патча вара оО
  6. ZeratuL1986 Пил пиво с админом

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
  7. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    чего именно?
  8. ZeratuL1986 Пил пиво с админом

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
    хочу узнать как сделать, чтоб бот в игре писал каждые 2-3 мин сообщения
  9. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    ищи тему.... есть
  10. ZeratuL1986 Пил пиво с админом

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
  11. ZeratuL1986 Пил пиво с админом

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
    только не понятно почему такие длинные строки
    PHP:
    <span class="syntaxdefault">    uint32_t m_MsgTime</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    uint32_t m_MsgInc</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    bool m_MsgStop</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"></span>
    PHP:
    <span class="syntaxdefault">    m_MsgTime </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"170</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    m_MsgStop </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"false</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"></span>
    PHP:
    <span class="syntaxdefault"><br />if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">GetTime</span><span class="syntaxkeyword">()>=</span><span class="syntaxdefault">m_GameLoadedTime</span><span class="syntaxkeyword">+</span><span class="syntaxdefault">m_MsgTime </span><span class="syntaxkeyword">&&</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!</span><span class="syntaxdefault">m_MsgStop </span><span class="syntaxkeyword">&&</span><span class="syntaxdefault"m_GameLoaded</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxcomment">//Если игра загрузилась, если скрипт еще не прошел полный цикл, если прошло уже больше или равно 170 секунд<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">      CONSOLE_Print</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"[GAME: "</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">+</span><span class="syntaxdefault"> m_GameName </span><span class="syntaxkeyword">+</span><span class="syntaxdefault"> </span><span class="syntaxstring">"] typing msg"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">      m_MsgTime </span><span class="syntaxkeyword">+=</span><span class="syntaxdefault"> 170</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxcomment">//Вывод текста каждые 170 сек<br /></span><span class="syntaxdefault">      m_MsgInc</span><span class="syntaxkeyword">++;<br /></span><span class="syntaxdefault">      if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">m_MsgInc </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">)</span><span class="syntaxcomment">// Выводит в первый раз через 170 секунд после начала игры<br /></span><span class="syntaxdefault">      </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        SendAllChat</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"First message, line 1"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        SendAllChat</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"First message, line 2"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">      </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">      if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">m_MsgInc </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 2</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// Вывод 2 сообщения через 340 секунд итд...<br /></span><span class="syntaxdefault">        SendAllChat</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Second message, line 1"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        <br />      if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">m_MsgInc </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 3</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">        SendAllChat</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Third message, line 1"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /><br /><br /></span><span class="syntaxdefault">      if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">m_MsgInc </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> 4</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">      </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        SendAllChat</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Fourth message, line 1"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        SendAllChat</span><span class="syntaxkeyword">(</span><span class="syntaxdefault"> </span><span class="syntaxstring">"Fourth message, line 2"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        m_MsgStop </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> true</span><span class="syntaxkeyword">;</span><span class="syntaxcomment">// Останавливаем выполнение условия в следующий раз (в данной игре)<br /></span><span class="syntaxdefault">      </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"></span>
    где начало, где конец?o_O
  12. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    game_base.cpp после
    Код:
    CONSOLE_Print("[GAME: " + m_GameName + "] gameloaded.txt load failed");
     
       }
    добавляешь это
    Код:
     if (GetTime() >= m_LastInfo &&  m_LastInfo != 0 && m_GameLoaded && GetTime() >= m_GameLoadedTime + 90) //// первая инфа через 5 минут после старта
               {
    string filename = "info.txt";
    ifstream in;
    uint32_t kol = 0;
        uint32_t kolo = 0;
    string Line;
    in.open( filename.c_str() ); /// поиск файла
     while( !in.eof( ) )
      {
     getline( in, Line );
     kol++;
      }
     in.close();
     
     uint32_t randomon = rand() % (kol+1);
     
     ifstream iin;
         iin.open( filename.c_str() );
              while( !iin.eof( ) )
      {
     getline( iin, Line );
     kolo++;
     if(kolo == randomon)
          {
    SendAllChat(Line);
          }
      }
      iin.close();
      m_LastInfo = GetTime() + 90; ////// меняй время для вывода рандомной информации (это в секундах)
     
    }
    
    после
    Код:
    m_AutoStartPlayers = 0; 
    добавляешь
    Код:
    m_LastInfo = GetTime()+100;
    game_base.h
    после
    Код:
    bool m_DisableStats;
    добавляешь
    Код:
    uint32_t m_LastInfo;
    После
    Код:
    virtual uint32_t GetGameLoadedTime (){ return m_GameLoadedTime; }
    добавляешь
    Код:
    virtual uint32_t GetLastInfo()                  { return m_LastInfo; }
    Создаешь в папке с ботом текстовый документ info
    туда пишешь инфу какую нужно будет выводить рандомно по сторчке
    (c)Rost...
    ZeratuL1986 нравится это.
  13. ZeratuL1986 Пил пиво с админом

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
    низкий поклон тебе :)
  14. Doterok Старожила

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

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
    круто! обалденный код! :)
  16. ZeratuL1986 Пил пиво с админом

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
    эмм... еще вопросик, можно уменьшить же время первой инфы?
    if (GetTime() >= m_LastInfo && m_LastInfo != 0 && m_GameLoaded && GetTime() >= m_GameLoadedTime + 90) //// первая инфа через 5 минут после старта
  17. ZeratuL1986 Пил пиво с админом

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
    не знаю правильно ли я понял, что 5 мин=300сек, т.е. m_GameLoadedTime это 210сек + 90. Искал и 210 и m_GameLoadedTime где было бы указанно хоть какое то время, но не нашел
  18. Suicider Старожила

    Сообщения:
    673
    Спасибы:
    117
    Сборка бота GHost:
    Ghost++ 17.1 by w3gh
    Дата начала использования бота:
    12.07.2011
    В game_base.cpp указано
    Код:
        m_LagScreenTime = 0;
        m_GameLoadedTime = 0;
        m_GameOverTime = 0;
  19. Doterok Старожила

    Сообщения:
    923
    Спасибы:
    171
    Сборка бота GHost:
    Ghost ++ 17.2
    Дата начала использования бота:
    2011
    изначально код был место 90 было 300 комент менять не стал так как он мне не мешает :D
    крути как хочешь
  20. ZeratuL1986 Пил пиво с админом

    Сообщения:
    164
    Спасибы:
    13
    Дата начала использования бота:
    1.03.2012
    понял :) блин я нубила согласен %)