Re: Обмен жетонов в катах
Что-то тут не так.
Как бы начал писать я:
function Obmennik(enabled)
{
if(enabled)
{
PluginsOnLoad["Obmennik"] = "ObmennikHandler"; // работать по обновлению верхнего фрейма
}
else
{
PluginsOnLoad["Obmennik"] = ""; // выключить обработку по обновлению верхнего фрейма
}
}
function ObmennikHandler()
{
try
{
var _document = get_mainframe().document.all[0].innerHTML;
var _path = "empty";
if(_document.indexOf("Активировать устройство") > -1)
_path = "Активировать устройство";
else if(_document.indexOf("Обменять все фракционные предметы на жетоны.") > -1)
_path = "Обменять все";
else if(_document.indexOf("Деактивировать устройство.") > -1)
_path = "Деактивировать";
else if(_document.indexOf("Отойти от устройства. (завершить разговор)") > -1)
_path = "завершить разговор";
if(_path != "empty")
external.ClickLink(_path,2);
}
catch(err)
{
//alert(err.description);
}
}Описание для external.ClickLink:
1) Первый параметр в скобках - что искать
2) Второй параметр в скобках - где искатьВторой параметр бывает:
// type:
// 1 - переход по картинке(поиск именно функции перехода), не чувствителен к регистру;
// 2 - поиск по текстовой ссылке,чувствителен к регистру;
// 3 - по найденному в картинке тексту(outerHTML), не чувствителен к регистру;
// 4 - поиск по value среди input-элементов,чувствителен к регистру;
// не задано - поиск во всех.Плагин НЕ РАБОЧИЙ.
В нём не правильно было понято, что надо писать в if.
В условии должен быть однозначный признак того, что пора нажимать конкретную кнопку. Не то, что кнопка есть, а именно то, что её надо нажать.
Сделайте описание диалогов всех целиком, вот как в последних сообщениях. Тогда станет ясно, что можно искать на экране в качестве однозначного признака.
Отличный шаблон! Переписал все свои плагины однообразно под него. Причину увидел в простом для программирования и красивом для понимания логировании действий.
В результате у меня после похода остаётся в чате что-то вроде такого лога:
hh:mi:ss Говорю с: Эшшли: _path = ...текст линка, который жму
hh:mi:ss Говорю с: Эшшли: _path = ...текст линка, который жму
hh:mi:ss Говорю с: Эшшли: _path = ...текст линка, который жму
hh:mi:ss Говорю с: Эшшли: нужны кости Проклятия Болот (*а такую доп.строку я пишу с кратким текстом перед отказом от задания)
hh:mi:ss Говорю с: Эшшли: _path = Нет, мне это не подходит. Просто поговорим, хорошо?
hh:mi:ss Говорю с: Эшшли: _path = ...текст линка, который жму
hh:mi:ss Говорю с: Эшшли: _path = (завершить разговор)