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

Лонгмэну, дилсу и т.д(Полезности)

Тема в разделе 'Основные вопросы', создана пользователем Mr-Fane, 15 май 2011.

  1. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    Доброго времени суток вам.

    Значит посидел тут подумал - пришло в голову 2 хороших идейки.

    1.Сделать автомут за флуд.Втф?Сейчас поясню..

    Предположим в игре или в лобби кто-то начинает посылать одинаковые сообщение с интервалом в 1 сек.Так вот хотелось бы что-бы таким людям автоматически накладывался мут на х время. -_-
    Я так понимаю все можно легко скопипастить с автомута на запрещенные слова, но увы нету знаний в ц++ что-бы допилить то что описал выше.
    Полагаю такая штука пригодится абсолютно всем обладателям ботов ^^

    2.Ну тут уже немного не идея, а вопрос.
    Вот есть такая тема как !stats - там пишит сколько игр сыграл этот человек на боте.Отсюда вытекает 2 вопроса.
    Как сделать что-бы это сообщение выводилось сразу после того как зашел игрок.
    Как намутить фишку типо если игрок сыграл 20 игр - ему начиляется статус "Рекрут" 40 игр - "Боец" ну и так далее.
    Вообщем на примере что-бы выгледело так:
    Код:
    Игрок Ardd присоеденился к игре
    Bot: Ardd - игр на этом боте 57 Ранг: Боец
    Вот еще 1 вопрос давно хотел задать.Можно ли с 1 компа включить 2 разных бота, но с одной общей базой.Если да то как?В красках все обьяснять не надо.Просто намекните - не дурак разберусь.

    Спасибо
  2. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    По муту компилить надо, щас до него нет доступа...
    Код:
    GetTime()-m_LastStats>=2
    Как-то с этим чтото связано... ну или что-то типа того. Тоесть тут будет вывод сообщения раз в 2 секунды. Ну там еще много че добавить, поправить...
    Так же по рангу... есть там место где те ранги присваеваютсо согласно килам деас и асистс, но можно все это заменить на totgames - как ты хочешь ( тоже компилить)
    По ботам, легко)
    В конфиге выставляешь одинаковые значения (пасс, логин и нейм базы) Чтобы они 2-м к ней коннект.
    Потом в конфиге меняшь
    Код:
    bot_hostport = 6112
    Ну тоесть к 2-ф конфигах должа быть разная цифра!
    типа 6112 и 6113
    Запускаешь их без оболочки !!! Через Ghost.exe ===> ну можешь только 1 с оболочкой.
  3. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    :lol: надо дилса ждать )

    Насчет рангов хм...попробую поковырять мб что намучу.
    За ответ за насчет запуска нескольких ботов на одном компе спасибо.
  4. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Я мы с флудом помог, да копаться влень , если чесно))
    А по ботам, ну тут да сам когдато искал, а щас штук 5 )
  5. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    я знаю ответы на все твои вопросы ^^ но я буду делать как дилс ничего не постить и обсуждать чужой код ^^, или просто подожду пока тему запостят в КОДИНГ...
  6. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    а ведь хотел тебя в названии темы указать авось бы прокатило ;D
  7. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Ой да ладно. Я знаю как решить проблему. И время от времени просматриваю форум.
    Не пишу т.к. нету времени заниматься. Практически каждый день сижу на даче.
    Воюю с медведками, кротами, тлёй и прочей нечистью.
    Так что пока не могу.
  8. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    А мы тоже, на фронте с тролями, школотой, крабами и прочей нечистью.
  9. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    Будет желание и время напишите решение - не фуфло же предлогаю сделать.
  10. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Одни оффпосты :lol: :lol: :lol:
  11. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    Только у Вас разные способы уничтожение паразитов :spy:
  12. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    помогите хотя-бы 2 пункт реализовать :newcry:
  13. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Помогаю, мб еще поиск неюзаешь, но ладно.
    by Fake :spy:
    Bnet.cpp и Game.cpp
    найди строку:
    Код:
    if (DotAPlayerSummary->GetKillsPerGame( ) && DotAPlayerSummary->GetDeathsPerGame( ) && DotAPlayerSummary->GetAssistsPerGame( ) )
    А там уже все что похожее удаляешь и заменяешь на это:
    Код:
    if (DotAPlayerSummary->GetTotalGames( )>0 && DotAPlayerSummary->GetTotalGames( )<20)
                           player_class ="рядовой" ;
              else if (DotAPlayerSummary->GetTotalGames( )>=20 && DotAPlayerSummary->GetTotalGames( )<40)
                        player_class = "рекрут";
              else if (DotAPlayerSummary->GetTotalGames( )>=40 && DotAPlayerSummary->GetTotalGames( )<60)
                        player_class = "боец";
              else if (DDotAPlayerSummary->GetTotalGames( )>=60 && DotAPlayerSummary->GetTotalGames( )<80)
                        player_class = m_GHost->m_Language->GetLang("lang_1")// можеш юзать и ланги, только занесите их в конфиг языка;
    Дальше думаю понял, добавляй скоко надо.
    А чтобы было так:
    Код:
    Bot: Ardd - игр на этом боте 57 Ранг: Боец
    тебе нужно тоже поправить в конфиге языка эту строчку
    Код:
    lang_0995 = $USER$, $TOTALGAMES$ игр Ранг: $RANK$ Очков: $SCORE$ (Побед: $WPG$%) Герои К/Д/A: $KPG$/$DPG$/$APG$ Крип К/Д/A: $CKPG$/$CDPG$ NTRC: $NKPG$/$TKPG$/$RKPG$/$CouKPG$
    На более простую:
    Код:
    lang_0995 = $USER$ - игр на этом боте $TOTALGAMES$  Ранг: $RANK$ 
  14. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    Времени для реализации пока нету.Бот находится в процессе т.к работает с 8 утра до 00.
    Завтро сделаю профилактические работы и утром отпишусь о результате.
  15. rost Гуру

    Сообщения:
    1.258
    Спасибы:
    150
    Сборка бота GHost:
    LtG
    Дата начала использования бота:
    01.11.2010
    Skype:
    Мой статус
    Че отписіватьсо то)) Работает)
  16. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    В bnet.cpp и game.cpp у меня этого нету

    Код:
    if (DotAPlayerSummary->GetKillsPerGame( ) && DotAPlayerSummary->GetDeathsPerGame( ) && DotAPlayerSummary->GetAssistsPerGame( ) )
    поиск по символам в vc++ тоже не дал результатов
  17. ____ROB____ Старожила

    Сообщения:
    1.008
    Спасибы:
    22
    Сборка бота GHost:
    Ghost One 1.5
    классы присутсвтуют только в БРТ боте как БЕ :spy:
    если у тебя GHostOne ты там такоих строк не найдёшь...
  18. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    Нехорошо, как быть тогда?

    Вообщем обьясню полегче, что мне надо.

    Вот есть команда !stats, она выводит lang_0061 = $USER$ - $TOTALGAMES$ игр на этом боте
    Мне надо, что-бы она выводила lang_0061 = $USER$ - $TOTALGAMES$ игр на этом боте Ранг: $RANK$
    и этот самый ранк основывался на количестве сыгранных игр на боте.
  19. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    Давно бы уже сделал если бы знал ц++.Могу просто предложить как это будет работать

    Если $TOTALGAMES$ = 0 - 19 то $RANK$ = новичок
    Если $TOTALGAMES$ = 20 - 29 то $RANK$ = рекрут
    Если $TOTALGAMES$ = 30 - 49 то $RANK$ = боец
    Ну и так далее

    Не думаю что это сложно и очень сильно буду благодарен тому кто поможет.
  20. Mr-Fane Ньюфаг

    Сообщения:
    110
    Спасибы:
    4
    Сборка бота GHost:
    GHo 1.7.266
    Вот короче в game.cpp есть кусок

    Код:
    if( GamePlayerSummary )
    			{
    				if( i->first.empty( ) )
    					SendAllChat( m_GHost->m_Language->HasPlayedGamesWithThisBot( i->second->GetName( ), GamePlayerSummary->GetFirstGameDateTime( ), GamePlayerSummary->GetLastGameDateTime( ), UTIL_ToString( GamePlayerSummary->GetTotalGames( ) ), UTIL_ToString( (float)GamePlayerSummary->GetAvgLoadingTime( ) / 1000, 2 ), UTIL_ToString( GamePlayerSummary->GetAvgLeftPercent( ) ) ) );
    				else
    				{
    					CGamePlayer *Player = GetPlayerFromName( i->first, true );
    
    					if( Player )
    						SendChat( Player, m_GHost->m_Language->HasPlayedGamesWithThisBot( i->second->GetName( ), GamePlayerSummary->GetFirstGameDateTime( ), GamePlayerSummary->GetLastGameDateTime( ), UTIL_ToString( GamePlayerSummary->GetTotalGames( ) ), UTIL_ToString( (float)GamePlayerSummary->GetAvgLoadingTime( ) / 1000, 2 ), UTIL_ToString( GamePlayerSummary->GetAvgLeftPercent( ) ) ) );
    				}
    			}
    Как сюда правельно впилить GetTotalGames( )>=20 <40) player_class = "Тут мой текст"; ?
    И решит ли это мою проблему?
    Если нет, можно ли сделать на подобии этого GetAvgLoadingTime( ) / 1000, 2 ), тоже какуе-то форумулу которая будет отвечать за вывод нужного мне ранга на основе totalgames ?

    Уже носом как говорится тыкаю...помогите :newcry: