Re: Диалог
Долго был в грибнице, выкинуло!
Млять засада, на засаде.
Через час дойду до туда и попробую снова
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Чтобы отправить ответ, вы должны вход или регистрация
Долго был в грибнице, выкинуло!
Млять засада, на засаде.
Через час дойду до туда и попробую снова
через час буду дома - набросаю в чертах код
Вопрос намбер уан:
чем плох метод, предложенный ZhEkA_BK по переходу в диалог прямой ссылкой?
Вопрос намбер ту:
с каким именно светляком и клеткой (по координатам subway.in.ua) у тебя проблемы? что бот должен на этой клетке сделать?
Клетка J6 .
Там нет диалога, нужно только кликнуть. Но кликает не на светляк,а на пруд почему то. Ну соответственно там уже диалог (Который нафиг ен нужен)
Понятно.
Тогда примерный план действия
Допустим, это начальная клетка грибницы. Инициализируем переменные:
f4966143f4468f2db28fbcf4f87645a6 : external. SetVal("svetlyak1",false); external. SetVal("svetlyak2",false); ... external. SetVal("svetlyakN",false); Walk("rr");
Допустим это клетка перед светляком
2cfb0fd61a6c70ca600a8055f3088b10 : UseObjects(); Walk("rr");
Тогда чтобы кликнуть и пойти дальше, должно быть что-то типа такого:
2cfb0fd61a6c70ca600a8055f3088b10 : if(!external.GetVal("svetlyakN")) for(var j=0; j<top.frames[external.mainFrameIndex].document.getElementById("ObjectsMap").getElementsByTagName("AREA").length; j++) if(top.frames[external.mainFrameIndex].document.getElementById("ObjectsMap").getElementsByTagName("AREA")[j].title && top.frames[external.mainFrameIndex].document.getElementById("ObjectsMap").getElementsByTagName("AREA")[j].title.indexOf("Светляк") > -1) { top.frames[external.mainFrameIndex].document.getElementById("ObjectsMap").getElementsByTagName("AREA")[j].click(); external.SetVal("svetlyakN",true); break;} Walk("rr");
почти на месте, скоро будет тест
Есть! Сработало! Кликнул и пошел дальше. это было на первом светляке, теперь иду ко второму (где гадкий пруд!)
function Svetlyak(enabled)
{
if(enabled)
{
PluginsOnLoad["Svetlyak"] = "SvetlyakHandler";
}
else
{
PluginsOnLoad["Svetlyak"] = "";
}
}
function gribi()
{
if(top.Battle.bInBattle) return;
if(get_mainframe().document.all[0].innerHTML.match(/Благодарность - это хорошо./))
external.ClickLink("Благодарность - это хорошо.",2);
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rl";
}
}
function SvetlyakHandler()
{
try
{
gribi();
}
catch(err)
{
// alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
}
}
почему может плагин виснуть? все же поменял вроде с абба на сан.
Во первых, лишняя закрывающая скобка.
Для написания кода лучше вместо стандартного блокнота юзать например notepad++. У него есть подстветка синтаксиса и можно визуально увидеть, если есть что-то лишнее.
Во вторых:
зачем такая каша с функциями.
function Svetlyak(enabled)
{
if(enabled)
{
PluginsOnLoad["Svetlyak"] = "SvetlyakHandler";
}
else
{
PluginsOnLoad["Svetlyak"] = "";
}
}
function SvetlyakHandler()
{
try
{
if(top.Battle.bInBattle) return;
if(get_mainframe().document.all[0].innerHTML.match(/Благодарность - это хорошо./))
external.ClickLink("Благодарность - это хорошо.",2);
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rl";
}
catch(err)
{
external.AddToChat("Ошибка в скрипте");
}
}
Рано наверно обрадовался, на втором ступор пошел
G11 клетка
кликать кликает, а дальше не делает ход
Подскажите пожалуйста, как можно воткнуть диалог в маршрут? На примере Плавильного котла... Сам плавильный открывается, а дальше стопорится... Отдельным плагином работает, но я хочу в маршруте сделать, чтобы в каждом котле он не плавил только один метал, а плавил разный...
Я нахожусь на
049bbf51a3d965110a49531cdc16891b
Перед этой клеткой прописал так:
113256b5d7bf881e2e51e4adb9c3be82: external. SetVal("svetlyak1",false); external. SetVal("svetlyak2",false); ... external. SetVal("svetlyakN",false); AttackMobs(); Walk("m1");
потом
049bbf51a3d965110a49531cdc16891b: if(!external.GetVal("svetlyakN")) for(var j=0; j<top.frames[external.mainFrameIndex].document.getElementById("ObjectsMap").getElementsByTagName("AREA").length; j++) if(top.frames[external.mainFrameIndex].document.getElementById("ObjectsMap").getElementsByTagName("AREA")[j].title && top.frames[external.mainFrameIndex].document.getElementById("ObjectsMap").getElementsByTagName("AREA")[j].title.indexOf("Светляк") > -1) { top.frames[external.mainFrameIndex].document.getElementById("ObjectsMap").getElementsByTagName("AREA")[j].click(); external.SetVal("svetlyakN",true); break;} Walk("rl");
Он кликнил на него но не повернул влево почему?
Возможно у тебя весь код, который идет после if(!external.GetVal("svetlyakN")) приписывается к этому условию. Попробуй после if разделить условия с помощью скобок {} и добавь условие else
Чтобы отправить ответ, вы должны вход или регистрация