251

Re: Приемы в Combots 8+

по опыту зверя видимо... что бы бот перед боем запоминал опыт зверя и не выпускал в случае превышения заданного пользователем числа... только зачем? О_о

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

252

Re: Приемы в Combots 8+

Вот я тоже подумал об опыте зверя, но это на сколько надо нелюбить своего бота, чтобы не проведать однажды опыт зверя и не убрать из приёмов тупо вызов? hmm

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

253

Re: Приемы в Combots 8+

имею ввиду опыт зверя - при достижении определенного опыта (у зверя) бот переставал его выпускать в бой

бот с утра до вечера качается сам

Отредактировано foox84 (2010-10-06 20:16:23)

254

Re: Приемы в Combots 8+

foox84
Да мы поняли, что ты имеешь в виду, ну вечером глянь опыт у зверя, да убери приём вызова из списка, так тяжело что ли?)  Или, я так понимаю, банально лень и желание сэкономить крохи корма?

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

255

Re: Приемы в Combots 8+

подскажите, как поставить условие, чтобы прием использовался только 3 раза

256

Re: Приемы в Combots 8+

*delete*

Отредактировано Andy_SPB (2010-10-17 11:17:28)

(Please log in or register to see this URL), лучше (Please log in or register to see this URL) (с)
Помощь приходит быстрее если:
1. Понятно сформулирован вопрос.
2. Использованы нужный (Please log in or register to see this URL).

257

Re: Приемы в Combots 8+

if((top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9) && 
(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") > -1) &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_block25"]) != "object"))
_name = "counter_winddance";

Где я натупил? Не хочет бот юзать танец ветра если противник Раб 9ка и на мне не висит призрачка и профилька. Прием бота не вешает, тот продолжает драться, но активировать его не хочет.

У меня все работает, что я делаю не так ?

258

Re: Приемы в Combots 8+

if(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") > -1)
{
    top.Chat.Self.AddMessage("<b>"+new Date().toLocaleTimeString()+"</b> Противник - Рабочий");
    if(top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9)
    {
        top.Chat.Self.AddMessage("<b>"+new Date().toLocaleTimeString()+"</b> Рабочий 9-го уровня");
        if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object")
        {
            top.Chat.Self.AddMessage("<b>"+new Date().toLocaleTimeString()+"</b> На мне нет эффекта spirit_13_prot_100");
            if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_block25"]) != "object")
            {
                top.Chat.Self.AddMessage("<b>"+new Date().toLocaleTimeString()+"</b> На мне нет эффекта spirit_block25");
                top.Chat.Self.AddMessage("<b>"+new Date().toLocaleTimeString()+"Тест успешно пройден!</b>");
                _name = "counter_winddance";
            }
        }
    }
}

Вот так вот проведи отладку своего приёма smile

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

259

Re: Приемы в Combots 8+

Хм...странно, а так работает smile Спасибо

У меня все работает, что я делаю не так ?

260

Re: Приемы в Combots 8+

О_О
ээээээээээ..........

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

261

Re: Приемы в Combots 8+

Та вот сам в шоке...выдает все 5 строк текста и прием юзает даже. А вставляю свой заново, не юзает  neutral

У меня все работает, что я делаю не так ?

262

Re: Приемы в Combots 8+

Используй условие так как написал anahronik
Вот, код без текста:

if(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") > -1)
{
    if(top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9)
    {
        if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object")
        {
            if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_block25"]) != "object")
            {
                _name = "counter_winddance";
            }
        }
    }
}
Сообщение от паладинов :
27.04.10 21:13 httр://www.combats.com/TOS.html нарушение пункта 3.2.3

263

Re: Приемы в Combots 8+

Не, Жека у нас умеет читать яваскрипт и править smile
просто в тупик ставит то, что разницы-то практически и нету...разве что из-за того, что изначально у него несколько условий на разных строках написано...

Попробуй переходы на новую строку убрать:)

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

264

Re: Приемы в Combots 8+

Та я всегда пишу на разных строках, так прием более читабелен получается. У меня призрачка написана строк в 10 наверное, и работает  smile
Ну да ладно, работает, не трогай (с)  smile
Буду юзать код Анахроника, и последующие подобные условия буду строить по такому же принципу.

У меня все работает, что я делаю не так ?

265

Re: Приемы в Combots 8+

НЕ НАДО по подобному принципу! smile
Это вкорне неверно и противоречит всем моим убеждениям! smile
Про перенос я знал, что не должно влиять, но всё же....надо же косяк найти smile
Выстави условия в том же порядке, что я выставил....может в этом всё дело smile

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

266

Re: Приемы в Combots 8+

Эх, поигрался в Доктора Хауса немного. Скорее всего бот не воспринимает сочетание пробела с последующим переходом на следующую строку. Т.к. скопировал свое условие, включил- не пашет, стер все переносы и пробелы и заново сделал переносы- заработало smile Последовательность левела и логина, слава богу, роли не играет.

У меня все работает, что я делаю не так ?

267

Re: Приемы в Combots 8+

Что-то не могу разобраться с логическим оператором ИЛИ ( || )
Хочу написать, чтобы использовал призрачную защиту на таком-то монстре (и по списку монстров)
вот что получось с начала:

if((top.Battle.oBattle.sEnemyLogin.indexOf("Проклятье Глубин") > -1) ||
if(top.Battle.oBattle.sEnemyLogin.indexOf("Сторож Мглы") > -1) ||
if(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий Мглы") > -1) ||
if(top.Battle.oBattle.sEnemyLogin.indexOf("Хранитель Очага") > -1))
_name = "spirit_13_prot_100";

Но приём вешает бота. Далее попробовал так:

if((top.Battle.oBattle.sEnemyLogin.indexOf("Проклятье Глубин") > -1) ||
top.Battle.oBattle.sEnemyLogin.indexOf("Сторож Мглы") > -1) ||
top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий Мглы") > -1) ||
top.Battle.oBattle.sEnemyLogin.indexOf("Хранитель Очага") > -1))
_name = "spirit_13_prot_100";

Результат тот-же.

Помогите правильно написать smile

Отредактировано Pokemon15 (2011-01-18 16:42:33)

268

Re: Приемы в Combots 8+

Скобок нехватало у тебя, вот попробуй

if((top.Battle.oBattle.sEnemyLogin.indexOf("Проклятье Глубин") > -1) ||
(top.Battle.oBattle.sEnemyLogin.indexOf("Сторож Мглы") > -1) ||
(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий Мглы") > -1) ||
(top.Battle.oBattle.sEnemyLogin.indexOf("Хранитель Очага") > -1))
_name = "spirit_13_prot_100";
У меня все работает, что я делаю не так ?

269

Re: Приемы в Combots 8+

ZhEkA_BK пишет:

Скобок нехватало у тебя, вот попробуй

if((top.Battle.oBattle.sEnemyLogin.indexOf("Проклятье Глубин") > -1) ||
(top.Battle.oBattle.sEnemyLogin.indexOf("Сторож Мглы") > -1) ||
(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий Мглы") > -1) ||
(top.Battle.oBattle.sEnemyLogin.indexOf("Хранитель Очага") > -1))
_name = "spirit_13_prot_100";

Поставил, приём вешает бота опять. Убираю приём - все начинает работать, так что дело точно в нём.

270

Re: Приемы в Combots 8+

Плохо скопировал значит, т.к. Жека все скобки правильно выставил.

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

271

Re: Приемы в Combots 8+

Мистика!

if(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") > -1)
{
    if(top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9)
    {
         if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object")
        {
             if(typeof(top.Battle.oBattle.oMySlot.arrEffects["counter_winddance"]) != "object")
            {
top.Chat.Self.AddMessage("спирит работает");
_name = "spirit_block25";
            }
        }
    }
}
if(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") > -1)
{
    if(top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9)
    {
         if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object")
        {
             if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_block25"]) != "object")
            {
                _name = "counter_winddance";
            }
        }
    }
}

В чат сообщение, что спирит работает приходит, а прием не юзается, когда активный, идентификатор скопировал правильно. Какие у кого будут мысли по этому поводу ?
Причем counter_winddance юзает без проблем  hmm

У меня все работает, что я делаю не так ?

272

Re: Приемы в Combots 8+

Я надеюсь, это не один приём? smile

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

273

Re: Приемы в Combots 8+

Конечно один smile Если такие мелочи в разные слоты сувать, мне их не хватит попросту smile
Не думаю, что это проблема, у меня есть приемы в 4 раза больше занимающие места и нормально функционирующие. Тем более, что в этом коде 1м стоит спирит, и если уж на то пошло, то должен был он работать, а counter_winddance не работать  sad И самое главное, что в чат шлет сообщение..

У меня все работает, что я делаю не так ?

274

Re: Приемы в Combots 8+

Твоя проблема в том, что у тебя не взаимоисключающие условия smile
У тебя первая половина проходит: пишет сообщение и _name = spirit_block25 ставит.
А потом проходит УСПЕШНО вторая половина, и _name становится равен counter_winddance smile
В итоге у тебя просто никогда не будет так, чтобы выполнилась первая часть и не выполнилась вторая smile

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

В итоге я твой приём сокращаю до:

if(top.Battle.oBattle.sEnemyLogin.indexOf("Рабочий") > -1)
{
    if(top.Battle.oBattle.arrUsers[top.Battle.oBattle.sEnemy].nLevel == 9)
    {
         if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object")
        {
             if(typeof(top.Battle.oBattle.oMySlot.arrEffects["counter_winddance"]) != "object")
            {
                        top.Chat.Self.AddMessage("спирит работает");
                        _name = "spirit_block25";
            }
            else if(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object")
            {
                  _name = "counter_winddance";
            }
        }
    }
}
Software is like sex: it's better when it's free! © LinusTorvalds

275

Re: Приемы в Combots 8+

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

Вобщем, как всегда, спасибо, буду тестить.
И появилось новое условие, которое не хочет юзать:

if((Vinos > 20) && 
(top.Battle.oBattle.sEnemyLogin.indexOf("Страж") < 0 &&
top.Battle.oBattle.sEnemyLogin.indexOf("(зверь") < 0) &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_12_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_11_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_13_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["spirit_14_prot_100"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["block_activeshield"]) != "object") &&
(typeof(top.Battle.oBattle.oMySlot.arrEffects["counter_deathwalk"]) == "object") && (typeof(top.Battle.oBattle.oMySlot.arrEffects["hit_empower"]) == "object"))
_name = "counter_winddance";

Если напротив не страж, не маг, не висят спириты и висит поступь с усиленными ударами- юзать counter_winddance. Раньше было это же условие, но без учета вимящих усиленных ударов и все работало. Добавил условие на усилки, и бот перестал юзать counter_winddance, когда на мне была поступь с усилками  sad

У меня все работает, что я делаю не так ?