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

Разные botid

Тема в разделе 'Основные вопросы', создана пользователем MuP, 24 июл 2012.

  1. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Это скорее не тема, а просто информация к размышлению.
    Сегодня столкнулся с фактом, что если ботам дать разные id, то несмотря на это баны\админы\сейфлист у них будет в конечном итоге общий. Такой вывод я сдедал из-за эксперимента,который сделал и из-за вот такого типа запроса в БД:
    PHP:
    string Query "SELECT name FROM admins WHERE server='" EscServer "'";
    Такое же и в остальных запросах касаемо банах, админов ит.д. Получаем ситуацию, что botid только вписывается в БД, и дальше бот как бы забывает об этом( т.е. не считывает этот параметр никоим образом). И если упустить этот момент, то между 2 ботами привязанными к 1 БД возникнет путаница и мешанина.
    Даже данное описание на сайте
    не будет совсем верным, стата будет показывать баны/админов только с botid=1 к примеру, а бот все будет мешать в 1 кучу.
    Ну и собственно возникает вопрос: а зачем нужен этот параметр, если он реализован не целиком?
    p.s. Хочется верить в мое косоглазие и что я упустил что то пока копал исходники, если я не прав - поправьте.
  2. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Нашел для инфы везде где используется botid (не трогал лишь w3mmd):
    PHP:

    Query 
    "INSERT INTO admins ( botid, server, name, access ) VALUES ( " UTIL_ToStringbotid ) +", '" EscServer "', '" EscUser "', " access " )";
    Query "INSERT INTO bans ( botid, server, name, ip, date, gamename, admin, reason, warn, gamecount, expiredate ) VALUES ( " UTIL_ToStringbotid ) +", '" EscServer "', '" EscUser "', '" EscIP "', CURDATE( ), '" EscGameName "', '" EscAdmin "', '" EscReason "', '" EscWarn "', '" EscGameCount "','' )";
    Query "INSERT INTO games ( botid, server, map, datetime, gamename, ownername, duration, gamestate, creatorname, creatorserver ) VALUES ( " UTIL_ToStringbotid ) +", '" EscServer "', '" EscMap "', NOW( ), '" EscGameName "', '" EscOwnerName "', " UTIL_ToStringduration ) + ", " UTIL_ToStringgamestate ) + ", '" EscCreatorName "', '" EscCreatorServer "' )";
    Query "INSERT INTO gameplayers ( botid, gameid, name, ip, spoofed, reserved, loadingtime, `left`, leftreason, team, colour, spoofedrealm ) VALUES ( " UTIL_ToStringbotid ) + ", " UTIL_ToStringgameid ) + ", '" EscName "', '" EscIP "', " UTIL_ToStringspoofed ) + ", " UTIL_ToStringreserved ) + ", " UTIL_ToStringloadingtime ) + ", " UTIL_ToStringleft ) + ", '" EscLeftReason "', " UTIL_ToStringteam ) + ", " UTIL_ToStringcolour ) + ", '" EscSpoofedRealm "' )";
    Query "INSERT INTO dotagames ( botid, gameid, winner, min, sec ) VALUES ( " UTIL_ToStringbotid ) + ", " UTIL_ToStringgameid ) + ", " UTIL_ToStringwinner ) + ", " UTIL_ToStringmin ) + ", " UTIL_ToStringsec ) + " )";
    Query "INSERT INTO dotaplayers ( botid, gameid, colour, kills, deaths, creepkills, creepdenies, assists, gold, neutralkills, item1, item2, item3, item4, item5, item6, hero, newcolour, towerkills, raxkills, courierkills ) VALUES ( " UTIL_ToStringbotid ) + ", " UTIL_ToStringgameid ) + ", " UTIL_ToStringcolour ) + ", " UTIL_ToStringkills ) + ", " UTIL_ToStringdeaths ) + ", " UTIL_ToStringcreepkills ) + ", " UTIL_ToStringcreepdenies ) + ", " UTIL_ToStringassists ) + ", " UTIL_ToStringgold ) + ", " UTIL_ToStringneutralkills ) + ", '" EscItem1 "', '" EscItem2 "', '" EscItem3 "', '" EscItem4 "', '" EscItem5 "', '" EscItem6 "', '" EscHero "', " UTIL_ToStringnewcolour ) + ", " UTIL_ToStringtowerkills ) + ", " UTIL_ToStringraxkills ) + ", " UTIL_ToStringcourierkills ) + " )";
    Query "INSERT INTO downloads ( botid, map, mapsize, datetime, name, ip, spoofed, spoofedrealm, downloadtime ) VALUES ( " UTIL_ToStringbotid ) +", '" EscMap "', " UTIL_ToStringmapsize ) + ", NOW( ), '" EscName "', '" EscIP "', " UTIL_ToStringspoofed ) + ", '" EscSpoofedRealm "', " UTIL_ToStringdownloadtime ) + " )";
    По-моему тут инфы хватает для разделения ботов по ID
  3. MuP .

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Это ты меня подталкиваешь к мысли, что botid сделали чтобы другие продукты(типа DOS) могли разделять ботов?
  4. Synth (LM) Пантограф!

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

    Сообщения:
    653
    Спасибы:
    202
    Сборка бота GHost:
    Ghost++ rev 579
    Дата начала использования бота:
    00.00.0000
    Тогда если не трудно, тут http://w3gh.ru/user-guide/general/use-mysql подправьте последнюю строчку. "Между ботами" там точно не подходит.
    p.s. Все жду стату от Жила, надеюсь этот параметр будет хоть как то учтен.
  6. ViperNight ▒▒▒▒▒▒▒▒▒

    Сообщения:
    311
    Спасибы:
    154
    Сборка бота GHost:
    GHost++ r597M
    Дата начала использования бота:
    20.01.2007
    Skype:
    Мой статус
    Там написано всё верно. В общем и целом этот параметр носит крайне посредственный характер для большинства ботоводов, служит только для визуального разделения данных от нескольких ботов подключённых к одной базе, например, когда имена для автохостов одинаковые на всех ботах и не удаётся произвести разделения по ним. С большей уверенностью можно сказать, что он скорей всего и был реализован именно для использования в клиентских приложениях. Во всех остальных же случаях нужно просто принять тот факт, что такой параметр просто есть.

    "Если это сделали, значит, кому-то это было нужно."