51

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

как прописать условие - если количество хп противника меньше чем 17 и больше чем 0 использовать "Контузию"? А то бывает использует контузию когда "Выполняеться инициальзация" а в это время у меня и у противника хп равны 0
Я пробывал следующие, но бот стопорился:

if(top.Battle.oBattle.oEnemySlot.nHP < 16) && if(top.Battle.oBattle.oEnemySlot.nHP > 0) 
_name = "block_aftershock";

Отредактировано SnaF (2010-01-24 22:23:12)

Интуиция - это способность головы чуять жопой.

52

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

SnaF пишет:

как прописать условие - если количество хп противника меньше чем 17 и больше чем 0 использовать "Контузию"? А то бывает использует контузию когда "Выполняеться инициальзация" а в это время у меня и у противника хп равны 0
Я пробывал следующие, но бот стопорился:

if(top.Battle.oBattle.oEnemySlot.nHP < 16) && if(top.Battle.oBattle.oEnemySlot.nHP > 0) 
_name = "block_aftershock";

попробуй

if (top.Battle.oBattle.oEnemySlot.nHP <= 16 && top.Battle.oBattle.oEnemySlot.nHP > 0) 
    _name = "block_aftershock";
1, 2, 3, 4, 5, 6-6-6!

53

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

ZhEkA_BK Спасибо, снова я на этой шняге прокололся))

Интуиция - это способность головы чуять жопой.

54

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Пишу от имени всех лучников, которые юзают бота))
       Лук - штука стратегичная и довольно "человеческая". Всё бы хорошо, но речь пойдёт о приёме "Выбрать Цель"
       В двух словах о приёме. Его я юзаю для уничтожения критов/магов/увёртов через танков. Итак, если на размене стоит крит, то я выбираю Цель, жмакаю "ок", меня противника на танка и стреляю через него (и всех последующих танков (а в противном случает опять же меняю противника)) по выбранной цели. В итоге: Я луплю крита безответками, а получаю удар дубиной без блока (огромный шанс того, что танк промахивается, т.к. у меня ловки 100+). Вот собственно и всё
       Итак, реаьлно ли это "объяснить" боту?
К примеру
  Если
у противника на размене > 80 ловки (инты, интеллекта)
  То
Выбрать Цель, ок, смена противника (если возможно, если нет - призрачка, вперёд)
  Иначе
Вперёд.

Я не программист, а очень хотелось бы услышать мнение последнего, если кто разбирается)))
Спасибо за внимание

Играть в БК руками?! Да вы с ума сошли!!!

55

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

есть "небольшая" сложность smile на кого менять цель? smile

1, 2, 3, 4, 5, 6-6-6!

56

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Хм... Из топов вые вычитал, что "считать" статы того, на кого меняешь цель - нееально. Ок, хорошо... А как насчёт хп? Лучнику нужно сменить цель на танка. Танк отличается тем, что у него 1200+хп. Так может на него цель и меняем? Как это воплотить в код - понятия не имею (см. мой ник (: )

Играть в БК руками?! Да вы с ума сошли!!!

57

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

блин.начал разбираться с этим модом,раза 3 все перечитал и все равно чтото не улавил!кто подскажет,то что написано в начале темы работает или надо делать еще изменения,написаные позже???

!!!!!!!

58

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Если я создаю тему - значит в первом сообщении всегда последняя версия.

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

59

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

ок.спасибо.буду махинировать.

!!!!!!!

60

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" || external.SCity.Text == "capitalcity"))
                {
                    LichProcess = true;
                }
        //external.AddToChat(external.injury+" : "+LichProcess);
        if(((LichHeal && external.level>=8 && external.injury) || LichProcess) && (external.SCity.Text == "angelscity" || external.SCity.Text == "capitalcity"))
                {
                    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 DoWarriorBattle()
{
var k = document.all[0].innerHTML;
var name = top.Battle.oBattle.sEnemyLogin;
if(name==top.Battle.oBattle.sMyLogin)name="1";
name = name.replace(/\(/g,"\\(");
name = name.replace(/\-/g,"\\-");
name = name.replace(/\)/g,"\\)");
stati = k.match(name+"\<\/B\>\<BR\>Сила\: ([\-]{0,1}[0-9]+)\<BR\>Ловкость\: ([\-]{0,1}[0-9]+)\<BR\>Интуиция: ([\-]{0,1}[0-9]+)\<BR\>Выносливость: ([\-]{0,1}[0-9]+)\<BR\>(?:.){0,11}([\-]{0,1}[0-9]{0,3})");
Sila = stati[1];
Lovka = stati[2];
Inta = stati[3];
Vinos = stati[4];
if(stati[5]!="")Intell = stati[5];
else Intell = 0;
var checked = 0;
for(x=0;x<top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ").length;x++)
{
var currEnemyLayer = top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ")[x];
if(currEnemyLayer.match("/underline\".{1,2} \?\>"+name+"\</")){
IsUnderlined = true;
checked = 1;
}
if(checked == 0)
IsUnderlined = false;
}
 
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length;
 
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
 
DoWarriorPriem(1);
 
DoHit();
}
 
 
function DoWizardBattle()
{
var k = document.all[0].innerHTML;
var name = top.Battle.oBattle.sEnemyLogin;
if(name==top.Battle.oBattle.sMyLogin)name="1";
name = name.replace(/\(/g,"\\(");
name = name.replace(/\-/g,"\\-");
name = name.replace(/\)/g,"\\)");
stati = k.match(name+"\<\/B\>\<BR\>Сила\: ([\-]{0,1}[0-9]+)\<BR\>Ловкость\: ([\-]{0,1}[0-9]+)\<BR\>Интуиция: ([\-]{0,1}[0-9]+)\<BR\>Выносливость: ([\-]{0,1}[0-9]+)\<BR\>(?:.){0,11}([\-]{0,1}[0-9]{0,3})");
Sila = stati[1];
Lovka = stati[2];
Inta = stati[3];
Vinos = stati[4];
if(stati[5]!="")Intell = stati[5];
else Intell = 0;
 
var checked = 0;
for(x=0;x<top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ").length;x++)
{
var currEnemyLayer = top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ")[x];
if(currEnemyLayer.match("/underline\".{1,2} \?\>"+name+"\</")){
IsUnderlined = true;
checked = 1;
}
if(checked == 0)
IsUnderlined = false;
}
 
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length;
 
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
 
DoWizardPriem(1);
}

Посмотрите плиз...

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

61

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

function DoWarriorBattle() и function DoWizzardBattle() надо было не вставлять, а заменять существующие...
у тебя в файле по два раза функции повторяются - две старые нужно удалить

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

62

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" || external.SCity.Text == "capitalcity"))
                {
                    LichProcess = true;
                }
        //external.AddToChat(external.injury+" : "+LichProcess);
        if(((LichHeal && external.level>=8 && external.injury) || LichProcess) && (external.SCity.Text == "angelscity" || external.SCity.Text == "capitalcity"))
                {
                    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 k = document.all[0].innerHTML;
var name = top.Battle.oBattle.sEnemyLogin;
if(name==top.Battle.oBattle.sMyLogin)name="1";
name = name.replace(/\(/g,"\\(");
name = name.replace(/\-/g,"\\-");
name = name.replace(/\)/g,"\\)");
stati = k.match(name+"\<\/B\>\<BR\>Сила\: ([\-]{0,1}[0-9]+)\<BR\>Ловкость\: ([\-]{0,1}[0-9]+)\<BR\>Интуиция: ([\-]{0,1}[0-9]+)\<BR\>Выносливость: ([\-]{0,1}[0-9]+)\<BR\>(?:.){0,11}([\-]{0,1}[0-9]{0,3})");
Sila = stati[1];
Lovka = stati[2];
Inta = stati[3];
Vinos = stati[4];
if(stati[5]!="")Intell = stati[5];
else Intell = 0;
var checked = 0;
for(x=0;x<top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ").length;x++)
{
var currEnemyLayer = top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ")[x];
if(currEnemyLayer.match("/underline\".{1,2} \?\>"+name+"\</")){
IsUnderlined = true;
checked = 1;
}
if(checked == 0)
IsUnderlined = false;
}
 
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length;
 
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
 
DoWarriorPriem(1);
 
DoHit();
}
 
 
function DoWizardBattle()
{
var k = document.all[0].innerHTML;
var name = top.Battle.oBattle.sEnemyLogin;
if(name==top.Battle.oBattle.sMyLogin)name="1";
name = name.replace(/\(/g,"\\(");
name = name.replace(/\-/g,"\\-");
name = name.replace(/\)/g,"\\)");
stati = k.match(name+"\<\/B\>\<BR\>Сила\: ([\-]{0,1}[0-9]+)\<BR\>Ловкость\: ([\-]{0,1}[0-9]+)\<BR\>Интуиция: ([\-]{0,1}[0-9]+)\<BR\>Выносливость: ([\-]{0,1}[0-9]+)\<BR\>(?:.){0,11}([\-]{0,1}[0-9]{0,3})");
Sila = stati[1];
Lovka = stati[2];
Inta = stati[3];
Vinos = stati[4];
if(stati[5]!="")Intell = stati[5];
else Intell = 0;
 
var checked = 0;
for(x=0;x<top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ").length;x++)
{
var currEnemyLayer = top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ")[x];
if(currEnemyLayer.match("/underline\".{1,2} \?\>"+name+"\</")){
IsUnderlined = true;
checked = 1;
}
if(checked == 0)
IsUnderlined = false;
}
 
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length;
 
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
 
DoWizardPriem(1);
}

Так правильно будет?

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

63

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Вроде да...

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

64

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

сейчас проверю.


проверку обязательно ставить в прием?

Отредактировано Mr Blanco (2010-02-01 01:23:19)

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

65

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Стоит мертво.Даже не пытается что-то сделать...

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

66

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" || external.SCity.Text == "capitalcity"))
{
LichProcess = true;
}
//external.AddToChat(external.injury+" : "+LichProcess);
if(((LichHeal && external.level>=8 && external.injury) || LichProcess) && (external.SCity.Text == "angelscity" || external.SCity.Text == "capitalcity"))
{
external.SetStatusLabel("ЛичУемся");//чисто чтоб видеть 
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 k = document.all[0].innerHTML;
var name = top.Battle.oBattle.sEnemyLogin;
if(name==top.Battle.oBattle.sMyLogin)name="1";
name = name.replace(/\(/g,"\\(");
name = name.replace(/\-/g,"\\-");
name = name.replace(/\)/g,"\\)");
stati = k.match(name+"\<\/B\>\<BR\>Сила\: ([\-]{0,1}[0-9]+)\<BR\>Ловкость\: ([\-]{0,1}[0-9]+)\<BR\>Интуиция: ([\-]{0,1}[0-9]+)\<BR\>Выносливость: ([\-]{0,1}[0-9]+)\<BR\>(?:.){0,11}([\-]{0,1}[0-9]{0,3})");
Sila = stati[1];
Lovka = stati[2];
Inta = stati[3];
Vinos = stati[4];
if(stati[5]!="")Intell = stati[5];
else Intell = 0;
var checked = 0;
for(x=0;x<top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ").length;x++)
{
var currEnemyLayer = top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ")[x];
if(currEnemyLayer.match("/underline\".{1,2} \?\>"+name+"\</")){
IsUnderlined = true;
checked = 1;
}
if(checked == 0)
IsUnderlined = false;
}
 
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length;
 
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
 
DoWarriorPriem(1);
 
DoHit();
}
 
function DoWizardBattle()
{
var k = document.all[0].innerHTML;
var name = top.Battle.oBattle.sEnemyLogin;
if(name==top.Battle.oBattle.sMyLogin)name="1";
name = name.replace(/\(/g,"\\(");
name = name.replace(/\-/g,"\\-");
name = name.replace(/\)/g,"\\)");
stati = k.match(name+"\<\/B\>\<BR\>Сила\: ([\-]{0,1}[0-9]+)\<BR\>Ловкость\: ([\-]{0,1}[0-9]+)\<BR\>Интуиция: ([\-]{0,1}[0-9]+)\<BR\>Выносливость: ([\-]{0,1}[0-9]+)\<BR\>(?:.){0,11}([\-]{0,1}[0-9]{0,3})");
Sila = stati[1];
Lovka = stati[2];
Inta = stati[3];
Vinos = stati[4];
if(stati[5]!="")Intell = stati[5];
else Intell = 0;
 
var checked = 0;
for(x=0;x<top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ").length;x++)
{
var currEnemyLayer = top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ")[x];
if(currEnemyLayer.match("/underline\".{1,2} \?\>"+name+"\</")){
IsUnderlined = true;
checked = 1;
}
if(checked == 0)
IsUnderlined = false;
}
 
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length;
 
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
 
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;
}
Software is like sex: it's better when it's free! © LinusTorvalds

67

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

anahronik пишет:

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

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" || external.SCity.Text == "capitalcity"))
{
LichProcess = true;
}
//external.AddToChat(external.injury+" : "+LichProcess);
if(((LichHeal && external.level>=8 && external.injury) || LichProcess) && (external.SCity.Text == "angelscity" || external.SCity.Text == "capitalcity"))
{
external.SetStatusLabel("ЛичУемся");//чисто чтоб видеть 
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 k = document.all[0].innerHTML;
var name = top.Battle.oBattle.sEnemyLogin;
if(name==top.Battle.oBattle.sMyLogin)name="1";
name = name.replace(/\(/g,"\\(");
name = name.replace(/\-/g,"\\-");
name = name.replace(/\)/g,"\\)");
stati = k.match(name+"\<\/B\>\<BR\>Сила\: ([\-]{0,1}[0-9]+)\<BR\>Ловкость\: ([\-]{0,1}[0-9]+)\<BR\>Интуиция: ([\-]{0,1}[0-9]+)\<BR\>Выносливость: ([\-]{0,1}[0-9]+)\<BR\>(?:.){0,11}([\-]{0,1}[0-9]{0,3})");
Sila = stati[1];
Lovka = stati[2];
Inta = stati[3];
Vinos = stati[4];
if(stati[5]!="")Intell = stati[5];
else Intell = 0;
var checked = 0;
for(x=0;x<top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ").length;x++)
{
var currEnemyLayer = top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ")[x];
if(currEnemyLayer.match("/underline\".{1,2} \?\>"+name+"\</")){
IsUnderlined = true;
checked = 1;
}
if(checked == 0)
IsUnderlined = false;
}
 
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length;
 
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
 
DoWarriorPriem(1);
 
DoHit();
}
 
function DoWizardBattle()
{
var k = document.all[0].innerHTML;
var name = top.Battle.oBattle.sEnemyLogin;
if(name==top.Battle.oBattle.sMyLogin)name="1";
name = name.replace(/\(/g,"\\(");
name = name.replace(/\-/g,"\\-");
name = name.replace(/\)/g,"\\)");
stati = k.match(name+"\<\/B\>\<BR\>Сила\: ([\-]{0,1}[0-9]+)\<BR\>Ловкость\: ([\-]{0,1}[0-9]+)\<BR\>Интуиция: ([\-]{0,1}[0-9]+)\<BR\>Выносливость: ([\-]{0,1}[0-9]+)\<BR\>(?:.){0,11}([\-]{0,1}[0-9]{0,3})");
Sila = stati[1];
Lovka = stati[2];
Inta = stati[3];
Vinos = stati[4];
if(stati[5]!="")Intell = stati[5];
else Intell = 0;
 
var checked = 0;
for(x=0;x<top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ").length;x++)
{
var currEnemyLayer = top.Battle.oBattle.oGroupsLayer.innerHTML.split(", ")[x];
if(currEnemyLayer.match("/underline\".{1,2} \?\>"+name+"\</")){
IsUnderlined = true;
checked = 1;
}
if(checked == 0)
IsUnderlined = false;
}
 
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length;
 
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
 
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;
}

Добрый вечер,сейчас попробую.

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

68

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Не работает...Может скинуть все сразу?Майн,юсер и файл аккаунта?

Просто стоит,фрейм верхний не обновляется вообще,только вручную или через неопределенній промежуток времени.

Отредактировано Mr Blanco (2010-02-01 19:43:10)

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

69

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

sergejs11 пишет:

Не работает...Может скинуть все сразу?Майн,юсер и файл аккаунта?

Верни файл из дистрибутива. Или резервную копию откати.

(Please log in or register to see this URL)

70

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

hyppo пишет:
sergejs11 пишет:

Не работает...Может скинуть все сразу?Майн,юсер и файл аккаунта?

Верни файл из дистрибутива. Или резервную копию откати.

Да вот,уже переставил бота...С окошком справился...Надо заново настраивать...

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

71

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Для тех, кто ещё сомнивается:
Всё работает. Даже у тех, кто тут жаловался(если я никого из виду не упустил).

Update
Мне сказали, что неудобно стало за боями следить, т.к. после смерти бот не обновляет сам окно боя и тупо ждёт завершения.
Исправлено одной строкой

if(top.Battle.oBattle.oMySlot.nHP <=0)top.Battle.oBattle.arrButtons.refresh.click();

О том, куда её вставлять, смотрите самый первый пост в теме.

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

72

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Ты как всегда-на высоте)Спасиб)Вопрос,только верхний фрейм стал обновляться нереально быстро.Не будет проблем,типа ваш IP временно заблокирован и тд,из-за нескольких персов одновременно?)

Отредактировано Mr Blanco (2010-02-16 17:45:01)

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

73

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

Ну уж извини.....раньше он тоже обновлялся с интервалом из настроек бота. smile
такчто не должно smile

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

74

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

а можно как нибудь сделать поверку по комплектам?например если против тебя арб-то юзать полную защиту?

!!!!!!!

75

Re: МОД от форумчан: Учёт параметров противника, гибкая настройка приёмов

if(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) >14 && ( document.all[0].innerHTML.match(/crossbow[\d]+.gif/) || document.all[0].innerHTML.match(/hammer[\d]+.gif/)))
{
_name = "spirit_13_prot_100";
}

изменяй
crossbow - арбалет

Отредактировано d1sc0nn3ct (2010-02-26 23:40:44)