Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Активные темы Темы без ответов
Настройки поиска (Страница 4 из 5)
Combots Бот для БК » Сообщения от БатоВед
Страницы Назад 1 2 3 4 5 Далее
Темы от БатоВед Расширенный поиск
Сообщений найдено [ с 76 по 100 из 103 ]
Вася Пупкин пишет:...только вопрос, что означают цыфры после названии локации? external.ClickLink("Торговый Лес",3)
// type:
// 1 - переход по картинке(поиск именно функции перехода), не чувствителен к регистру;
// 2 - поиск по текстовой ссылке,чувствителен к регистру;
// 3 - по найденному в картинке тексту(outerHTML), не чувствителен к регистру;
// 4 - поиск по value среди input-элементов,чувствителен к регистру;
// не задано - поиск во всех.
вкатали травму, вылечился и пошел на ЦП, а после тупо обновляется и стоит на месте.
поставить один вид и будет лепить хоть до уника
Почистить кэш ИЕ не пробовали?
Сталкивался и это не только в ТН, но для ТН есть хорошая статейка на подземке
subway.in.ua/lib_articles.php?page=articles_tn&case=tactics
Висячка пишет:Не могу понят,бот то раздевается в течении суток нормально,то не хочет хоть убей....уже за 2 клетки до бота прописал раздеваться на каждом шагу,а он все равно не всегда раздевается( в чем может быть дело?
Проверить плаги в которых возможны ссылки на смену сетов, а лучше выключить все и включать по одному.
else
if(doc.indexOf("Выплавить серебро") > -1)
external.ClickLink("Выплавить серебро",2)
else
if(doc.indexOf("Выплавить серебро") > -1)
external.ClickLink("Выплавить серебро",2)
else
Наверно подразумевался в одном случае свинец
Удалил, дабы не вносить путаницу 
Boriska69 пишет:Вася Пупкин пишет:Можно попросить сделать так, что бы пот шел голым в мастерскую и обратно, что бы одевался только в зале войнов. Достали нападать на ЦП, убили, идёшь от лича и снова убили и так бесконечно, недают отремонтироваться и идти в зв.
Полностью солидарен!!!
Ребят, вы о чем? Там на голых регулярно нападают.
А чтоб голым ходить на ремонт в настройках АвтоРемонта уберите галку "раздеваться в ремонтном цехе".
re-shik пишет:Добрый день. Не могу понять. Туманные низины. Заходит в кузницу, сливает, а вот выходить не хочет. Все время моргает. Что нужно сделать? Плагин не менял, сделал по примеру с самого сверху.
в ТН не хожу - молод исчё, поэтому проверить не смогу.
Есть ли боты рядом с кузней? Возможно нужно сменить направление выхода с нее.
когда-то играя ручками засыпал за компом... и пастаянна пропускал ходы 
ведь не факт что это бот, мож драйвер устал батоны жать::: 
По трассировке и пингу ошибка идет "Заданный узел недоступен" и хост файл тут не поможет.
Заработало 
спасибо за оперативность. респект!
Вася Пупкин пишет:может кто писал плагин для ловли купидунов?
проще и быстрее вставить в приемы
_name="1411_kup_shredd_iskus";
anahronik пишет:Нет, не слетит.
external'ы были сделаны, чтобы переменные ваши хранились не как глобальные переменные страницы, а в закрытой части бота.
Для безопасности.
То, как Жека написал, должно было работать.
Перечень экстерналов имеется, а вот где бы взять их описание и примеры использования?
По маршрутам ничего не могу подсказать... у самого много вопросов.
Как вариант:
в предыдушей клетке объявить переменную
а в нужной изменить значение
Спасибо за совет, но думаю что это не для данного случая.
Собственно идея в том, чтобы пересчитать количество всех вариантов чарок.
Никто ж не гарантирует что их завтра станет больше или меньше.
Имея массив всех ссылок и массив на "требуется" в том порядке, как они следуют в кузнице, можно юзать то что необходимо по их взаимозависимости.
...location = listA[n*2];
Надеюсь что понятно объяснил.
Exile
(?:x) - Находит x, но не запоминает найденное. Это называется "незапоминающие скобки". Найденная подстрока не сохраняется в массиве результатов и свойствах RegExp. Как и все скобки, объединяют находящееся в них в единый подпаттерн.
А дальше идет именно проверка на отсутствие красного фонта, и, соответственно, на возможность покупки чарки.
Если у Вас есть другое решение, поделитесь.
El_Paso пишет:А как сделать, чтоб бот в кузницу заходил?! Или это уже в плагине есть?!
это уже в маршруте нужно делать.
плагин только соединяет ваши чарки.
ZhEkA_BK пишет:Круто. Но не хватает приоритета по качеству чарок. Лучше потратить оковы на F чарку, если всего хватает, чем на P чарку. Хотя может тут и есть, но я не доглядел 
P.S: как сделать я не знаю, это пока выше моего уровня знаний.
Без списков приоритета чарки делаются с понижением качества, т.е. сначала L, а уж потом остальное.
Приоритет для того чтобы сделать именно нужную чарку или чарки, но уже с повышением качества.
Игнор пропускается и не обрабатывается.
SPOILER
Show//"Серьги", "Ожерелье", "Оружие", "Броню", "Пояс", "Кольцо", "Шлем", "Щит", "Перчатки", "Обувь", "Наручи", "Поножи"
var ignor_enhp = ["Оружие","Щит"];//список игнорируемых
var piora_enhp = ["Ожерелье","Броню","Перчатки","Поножи"];//список приоритета делается в том порядке как Вы укажете
function Stithy(enabled) {
if ( enabled )
PluginsOnLoad["Stithy"] = "StithyHandler";
else
PluginsOnLoad["Stithy"] = "";
}
Array.prototype.inArray = function (enhp) {
for ( var k in this )
if ( enhp.indexOf(this[k] ) > -1)
return true;
return false;
};
function StithyHandler() {
try {
if ( !external.dungeonEnabled || !external.Started() ) return;
var tmpStithy = get_mainframe().document.all[0].innerHTML;
//поиск, определение чарки для покупки
if ( tmpStithy.match(/Отдел \"Повышение качества\"/i) ) {
var linkColor = [];
var numColor = [];
var linkColorL = [];
var numColorL = [];
var listA = get_mainframe().document.links;
var lineColor = tmpStithy.match(/Требуется предмет\: <B>(|<FONT color=red>)\[Зачаровать (.*?) \[(\d+)\] (\w+)\]x(\d+),/ig);
if ( lineColor.length != null ) {
for ( var n=0;n<lineColor.length;n++ ) {
lineColor[n] = lineColor[n].match(/Требуется предмет\: <B>(|<FONT color=red>)\[Зачаровать (.*?) \[(\d+)\] (\w+)\]x(\d+),/i);
if ( lineColor[n][1] != "<FONT color=red>" ) {
if ( piora_enhp.inArray(lineColor[n][2]) ) {
linkColorL.unshift(listA[n*2]);
numColorL.unshift(n);
}
if ( ignor_enhp.inArray(lineColor[n][2]) != true ) {
linkColor.unshift(listA[n*2]);
numColor.unshift(n);
}
}
}
var allLink = linkColorL.concat(linkColor);
var allNum = numColorL.concat(numColor);
if ( allLink.length>0 ) {
external.AddToChat(allNum[0]+" Соединили "+lineColor[allNum[0]][2]+" ["+lineColor[allNum[0]][3]+"] "+lineColor[allNum[0]][4]);
get_mainframe().location = allLink[0];
}
}
//выход
var path;
if ( tmpStithy.match(/Вы купили/i) || allLink.length==0 ) {
path = tmpStithy.match(/path=(m1|m3|m5|m7)/i);
get_mainframe().location = "http://"+external.SCity.Text+".combats.com/shop.pl?rnd="+Math.random()+"&path="+path[1];
}
}
}
catch(err) {
external.AddToChat(err.description);
}
}
Файл обозвать Stithy.js
Предложения приветствуются.
Висячка пишет:БатоВед
в твоем варианте бот не сразу юзает банки,в основном сделает шаг,а потом юзает. Как в моем варианте сделать чтоб работало?
Так Ваш вариант собственно и реализован. Разница только в том, что я написал "Болезнь" и добавил юз противоядия.
В конструкторе маршрутов предлагаю при нажатии "Получить текущую позицию" в итоговом поле указывать и действия на этой клетке.
И по поводу "Т.е. на улице он один раз нажмет и ждет." позвольте не согласится.
Здесь все зависит от настройки тайма действий бота вне боя.
Хорошо бы проверить и подправить этот момент.
ЗЫ. Добавить возможность работы с XML файлами, по аналогии с небезызвестными клиентами.
Вариант external.storage.getPersistentVariable('имя переменной')
var temp_inf = "";
var temp_inf_razdel = 0;
function Morkovka(enabled)
{
if(enabled)
{
PluginsOnLoad["Morkovka"] = "MorkovkaHandler";
}
else
{
PluginsOnLoad["Morkovka"] = "";
}
}
function MorkovkaHandler(url)
{
if (top.Battle.bInBattle)return;
var hpRemain = parseInt(maxHP - tkHP);
var manaRemain = 0;
if(window.tkMana)
manaRemain = parseInt(maxMana - tkMana);
var morkovkaName = [];
if(external.room_name=='Грибница' && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/(?:Слабость к (?:Воде|Огню|Воздуху))|(?:Дрожь в коленях)/i))
{
temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit=3&rnd=" + Math.random());
temp_inf_razdel = 3;
}
if(external.room_name=='Катакомбы' && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/(?:Болезнь)|(?:Грязная кровь)/i))
{
temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit=3&rnd=" + Math.random());
temp_inf_razdel = 3;
}
if(temp_inf && (temp_inf.match(/Слабость к (?:Воде|Огню|Воздуху)/i) || temp_inf.match(/Дрожь в коленях/i)))
{
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Печень Гусеница");
morkovkaName[morkovkaName.length-1].push(3);
}
if(temp_inf && temp_inf.match(/Болезнь/i))
{
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Сыворотка");
morkovkaName[morkovkaName.length-1].push(3);
}
if(temp_inf && temp_inf.match(/Грязная кровь/i))
{
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Противоядие");
morkovkaName[morkovkaName.length-1].push(3);
}
if(temp_inf && temp_inf.match(/Болезнь/i))
{
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Печень Гусеница");
morkovkaName[morkovkaName.length-1].push(3);
}
if(tkHP < 100) {
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Сосуд жизненных сил");
morkovkaName[morkovkaName.length-1].push(4);//Раздел инвентаря, где лежит эликсир. 2- раздел "Эликсиры", 3 - "Прочее"
}
if(hpRemain > 500) {
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Глоток Легкой Жизни");
morkovkaName[morkovkaName.length-1].push(3);
}
//else
if(hpRemain > 150) {
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Заживляющий Эликсир");
morkovkaName[morkovkaName.length-1].push(3);
}
//else
if(hpRemain > 50) {
morkovkaName[morkovkaName.length]=[];
morkovkaName[morkovkaName.length-1].push("Заживляющая Настойка");
morkovkaName[morkovkaName.length-1].push(3);
}
if(morkovkaName.length > 0)
for(x=0;x<=(morkovkaName.length-1);x++){
if(Morkovka2Handler(morkovkaName[x][0],morkovkaName[x][1]))
break;
}
}
function Morkovka2Handler(elikName,razdel)
{
if(temp_inf_razdel != razdel)
temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?edit="+razdel+"&rnd=" + Math.random());
temp_inf_razdel = razdel;
var m = elikName + "(\\s\\(x\\d+\\))?','main.pl',\\s'(.+?)',\\s'.*?',\\s(\\d+)";
var found = temp_inf.match(m);
if(found != null)
{
external.AddToChat("Выпиваю <b>\\\"" + elikName + "\\\"</b>");
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?use=" + found[2] + "&n=" + found[3];
if(elikName == "Печень Гусеница" || elikName == "Почки Палочника")
temp_inf = "";
temp_inf_razdel = 0;
return true;
}
return false;
}
function doLoad(url) {
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else
req = new ActiveXObject("Microsoft.XMLHTTP");
req.open("GET", url, false); // задать параметры методу open
req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); //чтоб не кэшировались GET запросы
req.send(null); // отправить запрос
return req.responseText;
}
реализовал вот так, работает
Сообщений найдено [ с 76 по 100 из 103 ]
Страницы Назад 1 2 3 4 5 Далее
Combots Бот для БК » Сообщения от БатоВед
На основе PunBB
Currently installed 13 official extensions. Copyright © 2003–2009 PunBB.