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

Взаимодействие между ботами

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

  1. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Всем доброго времени суток.
    Собственно попытаюсь объяснить чего хочу сделать, ибо сам пока полностью сформулировать это не могу (т.к. думаю над реализацией).

    Хочу сделать, что бы было два бота. Один для игроков попроще, а другой для научившихся неплохо играть.

    Моя предполагаемая реализация:
    Первый бот(назовём его "для нубов" просто из-за того, что на нём будут играть новички)
    хостит игры, люди играют, как у них наберётся N игр их очки подсчитываются и с помощью php скрипта эта информация отсылается на mysql базу второго бота. Во втором боте выставить функцию минимального кол-ва очков для захода в игру.

    Проблемы:
    Запуск 2-х ботов на одной машине, Джелизард помню, что-то писал про несколько конфигов, но будет ли это работать когда нужны боты где у каждого своя mysql база?
    Собственно сам скрипт, он должен отсылать данные начиная с опр. кол-ва игр и не отсылать если игрок забанен(хотя второе менее важно т.к. ливающие врятли доживут до нужного кол-ва игр и не получат бан).

    Теоретически я себе задачу поставил, но пока практического решения верного на 100% не знаю, если есть у кого предложения, то прошу высказаться. Любое мнение может быть полезным. Благодарю за потраченное время на чтение этого поста. ;)

    pS Как назвать тему? ::)
  2. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    Сделать всё очень легко, рнр скриптов ненадо, только 1 боту настроить минимум\максимум очков а у второго бота минимум должен = максимуму 1бота или чуть меньше, база должна быть одна, или синхронизация определённых таблиц если 2, если с синхронизацией то тут рнр скрипт нужен будет, но я считаю лучше на 1базе.
    По поводу 2 бота на 1 компе- просто разный порты выстави и всего-то.
    Твоя теория выполнима на 100% на практике, причём достаточно просто.
  3. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Базы должны быть разными. Посуди сам, статсы новичков и игроков со стажем в одной категории? ::)
  4. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    Делается всё с одной базой, есть такая штука в таблицах как botid, одному боту ставим 1 другому 2, далее одного бота ( для профи ) настраиваем на автохост матчей, второго ( для нубов ) на обычный автохост. Как всё это работает:
    Игрок играет на боте для нубов, набирает необходимое количество игр, после чего у него появляется рейтинг в таблице scores ( делается посредством php скрипта )
    Запуск двух и более ботов с одних исходников абсолютно прозрачен, т.к фактически используется 2 разных конфига, в ктороых можно указать разные сервер\базу\путь к картам\к конфигам карт\к реплеям\и т.д.
    Суть PHP или иного другого скрипта, это залезть в статистику, посчитать и занести рейтинг игроков в таблицу scores с более чем N игр или по определенной формуле.
  5. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    Это всё можно сделать без помощи рнр, в scores заносить можно и только с помощью бота, например в боте прописать чтоб сначала 20 игр сыграл, а потом заводить статистику, либо же статистика заводится с первой игры, и при наборе определённого кол-ва очков пускает на 2 бота например первый бот(для нубов) для очков 900-1500 (если у игрока ниже 900 то у него одни сметри и проигрыши, следственно неисправимый нуп) 1500-2000 для норм 2500+ для про и всего то, ну или реализация в 2 бота, всё оч просто.
    Лично я на ПГ делал что народ кто играет 20раз на него заводится статистика (в ней предыдущие 20 раз тоже переводятся в очки) и после набора норм кол-ва людей с играми больше 20 поставил ограничение на рейтинг 1500+ тока могут заходить, и играли одни норм мужики, и автобана ненадо, 20 игр и стата 1500+ это на 100% проверенный не нуб.
  6. Irehon Ньюфаг

    Сообщения:
    32
    Спасибы:
    0
    Если у кого получиться этот способ отпишитесь кто сделает это и как?
    А если можно то и исходник размести.
  7. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    Пробуй сам сделать, там ничего сложного.
  8. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Собственно, не буду начинать новую тему, да и эта тема подойдёт, ведь вопрос заданный ниже есть одна тернистая дорога на пути сути темы этой. :D

    Нужно условие проверки ника игрока на предмет нахождения в нём запрещённых символов [ ] _
    Мы закрываем возможность захода людей с такими никами на наш бот. Поэтому и требуется это условие, перепробовали много различных способов, но постоянно компилятор ругается на ошибки, а с++ программисты из нас неважные :-\
  9. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    Чем тебе эти знаки не нравятся?? Много кто использует их, не думаю что это благостно скажется на количистве играющего народу.
  10. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Не беспокойся о том сколько будут играть, уже сейчас у нас в сутки хостится 250-280 игр, так что народ будет, а вот знаки эти мешают. Если можешь помочь - то милости прошу. :)
  11. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Запрет введён, проблема решена. ;)
  12. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    И теперь ПРО игроки клановые не могут у вас играть =)) Т.к. почти у всех есть префиксы типа [FK]nick или ещё хлеще [Mn]_nick =))
    Объясни хоть ради любопытства, чем мешали то? Насколько знаю, проблем вывода таких знаков нету ни на сайте ни в боте, да и скорость работы бота не уменьшает.
  13. Apx Ньюфаг

    Сообщения:
    165
    Спасибы:
    0
    Зардж, ни один из клановых игроков не оказался у нас в топе, так что суждения твои явно от незнания. Вот ливеров стало меньше и это факт, а кому надо, те делают заявки на смену ника. :D

    http://www.codelain.com/forum/index.php ... 0#msg54700

    Мы столкнулись с той же проблемой, что и этот юзер, только он привёл пример про сл,
    хотя трабла есть и с банами. Кст его проблема так и не решена.
  14. ZeFein Ньюфаг

    Сообщения:
    19
    Спасибы:
    0
    Если использовать ghost.exe, ghost.cfg + ghost1.exe, ghost1.cfg ? то при подключении второго бота - его напарника кикает с реалма, т.к. они подключены по одному и тому же ip, как решить эту проблему, бот используется на PVPGN
  15. ZeFein Ньюфаг

    Сообщения:
    19
    Спасибы:
    0
    Еще попутно вопрос ghost++ не конектится к БД MySQL выдает:
    Код:
    [Fri Apr 30 01:51:22 2010] [GHOST] GHost++ Version 17.0 (with MySQL support)
    [Fri Apr 30 01:51:22 2010] [GHOST] database error - error connecting to MySQL server
    [Fri Apr 30 01:51:22 2010] [GHOST] shutting down
    [Fri Apr 30 01:51:22 2010] [MYSQL] closing 0/3 idle MySQL connections
    [Fri Apr 30 01:51:22 2010] [MYSQL] 2 outstanding callables were never recovered
    [Fri Apr 30 01:51:22 2010] [SQLITE3] closing database [ghost.dbs]
    [Fri Apr 30 01:51:22 2010] [GHOST] warning - 2 orphaned callables were leaked (this is not an error)
    [Fri Apr 30 01:51:22 2010] [GHOST] shutting down winsock
    P.S. в случае использования парочки файлов ghost.cfg и ghost.exe и одновременного использования GhostOne, Ghost One работает с теми же ключами и той же версий варкрафта стабильно. Спорит только ghost++
  16. ZeFein Ньюфаг

    Сообщения:
    19
    Спасибы:
    0
    И еще вопрос: как сделать чтобы пускало только при наборе определенного количества очков?
  17. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Код:
    ### allow only players with score>=x to join the lobby
    bot_allowedscores = 15
    Если поставить значение 0, то доступно всем будет.
  18. ZeFein Ньюфаг

    Сообщения:
    19
    Спасибы:
    0
    Спасибо, а что по поводу предыдущих вопросов?
  19. Synth (LM) Пантограф!

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

    Сообщения:
    19
    Спасибы:
    0
    Трабла с mySQL весьма странная, если обращаюсь к mySQL, стоящей на моей машине по ip адресу (например 10.10.10.10) то бот выдает след. ошибку:
    Код:
    [Sat May 01 15:25:09 2010] [GHOST] using hardcoded admin game map
    [Sat May 01 15:25:09 2010] [MAP] using hardcoded Emerald Gardens map data for Warcraft 3 version 1.24 & 1.24b
    [Sat May 01 15:25:09 2010] [GHOST] started loading [ip-to-country.csv]
    [Sat May 01 15:25:09 2010] [GHOST] iptocountry data: 10% loaded
    [Sat May 01 15:25:09 2010] [GHOST] iptocountry data: 20% loaded
    [Sat May 01 15:25:09 2010] [GHOST] iptocountry data: 30% loaded
    [Sat May 01 15:25:10 2010] [GHOST] iptocountry data: 40% loaded
    [Sat May 01 15:25:10 2010] [GHOST] iptocountry data: 50% loaded
    [Sat May 01 15:25:10 2010] [GHOST] iptocountry data: 60% loaded
    [Sat May 01 15:25:10 2010] [GHOST] iptocountry data: 70% loaded
    [Sat May 01 15:25:11 2010] [GHOST] iptocountry data: 80% loaded
    [Sat May 01 15:25:11 2010] [GHOST] iptocountry data: 90% loaded
    [Sat May 01 15:25:11 2010] [GHOST] iptocountry data: 100% loaded
    [Sat May 01 15:25:11 2010] [GHOST] finished loading [ip-to-country.csv]
    [Sat May 01 15:25:11 2010] [GHOST] GHost++ Version 17.0 (with MySQL support)
    [Sat May 01 15:25:11 2010] [GHOST] database error - error connecting to MySQL server
    [Sat May 01 15:25:11 2010] [GHOST] shutting down
    [Sat May 01 15:25:11 2010] [MYSQL] closing 0/3 idle MySQL connections
    [Sat May 01 15:25:11 2010] [MYSQL] 2 outstanding callables were never recovered
    [Sat May 01 15:25:11 2010] [SQLITE3] closing database [ghost.dbs]
    [Sat May 01 15:25:11 2010] [GHOST] warning - 2 orphaned callables were leaked (this is not an error)
    [Sat May 01 15:25:11 2010] [GHOST] shutting down winsock
    если же ввожу localhost - все отлично. Может кто-нибудь знает как решить проблему? На конкретную БД выставил всевозможные права.