Anton2009, это в каком городе?

Update
1) Мною было принято волевое решение не считать одетые вещи с максимальным износом 1 за те вещи, что можно починить.
Поэтому он их игнорирует и пироги и прочая гадость 0/1 не будут вызывать постоянных походов до ремонтки.
2) Петро мне сообщил, что бот распознал ремонт, дошёл до мастерской и встал, как вкопаный. Тут был мой косяк...
я рассмотрел случай, когда пишеться "Долговечность: 10/38</FONT>", но совсем забыл о "Долговечность: <FONT color=990000>17/18</FONT>"(т.е. выделено цветом, т.к. близок предел износа у вещи).
Исправлено.

Просьба отписаться о том, в каких городах маршрут не работает/
Метод проверки:
1) Сделайте копию Repair.js.
2) Открываем Repair.js, заменяем содержимое на:

var repaired = false;
var room_return = '';
 
function RepairMain()
{
 
    var curDurability;
    var mask = /Долговечность\:\s(\d+)\/(\d+)\,/g;
    while(curDurability = mask.exec(external.objects)){
        if(curDurability != null){
            if((curDurability[2]-curDurability[1]) <= parseInt(external.SRepairNumber.Text) && curDurability[2]>1)
            {
                external.SetStatusLabel("Ремонт");
                external.repairEnabled = true;
                repaired = false;
                external.healWeared = false;
                external.battleWeared = false;
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?unwear&edit=1";
                return true;
            }
        }
    }
 
    if(external.repairEnabled)
    {
        external.SetStatusLabel("Ремонт");
        if(!repaired)
        {
            if(external.room_name == "Ремонтная мастерская")
            {
    repairing();
            }
            else if(external.room_name == "Центральная Площадь" && external.SCity.Text=='capitalcity')
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
            else if(external.room_name == "Центральная Площадь" || external.room_name == "Центральный утес")
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
            else if(external.room_name == "Бойцовский Клуб")
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
            else if(external.room_name == "Будуар"){
                room_return = "Будуар";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
            }
            else if(external.room_name == "Зал воинов"){
                room_return = "Зал воинов";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
            }
            else if(external.room_name == "Зал воинов 2"){
                room_return = "Зал воинов 2";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
            }
            else if(external.room_name == "Зал воинов 3"){
                room_return = "Зал воинов 3";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
            }
            else if(external.room_name == "Этаж 2"){
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
            }
            else if(external.room_name == "Этаж 3"){
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
            }
            else if(external.room_name == "Огненный мир"){
                room_return = "Огненный мир";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
            }
            else if(external.room_name == "Колдовской мир"){
                room_return = "Колдовской мир";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
            }
            else if(external.room_name == "Астральные миры"){
                room_return = "Астральные миры";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
            }
            else if(external.room_name== "Башня рыцарей-магов"){
                room_return = "Башня рыцарей-магов";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
            }
            else if(external.room_name== "Рыцарский зал"){
            if(room_return==='')room_return = "Рыцарский зал";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
            }
            else if(external.room_name.match(/Торговый\sЗал/) != null){
            room_return = "Торговый Зал";
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
            }
            else if(external.room_name == "Ремонтный цех"){   
                    if(top.frames[3].document.all[0].innerHTML.match(/Хочу/)){
                        top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
                    }
                    else if(top.frames[3].document.all[0].innerHTML.match(/Масса/)){
            repairing();
                    }
          else
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=&" + Math.random();
 
            }
            else
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?homeworld=" + Math.random();
        }
        else
        {
            if(external.room_name == "Ремонтная мастерская" && external.SCity.Text!="angelscity")
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/repare.pl?path=1.100&rnd=" + Math.random();
            else if(external.room_name == "Центральная Площадь" && external.SCity.Text=='capitalcity')
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
            else if(external.room_name == "Центральная Площадь")
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
            else if(external.room_name == "Центральный утес")
                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
            else if(external.room_name == room_return){
                room_return='';
                external.repairEnabled = false;
                repaired = false;
            }
            else if(external.room_name == "Бойцовский Клуб"){
                if(room_return=="Зал воинов")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
                  else if(room_return=="Зал воинов 2")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
                else if(room_return=="Зал воинов 3")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
                else if(room_return=="Будуар")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
                else if(room_return==""){
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
                room_return="Зал воинов 2";
                }
                else
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
            }
            else if(external.room_name == "Этаж 2"){
                if(room_return=="Рыцарский зал" || room_return=="Башня рыцарей-магов")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
                else if(room_return=="Торговый Зал")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
                else
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
            }
            else if(external.room_name == "Рыцарский зал"){
                if(room_return=="Башня рыцарей-магов")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
              }
            else if(external.room_name == "Этаж 3"){
                if(room_return=="Огненный мир")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
            else if(room_return=="Астральные миры")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
            else if(room_return=="Колдовской мир")
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
              }
            else if(external.room_name == "Ремонтный цех")
                    top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
            else if(external.room_name == "Ремонтная мастерская" && external.SCity.Text=="angelscity")
                    top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/repare.pl?rnd=" + Math.random()+"&path=1.100.2";
        }
 
        return true;
    }
 
    return false;
}
 
function repairing(){
   /* var s = top.frames[3].document.all[0];
    var x=4;
    var item ='';
    var maskA = /Долговечность\:\s(\<FONT\scolor\=\#990000\>)?(\d+)\/(\d+)\</;
    while(s.getElementsByTagName('TR')[x] && s.getElementsByTagName('TR')[x].innerHTML.match(/Ремонт\s1/)){
        var iznos = maskA.exec(s.getElementsByTagName('TR')[x].innerHTML);
        external.AddToChat(iznos[3]+" : "+iznos[2]+" : "+iznos[1]+" : "+parseInt(external.SRepairNumber.Text));
        if((iznos[3]-iznos[2]) <= parseInt(external.SRepairNumber.Text)){
               //external.AddToChat(iznos[3]+" : "+iznos[2]+" : "+iznos[1]+" : "+parseInt(external.SRepairNumber.Text)+" : "+s.getElementsByTagName('TR')[x].innerHTML.match(/repare.pl\?rp=[A-Za-z_0-9]+?\&amp;full=0\.\d+&amp;n=\d+/));     
            if(external.SRepairType.SelectedIndex == 1)
                item = s.getElementsByTagName('TR')[x].innerHTML.match(/repare.pl\?rp=[A-Za-z_0-9]+?\&amp;full=1\&amp;n=\d+\&amp;tooth=1\&amp;0\.\d+/);
            else
                item = s.getElementsByTagName('TR')[x].innerHTML.match(/repare.pl\?rp=[A-Za-z_0-9]+?\&amp;full=0\.\d+&amp;n=\d+/);
                if(item != '')
                    top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/" + item;
                return;
        }
        x++;
    }
    if(item == '')*/

        repaired = true;
}

3) В настройках бота ставим чинить при 100 за зубы или кредиты - тут не важно..чинить всёравно не будет.
Если бот застревает - значит маршрут не работает. Вырубайте и отпишитесь тут о том, в каком городе не пашет.
Если маршрут работает и бот дошёл до мастерской - не надо нажимать Стоп или ещё чего - он ничего чинить не будет. Он сразу развернётся и пойдёт обратно.

Кажется я понял, почему косяк такой....
0/1 это пирог одетый может быть...
естетственно он его за шмотку считает hmm

буду дальше разбираться, что с этим делать sad

Внёс поправки на маршрут для  Кэпа.
И добавил мелочь, которая должна улучшить правильность определение износа у вещи перед тем, как идти в ремонтку.

ну а что вы ожидалии от мода, написанного в пол второго ночи))))
сегодня маршрут для кэпа переделаю...
У кого ещё проблемы со снятием абсолютно целого комплекта?

Noreas, с тобой отдельный сеанс будет, такчто сейчас ничего не предлагаю.
Дома буду ближе к вечеру. ну там 18...17 часов по Москве...

Update.
Читаем Изменения и радуемся.

PS - написано бетта(1.9b), значит ночью протестировал на 3 своих шмотках...но не всё успел заметить....но вроде даже работает smile

1 531

(16 ответов, оставленных в Флейм)

Спасибо.
Зерг, подумай пожалуйста над тем, чтобы отобрать у пользователей возможность удалять свои темы(хотя я не знаю, есть ли разделение удалять свои темы и удалять свои сообщения).
Просто одно дело удалять свои сообщения и совсем другое удаляться совместно с чужими...

Ладно, тут я не прав.
В маршруте прописал ЗВ1, а там действительно просто ЗВ пишется.

Всем обновиться в пункте 4

А ты в курсе, что Зал воинов бывает "Зал воинов 1", "Зал воинов 2" и "Зал воинов 3"? smile
Такчто то, что он попёрся на 3-й этаж ниразу меня не удивляет.

То, что он у тебя несколько раз "Вылечился" тоже меня не удивляет, т.к. я писал во втором ответном сообщении тут, что бот тратит 1 минуту на то, чтобы осознать, есть на нем травма или нет. И просил не реагировать на застревание в чате минутное...
Короче, нечего мне у тебя смотреть - всё работает)))

1 534

(16 ответов, оставленных в Флейм)

Ну ядрить тебя налево.
Нахрена ты потёр все свои посты?
Нахрена темы свои потёр?
Вот мне сейчас нужна адрессация к интервалу действия бота. А её нету, т.к. Зерг в твоей теме отписывался.
И хрен знает, что ещё полезное ты похерил из-за своего тупого упрямства!

Вот скажи мне, я тебе чего-то плохого сделал? Или в помощи отказывал?
Да щас! У меня половина ПМов в ящике - твои.
А ты западло такое после себя оставил.

P.S.
Прошу не цензурировать. Ибо надо в таком виде чтобы видел.
ПМ он не читает вобще...

P.P.S.
ZheKa_BK

Если у тебя не работает - скидывай....
если работает или не пробывал -не надо smile

это я жду...жду и жду smile
и жду и жду....а никто в аську не бьётся...номер ПМом отправил с час наза...или 2...не помню

1 537

(10 ответов, оставленных в Флейм)

я не поленился и нашел старую тему
()
smile

1 538

(10 ответов, оставленных в Флейм)

где-то я это уже слышал...

Сегодня дома буду в лучшем случае часов в 9 по Москве...
тогда и разберёмся.

Не думал, что комната сумеет потеряться - я его гонял туда-сюда из разных комнат часа два....ниразу не было.
Но раз уж такая пъянка, то если вдруг потеряет - попрётся теперь в ЗВ2, ибо ЗВ1 мне надоел:)

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

3 раза заменил свой текущий файл выложенным здесь.
Дважды просто выходил из БК, один раз полностью бота перезапускал.
Ниодин раз не было неактивного старта.
И если включить ремонт - он сразу бежал в мастерскую...

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

я практически уверен, что должно работать.....и дко устал за сегодня smile
такчто не стоит smile

Update.
См. первый пост.

Update.
Все можно прочитать в первом сообщении.
Изменения коснулись всех пунктов.

1 546

(34 ответов, оставленных в Флейм)

Не надо писать "Не согласен".
Совершенствуйте существующую схему:
1)Танк
Щит длжен быть...

2)Силовик
Самый выский стат - сила и два оружия.

3)Крит
Самый выский стат - удача

4)Уворот
Самый выский стат - ловкость

5)Лучник
Оружие - лук

6)Арбалетчик
Оружие - арбалет

7)Маг
Оружие - посох

8)Остальные
Не вошедшие в остальные классы.

Я так 5 дней подряд буду сидеть и читать "Не согласен с этим.....не согласен с тем". Да я сам не согласен со многим. Но мне нужна чёткая схема, а не мысли вслух.
Итак мозг не варит - с маршрутами весь день мучился. То одно не работает, то второе...

1 547

(34 ответов, оставленных в Флейм)

Ну попадут эти персонажи в раздел "Остальные". Делов то))

1 548

(34 ответов, оставленных в Флейм)

Ну добро.
Как разберусь с маршрутами - так попробую этот алгоритм оформить smile

1 549

(34 ответов, оставленных в Флейм)

Вот я этих ньюансов не знаю hmm
посмотрите под мой аватар.... smile
поэтому и обратился к тебе, Гиппо. И спасибо тебе за оформление темы smile

1 550

(34 ответов, оставленных в Флейм)

Так.
Значит классами выбираем:
1)Танк
Щит длжен быть...

2)Силовик
Самый выский стат - сила и два оружия.

3)Крит
Самый выский стат - удача и два оружия.

4)Уворот
Самый выский стат - ловкость и два оружия.

5)Лучник
Оружие - лук

6)Арбалетчик
Оружие - арбалет

7)Маг
Оружие - посох

8)Остальные
Не вошедшие в остальные классы.

Или я чего-то упустил?