Это скорее не тема, а просто информация к размышлению. Сегодня столкнулся с фактом, что если ботам дать разные id, то несмотря на это баны\админы\сейфлист у них будет в конечном итоге общий. Такой вывод я сдедал из-за эксперимента,который сделал и из-за вот такого типа запроса в БД: PHP: string Query = "SELECT name FROM admins WHERE server='" + EscServer + "'"; Такое же и в остальных запросах касаемо банах, админов ит.д. Получаем ситуацию, что botid только вписывается в БД, и дальше бот как бы забывает об этом( т.е. не считывает этот параметр никоим образом). И если упустить этот момент, то между 2 ботами привязанными к 1 БД возникнет путаница и мешанина. Даже данное описание на сайте не будет совсем верным, стата будет показывать баны/админов только с botid=1 к примеру, а бот все будет мешать в 1 кучу. Ну и собственно возникает вопрос: а зачем нужен этот параметр, если он реализован не целиком? p.s. Хочется верить в мое косоглазие и что я упустил что то пока копал исходники, если я не прав - поправьте.
Нашел для инфы везде где используется botid (не трогал лишь w3mmd): PHP: Query = "INSERT INTO admins ( botid, server, name, access ) VALUES ( " + UTIL_ToString( botid ) +", '" + EscServer + "', '" + EscUser + "', " + access + " )";Query = "INSERT INTO bans ( botid, server, name, ip, date, gamename, admin, reason, warn, gamecount, expiredate ) VALUES ( " + UTIL_ToString( botid ) +", '" + 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_ToString( botid ) +", '" + EscServer + "', '" + EscMap + "', NOW( ), '" + EscGameName + "', '" + EscOwnerName + "', " + UTIL_ToString( duration ) + ", " + UTIL_ToString( gamestate ) + ", '" + EscCreatorName + "', '" + EscCreatorServer + "' )";Query = "INSERT INTO gameplayers ( botid, gameid, name, ip, spoofed, reserved, loadingtime, `left`, leftreason, team, colour, spoofedrealm ) VALUES ( " + UTIL_ToString( botid ) + ", " + UTIL_ToString( gameid ) + ", '" + EscName + "', '" + EscIP + "', " + UTIL_ToString( spoofed ) + ", " + UTIL_ToString( reserved ) + ", " + UTIL_ToString( loadingtime ) + ", " + UTIL_ToString( left ) + ", '" + EscLeftReason + "', " + UTIL_ToString( team ) + ", " + UTIL_ToString( colour ) + ", '" + EscSpoofedRealm + "' )";Query = "INSERT INTO dotagames ( botid, gameid, winner, min, sec ) VALUES ( " + UTIL_ToString( botid ) + ", " + UTIL_ToString( gameid ) + ", " + UTIL_ToString( winner ) + ", " + UTIL_ToString( min ) + ", " + UTIL_ToString( sec ) + " )";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_ToString( botid ) + ", " + UTIL_ToString( gameid ) + ", " + UTIL_ToString( colour ) + ", " + UTIL_ToString( kills ) + ", " + UTIL_ToString( deaths ) + ", " + UTIL_ToString( creepkills ) + ", " + UTIL_ToString( creepdenies ) + ", " + UTIL_ToString( assists ) + ", " + UTIL_ToString( gold ) + ", " + UTIL_ToString( neutralkills ) + ", '" + EscItem1 + "', '" + EscItem2 + "', '" + EscItem3 + "', '" + EscItem4 + "', '" + EscItem5 + "', '" + EscItem6 + "', '" + EscHero + "', " + UTIL_ToString( newcolour ) + ", " + UTIL_ToString( towerkills ) + ", " + UTIL_ToString( raxkills ) + ", " + UTIL_ToString( courierkills ) + " )";Query = "INSERT INTO downloads ( botid, map, mapsize, datetime, name, ip, spoofed, spoofedrealm, downloadtime ) VALUES ( " + UTIL_ToString( botid ) +", '" + EscMap + "', " + UTIL_ToString( mapsize ) + ", NOW( ), '" + EscName + "', '" + EscIP + "', " + UTIL_ToString( spoofed ) + ", '" + EscSpoofedRealm + "', " + UTIL_ToString( downloadtime ) + " )"; По-моему тут инфы хватает для разделения ботов по ID
Это ты меня подталкиваешь к мысли, что botid сделали чтобы другие продукты(типа DOS) могли разделять ботов?
Тогда если не трудно, тут http://w3gh.ru/user-guide/general/use-mysql подправьте последнюю строчку. "Между ботами" там точно не подходит. p.s. Все жду стату от Жила, надеюсь этот параметр будет хоть как то учтен.
Там написано всё верно. В общем и целом этот параметр носит крайне посредственный характер для большинства ботоводов, служит только для визуального разделения данных от нескольких ботов подключённых к одной базе, например, когда имена для автохостов одинаковые на всех ботах и не удаётся произвести разделения по ним. С большей уверенностью можно сказать, что он скорей всего и был реализован именно для использования в клиентских приложениях. Во всех остальных же случаях нужно просто принять тот факт, что такой параметр просто есть. "Если это сделали, значит, кому-то это было нужно."