Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Активные темы Темы без ответов
Настройки поиска (Страница 11 из 21)
Combots Бот для БК » Сообщения от Exile
Страницы Назад 1 … 9 10 11 12 13 … 21 Далее
Темы от Exile Расширенный поиск
Сообщений найдено [ с 251 по 275 из 521 ]
anahronik пишет:Exile пишет:А можно теперь список всех экстерналов?)
Можно - составляй 
Не, серьёзно, составьте список известных вам, а я дополную уже, если потребуется 
SPOILER
Showexternal.dungeonEnabled
external.ClickLink
external.mainFrameIndex
external.AddToChat
external.ArrowsEnds
external.Started()
external.LoadMethods
external.CurrentCell()
external.SCity.Text
external.inBattle
external.SBattleAbovePercent.Text
external.SLichKostyl.Text
external.Stop
external.Start
external.LoadFile
external.SaveFile
external.SDungeonExitTime.Text
external.SDungeonAttackMobs.Checked
external.SetStatusLabel
external.MD5Hash
external.SDungeonPickUpObjects.Checked
external.DungeonGetCodeForLocation
external.DungeonLoadPath
external.SetHPStatusLabel
external.SetTrayIcon
external.SCureInjuries.Checked
external.injury
external.SBattleWithInjury.Checked
external.SComplectBattle.Text
external.BrowserBusy
external.hpCurrent
xternal.battleWeared
external.SComplectChangeOn.Text
external.SComplectHeal.Text
external.SComplectEnabled.Checked
external.hpMaximum
external.room_name
external.RequestInfoFromServer
external.SRepairType.SelectedIndex
external.level
external.SBattleDogovorTimeout.SelectedIndex
external.SEliksirEnabled.Checked
external.SSvitokEnabled.Checked
external.SBattleDogovorZayavkaType.SelectedIndex
external.SBattleHaotZayavkaType.SelectedIndex
external.SAnimalEat.Checked
external.OnBattleStartEvent
external.healWeared
external.enemy_level
external.SBattleDogovorStatsAnalyze.SelectedIndex
external.my_stats
external.enemy_stats
external.SBattleDogovorType.SelectedIndex
external.SCharType.SelectedIndex
external.SBattleType.SelectedIndex
external.SStatsAdder.Checked
external.GetCurrentStat
external.my_default.stats
external.SBattleGroupTime.SelectedIndex;
external.SBattleGroupTimeout.SelectedIndex;
external.SBattleGroupAllies.Text;
external.SBattleGroupEnemies.Text;
external.SBattleGroupKulak.Checked;
external.SBattleGroupBlood.Checked;
external.SBattleGroupDeath.Checked;
external.SBattleGroupOtmoroz.Checked;
external.SBattleHaotTime.SelectedIndex;
external.SBattleHaotTimeout.SelectedIndex;
external.SBattleHaotType.SelectedIndex;
external.SBattleHaotBlood.Checked;
external.SBattleHaotDeath.Checked;
external.SBattleHaotInvisible.Checked;
external.SBattleHaotOtmoroz.Checked;
external.SPriem
external.SBattlePercent
external.SLichEnabled.Checked
external.SLickBackRoom.Text
external.SActionInterval.Text
external.SaveSettings.PerformClick
external.repairEnabled
external.objects
external.SDungeonAttackHP.Text
всё, что нашел через поиск.
var sellTimer = {};
var done = false;
var room ='';
var itemsToSell = [];
itemsToSell.push("вещь");
function SellInShop(enabled)
{
if(enabled)
{
sellTimer[mylogin] = setInterval("SellAction()", 3000);
}
else
{
clearInterval(sellTimer[mylogin]);
}
}
Array.prototype.inArray = function(item)
{
for (var i in this)
{
if (this[i] === item)
return true;
}
return false;
}
function SellAction()
{
try
{
if(!external.dungeonEnabled) return;
if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i))
{
done = false;
return;
}
var s = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
if(room = s.match(/<nobr>([^<]+)<\/nobr>/))
room = String(room[1]);
if(!done)
{
if (room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Прилавки с товарами",3);
else if (room == "Грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная поляна",2);
else if (room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Странное Место",3);
else if (room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная лужайка",3);
else if (room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральная грибница",3);
else if (room == "Прилавки с товарами")
external.ClickLink("Илена",3);
else if (room == "Пещеры Мглы" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Внутренний двор",2);
else if (room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Последний Привал",3);
else if (room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Цветочный Пустырь",3);
else if (room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Оазис",3);
else if (room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Базар",3);
else if (room == "Базар" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Лавка Бартоломея",3);
else if (room == "Лавка Бартоломея")
external.ClickLink("Бартоломей",3);
else if(!room)
{
if(s.match(/drwfl\("Илена",/i))
external.ClickLink("Ну да. Займемся торговлей.",2);
else if(s.match(/drwfl\("Бартоломей",/i))
external.ClickLink("Ознакомлюсь, пожалуй, с товарами.",2);
}
else if(room == "Магазин")
{
if(s.match(/Отдел \"Скупка\"/i) == null)
external.ClickLink("Продать вещи",4);
else
{
var items = s.match(/<a\shref="shop\.pl\?sl=[^"]*">продать за .*? кр.<\/a><\/td>[\s\n\r]*<td[^>]*><a [^>]*>[^&<]*/ig);
if(items != null)
for(var i = 0; i < items.length; i++)
{
items[i] = items[i].match(/<a\shref="(shop\.pl\?sl=[^"]*)">продать за .*? кр.<\/a><\/td>[\s\n\r]*<td[^>]*><a [^>]*>([^&<]*)/i);
items[i][1] = items[i][1].replace(/&/g, '&');
if(itemsToSell.inArray(items[i][2]))
{
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + items[i][1];
return;
}
}
done = true;
}
}
}
else
{
if (room == "Магазин" && top.frames[external.mainFrameIndex].is_accessible)
{
if(s.match(/Лавка Бартоломея/)) external.ClickLink("Лавка Бартоломея",2);
if(s.match(/Прилавки с товарами/)) external.ClickLink("Прилавки с товарами",2);
}
else if (room == "Лавка Бартоломея" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Базар",3);
else if (room == "Базар" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральный Оазис",3);
else if (room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Цветочный Пустырь",3);
else if (room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Последний Привал",3);
else if (room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Внутренний двор",3);
else if (room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Пещеры Мглы",3);
else if (room == "Прилавки с товарами" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Центральная грибница",3);
else if (room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная лужайка",3);
else if (room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Странное Место",3);
else if (room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибная поляна",3);
else if (room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
external.ClickLink("Грибница",3);
}
}
catch(err)
{
external.AddToChat("error");
}
}
Теоретически, должно работать для санда и сана.
А можно теперь список всех экстерналов?)
lenoxyx пишет:Exile пишет:судя по коду - плагин оч старый?
проблема в том что новый никто писать не хочет.
В этом плагине что-то не работает или работает не так, как надо?
судя по коду - плагин оч старый?
вопрос:
плагин привязан к обновлению фрейма или по таймеру?
если по тайму, то как-то так:
var needToBuy;
var leftToBuy;
leftToBuy = needToBuy;
if(!get_mainframe().document.all[0].innerHTML.match(/Недостаточно места в рюкзаке/) && !get_mainframe().document.all[0].innerHTML.match(/Недостаточно места/))
{
if(leftToBuy <= 0)
{
clearInterval(...);
return;
}
var imgs = top.frames[external.mainFrameIndex].document.images;
for(var i = 0; i<imgs.length;i++)
{
if(imgs[i].onclick && imgs[i].outerHTML.match(/bolt_common100/)&& btn[i].style.visibility!="hidden" && btn[i].length > 0 )
{
leftToBuy--;
imgs[i].click();
return;
}
}
}
else
{
leftToBuy = 0;
clearInterval(...);
}
Godness пишет:а что за антивирус у тебя ?
у меня его вообще нету
я "бота" через онлайн-проверку прогнал
()
VirSCAN.org Scanned Report :
Scanned time : 2011/07/17 18:39:16 (CST)
Scanner results: 14% Scanner(s) (5/37) found malware!
File Name : ____________________combats.com..rar
File Size : 2722167 byte
File Type : RAR archive data, v1d, os
MD5 : 417e606fe8fee4b5e5677b50347ba83a
SHA1 : 93b544476ee934c2637775149eaea70f1a8a8bfa
Online report : http://file.virscan.org/report/c455df2623a1caba858a9cc30f24b4d9.html
Scanner Engine Ver Sig Ver Sig Date Time Scan result
a-squared 5.1.0.3 20110716230535 2011-07-16 10.86 -
AhnLab V3 2011.07.16.00 2011.07.16 2011-07-16 12.37 -
AntiVir 8.2.6.16 7.11.11.172 2011-07-15 0.30 -
Antiy 2.0.18 20110714.11186501 2011-07-14 0.65 Trojan/Win32.VKont.akj[Stealer]
Arcavir 2011 201107140423 2011-07-14 1.18 Trojan.Psw.Vkont.Axa
Authentium 5.1.1 201107162100 2011-07-16 11.88 -
AVAST! 4.7.4 110716-1 2011-07-16 0.05 -
AVG 8.5.850 271.1.1/3770 2011-07-17 0.95 HackTool.MMN
BitDefender 7.90123.8538524 7.38327 2011-07-17 4.91 -
ClamAV 0.97.1 13324 2011-07-16 2.07 -
Comodo 4.0 9412 2011-07-17 2.51 -
CP Secure 1.3.0.5 2011.07.16 2011-07-16 0.00 -
Dr.Web 5.0.2.3300 2011.07.17 2011-07-17 14.57 -
F-Prot 4.6.2.117 20110716 2011-07-16 10.17 -
F-Secure 7.02.73807 2011.07.17.02 2011-07-17 12.63 -
Fortinet 4.2.257 13.447 2011-07-17 0.77 -
GData 22.1346 20110716 2011-07-16 0.11 -
ViRobot 20110716 2011.07.16 2011-07-16 0.40 -
Ikarus T3.1.32.20.0 2011.07.17.78851 2011-07-17 5.28 -
JiangMin 13.0.900 2011.07.14 2011-07-14 1.62 -
Kaspersky 5.5.10 2011.07.17 2011-07-17 1.03 -
KingSoft 2009.2.5.15 2011.7.17.9 2011-07-17 0.93 -
McAfee 5400.1158 6409 2011-07-16 9.35 Generic.dx!xcx
Microsoft 1.7000 2011.07.17 2011-07-17 3.55 -
NOD32 3.0.21 6295 2011-07-14 0.42 -
Norman 6.07.10 6.07.00 2011-07-17 12.02 W32/OnlineGames.LVXS
Panda 9.05.01 2011.07.17 2011-07-17 2.12 -
Trend Micro 9.200-1012 8.294.01 2011-07-17 0.68 -
Quick Heal 11.00 2011.07.16 2011-07-16 1.27 -
Rising 20.0 23.66.04.03 2011-07-15 2.63 -
Sophos 3.20.2 4.66 2011-07-17 4.07 -
Sunbelt 3.9.2497.2 9881 2011-07-17 1.53 -
Symantec 1.3.0.24 20110716.003 2011-07-16 0.23 -
nProtect 20110717.01 3560481 2011-07-17 7.11 -
The Hacker 6.7.0.1 v00257 2011-07-16 0.50 -
VBA32 3.12.16.4 20110715.0937 2011-07-15 6.31 -
VirusBuster 5.3.0.4 14.0.127.0/56508152011-07-17 0.00 -
ZhEkA_BK пишет:А такой перебор при каждом обновлении фрейма не сильно бота нагружает?
Будь там сотни ссылок, тогда возможно нагрузка бы и возросла. Но в верхнем фрейме, во первых, от силы будет ссылок 20, следовательно и короткий цикл, и всего несколько операций сравнения, которые являются очень дешевыми в плане ресурсоемкости.
Да и ведь можно повесить проверку, открыт ли диалог с ботом или нет.
Блин, как трудно без лямбда-выражений c# =\ Можно было бы объемные куски кода с хреновой тучей условий заменить одной строкой(
function GoToNextDialog(btn)
{
var lnks = top.frames[external.mainFrameIndex].document.links;
for(var i = 0; i < lnks.length; i++)
{
if(lnks[i].style.visibility!="hidden" && lnks[i].innerHTML.match(btn) && lnks[i].innerHTML.getElementsByTagName("img").length == 0)
{
lnks[i].click();
break;
}
}
}
где btn - текст моей искомой строки диалога.
Вот как-то так.
ZhEkA_BK пишет:Кстати, Exile, так может ты знаешь какой способ, чтоб избавиться от прямых ссылок? Мот подскажешь ? 
P.S: обычно не привык 2 сообщения подряд писать, но тут приходится, чтоб тема подсветилась в новых
сообщениях.
глянь мой последний топ про плагин молитвы. там более-менее сделано. Правда, надо будет убрать кусок кода с проверкой на комментарии - оказался лишним. Приду домой - посмотрю еще.
update: забыл, правда, добавить проверку на картинку
Вы должны зайти под своим именем, чтобы увидеть скрытый текст.
Первый круг вроде как работает.
Не хватает только одного диалога 2-го круга
gorlum пишет:В коде это пишется сразу, без ещё каких-либо операций?
Надо же ещё переключить в магазине закладку "амуниция", но это вроде понятно как делать, а вот как тогда выделить именно стрелы, чтобы потом использовать выше написанное? Как-то в ссылку на покупку добавлять?
var imgs = top.frames[external.mainFrameIndex].document.images;
for(var i = 0; i<imgs.length;i++)
{
if(imgs[i].onclick && String(imgs[i].onclick).match(/AddCount/) && imgs[i].outerHTML.match(/bolt_common100/))
{
imgs[i].click();
break;
}
}
top.frames[external.mainFrameIndex].document.getElementsByName("count")[0].value = 2;
top.frames[external.mainFrameIndex].document.forms[0].submit();
В голом виде - так.
Но это, повторюсь, голый вид, т.е. без проверок на закомменченность, видимость и т.д.
Ток что сделал для себя открытие:
оказывается, при получении коллекции объектов в неё не входят искомые объекты, находящиеся в закомменченном виде.
AddCount - лишь делает видимым окно для задания кол-ва покупаемых предметов, а ('arrow_common100', 'Обычные стрелы для лука') - параметры конструктора окна.
Чтобы задать кол-во стрел
top.frames[external.mainFrameIndex].document.getElementsByName("count")[0].value = ХХХ;
Чтобы купить
top.frames[external.mainFrameIndex].document.forms[0].submit();
Предложение мое состоит в том, чтобы убрать категории по уровням чаров, 75% подразделов которых пустует, и создать только одну категорию Классы, разбитую на подкатегории (стрелки, силовик, танк,ловкая,маг и т.д.)
Что принесет это изменение:
разгрузка форума: иные по приемам по каждому классу будет в соответствующей подкатегории.
легкость поиска: не придется перелопачивать весь раздел качалки в поисках темы по нужному классу.
уменьшение обьемности главной страницы.
будет меньше тем от новичков с содержанием: дайте приемы под ххх, я ничего не нашел.
()
не оправдываешь ты свой ник
Вы должны зайти под своим именем, чтобы увидеть скрытый текст.
Добавил диалоги для первого круга. Не тестил.
Петро пишет:Так вот я к тому, что не хочу сидеть в хаотах... т.к. мало статов, допустим, или пур. вещи на персе... 
тогда просить анахроника добавить какой external.close)
Евгений Ваганович пишет:я за некоторые плагины и 100 евро отдавал.,хоть там работы на 2-3 часа было
Евгений Ваганович пишет:стукнуть по мотору-1 рубль,знать где стукнуть-99 рублей (с)
ахренеть!
что ж там за плагины были и где я был в это время?)
да тут работы всего на день-два, с учетом того, что есть все диалоги с ангелом. Максимум, что можно попросить за плагин - 10уе. А если учесть то, что он уже почти что готов, и надо лишь заменить фразы - так вообще не больше 5-ти.
Насчёт поломки - хз, он же в саму пещеру залазит вродь? И если обычным способом ботом заходить в пещеру - то всё работает.
Я проверял двумя способами: вручную включал подземку и через dungeonEnabled. В первом случае всё гуд, во втором - спуск и затуп.
gorlum пишет:Блин, и что теперь с этим екстерналом делать?) Да, кстати, я вот думаю, может выложить 2 версии? Одна - одет в пещеру после взятия, а другая возвращается в хаоты. Может тут кто-то не может ходить на боте в одиночку, и ходит ручками, а вот задание во-время взять - будет хорошо.
Босс обещал в новой версии починить нерабочие экстерналы)
gorlum пишет:drsn пишет:и еше)) при включенном плагине бот вообще не ходит по пещере, а стоит и тупо втыкает) (демонс) после того как выключил плагин, бот все равно висит, приходиться перезаходить
А вот эту проблему я не знаю как решить, может быть кто-то поможет.
Только что потестил. Дело не в коде, а в external.DungeonEnabled. Видать, поломался.
SPOILER
Showvar uspeh=false;
var proverkaTimer = {};
var zadanieTimer = {};
var questIsActive = false;
var room ='';
var randomValue;
var min = 360000;
var max = 400000;
function zadanie(enabled)
{
if(enabled)
{
proverkaTimer[mylogin] = setInterval("proverkaHandler()",1000);
}
else
{
if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);
external.SBattleAbovePercent.Text = 100;
clearInterval(proverkaTimer[mylogin]);
}
}
function proverkaHandler()
{
clearInterval(proverkaTimer[mylogin]);
randomValue = Math.floor(Math.random()*(max - min) + min);
proverkaTimer[mylogin] = setInterval("proverkaHandler()", randomValue);
if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i))
{
external.SBattleAbovePercent.Text = 100;
return;
}
external.SBattleAbovePercent.Text = 101;
var tempstr = '';
var temp_inf = doLoad("http://" + external.SCity.Text + ".combats.com/main.pl?skills=1&rand=" + Math.random());
if(external.SCity.Text == "suncity")
tempstr = "Suncity</B> - Рыцарь первого круга, 24999 / 24999";
if(external.SCity.Text == "sandcity")
tempstr = "Sandcity</B> - Рыцарь первого круга, 100300 / 24999";
if(external.SCity.Text == "angelscity")
tempstr = "Angels city</B> - Рыцарь первого круга, 10000 / 24999";
if(external.SCity.Text == "demonscity")
tempstr = "Demons city</B> - Рыцарь первого круга, 24999 / 24999";
if(external.SCity.Text == "mooncity")
tempstr = "Mooncity</B> - Рыцарь первого круга, 24999 / 24999";
if(zadanieTimer[mylogin]) clearInterval(zadanieTimer[mylogin]);
zadanieTimer[mylogin] = setInterval("zadanieHandler()",3000);
if(temp_inf.indexOf(tempstr) > -1 )
{
external.AddToChat("Задания не требуется");
uspeh = true;
questIsActive = false;
return;
}
var patt = external.SCity.Text + " - \\d+ (мин|ч.|сек)";
if(!temp_inf.toLowerCase().match(patt))
{
external.AddToChat("Требуется взять задание");
uspeh = false;
}
else
{
external.AddToChat("Задания не требуется");
uspeh = true;
questIsActive = false;
}
}
function zadanieHandler()
{
try
{
if(top.Battle.bInBattle || top.frames[external.mainFrameIndex].location.toString().match(/dungeon\d+\.pl/i)) return;
var temp_p = top.frames[external.mainFrameIndex].document.all[0].innerHTML;
if(room = temp_p.match(/<nobr>([^<]+)<\/nobr>/))
room = String(room[1])
if(uspeh==false || questIsActive)
{
if(room)
{
if (room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Грибная лужайка");
else if(room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Странное Место");
else if(room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Грибная поляна");
else if(room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Грибница");
else if(room == "Бойцовский Клуб" && external.SCity.Text == "suncity" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центральная грибница");
else if(room == "Бойцовский Клуб" && external.SCity.Text == "angelscity" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центральный утес");
else if(room == "Бойцовский Клуб" && external.SCity.Text == "mooncity" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центр падения");
else if(room == "Бойцовский Клуб" && external.SCity.Text == "sandcity" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центральный Оазис");
else if(room == "Бойцовский Клуб" && external.SCity.Text == "demoncity" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центральный Разлом");
else if(room.match(/Зал воинов/i) && top.frames[external.mainFrameIndex].is_accessible)
Walk("\'Бойцовский Клуб\'");
else if(room == "Центральный утес" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Каменно-цветочная гряда");
else if(room == "Каменно-цветочная гряда" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Утес безысходности");
else if(room == "Утес безысходности" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Вход в Заповедник");
else if(room == "Вход в Заповедник" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Спуск в Бездну");
else if(room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Цветочный Пустырь");
else if(room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Последний Привал");
else if(room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Внутренний двор");
else if(room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Пещеры Мглы");
else if(room == "Центр падения" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Спящая площадь");
else if(room == "Спящая площадь" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Улица Камней");
else if(room == "Улица Камней" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Проклятые Руины");
else if(room == "Центральный Разлом" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Разлом Поклонения");
else if(room == "Разлом Поклонения" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Дорога Храбрости");
else if(room == "Дорога Храбрости" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Спуск в катакомбы");
else if(room == "Проклятые Руины" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Пещера Тысячи проклятий");
else if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
Walk("Спуск в Катакомбы");
else if(room == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
Walk("Пещера Тысячи проклятий");
else if((room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну"))
{
if(uspeh == false && top.frames[external.mainFrameIndex].document.getElementsByName("pass").length > 0)
{
var btn = top.frames[external.mainFrameIndex].document.getElementsByTagName("INPUT");
for(i = 0;i<btn.length;i++)
{
if(btn[i].outerHTML.match(/Задания/) && btn[i].style.visibility!="hidden")
{
btn[i].click();
break;
}
}
}
}
}
else
{
if(top.frames[external.mainFrameIndex].document.getElementsByName("quest_name").length > 0 && uspeh == false)
{
external.AddToChat("Завершаем задание");
if(top.frames[external.mainFrameIndex].document.getElementsByName("finishquest").length > 0)
{
top.frames[external.mainFrameIndex].document.getElementsByName("finishquest")[0].click();
uspeh = false;
questIsActive = false;
external.AddToChat("Завершаем задание");
}
if(!top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Репутация в Suncity: 0/))
{
if(top.frames[external.mainFrameIndex].document.getElementsByName("getquest").length > 0)
{
top.frames[external.mainFrameIndex].document.getElementsByName("getquest")[0].click();
external.AddToChat("Работает взятие задания");
}
else external.AddToChat("Задание уже есть");
uspeh=true;
questIsActive = true;
}
if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Вы получили новое задание/))
{
uspeh=true;
questIsActive = true;
}
else if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Для вас нет заданий/))
{
uspeh = true;
questIsActive = false;
}
if(uspeh == true)
{
external.AddToChat("Работает выход из комнаты");
btn = top.frames[external.mainFrameIndex].document.getElementsByTagName("INPUT");
for(i = 0;i<btn.length;i++)
{
if(btn[i].outerHTML.match(/Вернуться/) && btn[i].style.visibility!="hidden")
{
btn[i].click();
break;
}
}
}
}
}
}
if(questIsActive && uspeh)
{
if(top.frames[external.mainFrameIndex].document.getElementsByName("pass").length > 0 && (room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну"))
{
external.dungeonEnabled = true;
external.SBattleAbovePercent.Text = 100;
}
}
if(!questIsActive && uspeh)
{
external.dungeonEnabled = false;
var loc = '';
if(external.SCity.Text == "suncity")
loc = "Грибная поляна";
if(external.SCity.Text == "sandcity")
loc = "Внутренний двор";
if(external.SCity.Text == "angelscity")
loc = "Вход в Заповедник";
if(external.SCity.Text == "demonscity")
loc = "Спуск в катакомбы";
if(external.SCity.Text == "mooncity")
loc = "Пещера Тысячи проклятий";
if((room == "Спуск в Катакомбы" || room == "Пещера Тысячи проклятий" || room == "Пещеры Мглы" || room == "Грибница" || room == "Спуск в Бездну") && top.frames[external.mainFrameIndex].document.getElementsByName("pass").length > 0)
{
external.SBattleAbovePercent.Text = 101;
var tmp = top.frames[external.mainFrameIndex].document.anchors;
for(i = 0;i<tmp.length;i++)
{
if(tmp[i].outerHTML.match(loc) && tmp[i].style.visibility!="hidden" && tmp[i].onclick)
{
tmp[i].click();
break;
}
}
}
else if(room == "Грибная поляна" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Странное Место");
else if(room == "Спуск в катакомбы" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
Walk("Дорога Храбрости");
else if(room == "Пещера Тысячи проклятий" && top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Никогда и никому не говорите пароль от своего персонажа/) && top.frames[external.mainFrameIndex].is_accessible)
Walk("Проклятые Руины");
else if(room == "Дорога Храбрости" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Разлом Поклонения");
else if(room == "Разлом Поклонения" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центральный Разлом");
else if(room == "Проклятые Руины" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Улица Камней");
else if(room == "Улица Камней" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Спящая площадь");
else if(room == "Спящая площадь" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центр падения");
else if(room == "Центр падения" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Бойцовский Клуб");
else if(room == "Странное Место" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Грибная лужайка");
else if(room == "Грибная лужайка" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центральная грибница");
else if(room == "Центральная грибница" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Бойцовский Клуб");
else if(room == "Бойцовский Клуб" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Зал воинов");
else if(room == "Вход в Заповедник" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Утес безысходности");
else if(room == "Утес безысходности" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Каменно-цветочная гряда");
else if(room == "Каменно-цветочная гряда" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центральный утес");
else if(room == "Центральный утес" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Бойцовский Клуб");
else if(room == "Внутренний двор" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Последний Привал");
else if(room == "Последний Привал" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Цветочный Пустырь");
else if(room == "Цветочный Пустырь" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Центральный Оазис");
else if(room == "Центральный Оазис" && top.frames[external.mainFrameIndex].is_accessible)
Walk("Бойцовский Клуб");
else if(room == "Зал воинов")
external.SBattleAbovePercent.Text = 100;
}
}
catch(err)
{
external.AddToChat("Ошибка!");
}
}
function Walk(name)
{
var imgs = top.frames[external.mainFrameIndex].document.images;
for(i = 0;i<imgs.length;i++)
{
if(imgs[i].outerHTML.match(name) && imgs[i].style.visibility != "hidden" && imgs[i].onclick && (imgs[i].height*imgs[i].width)>60)
{
external.AddToChat("Иду в " + name);
imgs[i].click();
break;
}
}
}
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;
}
Исправил мелкие ошибки и кой-чего подправил в плане работы.
Заметил следующее:
проверка на оружие приоритетнее проверки на травму. Т.е., если висит тяж, но одеты костыли - бот считает, что всё ОК и ломится в бой.
Вы должны зайти под своим именем, чтобы увидеть скрытый текст.
Исправил ошибки.
Сообщений найдено [ с 251 по 275 из 521 ]
Страницы Назад 1 … 9 10 11 12 13 … 21 Далее
Combots Бот для БК » Сообщения от Exile
На основе PunBB
Currently installed 13 official extensions. Copyright © 2003–2009 PunBB.