Re: Приемы в Combots 8+
У противника на лбу не написано, что он - маг
Такчто под это приёмы ещё никто не писал....хотя это вполне реально...
пойду поэксперементирую слегка на эту тему
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
У противника на лбу не написано, что он - маг
Такчто под это приёмы ещё никто не писал....хотя это вполне реально...
пойду поэксперементирую слегка на эту тему
У противника на лбу не написано, что он - маг
Такчто под это приёмы ещё никто не писал....хотя это вполне реально...пойду поэксперементирую слегка на эту тему
ДА!? А я видел такое -
if(top.Battle.oBattle.oEnemySlot.nMagic > 1)
_name = "wis_earth_flower";
Вот у меня мелькала эта мысль, но без проверки я не решился её писать
в прошлый раз не учёл, что если ты воин и пропишешь в приёмах tkMana, он просто не будет драться...совсем
Гипп вовремя поправил тогда
Если работает - тогда в чём вобще вопрос у тебя? логическое ИЛИ пишется || хп противника на 1-й странице...
Update:
проверил в каналке на пауках
если верить этому top.Battle.oBattle.oEnemySlot.nMagic, то у них 705 маны
Отредактировано anahronik (2009-11-09 21:44:54)
Как бы это всё вписать в один приём?
У противника на лбу не написано, что он - маг
Такчто под это приёмы ещё никто не писал....хотя это вполне реально...пойду поэксперементирую слегка на эту тему
По наличию у врага маны более 500 единиц, к примеру, можно предположить что он маг.
tkMana у врага проверяется, а не у себя. Я тогда про свою ману замечание делал.
Кхм...
я помню, про что ты замечание делал
И уж никак не ожидал упрека о том, что ману мы не у себя проверям....
Думал делать вставку о том, что "бот встретил неопределенную переменную и застопорился. про свойства объектов я не знаю, но может оказаться тоже самое". Может хоть с ней бы было понятнее, к чему я вёл.
Однако, не важно. Сейчас читаю про объекты на яве и тут какрас написано, что при обращении к несуществующему свойству не вызовет ошибки.
Однако, проведённый в каналке эксперимент, мне покачто говорит о том, что такой метод проверки верным не является.
Мана у пауков 705 стабильно. У других мобов ещё не знаю. Можете пару боёв провести, если хотите.
external.AddToChat(top.Battle.oBattle.oEnemySlot.nMagic);
в приём новый это вписать - в чате будет писаться мана персонажей.
по завершении боя посмотрите и скажете, какие результаты...мне самому интересно даже)
Отредактировано anahronik (2009-11-09 22:00:46)
Мана у пауков 705 стабильно. У других мобов ещё не знаю. Можете пару боёв провести, если хотите.
external.AddToChat(top.Battle.oBattle.oEnemySlot.nMagic);в приём новый это вписать - в чате будет писаться мана персонажей.
по завершении боя посмотрите и скажете, какие результаты...мне самому интересно даже)
23:14:16 532
23:14:20 532
23:14:24 532
23:14:28 532
23:14:32 532
23:14:37 532
23:14:40 532
23:14:45 532
23:14:48 532
23:14:52 532
Воин [1000/1000] против Кольчатый Страхочервь [621/700], Яростная Мокрица [401/700], Кольчатый Страхочервь (1) [287/700]
Да уж
anahronik Признаю свою неправоту. Чё-то вообще это проверка не работает. Значение маны видимо последнее которое бот видел, то и остаётся.
Есть два варианта:
1) тупо смотрим, какая шмотка на враге: щит, посох и т.п. и через это определяем, кто перед нами. Просто, как кирпич. И надежно.
2) выдираем статы противника и используем их в приёмах типа: Если у противника интеллект выше 5, то применям какую-нить фигню против мага. По статам можно кого угодно вычислить - было бы время на придумывание приёмов.
Вам какой нужен?
Ну...с этой стороны я на проблему как-то и не посмотрел даже...мне просто статы были интереснее
постараюсь скоро сделать
можно ли приписать прием кольца алтаря?
заранее спасибо
Вот купил 8 бота как говорят: "Писал кипятком от счастя". Но вот тут встал вопрос, а можно ли считать последний прошедший по тебе удар (пофиг физ или маг)
Вот купил 8 бота как говорят: "Писал кипятком от счастя". Но вот тут встал вопрос, а можно ли считать последний прошедший по тебе удар (пофиг физ или маг)
На данный момент нет...
А нельзя как-то измерить тк хп провести удар и сравнить хп после удара и хп до удара
А нельзя как-то измерить тк хп провести удар и сравнить хп после удара и хп до удара
Можно в принципе дописать в бота кое-что и реализовать такую функцию, но есть подводные камни:
1. В тебя ударили на -300HP, при этом на тебе Глухая и ты полечился в тот же размен на +45HP. Разница -255, ты используешь "Отменить" и отменяется +50HP
2. То же самое если тебя хильнул "добрый" маг, союзной команды. Отменишь лечение.
3. К примеру на тебе пожиралка была или отравление. Отменишь -2HP, к примеру
4. Тебя пробили критом и следом контузили. То же самое.
В общем смысла не будет иметь такая отменялка. Те кому надо "Отменить" на Шута, например играя воином, просто пишут "если у меня 1 HP, то Отменить". Потому что Шут крадёт ровно всю HP до единицы. Для хаотов такой подход не годится. В хаоте надо думать, а "думать" бота научить очень сложно. Слишком много "но".
Извините если я чего-то недопонял,но хочу спросить : работает ли условие по кол-ву противников?
Требуется для вызова совы когда противников меньше "Х"
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 33)
_name = "hit_willpower";
else
if(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) < 0.01)
_name = "hit_luck";
Бот использует только волю к победе, а удачный удар - нет((. Что прописано не так?
Отредактировано SnaF (2010-01-01 21:01:42)
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 33)
_name = "hit_willpower";
else
if(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) < 0.01)
_name = "hit_luck";Бот использует только волю к победе, а удачный удар - нет((. Что прописано не так?
У тебя тут написано "если HP красные, то тратим на хил, иначе если духа нет, то бьём сильный".
Но дело в том что проверки духа в первом условии нет!
Видимо подразумевалось вот так:
if(((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 32) || (parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) < 1))
_name = "hit_luck";
else
_name = "hit_willpower";
hyppopotam что-то не так работает((.
if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 66)
{
_name = "hit_luck";
}
else if((top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) > 33)
{
_name = "";
}
else
{
if(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 0)
{
_name = "hit_willpower";
}
else
{
_name = "hit_luck";
}
}
ненужное вырезать
Петро если я всё правильно понял - удачный удар будет использоваться если мой хп выше чем 66% или нету духа. Но мне нужно его использовать ТОЛЬКО при отсутствие духаю
Ёпт, я выложил работающую основу с хорошими условиями. Корректируй!)
Тут то и не много надо! Условия по жизням убери да и всё...
if(parseInt(top.Battle.oBattle.arrRes["spirit"].innerHTML) > 0 && (top.Battle.oBattle.oMySlot.nHP * 100 / top.Battle.oBattle.oMySlot.nMaxHP) < 33)
{
_name = "hit_willpower"; //делает волю к победе, если жизней меньше 33% и дух больше 0.
}
else
{
_name = "hit_luck"; //делает удачный удар когда дух не больше 0, то есть = 0.
}
Отредактировано Петро (2010-01-02 14:48:14)
Петро и снова косяк - всё идет почти так как я хотел. Но если хп жёлтые и дух есть, бот использует удачный удар, а в основном всё правильно...
Отредактировано SnaF (2010-01-03 16:32:15)
Ну возьми да исправь этот "косяк"... не сложно. Всё есть в моём примере... что-то скопировать, знак изменить и всё. Дерзай!