Я наконец(после 1,5месячного перерыва) таки переодел двух своих 7ок и готов к переходу на 8-й...
Практически всё, что писал за это время, проверялось не мной hmm
Я не могу сказать покачто, в чём косяк hmm
Зверь - он же обычный боец и не должен был бы вызвать каких-либо затруднений...
раньше не вызывал ведь? или вызывал, но от меня это скрыли?
А ну ка колитесь все, кто использует эти правки smile

Если менял давно - может виснуть из-за отрицательного параметра у противника(в настоящий момент это исправлено).
Если практически только что, то мои правки не при делах. С ними оно либо сразу не работает, либо всё гладко. Не может посреди боя просто так застрять.

1 678

(347 ответов, оставленных в Настройки / Плагины)

if(top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length>=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[1].sList.split(", ").length*2){
...
}

Или внести изменения из ()
и написать

if(SoratnikiCount>=EnemiesCount*2){
...
}

Обнаружен очередной абсолютно глупый косяк sad

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;

Должно быть так....а было ("IMG")[0] в обоих строках...короче неверно он считал количество противников sad
Извиняюсь.

1 680

(31 ответов, оставленных в Настройки / Плагины)

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

1 681

(31 ответов, оставленных в Настройки / Плагины)

Не помню такого hmm

Вот сейчас сел за пол часика набросал...есественно не проверено
Это плагин. Файл его назвать waiting.js и положить в папку Plugins.

var waitingStatus = false;    //Не трогать.
var priem = "spirit_block25" ;    //Сюда вписать приём, используемый в начале боя. Пофиг, маг или воин указаны в настройках бота.
var bt = 2;             //Количество минут для условия >= таймаут боя.
var btDo = 72000;        //Время ожидания(колличество секунд * 1000). Не забываем оставлять значительный временной резерв для действий бота.
 
function waiting(enabled)
{
    if(enabled)
    {
        PluginsOnLoad["waiting"] = "waitingHandler";
 
    }
    else
    {
        PluginsOnLoad["waiting"] = "";
    }
}
 
function waitingHandler(){
    if (!external.inBattle) waitingStatus = false;
    else{
        if(!waitingStatus){
            BattleTimeout = top.document.all[0].innerHTML.match(/Бой идет с таймаутом \<B\>([0-9]+)\<\/B\>/)[1];
            if(BattleTimeout>=bt){
                external.Stop();
                setTimeout("external.Start();", btDo);
                waitingStatus = true;
                if(external.SCharType.SelectedIndex == 0)
                    top.Battle.oBattle.Send( { special: priem } );
                esle
                    top.Battle.oBattle.Send( { special: priem, enemy: top.Battle.oBattle.sEnemy, login: top.Battle.oBattle.sEnemy } );
            }else{
                waitingStatus = true;
            }
        }
    }
}

Алгоритм работы:
1) Если мы в бою, то сперва вычисляется таймаут в бою.
2) Если таймаут больше или равен указанным в начале файла настройкам(bt), то бот останавливается(полностью) и прописывается, чтоб он запустился через указанный также в начале файла интервал(btDo).
3) Сразу после этого происходит применение приёма, который вы укажите в начале файла(priem).

Переменая waitingStatus является контролирующей процесс и не допускает прогона этого скрипта чаще, чем 1 раз за бой(в соответствии с поставленной задачей).

Работать может исключительно под 8.2. Не ниже. Только в 8.2 появился "external.Stop();".

1 682

(347 ответов, оставленных в Настройки / Плагины)

Это....как сказать....
ParseInt - это не округлить.....это вытащить из строки число. Т.е. напишешь ему строку "bxc13zgf" - он тебе 13 и вернёт.
Parse - разобрать. Int - целое.

Если надо с плавающей точкой значение вытаскивать, то вроде есть функция parseFloat.

var battleType = (element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.alt.match(/кулачный/)) ? 1 : 0;

Вот новая замена для строки.
Теперь если у картинки описания боя фигурирует слово "кулачный", то эта заявка будет игнорироваться(естественно, если в настройках не стоит, что вы дерётесь на кулаках...тогда ничего не игнорируется smile ).
Т.е. плевать, просто групповой кулачный, или кровавый или ещё какая-то помесь...

В игре не проверялась - проверял через DebugBar в собственном созданном файле для удобства.

в методе определения идентификатора hmm
читаем ФАК smile
()

1 685

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

По поводу кросс-браузерности - тут, скорее всего, из-за java-script hmm
Ибо проще написать нормально под осла, чем 10 раз переписывать и отлаживать под все браузеры.
Такчто монопольно их никак не упрекнуть smile
Это как приписка на дисках о системных требованиях...не более.

1 686

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

Кхм.
Для меня тарман - никто.
Самое плохое, что ты фразу "незаконная деятельность" не понял hmm
Что-то мне подсказывает, что УК РФ с пользовательским соглашением БК имеют ряд отличий smile

1 687

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

Мне почему-то кажется, что вполне законная...  neutral

1 688

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

И не говори.....я сам в шоке от такого поворота событий  neutral

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

1 689

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

Нда.....вот нафига ты мне показал это?
Теперь у тебя три благодарности висит от меня за первый мессаг в топе hmm
там действительно от гостя, Барабашки и Гиппо получились благодарности?

1 690

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

SnaF пишет:

А че тогда не нажал на "Сообщить модератору " ? ))

Теперь нажал)))
У меня слабое зрение и рассеяное внимание - не все кнопки замечаю с первого раза )))

1 691

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

На торрент-трэккере тапочек.нет раньше была кнопка "Не нажимать" smile
Если её нажать - весь текст начинал летать по странице smile
прикольно было....жаль убрали smile

1 692

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

И на одну благодарность smile
просто так - кнопка есть, значит надо нажать))))

1 693

(13 ответов, оставленных в Настройки / Плагины)

Ничего не знаю smile
В заголовке темы написано 1-21 smile
Я верю заголовкам smile

1 694

(13 ответов, оставленных в Настройки / Плагины)

var battleLevels = element.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nodeValue.match("\\((1)-(21)\\)");

1 695

(1 ответов, оставленных в Проблемы / Баги / Неполадки)

ZhEkA_BK пишет:

З.Ы: но если будет висеть кровавый кулачный твоего уровня, то он его всеравно примет.

Ну.
Значит тебе партийное задание: как только видишь кровавый кулачный хаот, наводишь мышку на картинку кулака и смотришь, что за текст будет написан в её описании.
А потом кидаешь сюда его...только чтобы точно, буковка в буковку smile

Очередная таже хрень, но с подключаемыми файлами, содержащими значение ХП hmm
Чтоб с одного клиента можно было держать всех и сразу.
Не удобно то, что хотябы 1 раз придётся создать по одному текстовому файлу для каждого своего персонажа smile
Алгоритм:
1) Если maxHP< указываемых, то ставится флаг, чтоб в бой не лез
2) Далее если нет травмы, посылается запрос на одевание комплекта, из поля Боевой комплект в настройках.

все изменения делаются в Main.js. до внесения изменений сделайте резервную копию данного файла

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)

Вставить то, что между "//----------------------------------------------------------"(остальные строки даны для того, чтобы место для вставки найти).
Далее найти

if(!external.dungeonEnabled)
                        PutZayavka(external.SBattleType.SelectedIndex);
                }

Сделать вот так

if(!external.dungeonEnabled && BattleReady==true)
                        PutZayavka(external.SBattleType.SelectedIndex);
                }

В самом начале

var cBattle = false;
var ZayavkaOut = 0;
var ZayavkaTimer = 0;
var BattleReady;
var user_text=external.LoadFile("Modules\\Users\\"+mylogin+".txt");
eval(user_text);

Создать папку Users в папке Modules.
Далее создать в ней текстовые файлы с названием "ТочныйНикПерсонажа.txt" для каждого своего персонажа с содержанием

var setMaxHP=400; //тут ХП, ниже которых становится ясно, что комплект нифига не одет

Ну там Гип хотел себе с одной папки всех запускать - для него написал.... smile


То, что я файлы подключаю не значит, что я не уменю массивами пользоваться...

Алгоритм:
1) Если maxHP< указываемых, то ставится флаг, чтоб в бой не лез
2) Далее если нет травмы, посылается запрос на одевание комплекта, из поля Боевой комплект в настройках.
Короче та же хрень, что и до этого, но без проверки эффекта от элексира.

все изменения делаются в Main.js. до внесения изменений сделайте резервную копию данного файла

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)

Вставить то, что между "//----------------------------------------------------------"(остальные строки даны для того, чтобы место для вставки найти).
Далее найти

if(!external.dungeonEnabled)
                        PutZayavka(external.SBattleType.SelectedIndex);
                }

Сделать вот так

if(!external.dungeonEnabled && BattleReady==true)
                        PutZayavka(external.SBattleType.SelectedIndex);
                }

И в самое начало

var cBattle = false;
var ZayavkaOut = 0;
var ZayavkaTimer = 0;
var setMaxHP=400; //тут ХП, ниже которых становится ясно, что комплект нифига не одет
var BattleReady;

1 698

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

fromfbi пишет:

коли флуд....
я спилсо sad(((тока проснулся....и захотел в питер))

Передумывай smile
Тут правительство не умеет от снега убирать улицы. Ходить не возможно smile
Из дворов не выехать, по дорогам тоже ездить страшно smile
Короче глобальное потепление в разгаре  big_smile

1 699

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

ненене......жёстко слишком...
Вы чего? Это де Флэйм ветка... hmm
1 день чтения максимум за такое должен быть, как мне кажется....

1 700

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

А чего вы ждали?
Я же говорил, что хайд - зло smile
теперь будет народ набивать бесполезными сообщениями даже для ветки Флэйм.... smile