26

Re: Обмен жетонов в катах

не работает, я уже и через екстерналы пробовал нажимать на обменник - не помагает, он постоянно ломиться в обменник, надо сделать так же как в плагине с обменом грибов - чтоб после завершения разговора - он поворачивался в другую сторону а я не знаю как это в плагие вставлять....робовал прокувырять обменник грибов - не получилось...

Женщины - инквизиторы мужского сердца...

27

Re: Обмен жетонов в катах

интуитивно я уже догадался как надо делать -  top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName  + "?rnd=" + Math.random() +"&path=rr";
вот это надо прикрутить к плагину обмена жетонов, чтоб бот после завершения разговора - уходил в право, но я пытался прикрутить и у меня начинали выскакивать в верхнем фрейме - главная страница БК. Сорри я не програмист вообще - чисто самоучка...
ну вроде окончание плагина должно бы выглядить так:

{ _path = "завершить разговор"; _obmenFinished = false;
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName  + "?rnd=" + Math.random() +"&path=rr"; }

хз прав ли я, не могу проверить - спать хочу ппц.. весь день промучался с этим плагином...

Отредактировано nostra4life (2013-05-04 01:35:22)

Женщины - инквизиторы мужского сердца...

28

Re: Обмен жетонов в катах

nostra4life

Спасибо за идею, вроде получилось
Вот конечная редакция Обменника

SPOILER Show

var _obmenFinished = false;

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 && _obmenFinished == false)
            _path = "Активировать устройство";
        else if(_document.indexOf("Положить в устройство") > -1)
            _path = "Обменять все";
        else if(_document.indexOf("Устройство активировано") > -1)
            { _path = "Деактивировать"; _obmenFinished = true; }
        else if(_document.indexOf("Активировать устройство") > -1 && _obmenFinished == true)
            { _path = "завершить разговор";  _obmenFinished = false;
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rl"; }

        if(_path != "empty")
            external.ClickLink(_path,2);
    }
    catch(err)
    {
        //alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
    }
}

Исправляем обратно строку перед обменника в маршруте

SPOILER Show

1c5a3f3164a09ff92d3c9c517452bd1b : UseObjects(); AttackMobs(); Walk("rl");

Отредактировано Tudorake (2013-05-04 03:05:19)

29

Re: Обмен жетонов в катах

я даже оказался прав? ух ты smile
я просто под себя сразу писал потому пользовался rr - я обменивать хотел прямо перед стражами
когда проверим твой скриптец - надо будет на главной странице выложить робочий вариант чтоб люди юзали ато поленяться до 2 страницы читать, как всегда wink

Отредактировано nostra4life (2013-05-04 01:45:03)

Женщины - инквизиторы мужского сердца...

30

Re: Обмен жетонов в катах

так проверил - не работает - материться плагин где то ошибка я 100% не найду где я джавы не знаю...
уже и ошибку исправил - всеравно не хочет зараза уходить в лево/право...

Отредактировано nostra4life (2013-05-04 02:11:38)

Женщины - инквизиторы мужского сердца...

31

Re: Обмен жетонов в катах

У меня работает я даже пару раз проверил

32

Re: Обмен жетонов в катах

а вот и твоя ошибка кстати...
тотал командер рулит иначе б не заметил ))
ar _obmenFinished = false;
V пропустил)) надо
var _obmenFinished = false;

Отредактировано nostra4life (2013-05-04 02:33:57)

Женщины - инквизиторы мужского сердца...

33

Re: Обмен жетонов в катах

всеравно бот у меня тупо не хочет поворачиваться после завершения скрипта по обмену фракционных предметов...

var _obmenFinished = false;
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 && _obmenFinished == false)
            _path = "Активировать устройство";
        else if(_document.indexOf("Положить в устройство") > -1)
            _path = "Обменять все";
        else if(_document.indexOf("Устройство активировано") > -1)
            { _path = "Деактивировать"; _obmenFinished = true; }
        else if(_document.indexOf("Активировать устройство") > -1 && _obmenFinished == true)
            { _path = "завершить разговор";  _obmenFinished = false;
top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + "?rnd=" + Math.random() +"&path=rr"; }
        if(_path != "empty")
            external.ClickLink(_path,2);
    }
    catch(err)
    {
        //alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
    }
}

UseObjects(); AttackMobs(); Walk("rr");  клетка маршрута..

Отредактировано nostra4life (2013-05-04 02:46:31)

Женщины - инквизиторы мужского сердца...

34

Re: Обмен жетонов в катах

Я вот то же мысль хочу высказать, а то функции без дела простаивают smile

Есть такой набор функций:
•external.InitVal(key,val) - если не существует переменной с именем key, то она создается и ей присваивается значение val. Если переменная уже есть - оставляет её значение без изменения
•external.SetVal(key,val) - как и InitVal, но присваивает значение в любом случае
•external.GetVal(key) - возвращает значение переменной key

Я их какрас и создавал для удобного обмена и хранения значений между разными аспектами бота: плагины, маршруты, приёмы.

Как я вижу использование.
Берём мою редакцию плагина. Я в неё добавил строку

external.SetVal("isTokenTraderClicked",true);

isTokenTraderClicked - просто набор букв.

Дальше маршрут:
1) В ячейку до обменника

координата  : external.SetVal("isTokenTraderClicked",false); UseObjects(); AttackMobs(); Walk("куда-то");

2) В ячейку с обменником(вроде это та ячейка...не уверен)

1c5a3f3164a09ff92d3c9c517452bd1b  : if(!external.GetVal("isTokenTraderClicked"))  UseObjects(); AttackMobs(); Walk("rl");

Что должно получиться:
1) За одну ячейку до обменника мы говорим, что ещё не обменивались
2) На ячейке с обменником мы делаем UseObjects(); только если ещё не обменивались
3) Когда срабатывает плагин и нажимает Завершить диалог, устанавливается значение, что уже обменялись и повторного клика по обменнику быть не должно.

Software is like sex: it's better when it's free! © LinusTorvalds

35

Re: Обмен жетонов в катах

на словах красиво но вот уже слишком сложно для человека который не умеет ничерта програмить ( хотя с твоим примером переделать под наши нужны будет как 2 пальца об асфальт )
Вообще было бы не плохо небольшой гайд с примерами ( для таких самоучек как я например ) по кстерналах ( 1 небольшой есть где ты описывал 4 значения екстернала) но к сожжалению небыло примеров ( а это очень важно если хочешь понять логику ) и небольшйо гайдик по набору функций с примерами и тогда я думаю много лишних вопросов у людей отпадет и собрать все это в 1 посте и прикрепить. Думаю все поголовно тебе спасибо скажут

Женщины - инквизиторы мужского сердца...

36

Re: Обмен жетонов в катах

не помогло, дело в том что бот за 1 клетку до обменника - стоит
тоесть вот это  :

Дальше маршрут:
1) В ячейку до обменника
b951e847c8c4d78ebb15be5293b1e907 : UseObjects(); AttackMobs(); external.SetVal("isTokenTraderClicked",false); UseObjects(); AttackMobs(); Walk("m1");

не работает...он стоит..
if перед екстерналом тож не помогло) сори я дилетант ещё тот в этом деле.. пользуюсь только логикой
и так пробовал

b951e847c8c4d78ebb15be5293b1e907 : UseObjects(); AttackMobs(); if(!external.SetVal("isTokenTraderClicked",false)); UseObjects(); AttackMobs(); Walk("m1");

не помагает.. хз как его заставить шагнуть используя SetVal
и без ! пробовал - не помогло) говорю же надо минигайдик для таких самоучек как я чтоб понять что куда надо ставлять с екстерналами.. с приемами вроде разобрался давно а сейчас сатло интересно сложности в маршрутостоении преодолеть а то скушно становиться ))

Отредактировано nostra4life (2013-05-04 12:54:16)

Женщины - инквизиторы мужского сердца...

37

Re: Обмен жетонов в катах

Первая строка твоя была верной.
Мой косяк - исправил в обновлении.  big_smile

Software is like sex: it's better when it's free! © LinusTorvalds

38

Re: Обмен жетонов в катах

ок щас заценю smile

Женщины - инквизиторы мужского сердца...

39

Re: Обмен жетонов в катах

дальше топчимся на том же месте но с небольшим прогресом....
вот клетка перед обменником

b951e847c8c4d78ebb15be5293b1e907 : external.SetVal("isTokenTraderClicked",false); UseObjects(); AttackMobs(); Walk("m1");

вот - сам обменник

228eac369afdf321c7820a4d838e260b : if(!external.GetVal("isTokenTraderClicked"))  UseObjects(); AttackMobs(); Walk("rr");

вот код обменника

var _obmenFinished = false;

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 && _obmenFinished == false)
            _path = "Активировать устройство";
        else if(_document.indexOf("Положить в устройство") > -1)
            _path = "Обменять все";
        else if(_document.indexOf("Устройство активировано") > -1)
            { _path = "Деактивировать"; _obmenFinished = true; }
        else if(_document.indexOf("Активировать устройство") > -1 && _obmenFinished == true)
            { _path = "завершить разговор"; _obmenFinished = false; external.SetVal("isTokenTraderClicked",true); }

        if(_path != "empty")
            external.ClickLink(_path,2);
    }
    catch(err)
    {
        //alert(err.description); // выводит сообщение, если в результате выполнения кода была получена ошибка. Если сообщения не нужна - удалить эту строку, оставив конструкцию try{}catch(err){}
    }
}

всеравно тупит и постоянно клыкает на обменник, правда да, после апдейта версии он все же начал идти в перед на клетке перед обменником smile

Отредактировано nostra4life (2013-05-04 15:43:04)

Женщины - инквизиторы мужского сердца...

40

Re: Обмен жетонов в катах

У тебя UseObjects(); AttackMobs(); повторялись два раза.
я твое сообщение отредактировал.

Software is like sex: it's better when it's free! © LinusTorvalds

41

Re: Обмен жетонов в катах

о спасибки, попробую ещё раз smile

Женщины - инквизиторы мужского сердца...

42

Re: Обмен жетонов в катах

Ну и как там,работает?

43

Re: Обмен жетонов в катах

ещё до кат не добрался чтоб заценить

Женщины - инквизиторы мужского сердца...

44

Re: Обмен жетонов в катах

nostra4life пишет:

ещё до кат не добрался чтоб заценить

Работает по твоим последним координатам))

45

Re: Обмен жетонов в катах

ну вот и чудненько) старания и тесты не прошли зря wink

Женщины - инквизиторы мужского сердца...

46

Re: Обмен жетонов в катах

Если работает, оформите, пожалуйста, в виде отдельной темы с нормальным оформлением и инструкцией, как у других плагинов, чтобы можно было закрепить тему.

Software is like sex: it's better when it's free! © LinusTorvalds

Re: Обмен жетонов в катах

.

Отредактировано Вася Пупкин (2013-05-06 20:34:17)

Корабли в бутылках делают гинекологи на пенсии!

48

Re: Обмен жетонов в катах

все супер, все пашет, щас отдельную тему сделаю smile

Женщины - инквизиторы мужского сердца...

49

Re: Обмен жетонов в катах

nostra4life пишет:

все супер, все пашет, щас отдельную тему сделаю smile

что-то не нашел отдельную тему(

Re: Обмен жетонов в катах

drsn пишет:
nostra4life пишет:

все супер, все пашет, щас отдельную тему сделаю smile

что-то не нашел отдельную тему(

Отдельная (Please log in or register to see this URL).

Корабли в бутылках делают гинекологи на пенсии!