1

Тема: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Совместимость: версия 8.5+
Города: Ангелс, Кэп, Мун, Сэнд, Сан
Изменения: добавлены новые маршруты. исправлен баг с "Это не возможно", существующий до версии 8.6 включительно.
Установка:
1) В папке Modules существует файл Lich.js.
Актуальное содержание для файла:

var travma = false;
var LichProcess = false;
 
function LichHealMain(){
 
    if(external.injury)
        travma = true;
    if (travma && external.SLichEnabled.Checked)
    {
        LichProcess = true;
 
        if (external.room_name == "Центральный утес")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o10&rnd=" + Math.random();
     else if(external.room_name == "Бойцовский Клуб")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
    else if(external.room_name == "Будуар")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
     else if(external.room_name == "Зал воинов")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
     else if(external.room_name == "Зал воинов 2")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
     else if(external.room_name == "Зал воинов 3")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
     else if(external.room_name == "Этаж 2")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
     else if(external.room_name == "Этаж 3")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
     else if(external.room_name == "Огненный мир")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
     else if(external.room_name == "Колдовской мир")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
     else if(external.room_name == "Астральные миры")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
     else if(external.room_name== "Башня рыцарей-магов")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
     else if(external.room_name== "Рыцарский зал")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
     else if(external.room_name == "Торговый Зал")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o7&rnd=" + Math.random();
        else if (external.room_name == "Утес Перемещения")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
        else if (external.room_name == "Водопад Возрождения")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
        else if (external.room_name == "Фонтан Возрождения"){                                                        //capital
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();}
        else if (external.room_name == "Парк развлечений")                                                        //capital
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
        else if (external.room_name == "Центральная Площадь")                                                        //capital
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o13&rnd=" + Math.random();
        else if (external.room_name == "Центральная грибница")                                                        //sun
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o9&rnd=" + Math.random();
        else if (external.room_name == "Овраг Возрождения")                                                        //sun
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
        else if (external.room_name == "Центральный Оазис")                                                         //sand
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o6&rnd=" + Math.random();
        else if (external.room_name == "Песочные Врата")                                                            //sand
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
        else if (external.room_name == "Озеро возрождения")                                                         //sand
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
        else if (external.room_name == "Центр падения")                                                         //moon
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o8&rnd=" + Math.random();
        else if (external.room_name == "Площадь Башни")                                                         //moon
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
        else if (external.room_name == "Улетный тупик" || external.room_name == "Прорубь Возрождения")          //moon
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
        else if (external.room_name == "Врата Душ") {
        if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/100\%\</)){
            if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/смыртн/))
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=0&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Смелтн/))                                                       //sun
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Пливлатник/))                                                   //sun
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=2&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/расецнки\sна\sуслуги/))                                         //sun
            {
                dialog(true);
                external.AddToChat("вылечил");
                ReloadInfo();
                travma=false;
            }
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/смегтн/))                                        //capital
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Вот\sтепегь\sтвое\sздоговье/))                    //capital
             top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/самый\sнастоящий\sлич/))                         //capital
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Тгавмы/))                                         //capital
            {
                dialog(true);
                external.AddToChat("вылечил");
                ReloadInfo();
                travma=false;
            }
             else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Вне\.\. внемлю тебе/))                          //moon
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=0&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Судо\.\. Судо\.\.\. С удовольствием/))           //moon
             top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=5&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Мо\.\.мо\.\. могу\, все могу/))                  //moon
            {
                dialog(true);
                external.AddToChat("вылечил");
                ReloadInfo();
                travma=false;
            }
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/по\sее\sжеланию\sнаделенные/))                //angels
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=0&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/по\sее\sжеланию\sнаделенные/))                //angels
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=0&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Что\sза\sглупости/))                          //angels
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=2&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/неудачн/))                                    //angels
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Прыказ\sсвыше/))                              //angels
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/бысплатно/))                                  //angels
            {
                dialog(true);
                external.AddToChat("вылечил");
                ReloadInfo();
                travma=false;
            }
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/сьмертьная/))                                 //sand
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Привьратник/))                                //sand
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=2&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/запасье вечьность/))                          //sand
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=1&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/была волья Сьмерти/))                         //sand
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=0&" + Math.random();
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/Но Сьмерть благосклонна к тебе/)){             //sand
                dialog(false);
                travma=false;
                }
            else if (top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/сьтоить тебе неськолько кьредитов/))          //sand
            {
                dialog(true);
                external.AddToChat("вылечил");
                ReloadInfo();
                travma=false;
            }
            else
            {
                dialog(false);
                ReloadInfo();
                travma=false;
            }
        }
            else
                top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();    //capital && angel
            }
        else
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?homeworld=" + Math.random();
} else {
    if (external.room_name == "Врата Душ"){
        if(top.frames[external.mainFrameIndex].document.all[0].innerHTML.match(/100\%\</)) //Если мы в диалоге с Личем, то выбрать последний из списка ответ
            dialog(false);
        else
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();        //capital && angel
    }
    else if (external.room_name == "Центральный утес")
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
            else if(external.room_name == external.SLichBackRoom.Text){
                LichProcess = false;
                setTimeout("top.frames[external.mainFrameIndex].location = 'http://' + external.SCity.Text + '.combats.com/main.pl?skmp=' + external.SComplectBattle.Text;", 5000);
            }
    else if(external.room_name == "Бойцовский Клуб"){
        if(external.SLichBackRoom.Text=="Зал воинов")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
           else if(external.SLichBackRoom.Text=="Зал воинов 2")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
           else if(external.SLichBackRoom.Text=="Зал воинов 3")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
           else if(external.SLichBackRoom.Text=="Будуар")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
           else
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
            }
   else if(external.room_name == "Этаж 2"){
           if(external.SLichBackRoom.Text=="Рыцарский зал" || external.SLichBackRoom.Text=="Башня рыцарей-магов")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
           else if(external.SLichBackRoom.Text=="Торговый Зал")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
           else
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
            }
   else if(external.room_name == "Рыцарский зал"){
           if(external.SLichBackRoom.Text=="Башня рыцарей-магов")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o5&rnd=" + Math.random();
              }
   else if(external.room_name == "Этаж 3"){
           if(external.SLichBackRoom.Text=="Огненный мир")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
           else if(external.SLichBackRoom.Text=="Астральные миры")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
           else if(external.SLichBackRoom.Text=="Колдовской мир")
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
              }
    else if (external.room_name == "Овраг Возрождения")                                                        //sun
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
    else if (external.room_name == "Центральная грибница")                                                     //sun
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
    else if (external.room_name == "Водопад Возрождения")
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
    else if (external.room_name == "Фонтан Возрождения")                                                        //capital
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
    else if (external.room_name == "Парк развлечений")                                                        //capital
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
    else if (external.room_name == "Центральная Площадь")                                                        //capital
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o0&rnd=" + Math.random();
    else if (external.room_name == "Утес Перемещения")
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
    else if (external.room_name == "Центральный Оазис")                                                         //sand
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
    else if (external.room_name == "Песочные Врата")                                                            //sand
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o4&rnd=" + Math.random();
    else if (external.room_name == "Озеро возрождения")                                                         //sand
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
    else if (external.room_name == "Прорубь Возрождения")                                                      //moon
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o3&rnd=" + Math.random();
    else if (external.room_name == "Улетный тупик")                                                            //moon
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
    else if (external.room_name == "Площадь Башни")                                                              //moon
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o1&rnd=" + Math.random();
    else if (external.room_name == "Центр падения")                                                              //moon
        top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?path=o2&rnd=" + Math.random();
    }
}
 
function dialog(up){
    if(!up){
        var mask = /move\_dialog\=(\d+)([^/]+)\/A/gim;
        while(n = mask.exec(top.frames[external.mainFrameIndex].document.all[0].innerHTML)){
            if(n[2].match(/\>\</)==null)
            var res = n[1];
        }
            top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog="+ res +"&" + Math.random();
    }else{
        var mask= /move\_dialog\=(\d+)/gim;
        var n = mask.exec(top.frames[external.mainFrameIndex].document.all[0].innerHTML);
        if(n)top.frames[external.mainFrameIndex].location = "http://" + external.SCity.Text + ".combats.com/main.pl?move_dialog=" + n[1] + "&" + Math.random();
    }
}
 
function ReloadInfo(){
    external.injury = false;
    httpGetPageRequest("http://"+external.SCity.Text+".combats.com/main.pl?skills=1&rand="+Math.random(),CheckInfo());
}

2) Файл Main.js.
Найти строку

if((external.room_name.match(/Врата\sДуш/)) && (external.SCity.Text == "angelscity" || external.SCity.Text == "capitalcity"))

заменить на:

if((external.room_name.match(/Врата\sДуш/)) && (external.SCity.Text == "angelscity" || external.SCity.Text == "capitalcity" || external.SCity.Text == "suncity" || external.SCity.Text == "sandcity" || external.SCity.Text == "mooncity"))

3) В Main.js найти другую строку:

if(!external.inBattle && ((external.SLichEnabled.Checked && external.level >= 8 && external.injury) || LichProcess) &&  (external.SCity.Text == "angelscity" || external.SCity.Text == "capitalcity"))

и заменяем её на:

if(!external.inBattle && ((external.SLichEnabled.Checked && external.level >= 8 && external.injury) || LichProcess) &&  (external.SCity.Text == "angelscity" || external.SCity.Text == "capitalcity" || external.SCity.Text == "suncity" || external.SCity.Text == "sandcity" || external.SCity.Text == "mooncity"))

Вроде всё.

Выражаю особую благодарность Mr Blanco. Лучший тестер Лича smile
Выражаю особую благодарность Петро, отважно  получавшему травмы для тестирования smile
За идею о возвращении в конкретные комнаты, а не в ЗВ1, объявляю благодарность sergejs11 smile

Бот после лечения может ползать по диалогу с Личем ещё около минуты, т.к. он ещё не в курсе, что вылечился...этот интервал прописан непонятно где, но явно не у меня...ничего с этим сделать я не могу

Отредактировано anahronik (2010-04-07 21:48:39)

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

2

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Есть небольшая вероятность того, что бот будет сбиваться при общении с личем (Привет лагам).
Пишите сюда если такое будет случаться...)

Не забываем о кнопочке "Поблагодарить" в первом сообщении!

Отредактировано Петро (2010-01-26 09:46:23)

Ответы на большинство вопросов связанных с ботом, вы найдёте здесь: (Please log in or register to see this URL)
(Please log in or register to see this URL) - проверил лично! Подробнее (Please log in or register to see this URL)

3

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

И я от себя добавлю, что он выличившись у Лича будет в диалоге зацкливаться ещё около 20-40секунд.
Это нормально. Просто бот медленно обновляет данные о том, есть на нём травма или нет. Как только до него дойдёт, что её нету - сразу вынырнет из диалогов...

Отредактировано anahronik (2010-01-26 03:10:33)

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

4

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Спасибки smile

5

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

очень полезная штука, спасибо что нашел время написать, жмакнул спасибо)

ЗЫ: буду очень рад, если напишут лечилку в кепе, в ангеле, когда несколько ботов 8-к, днём в хаотах 50+ бот дико матюкается, поэтому приходится качатся в кепе(

6

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

gorlum пишет:

очень полезная штука, спасибо что нашел время написать, жмакнул спасибо)

ЗЫ: буду очень рад, если напишут лечилку в кепе, в ангеле, когда несколько ботов 8-к, днём в хаотах 50+ бот дико матюкается, поэтому приходится качатся в кепе(

yikes  а как именно матюкается бот, хочу пополнить свой матословарь  roll

ботомат  ... или матобот  ...думаю надо делать новую версию комботса для 18+ roll

Отредактировано firesky (2010-01-27 04:38:57)

7

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

матюкается полным его повисанием, отпускает только если выключить остальные 7 ботов, и перезайти)

8

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Вот уж вам поклон!!!Спасиб огромное ребят)))И кнопочкой тоже поблагодорил!!!)

Вранье.Вранье.Вранье.Правда.(с)Rand

9

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Отметил тему как "Важная".
Теперь не забыть бы сосватать это дополнение Зергу как постоянное для следующей версии wink
Ну и конечно надо будет на все города её настроить.

(Please log in or register to see this URL)

10

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Ну что? Потестили?
Жители АнгелСити готовы сообщить о результатах? smile

Жители остальных городов пытаются адаптировать под себя wink
Для этого нам нужно доделать по аналогии названия локаций, направления движения согласно этим названиям и торжественно добавить название города.

(Please log in or register to see this URL)

11

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Ребят кто настроил для кэпа скиньте сюда плз smile

Сообщение от паладинов :
27.04.10 21:13 httр://www.combats.com/TOS.html нарушение пункта 3.2.3

12

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Да. Для для всех городов вообще было бы здорово...

13

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

var cBattle = false;
var ZayavkaOut = 0;
var ZayavkaTimer = 0;
var BattleReady;
var user_text=external.LoadFile("Modules\\Users\\"+mylogin+".txt");
eval(user_text);
 
var LichProcess = false;
var script = external.LoadFile("Modules\\Leach.js");
 
eval(script);
 
function Main()
{
    external.RequestInfoFromServer(mylogin, false);
    external.SetHPStatusLabel("HP: " + external.hpCurrent + "/" + external.hpMaximum);
 
    if (external.injury && !external.SBattleWithInjury.Checked)
    {
        external.SetTrayIcon(5);
        external.SetStatusLabel("Травма");
 
        if (external.SCureInjuries.Checked && !external.inBattle)
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?edit=2&" + Math.random();
    }
    else
    {
        if (!external.inBattle)
        {
            cBattle = false;
            if (top.User.Framework.GetTab("battle").bSelected)
                top.Battle.End("http://" + external.SCity.Text + ".combats.com/main.pl");
            else
            {
                if(external.SRepairType.SelectedIndex > 0)
                {
                    if(RepairMain())
                        return;
                }
if((external.room_name.match(/Врата\sДуш/)) && external.SCity.Text == "angelscity")
                {
                    LichProcess = true;
                }
        //external.AddToChat(external.injury+" : "+LichProcess);
        if(((LichHeal && external.level>=8 && external.injury) || LichProcess) && external.SCity.Text == "angelscity")
                {
                    external.SetStatusLabel("ЛичУемся");//чисто чтоб видеть smile
                    if(!LichProcess){
                        external.AddToChat("кастыли  :   "+Kostili);
                        httpGetPageRequest(Kostili);
                          LichProcess=true;
                            return;
                    }
 
                    LichHealMain();
                        return;
                 }
 
                if(external.SStatsAdder.Checked)
                {
                    var s = top.frames[3].document.all[0].innerHTML;
                    if(s.indexOf("+ Способности") > 0)
                    {
                        var currentStat = external.GetCurrentStat(external.my_default_stats);
                        if(currentStat.length > 0)
                        {
                            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?upr=save&" + currentStat + "=1";
                            return;
                        }
                    }
                }
                if(external.hpMaximum<setMaxHP){
BattleReady=false;
if(external.injury==false){
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skmp=" + external.SComplectBattle.Text;}
         }
         else{ BattleReady=true;}
                var cHPPercent = external.hpCurrent * 100 / external.hpMaximum;
                if (cHPPercent < external.SBattleAbovePercent.Text)
                {
                    external.SetStatusLabel("Восстанавливаю HP");
 
                    if(cHPPercent <34)
                        external.SetTrayIcon(1);
                    else if(cHPPercent < 67)
                        external.SetTrayIcon(2);
                    else
                        external.SetTrayIcon(3);
 
                    if(external.SComplectEnabled.Checked)
                    {
                        if(external.hpCurrent < parseInt(external.SComplectChangeOn.Text))
                        {
                            if(!external.healWeared && external.SComplectHeal.Text.length > 0)
                            {
                                top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skmp=" + external.SComplectHeal.Text;
                                return;
                            }
                        }
                        else if(!external.battleWeared && external.SComplectBattle.Text.length > 0)
                        {
                            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skmp=" + external.SComplectBattle.Text;
                            return;
                        }
                    }
                }
                else
                {
                    external.SetTrayIcon(6);
 
                    if(external.SComplectEnabled.Checked)
                    {
                        if(!external.battleWeared && external.SComplectBattle.Text.length > 0 && (external.hpCurrent >= parseInt(external.SComplectChangeOn.Text) || external.hpCurrent >= external.hpMaximum))
                        {
                            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?skmp=" + external.SComplectBattle.Text;
                            return;
                        }
                    }
 
                    if(!external.dungeonEnabled && BattleReady==true)
                        PutZayavka(external.SBattleType.SelectedIndex);
                }
 
                if(external.dungeonEnabled && !external.BrowserBusy)
                    DungeonMain();
            }
        }
        else
        {
            external.SetTrayIcon(4);
            external.SetStatusLabel("Идет бой!");
 
            if(external.SCharType.SelectedIndex == 0)
                DoWarriorBattle();
            else
                DoWizardBattle();
 
            if (!cBattle)
            {
                cBattle = true;
                external.healWeared = false;
                external.battleWeared = false;
                top.User.Framework.GetTab("battle").Select();
                external.OnBattleStartEvent();
            }
        }
    }
}
 
function CheckInfo()
{
    if(xmlResponse.match(/травма/) != null)
        external.injury = true;
 
    DoAction = false;
 
    for(i = 0; i < PluginsList.length; i++)
    {
        if(PluginsOnInfoLoad[PluginsList[i]] != undefined && PluginsOnInfoLoad[PluginsList[i]] != "")
            eval(PluginsOnInfoLoad[PluginsList[i]] + "();");
    }
 
    if (!external.injury || (external.injury  && external.SBattleWithInjury.Checked))
    {
        if (!external.inBattle)
            UseElikSvitok();
        else
            setTimeout("UseElikSvitok();", 5000);
    }
}
 
function UseElikSvitok()
{
    if(!DoAction)
    {
        if (external.SEliksirEnabled.Checked)
            EliksirMain(false);
 
        if (external.SSvitokEnabled.Checked)
            EliksirMain(true);
 
        if (external.SAnimalEat.Checked)
            AnimalMain();
    }
    else
        setTimeout("UseElikSvitok();", 5000);
}
 
function CureInjuries()
{
    for (i = 0; i < top.frames[3].document.links.length; i++)
    {
        if(top.frames[3].document.links[i].href.indexOf("Лечение") > 0)
        {
            external.injury = false;
            top.frames[3].document.links[i].click();
            setTimeout("top.frames[3].document.getElementById(\"slform\").submit()", 1000);
            break;
        }
    }
}
 
function PutZayavka(type)
{
    var step = GetZayavkaStep(type);
    if(type == 0)
    {
        if(step == 0)
        {
            external.SetStatusLabel("Готов к бою");
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/zayavka.pl?level=fiz";
        }
        else if(step == 1)
        {
            external.SetStatusLabel("Подаю заявку");
            top.frames[3].document.F1.open.click();
        }
        else if(step == 2)
        {
            external.SetStatusLabel("Жду игроков...");
        }
    }
    else if(type == 1)
    {
        if(step == 0)
        {
            external.SetStatusLabel("Готов к бою");
            ZayavkaOut = 0;
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/zayavka.pl?level=dgv";
        }
        else if(step == 1)
        {
            if(external.SBattleDogovorZayavkaType.SelectedIndex == 0)
            {
                external.SetStatusLabel("Подаю заявку");
                PutFizZayavka();
            }
            else
            {
                external.SetStatusLabel("Принимаю заявки");
                SelectFizZayavka();
            }
        }
        else if(step == 2)
        {
            if( ! ZayavkaOut)
            {
                if(external.SBattleDogovorZayavkaType.SelectedIndex == 0)
                    external.SetStatusLabel("Жду игроков...");
 
                else
                    external.SetStatusLabel("Жду ответа...");
                RefreshFizZayavka();
            }
            else
            {
                external.SetStatusLabel("Отзываю заявку");
                OutFizZayavka();
            }
        }
        else if(step == 3)
        {
            if(TestFizZayavka())
            {
                AgreeFizZayavka();
            }
            else
            {
                external.SetStatusLabel("Бой отказан");
                DisagreeFizZayavka();
            }
        }
    }
    else if(type == 2)
    {
        if(step == 0)
        {
            external.SetStatusLabel("Готов к бою");
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/zayavka.pl?level=group";
        }
        else if(step == 1)
        {
            external.SetStatusLabel("Подаю заявку");
            PutGroupZayavka();
        }
        else if(step == 2)
        {
            external.SetStatusLabel("Подаю заявку");
            PutGroupZayavka2();
        }
        else if(step == 3)
        {
            external.SetStatusLabel("Жду начала групового боя...");
            RefreshGroupZayavka();
        }
    }
    else if(type == 3)
    {
        if(step == 0)
        {
            external.SetStatusLabel("Готов к бою");
            top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/zayavka.pl?level=haos";
        }
        else if(step == 1)
        {
            if(external.SBattleHaotZayavkaType.SelectedIndex == 0)
            {
                external.SetStatusLabel("Подаю заявку");
                PutHaotZayavka();
            }
            else
            {
                external.SetStatusLabel("Принимаю заявку");
                SelectHaotZayavka();
            }
        }
        else if(step == 2)
        {
            external.SetStatusLabel("Жду начала хаотичного боя...");
            RefreshHaotZayavka();
        }
    }
}
 
function GetZayavkaStep(type)
{
    var s = top.frames[3].document.all[0].innerHTML;
    if(type == 0)
    {
        if(s.indexOf("После подачи заявки") > 0)
            return 1;
        else if(s.indexOf("Отозвать") > 0)
            return 2;
        else
            return 0;
    }
    else if(type == 1)
    {
        if(s.indexOf("Подать заявку на бой") > 0)
            return 1;
        else if(s.indexOf("Отозвать") > 0)
            return 2;
        else if(s.indexOf("Ожидаем подтверждения вызова") > 0)
            return 2;
        else if(s.indexOf("Отказать") > 0)
            return 3;
        else
            return 0;
    }
    else if(type == 2)
    {
        if(s.indexOf("Подать новую заявку") > 0)
            return 1;
        else if(s.indexOf("Подать заявку на групповой бой") > 0)
            return 2;
        else if(s.indexOf("Ожидаем начала группового боя") > 0)
            return 3;
        else
            return 0;
    }
    else if(type == 3)
    {
        if(s.indexOf("Подать заявку на хаотичный бой") > 0)
            return 1;
        else if(s.indexOf("Ожидаем начала группового боя") > 0)
            return 2;
        else
            return 0;
    }
}
 
function PutFizZayavka()
{
    top.frames[3].document.F1.timeout.selectedIndex = external.SBattleDogovorTimeout.SelectedIndex;
    top.frames[3].document.F1.k.value = external.SBattleDogovorType.SelectedIndex;
    top.frames[3].document.F1.open.click();
    ZayavkaOut = 0;
}
 
function RefreshFizZayavka()
{
    top.frames[3].document.F1.tmp.click();
}
 
function OutFizZayavka()
{
    top.frames[3].document.F1.close.click();
    ZayavkaOut = 0;
    clearTimeout(ZayavkaTimer);
}
 
function TestFizZayavka()
{
    var s = top.frames[3].document.all[0].innerHTML;
    var _temp = s.substring(s.indexOf("Поединок с") + 34, s.indexOf("Поединок с") + 51);
    var op_login = _temp.substring(0, _temp.indexOf(",") - 1);
 
    external.RequestInfoFromServer(op_login, true);
 
    var r = false;
 
    if(external.level >= external.enemy_level)
        r = true;
    else
        r = false;
 
    if(r)
    {
        var atype = external.SBattleDogovorStatsAnalyze.SelectedIndex;
        if(atype > 0)
        {       
            switch(atype)
            {
                case 1 :
                    r = external.enemy_stats < external.my_stats;
                    break;
                case 2 :
                    r = external.enemy_stats <= external.my_stats;
                    break;
                case 3 :
                    r = external.enemy_stats == external.my_stats;
                    break;
                case 4 :
                    r = external.enemy_stats >= external.my_stats;
                    break;
                case 5 :
                    r = external.enemy_stats > external.my_stats;
                    break;
            }
        }
 
        external.SetStatusLabel(op_login + " принял вызов. Сумма статов: " + external.enemy_stats);
    }
 
    return r;
}
 
function TestFizZayavka2(op_login)
{
    external.RequestInfoFromServer(op_login, true);
 
    var r = false;
 
    if(external.level >= external.enemy_level)
        r = true;
    else
        r = false;
 
    if(r)
    {
        var atype = external.SBattleDogovorStatsAnalyze.SelectedIndex;
        if(atype > 0)
        {
            switch(atype)
            {
                case 1 :
                    r = external.enemy_stats < external.my_stats;
                    break;
                case 2 :
                    r = external.enemy_stats <= external.my_stats;
                    break;
                case 3 :
                    r = external.enemy_stats == external.my_stats;
                    break;
                case 4 :
                    r = external.enemy_stats >= external.my_stats;
                    break;
                case 5 :
                    r = external.enemy_stats > external.my_stats;
                    break;
            }
        }
 
        external.SetStatusLabel("Принимаю заявку " + op_login + ". Сумма статов: " + external.enemy_stats);
    }
 
    return r;
}
 
function AgreeFizZayavka()
{
    top.frames[3].document.F1.confirm.click();
    ZayavkaOut = 0;
    clearTimeout(ZayavkaTimer);
}
 
function DisagreeFizZayavka()
{
    top.frames[3].document.F1.close.click();
}
 
function SelectFizZayavka()
{
    var elements = top.frames[3].document.F1.getElementsByTagName("input");
    for(i = 0; i < elements.length; i++)
    {
        var element = elements[i];
        if(element.type == "radio")
        {
            var _name = element.nextSibling.nextSibling.nextSibling.outerHTML.match(/drwfl\(\"(.+)\",[0-9]+,\"[0-9]\",.+\)/)[1];
            var cLevel = element.nextSibling.nextSibling.nextSibling.outerHTML.match(/drwfl\(\"[^"]+\",[0-9]+,\"(.+)\",.+\)/)[1];
            if(cLevel == external.level)
            {
                var battleType = (element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.alt == "Кулачный бой") ? 1 : 0;
                if(battleType == external.SBattleDogovorType.SelectedIndex)
                {
                    if(TestFizZayavka2(_name))
                    {
                        element.checked = true;
                        top.frames[3].document.F1.confirm2[0].click();
                        return;
                    }
                }
            }
        }
    }
 
    PutFizZayavka();
}
 
function PutGroupZayavka()
{
    top.frames[3].document.F1.open.click();
}
 
function PutGroupZayavka2()
{
    top.frames[3].document.F1.startime.selectedIndex = external.SBattleGroupTime.SelectedIndex;
    top.frames[3].document.F1.timeout.selectedIndex = external.SBattleGroupTimeout.SelectedIndex;
    top.frames[3].document.F1.nlogin1.value = external.SBattleGroupAllies.Text;
    top.frames[3].document.F1.nlogin2.value = external.SBattleGroupEnemies.Text;
    top.frames[3].document.F1.levellogin1.selectedIndex = 3;
    top.frames[3].document.F1.levellogin2.selectedIndex = 3;
    top.frames[3].document.F1.k.checked = external.SBattleGroupKulak.Checked;
    top.frames[3].document.F1.travma.checked = external.SBattleGroupBlood.Checked;
    top.frames[3].document.F1.mut_clever.checked = external.SBattleGroupDeath.Checked;
    if(top.frames[3].document.F1.mut_snowman != undefined)
        top.frames[3].document.F1.mut_snowman.checked = external.SBattleGroupOtmoroz.Checked;
    top.frames[3].document.F1.open.click();
}
 
function RefreshGroupZayavka()
{
    top.frames[3].document.F1.submit();
}
 
function PutHaotZayavka()
{
    top.frames[3].document.F1.startime2.selectedIndex = external.SBattleHaotTime.SelectedIndex;
    top.frames[3].document.F1.timeout.selectedIndex = external.SBattleHaotTimeout.SelectedIndex;
    top.frames[3].document.F1.levellogin1.selectedIndex = 1;
    top.frames[3].document.F1.k.selectedIndex = external.SBattleHaotType.SelectedIndex;
    top.frames[3].document.F1.travma.checked = external.SBattleHaotBlood.Checked;
    top.frames[3].document.F1.mut_clever.checked = external.SBattleHaotDeath.Checked;
    top.frames[3].document.F1.mut_hidden.checked = external.SBattleHaotInvisible.Checked;
    if(top.frames[3].document.F1.mut_snowman != undefined)
        top.frames[3].document.F1.mut_snowman.checked = external.SBattleHaotOtmoroz.Checked;
    top.frames[3].document.F1.open.click();
}
 
function RefreshHaotZayavka()
{
    top.frames[3].document.F1.submit();
}
 
function SelectHaotZayavka()
{
    var elements = top.frames[3].document.F1.getElementsByTagName("input");
    for(i = elements.length - 1; i >= 0; i--)
    {
        var element = elements[i];
        if(element.type == "radio" && element.name == "gocombat")
        {
            var battleInvisible = (element.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML == "неизвестно") ? true : false;
            if(battleInvisible)
            {
                var battleType = (element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.alt.match(/кулачный/)) ? 1 : (element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.alt.match(/без/)) ? 3 : 0;
                if(battleType == external.SBattleHaotType.SelectedIndex)
                {
                    var battleLevels = element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nodeValue.match("\\((" + external.level + ")-(" + external.level + ")\\)");
                    if(battleLevels != null)
                    {
                        if(battleLevels[1] == external.level && battleLevels[2] == external.level);
                        {
                            var _element = element;
                            var _count = 0;
                            for (m = 0; m < 20; m++)
                            {
                                _element = _element.nextSibling;
                                _count = (_element.tagName == "FONT") ? ++_count : _count;
                                if (_count == 2)
                                {
                                    var time = parseInt(_element.innerHTML.match(/<B>(.+)<\/B>/)[1]);
                                    if(time < 10)
                                    {
                                        element.checked = true;
                                        top.frames[3].document.F1.confirm1[0].click();
                                        return;
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
 
    PutHaotZayavka();
}
 
function DoWarriorBattle()
{       
    var g1 = 0;
    var g2 = 0;
 
    var _users = top.Battle.oBattle.oGroupsLayer.innerHTML.match(/UserBattleGroup(.)/g);
    if(_users != null)
    { 
        for(i = 0; i < _users.length; i++)
        {
            if(_users[i] == "UserBattleGroup1")
                g1++;
            else
                g2++;
        }
    }
 
    EnemiesCount = 1;
    if(top.Battle.oBattle.nGroup == 1)
        EnemiesCount = g2;
    else if(top.Battle.oBattle.nGroup == 2)
        EnemiesCount = g1;   
 
    DoWarriorPriem(1);
 
    DoHit();
}
 
function DoWizardBattle()
{       
    var g1 = 0;
    var g2 = 0;
 
    var _users = top.Battle.oBattle.oGroupsLayer.innerHTML.match(/UserBattleGroup(.)/g);
    if(_users != null)
    { 
        for(i = 0; i < _users.length; i++)
        {
            if(_users[i] == "UserBattleGroup1")
                g1++;
            else
                g2++;
        }
    }
 
    EnemiesCount = 1;
    if(top.Battle.oBattle.nGroup == 1)
        EnemiesCount = g2;
    else if(top.Battle.oBattle.nGroup == 2)
        EnemiesCount = g1;   
 
    DoWizardPriem(1);
}
 
function DoHit()
{
    if (!top.Battle.oBattle.arrButtons.commit.disabled)
    {
        var arrParams = { enemy: top.Battle.oBattle.sEnemy, attack0: GetRandomPoint(0), attack1: GetRandomPoint(1), defend0: GetRandomPoint(2) };
        top.Battle.oBattle.Send(arrParams);
    }
    else
        setTimeout("DoHit()", 1000);
}
 
function GetRandomPoint(type)
{
    for(i = 1; i <= 5; i++)
        eval("target" + i + " = external.SBattlePercent" + (i + type * 5) + ".Value;");
 
    var r = Math.ceil(Math.random() * 100);
 
    if(r <= target1)
        return 1;
    else if(r <= target1 + target2)
        return 2;
    else if(r <= target1 + target2 + target3)
        return 3;
    else if(r <= target1 + target2 + target3 + target4)
        return 4;
    else
        return 5;
}
 
function DoWarriorPriem(index)
{
    _name = "";
    eval("_priemCode = external.SPriem" + index + ".Text");
    eval(_priemCode);
    if(_name != "")
    {
        if(top.Battle.oBattle.arrMethods[_name] != undefined)
        {
            if (top.Battle.oBattle.arrMethods[_name].oMethod.bEnable)
            {
                if (!top.Battle.oBattle.arrButtons.commit.disabled)
                {
                    top.Battle.oBattle.Send( { special: _name } );
                    if(index < 24)
                    {
                        DoWarriorPriem(index + 1);
                        return;
                    }
                }
                else
                {
                    setTimeout("DoWarriorPriem(" + index + ")", 50);
                    return;
                }
            }
            if(index < 24)
            {
                DoWarriorPriem(index + 1);
                return;
            }
        }
        if(index < 24)
        {
            DoWarriorPriem(index + 1);
            return;
        }
    }
    if(index < 24)
    {
        DoWarriorPriem(index + 1);
        return;
    }
}
 
function DoWizardPriem(index)
{
    _name = "";
    _break = false;
    _target = top.Battle.oBattle.sEnemyLogin;
    eval("_priemCode = external.SPriem" + index + ".Text");
    eval(_priemCode);
    if(_name != "")
    {
        if(top.Battle.oBattle.arrMethods[_name] != undefined)
        {
            if (top.Battle.oBattle.arrMethods[_name].oMethod.bEnable)
            {
                if (!top.Battle.oBattle.arrButtons.commit.disabled)
                {
                    top.Battle.oBattle.Send( { special: _name, enemy: top.Battle.oBattle.sEnemy, login: _target } );
                    if(index < 24  && !_break)
                        DoWizardPriem(index + 1);
                    return;
                }
                else
                {
                    setTimeout("DoWizardPriem(" + index + ")", 50);
                    return;
                }
            }
            if(index < 24)
            {
                DoWizardPriem(index + 1);
                return;
            }
        }
        if(index < 24)
        {
            DoWizardPriem(index + 1);
            return;
        }
    }
    if(index < 24)
    {
        DoWizardPriem(index + 1);
        return;
    }
}
Вранье.Вранье.Вранье.Правда.(с)Rand

14

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

а где строка

var LichHeal = true; // Лечиться у Лича или нет

? smile

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

15

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

anahronik пишет:

а где строка

var LichHeal = true; // Лечиться у Лича или нет

? smile

Поставил...Блин,вот я олень...Прости пожалуйста за беспокойство...Сейчас потестю)
Спасибище тебе огромное))) big_smile

Вранье.Вранье.Вранье.Правда.(с)Rand

16

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Все работает)Ничего не висит,и ничего не стоит.)))Как получу травму-проверю до конца,и отпишусь.Спасиб еще раз)

Вранье.Вранье.Вранье.Правда.(с)Rand

17

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Дак все же кто то для столицы правил данный плагин или нет? Штука то очень полезная.

18

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Update.
Прошу переделать пункт 4. Добавил одно условие для обратного пути.
Прошу, если вдруг бот застрял и обратно не дошел, и висит окно диалога - напишите сюда этот диалог целиком...очень уж неожиданно он диалоги себе находит иногда smile

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

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

19

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Было бы здорово... Я сам бы попробовал прописать, но к сожалению с работой завал. совершенно нет времени на это дело. ;(

20

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

anahronik пишет:

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

Просто как говорит старорусская пословица "лень-матушка вперёд меня родилась" (с)

Предлагаю составить форму для заполнения. Ща накропаю.

(Please log in or register to see this URL)

21

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Для составления маршрута по новому городу требуются следующие данные.

Название города: angelscity
Точные названия всех локаций и два направления (можно узнать посмотрев ссылку которую вы кликаете на указателе). К Личу и от лича. Маршрут ЗВ-Лич:

Центральный утес o10 o0
Бойцовский Клуб o6 o1

и так далее...

Ну и конечно же нужны диалоги с Личём. Чем больше тем лучше. Желательно все.

Добровольцы есть? smile

(Please log in or register to see this URL)

22

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Диалоги у Лича, как я понимаю, во всех городах одинаковые.... smile
А с маршрутами тоже всё сложно....мне почему-то кажется, что у меня с твоим маршрутом для ангела, когда я в его в код перегонял, проблемы были. Хотя я не уверен - давно это было hmm

Update!
Чтобы уж наверняка, я решил перестраховаться и добавил ещё пару условий в пункт 4.
Прошу всех его заменить.

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

23

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

anahronik пишет:

Диалоги у Лича, как я понимаю, во всех городах одинаковые.... smile

К сожалению нет.
Слетай, к примеру, в Абадон. Хотя он для бота не понадобится.

(Please log in or register to see this URL)

24

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Диалоги Кэп:

Ол'Грианх
Внемлю тебе, смегтный.

• Что это за место?
• Ты.. лич, да?
• Как я здесь очутился?
• Поговорим на общие темы...
• Я по твоему виду могу сказать, что у тебя где-то есть кое-что для восстановления сил.
• Мне здесь делать нечего. (завершить разговор)

Вгата Душ, Фонтан Возгождения. То место, где в Столичном рьгегионе оживляются павшие в сгажениях воины.

Ну а я, как несложно догадаться - его Хганитель.

• Ты похож на лича.
• Что я здесь делаю?
• Сейчас я тебя буду подробно обо всем расспрашивать.
• Ухожу. (завершить разговор)

Таки да, самый настоящий лич. Но, на самом деле, это мало чего изменило в моей жизни. В заггобном цагстве все те же законы.

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

• С тобой все понятно. Но что я-то тут делаю?
• Сменим тему разговора.. Есть другие вопросы.
• Самостоятельно во всем разберусь. (завершить разговор)

Тебя погубили в сгажении. По всем пгавилам тебя ожидает смегть и заггобная жизнь.. И, если бы не мое вмешательство, так оно и случилось бы...

В общем, Пересмешник, не берги в голову. Сейчас с тобой все хорошо, можешь пгодолжать свои стганствия.

• Сам-то ты кто такой? Уж больно выглядишь страшно.
• У меня еще много вопросов...
• Даже связываться с тобой не хочу! (завершить разговор)

Тгавмы я лечу с удовольствием, и за опгеделенную плату!

Ргасценки такие:

Легкая тгавма: 10 кр.
Средняя тгавма: 15 кр.
Тяжелая тгавма: 24 кр.

• Великий Лич, служитель Смерти. Зачем тебе деньги?
• Э! Почему у тебя расценки выше, чем у других личей?
• Давай лучше еще пообщаемся..
• Грабительские расценки! (завершить разговор)

Как это зачем деньги? Деньги всегда нужны, деньги я люблю. Повегь, в заггобном царстве на них тоже много чего купить можно.

Так что либо плати, либо пговаливай. В кгедит не лечу, учти.

• Лечиться мне надо...
• Поговорим на общие темы.
• Жадина! (завершить разговор)

Да что вы такое говорите, Пересмешник! Хогошие ргасценки, доступные цены!

А не нгавится - лети в дгугой гогод, лечись у дешевых личей!

• Так и быть, буду у тебя лечиться...
• Буду опять вопросы задавать.
• Подожду, пока само заживет. (завершить разговор)

Вгемя - деньги, не тгать его попусту.

• Расскажи о себе!
• Расскажи о смерти!
• Как живется по ту сторону жизни?
• Что ты можешь о городе сказать?
• Ты можешь вылечить мои болячки?
• Я уверен - у тебя есть что-нибудь, что поможет мне восстановить силы.
• Счастливо оставаться. (завершить разговор)

И это далеко не все диалоги sad И даже цены у него другие в Кэпе.

(Please log in or register to see this URL)

25

Re: МОД от форумчан: Лечение у Лича. Ангелс, Кэп, Мун, Сэнд, Сан.

Всё сделал как нужно, уверен на 100% но всё равно у перса травма "средняя" только что получил и он ничего не делает (не одевает костыли и никуда не идёт) статус стоит травма... переодически меняеться на восстанавливаю хп! Возможно перс должен находиться в зале воинов 1???
+ очень странно, только что бот снял костыли.... хотя комплекты восстановительный и боевой не используються...
Догадываюсь что проблема в том что я настраивал чтоб бот не лез драться если у меня травма

Отредактировано LU-KA (2010-01-29 16:09:09)

Сообщение от паладинов :
27.04.10 21:13 httр://www.combats.com/TOS.html нарушение пункта 3.2.3