276

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

Rapidshe пишет:

Чат заработал, список народа в комнате обновляется. видимо это было временное явление

Нет. После рефреша работает, а так пропадает. Надо продолжать искать причины.

277

(19 ответов, оставленных в JavaScript)

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

278

(19 ответов, оставленных в JavaScript)

Exile пишет:

Или проще говоря как создать условие вида: "если переменная не объявлена"?

if(your_variable == undefined)

фак, опоздал на минуту(

Так пробовал. Не работало. typeof надо было добавить  smile

279

(19 ответов, оставленных в JavaScript)

Нашёл ответ smile Для переменной hyppo. Вот такой "тест" вписал в маршрут. Показывает выпавшее значение или же что его вообще нет.

if (typeof hyppo !== 'undefined') external.AddToChat("Rnd:" + hyppo); else external.AddToChat("Нифига такого нет");

280

(19 ответов, оставленных в JavaScript)

Всё работает хорошо. Пишу сложный маршрут одним файлом. Получается smile

Жаль только что вызов экстернала из строки маршрута прерывает выполнение этой строки sad Поэтому написать в чат и при этом шагнуть не получается. Но это мелочи.

Теперь возник дополнительный вопрос. Иногда, в результате перезагрузок, значение переменной исчезает. Но оно не равное 0 получается, а вообще неопределённое. Приведите пример условия по которому можно узнать задавалось ли вообще значение переменной? Как это выглядит? Любой пример дайте, я разберусь smile

Или проще говоря как создать условие вида: "если переменная не объявлена"?

281

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

Добавил в FAQ. Хотя мне казалось что там это уже есть...

282

(17 ответов, оставленных в Общий)

Gagablik пишет:

А если к этому вопросу подойти с другой стороны)))

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

Ну вот если у кого будешь брать машину уже с номерами, то тогда да, только доверенность. Хотя и она не нужна.

Машина - компьютер.
Номера - ключ.
Бери у друга комп уже с ботом и ключом и хоть обкатайся.

283

(17 ответов, оставленных в Общий)

RIF17 пишет:

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

Нет.
Ты купил новую машину и должен на неё поставить новые номера, а не перекручивать со старой.
На новые номера налог такой же как и на старые  tongue И старую машину с номерами у тебя ведь никто не отбирает.

284

(17 ответов, оставленных в Общий)

Immortal пишет:

+1 за новую лицензию... и ещё старый комп выбрасывать не надо

На кухню его надо поставить. И жёсткий диск на него по-больше. Пусть торрентсы раздаёт! smile Ну и бота там тоже удобно будет пускать.

285

(17 ответов, оставленных в Общий)

Поймите правильно. Разрешат одному — придётся всем разрешить. И понесётся бардак.

10 евро совсем небольшая цена за бота. Символическая. Практически устная благодарность авторам smile

P.S. И вообще такие вопросы обсуждают с разработчиком, а не с широкой общественностью. Мы тут все некомпетентны в этом вопросе.

286

(19 ответов, оставленных в JavaScript)

В общем в итоге просто ввёл переменную, которую задал заранее, на предыдущей клетке маршрута smile Так надёжнее.

0000_предыдущая_клетка_0000 : AttackMobs(); hyppo = Math.random(); Walk("m1"); 
00000_клетка_развилки_00000 : AttackMobs(); if(hyppo>0.66) Walk("m1"); else if(hyppo<0.33) Walk("rr"); else Walk("rl");

Работает! smile

287

(19 ответов, оставленных в JavaScript)

123456789012345667890 : UseObjects(); AttackMobs(); if(top.frames[external.mainFrameIndex].is_accessible) {if(Math.random()>0.66) Walk("m1"); else if(Math.random()<0.5) Walk("rr"); else Walk("rl");};

Строка в маршруте. Не работает. Что не так?  neutral

И так тоже молчит:

123456789012345667890 : UseObjects(); AttackMobs(); while(!top.frames[external.mainFrameIndex].is_accessible) {if(Math.random()>0.66) Walk("m1"); else if(Math.random()<0.5) Walk("rr"); else Walk("rl");}

А так шагает только вперёд:

123456789012345667890 : UseObjects(); AttackMobs(); if((Math.random()>0.66) && (top.frames[external.mainFrameIndex].is_accessible)) Walk("rl"); else if((Math.random()<0.5) && (top.frames[external.mainFrameIndex].is_accessible)) Walk("rr"); else Walk("m1");

То есть как я понимаю выражение (top.frames[external.mainFrameIndex].is_accessible) никогда не бывает true sad
Может этот экстернал закрыт?

Попробовал паузу соорудить, типа такой:

external.Stop(); setTimeout("external.Start();",15000);

Но тогда он на клетке стопорится на 15 секунд, а потом когда стартует опять по новой начинает строку выполнять, до рандомного шага не доходит sad

И вот так пробовал:

setTimeout(external.AddToChat("жду 15 секунд"),15000); Walk("m1");

Вперёд не шагает. Пишет в чат что ждёт с частотой заданной скоростью интервала действия бота.

288

(6 ответов, оставленных в Комплекты)

descalui пишет:

()

Ну и рубашку за 5 екр прикупить. Не ахти какие деньги.

Рустам пишет:

А можно прописать какие приёмы тут стоят?

Да всякие. Я же сказал что это тебе для старта набор, чтобы разобраться smile
Вот такие строки содержат идентификатор приёма: 

_name="hp_defence";

hp_defence, к примеру, это стойкость.
Подробнее об идентификаторах тут: ()

Приёмы в настройках бота могут описывать все приёмы у персонажа. Даже если их не выставлено у перса. Просто использовать их бот не станет. Можно даже для танка туда же вписать или для мага smile Поэтому не удивляйся что там может быть то что ты и не используешь.

Если хочешь вот этот приём можно выкинуть (путь щита):

<Priem13>_name = "block_path";
// _name = "block_path";
</Priem13>

Тем более он с комментом, видимо ставил его ещё когда танком был на восьмом [8].

И читай FAQ, используй поиск.
Будешь по каждому новому мелкому вопросу тему заводить - накажу.
То что ты перекупил лицензию у кого-то не снимает с тебя необходимости соблюдать правила и учиться самому настраивать бота. Не надо всё спрашивать. Сначала почитай, попробуй, учись. Не нашёл ответ - найди тему и там спроси.

Рустам пишет:

Есть ещё 1 но)) приёмы на уворота 10 не скинешь?? ато уже минут 30 ищу

Это надо делать самому. Начни вот с таких простейших настроек:

<?xml version="1.0" encoding="windows-1251"?>
<Methods>
  <Priem1>if(parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML) &gt; 5)
_name="hp_defence";</Priem1>
  <Priem2>if(parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML) &gt; 5)
_name="hp_enrage";</Priem2>
  <Priem3>if(top.Battle.oBattle.arrRes["hit"].innerHTML &gt; 10)
_name="hit_empower";
</Priem3>
  <Priem4>if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 32)
_name="hit_willpower";
else
_name = "hit_luck";</Priem4>
  <Priem5>_name="parry_supreme";</Priem5>
  <Priem6>_name = "counter_deathwalk";
 
</Priem6>
  <Priem7>
  </Priem7>
  <Priem8>if(parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML) &gt; 10)
_name="hp_natisk";</Priem8>
  <Priem9>if(parseInt(top.Battle.oBattle.arrRes["hp"].innerHTML) &gt; 10)
_name="hp_circleshield";</Priem9>
  <Priem10>if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 10)
_name="hp_regen";</Priem10>
  <Priem11>if(parseInt(top.Battle.oBattle.arrRes["block"].innerHTML) &gt; 7)
_name="block_activeshield";</Priem11>
  <Priem12>if((typeof(top.Battle.oBattle.oMySlot.arrEffects["ggvod"]) == "object") || (typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_fire_flamming08"]) == "object") || (typeof(top.Battle.oBattle.oMySlot.arrEffects["ggair"]) == "object") || (typeof(top.Battle.oBattle.oMySlot.arrEffects["ggyad"]) == "object") || (typeof(top.Battle.oBattle.oMySlot.arrEffects["wis_air_mark"]) == "object") || (typeof(top.Battle.oBattle.oMySlot.arrEffects["ggspeed"]) == "object") || (typeof(top.Battle.oBattle.oMySlot.arrEffects["ggvras"]) == "object") || (typeof(top.Battle.oBattle.oMySlot.arrEffects["standart_effect"]) == "object"))
_name="hp_cleance";</Priem12>
  <Priem13>_name = "block_path";
// _name = "block_path";
</Priem13>
  <Priem14>if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 70)
_name = "block_restore";
</Priem14>
  <Priem15>if(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) &gt; 0 &amp;&amp; (top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) &lt; 99)
  _name = "novice_hp";</Priem15>
  <Priem16>if((top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9) &amp;&amp; (top.Battle.oBattle.sEnemyLogin.indexOf("Сторож") &gt; -1))
_name = "spirit_14_prot_100";
if((top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9) &amp;&amp; (top.Battle.oBattle.sEnemyLogin.indexOf("Смотритель") &gt; -1))
_name = "spirit_12_prot_100";
if((top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9) &amp;&amp; (top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") &gt; -1))
_name = "spirit_13_prot_100";
if((top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9) &amp;&amp; (top.Battle.oBattle.sEnemyLogin.indexOf("Проклятье Глубин") &gt; -1))
_name = "spirit_13_prot_100";
if((top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9) &amp;&amp; (top.Battle.oBattle.sEnemyLogin.indexOf("Хранитель") &gt; -1))
_name = "spirit_13_prot_100";
if(top.Battle.oBattle.sEnemyLogin.indexOf("Заблудшая") &gt; -1)
_name = "spirit_block25";</Priem16>
  <Priem17>
  </Priem17>
  <Priem18>if(parseInt(top.Battle.oBattle.arrRes["counter"].innerHTML) &gt; 9)
_name = "counter_bladedance";
</Priem18>
  <Priem19>
  </Priem19>
  <Priem20>
  </Priem20>
  <Priem21>
  </Priem21>
  <Priem22>
  </Priem22>
  <Priem23>
  </Priem23>
  <Priem24>
  </Priem24>
</Methods>

Файл Уворот10.cm

292

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

Лучшее что я пробовал из физкультуры это аквааэробика.
Тридцать пять скучающих домохозяек и hyppo в одном бассейне wink
Рекомендую!

293

(19 ответов, оставленных в JavaScript)

ZhEkA_BK пишет:

Хотя странно, что он у тебя пытается вперед пойти...в самом боте вроде как есть проверка.

Ты не понял. Он как раз НЕ пытается вперёд пойти, а делает то что доступно сейчас - влево или вправо. А вперёд при ранее написанном условии не шагнёт, за время пока зелёная полоска растёт он несколько раз пройдётся по этому условию и тыркнется куда-нибудь ещё.

294

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

koa пишет:

а 2 орешка + метровый член что получается???

Страшно даже подумать!  lol

295

(19 ответов, оставленных в JavaScript)

Более глубокие тесты показывают некорректную работу sad Нужно дополнительное условие, чтобы бот ждал когда будет готов сделать шаг и лишь потом выполнял рандомные условия. В противном случае прямо он никогда не шагнёт, точнее с очень малой вероятностью. Поскольку несколько тактов проскакивает при которых бот уже может повернуться влево или вправо, но ещё не готов шагнуть вперёд.

Теперь нужна либо пауза либо условие готовности сделать шаг smile

296

(19 ответов, оставленных в JavaScript)

ZhEkA_BK после Walk("rr") поставил точку с запятой (чисто чутьём чую что она там нужна, а может нет?).

Проверил. Работает! smile

297

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

У меня член около полуметра! 14 см это же скорее около полуметра, чем около метра.

298

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

verbitskiy пишет:

А где включить фильтрацию?

Вот эта кнопка в БК http://img.combats.ru/i/move/b___filter_on.gif

299

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

verbitskiy пишет:

Что можете посоветовать?

1. Почистить IE и больше его не засирать.
2. Фильтр чата всегда держать включённым. Нечего там флуд смотреть боту.
3. Поставить плагин SelectChat.js
Он переключает фрейм с лога боя на чат, что заметно разгружает систему.

function SelectChat(enabled)
{
     if(enabled)
     {
          PluginsOnLoad["SelectChat"] = "SelectChatHandler";
     }
     else
     {
          PluginsOnLoad["SelectChat"] = "";
     }
}
 
function SelectChatHandler(){
    try
    {
        if(!top.Battle.bInBattle) return;
        if(top.Battle.Self.oTab.arrTabs["chat"].bSelected == false)
top.Battle.Self.oTab.arrTabs["chat"].onmousedown();
    }
    catch(err)
    {
        //alert(err.description);
    }
}

300

(40 ответов, оставленных в Общий)

Вопрос: Возможно ли сделать так, чтобы когда перс набьет например 200хп он переставал бить, но при этом если он остался последним в группе - начинал действовать?

Ответ: ()