Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Активные темы Темы без ответов
Настройки поиска (Страница 5 из 9)
Combots Бот для БК » Сообщения от ProFly
Страницы Назад 1 2 3 4 5 6 7 8 9 Далее
Темы от ProFly Расширенный поиск
Сообщений найдено [ с 101 по 125 из 222 ]
anahronik пишет:Удали всё это отсюда - загрузка станицы тормозит.
Ссылка снятия вещей не моя - Зерга.
Я понятия не имею, откуда он её взял, но у меня проблем с ней не было.
можете попробывать
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?setdown=all&sd4="+sd4+"&"+Math.random();
вместо
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?unwear&edit=1";
Омг всё работает спасибо большое УРА)
Баклан пишет:если я перешёл на 6 лвл, и мне нужна эта гайка, но задание Лука не даёт, так как я его уже проходил... есть варимнты как можно достать?? вроде слыхал что несколько гаек возможно...вот только как...
Положить другую гайку в сундук и идти брать снова квест)
ProFly пишет:Вроде сам заработал... снял и починился странно...ничего не менял
И опять перестал чиниться мразь.......
Вот Repair.js
var repaired = false;
var room_return = '';
function RepairMain()
{
var curDurability;
var mask = /Долговечность\:\s(\d+)\/(\d+)\,/g;
while(curDurability = mask.exec(external.objects)){
if(curDurability != null){
if((curDurability[2]-curDurability[1]) <= parseInt(external.SRepairNumber.Text) && curDurability[2]>1)
{
external.SetStatusLabel("Ремонт");
external.repairEnabled = true;
repaired = false;
external.healWeared = false;
external.battleWeared = false;
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?unwear&edit=1";
return true;
}
}
}
if(external.repairEnabled)
{
external.SetStatusLabel("Ремонт");
if(!repaired)
{
if(external.room_name == "Ремонтная мастерская")
{
repairing();
}
else if(external.room_name == "Центральная грибница" && external.SCity.Text=='suncity')
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random(); //suncity
else if(external.room_name == "Центральная Площадь" && external.SCity.Text=='capitalcity')
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
else if(external.room_name == "Центральная Площадь" || external.room_name == "Центральный утес")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
else if(external.room_name == "Бойцовский Клуб")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
else if(external.room_name == "Будуар"){
room_return = "Будуар";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
}
else if(external.room_name == "Зал воинов"){
room_return = "Зал воинов";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
}
else if(external.room_name == "Зал воинов 2"){
room_return = "Зал воинов 2";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
}
else if(external.room_name == "Зал воинов 3"){
room_return = "Зал воинов 3";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
}
else if(external.room_name == "Этаж 2"){
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
}
else if(external.room_name == "Этаж 3"){
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
}
else if(external.room_name == "Огненный мир"){
room_return = "Огненный мир";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
}
else if(external.room_name == "Колдовской мир"){
room_return = "Колдовской мир";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
}
else if(external.room_name == "Астральные миры"){
room_return = "Астральные миры";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
}
else if(external.room_name== "Башня рыцарей-магов"){
room_return = "Башня рыцарей-магов";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
}
else if(external.room_name== "Рыцарский зал"){
if(room_return==='')room_return = "Рыцарский зал";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
}
else if(external.room_name.match(/Торговый\sЗал/) != null){
room_return = "Торговый Зал";
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
}
else if (top.frames[3].document.all[0].innerHTML.match(/Кто\sздесь?/))
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=2&" + Math.random();
else if(external.room_name == "Ремонтный цех" && external.SCity.Text=='suncity')
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random(); //suncity
else if(external.room_name == "Ремонтный цех"){
if (top.frames[3].document.all[0].innerHTML.match(/Хочу/))
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
else if (top.frames[3].document.all[0].innerHTML.match(/Масса/)){
repairing();
}
else
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=&" + Math.random();
}
else
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?homeworld=" + Math.random();
}
else
{
if(external.room_name == "Ремонтная мастерская" && external.SCity.Text!="angelscity" && external.SCity.Text!="suncity" )
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/repare.pl?path=1.100&rnd=" + Math.random();
else if(external.room_name == "Центральная Площадь" && external.SCity.Text=='capitalcity')
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
else if(external.room_name == "Центральная Площадь")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
else if(external.room_name == "Центральный утес")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
else if(external.room_name == room_return){
room_return='';
external.repairEnabled = false;
repaired = false;
}
else if(external.room_name == "Бойцовский Клуб"){
if(room_return=="Зал воинов")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
else if(room_return=="Зал воинов 2")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
else if(room_return=="Зал воинов 3")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
else if(room_return=="Будуар")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
else if(room_return==""){
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
room_return="Зал воинов 2";
}
else
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
}
else if(external.room_name == "Этаж 2"){
if(room_return=="Рыцарский зал" || room_return=="Башня рыцарей-магов")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
else if(room_return=="Торговый Зал")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
else
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
}
else if(external.room_name == "Рыцарский зал"){
if(room_return=="Башня рыцарей-магов")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
}
else if(external.room_name == "Этаж 3"){
if(room_return=="Огненный мир")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
else if(room_return=="Астральные миры")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
else if(room_return=="Колдовской мир")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
}
else if(external.room_name == "Центральная грибница")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random(); //suncity
else if(external.room_name == "Ремонтный цех" && external.SCity.Text=="suncity")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random(); //suncity
else if(external.room_name == "Ремонтная мастерская" && external.SCity.Text=="suncity")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/repare.pl?rnd=" + Math.random()+"&path=1.100.4"; //suncity
else if(external.room_name == "Ремонтный цех")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
else if(external.room_name == "Ремонтная мастерская" && external.SCity.Text=="angelscity")
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/repare.pl?rnd=" + Math.random()+"&path=1.100.2";
}
return true;
}
return false;
}
function repairing(){
var s = top.frames[3].document.all[0];
var x=4;
var item ='';
var maskA = /Долговечность\:\s(\<FONT\scolor\=\#990000\>)?(\d+)\/(\d+)\</;
while(s.getElementsByTagName('TR')[x] && s.getElementsByTagName('TR')[x].innerHTML.match(/Ремонт\s1/)){
var iznos = maskA.exec(s.getElementsByTagName('TR')[x].innerHTML);
external.AddToChat("Долговечность : "+iznos[3]+" ; "+"Износ : "+iznos[2]+" : "+"Чинить при Долговечность-износ (Указывается в настройках) =: "+parseInt(external.SRepairNumber.Text));
if((iznos[3]-iznos[2]) <= parseInt(external.SRepairNumber.Text)){
//external.AddToChat(iznos[3]+" : "+iznos[2]+" : "+iznos[1]+" : "+parseInt(external.SRepairNumber.Text)+" : "+s.getElementsByTagName('TR')[x].innerHTML.match(/repare.pl\?rp=[A-Za-z_0-9]+?\&full=0\.\d+&n=\d+/));
if(external.SRepairType.SelectedIndex == 1)
item = s.getElementsByTagName('TR')[x].innerHTML.match(/repare.pl\?rp=[A-Za-z_0-9]+?\&full=1\&n=\d+\&tooth=1\&0\.\d+/);
else
item = s.getElementsByTagName('TR')[x].innerHTML.match(/repare.pl\?rp=[A-Za-z_0-9]+?\&full=0\.\d+&n=\d+/);
if(item != '')
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/" + item;
return;
}
x++;
}
if(item == '')
repaired = true;
}
Dmitrius пишет:23:38 Внимание! Бой закончен. Всего вами нанесено урона: 158 HP. Получено опыта: 14 (105%). Вы получили 2 0.00 за этот бой.
На костылях от 50 до 370 хп сношу на 4 лвл=)
Уровень: 4
Побед: 508
Поражений: 472
Ничьих: 54
Деньги: 0.94 кр.
Зубы: 13 1 0.00 
Эт мало у меня на 5ом было 17 белых)
Wizzard пишет:3 четвертых
Ну да уже чуть прокачены были жалк)
()
Wizzard пишет:Моим мультам походу рога повесят...так жалко((
лвлы?
Ну да 2-ое суток можно не спать под амфивитамином))
Wizzard пишет:Вы должны зайти под своим именем, чтобы увидеть скрытый текст.
Вы должны зайти под своим именем, чтобы увидеть скрытый текст.
Godness пишет:if(top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length < 5)
_name = "pet_unleash";
условие такое :
выпускает зверя,если кол-во противников меньше 5
Ну эт по обычному
а вот с условием, если выбито столько-то хп как писалось выше)
Хорошая идея) не помешала бы.
Вот тут как я понял если он не находит нужную заявку то падаёт сам да?
При значении тайма в 2 минуты.
function SelectHaotZayavka()
{
var elements = top.frames[3].document.F1.getElementsByTagName("input");
for(i = elements.length - 1; i >= 0; i--)
{
var element = elements[i];
if(element.type == "radio" && element.name == "gocombat")
{
var battleInvisible = (element.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML == "неизвестно") ? true : false;
if(battleInvisible)
{
var battleType = (element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.alt.match(/кулачный/)) ? 1 : (element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.alt.match(/без/)) ? 3 : 0;
if(battleType == external.SBattleHaotType.SelectedIndex)
{
var battleLevels = element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nodeValue.match("\\((" + external.level + ")-(" + external.level + ")\\)");
if(battleLevels != null)
{
if(battleLevels[1] == external.level && battleLevels[2] == external.level);
{
var _element = element;
var _count = 0;
for (m = 0; m < 20; m++)
{
_element = _element.nextSibling;
_count = (_element.tagName == "FONT") ? ++_count : _count;
if (_count == 2)
{
var time = parseInt(_element.innerHTML.match(/<B>(.+)<\/B>/)[1]);
var timeout = parseInt(_element.innerHTML.match(/таймаут (.+) мин./)[1]);
if(time < 10 && timeout==2) //здесь менять 1ку на другой тайм
{
element.checked = true;
top.frames[3].document.F1.confirm1[0].click();
return;
}
break;
}
}
}
}
}
}
}
}
PutHaotZayavka();
Хм да вроде так и работает)Только как бы сделать,чтоб подавал заявку при половине хп с временем до начала боя 10 минут,и в то же время палил если ли заявка с тем же таймом и в случае если есть принимал,если нет то подавал во как ^^Вот такое вот условие было бы круто, а так получается теряешь время, при приёме с фулл хп и подаче естественно...
Вроде сам заработал... снял и починился странно...ничего не менял
gangsterovich пишет:ProFly пишет:gangsterovich пишет:просто иногда проверять ботов и самому снимать битые вещи.пока ничо не решил.та и смысл решать.до 8 пролетишь за 2-3 мес
Да чтож такое... у всёх работает мы как левые...хоть убейся не пойму что,не так сделал!!!Бесит, я купил лицензию думал,что головная боль уйдет из-за ремонта вещей ,но увы...головной боли прибавилось ;(
наверно гдето не так в мэйн правили.но мне впадлу с нуля все делать..буду так рубить
Мейн чистый ничего не менял и не лазил туда
gangsterovich пишет:ProFly пишет:gangsterovich пишет:столкнулся с небольшей проблемой.перс в лоусити.при поломке предмета-бот стоит ничего не делает.в статусе-ремонт.а стоит в зале воинов.но если с него снять поломаную шмотку,то идет,чинит и дерется как надо все.плагины все установил.а другие боты чинят все без проблем.где я в настройках не то выставил.кто подскажет??
Такая же проблема ты решил её? город dreamscity сам вручную снимаешь ходит чинит,а так тупо стоит и не снимает(( что поделать...
просто иногда проверять ботов и самому снимать битые вещи.пока ничо не решил.та и смысл решать.до 8 пролетишь за 2-3 мес
Да чтож такое... у всёх работает мы как левые...хоть убейся не пойму что,не так сделал!!!Бесит, я купил лицензию думал,что головная боль уйдет из-за ремонта вещей ,но увы...головной боли прибавилось ;(
gangsterovich пишет:столкнулся с небольшей проблемой.перс в лоусити.при поломке предмета-бот стоит ничего не делает.в статусе-ремонт.а стоит в зале воинов.но если с него снять поломаную шмотку,то идет,чинит и дерется как надо все.плагины все установил.а другие боты чинят все без проблем.где я в настройках не то выставил.кто подскажет??
Такая же проблема ты решил её? город dreamscity сам вручную снимаешь ходит чинит,а так тупо стоит и не снимает(( что поделать...
gorlum пишет:bloodlustCount = top.Battle.oBattle.oMySlot.oEffects.innerHTML.match(/<br><span[^>]*>.(\d)?<\/span><\/div><img[^"]*".+\/krit_bloodlust\.gif">/i);
if(bloodlustCount != null)
{
if(parseInt(bloodlustCount[1]) < 3)
{
_name = "krit_bloodlust"; // <--- делаем Жажду если жажды меньше трёх
}
else
{
_name = "hit_luck"; // <--- вот он удачный удар который ставится ТОЛЬКО если три Жажды уже есть
}
}
else
_name = "krit_bloodlust"; // <--- если вообще нет жажды, тогда тем более Жажду ставим, первую
Если это работает - то это хорошо) но проще в приёмах бота поставить первой жажду, за ней удачный. Тоесть, если тактик крови будет хватать на жажду - будет юзать её, если не хватает - удачный. Обидно, если тебя сливаю с пачкой тактик удара, когда криты не идут и писец. Как по мне - такое решение более оптимально)
Тоже об этом подумал наверно так сделаю.Было уже пару боев так.
сперва жажду,потом вот это будет норм думаю.
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 33)
_name = "hit_luck";
else
_name = "hit_willpower";
d1sc0nn3ct пишет:if(top.Battle.oBattle.oMySlot.nHP > 150)
_name = "hp_enrage";
else
_name = "hp_regen";
//Юзать Ярость если колл-во хп больше 150,иначе использовать Утереть пот
Заменил < на > ,теперь соответствует описанию.
А как сделать тут проверку если ярость заряжена на x3 то юзать утереть пот?
d1sc0nn3ct пишет:А что странного?
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 33)
_name = "hit_willpower"; //Воля к победе
Если хп более 33% юзануть волю к победе 
Меняй знак 
Или сделай так :
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) >60 || ((top.Battle.oBattle.arrRes["spirit"].innerHTML) < 1))
{
_name = "hit_luck";
}
else if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 33)
{
_name = "hit_willpower";
}
(Если хп более 60% или духа меньше 1 юзать удачный удар,если хп ниже 33% юзать волю к победе,если хп меньше 60% но больше 33% ничего не юзать,ждать.)
Ну да я тоже заметил свою ошибку, но ты уже написал)
d1sc0nn3ct пишет:if(top.Battle.oBattle.oMySlot.nHP > 80)
_name = "hp_enrage";
else
_name = "hp_regen";
//Юзать Ярость если колл-во хп больше 80,иначе использовать Утереть пот
Заменил < на > ,теперь соответствует описанию.
Исправил,протестил приёмчики,как-то странно юзает волю к победе,а так вроде всё норм... юзнул волю когда были желтые хп странно...
Собственно сабж, вот купил вчера лицензию и настраиваю приёмы,сильно не ругайте меня, дал для каждого приёма описание и как для меня он должен работать,может что-то я и неправильно сделал вы тыкните пальцем заранее благодарен ^^
_name = "krit_bloodlust"; //Жажда крови
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 33)
_name = "hit_luck"; //Удачный удар
else
_name = "hit_willpower"; //Воля к победе
Ну тут понятно всё)
_name = "block_path"; //Путь щита
_name = "parry_supreme"; //Превосходство
if(top.Battle.oBattle.oMySlot.nHP > 150)
_name = "hp_enrage"; //Ярость
else
_name = "hp_regen"; //Утереть пот
//Юзать Ярость если колл-во хп больше 150,иначе использовать Утереть пот
if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 70 && ((parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML)/2) + parseInt(top.Battle.oBattle.arrRes["hit"].innerHTML) + parseInt(top.Battle.oBattle.arrRes["krit"].innerHTML) + parseInt(top.Battle.oBattle.arrRes["counter"].innerHTML) + parseInt(top.Battle.oBattle.arrRes["block"].innerHTML) + parseInt(top.Battle.oBattle.arrRes["parry"].innerHTML)) > 24) || (top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 10 || parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) < 1)
{
_name = "spirit_survive"; //выжить Работет по нескольким условиям:
Если тактик набралось на макс. действие приёма и жизней меньше 70% - выжить.
Если жизней меньше 10% - выжить.
Если духа меньше 1 - выжить.
}
bloodlustCount = top.Battle.oBattle.oMySlot.oEffects.innerHTML.match(/<br><span[^>]*>.(\d)?<\/span><\/div><img[^"]*".+\/krit_bloodlust\.gif">/i);
if(bloodlustCount != null)
{
if(parseInt(bloodlustCount[1]) < 3)
{
_name = "krit_bloodlust";
}
else
{
_name = "krit_wildluck"; // <--- Юзается дикая с проверкой на жаджу
}
}
else
_name = "krit_bloodlust";
if(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 0)
_name = "block_restore";
else
_name = "block_fullshield"; //Если колл-во духа хватает на использование глухой защиты то юзаем её,если нет,то юзаем полную защиту
fear-14 пишет:На 7.1 никак не лечится травма(
6 часов голый подавал бои...
Держи и реально юзай поикс ...
()
Godness пишет:вот так самое оно :
()
Ну да и та тоже мона ^^
fear-14 пишет:Оделся..первый бой и все отлично=)
Думаю что за сутки где-то возьму 5
может быстрее....пойду спать=)
Твоё дело) качайся как нравится ^^
fear-14 пишет:Чеширский Кот пишет:Хотелось бы наверняка быть уверенным=))
бог в помощь
но учти сразу,на этом форуме НЕ обсуждается бета версии,а то что ты ищешь это и есть бета !!
тогда странно что предлагают искать эту версию...
Зачем искать? Бета вроде ваше ломанная,вот что на сайте 7.1 и 8.2 тем и пользуйся)
а на счёт костылей я тебе выше показывал скока я ими набивал хз,чо у тебя не катит)
Сообщений найдено [ с 101 по 125 из 222 ]
Страницы Назад 1 2 3 4 5 6 7 8 9 Далее
Combots Бот для БК » Сообщения от ProFly
На основе PunBB
Currently installed 13 official extensions. Copyright © 2003–2009 PunBB.