Re: КАНАЛКА ОТКРЫЛАСЬ!
вопрос к гуру комботса добавил ф-ию в dungeon.js, бот перестал передвигаться по каналке (т.е. заявку в каналку он создаёт, комплекты переодевает... именно не ходит)
для проверки добавил вывод в чат данных для eval(), получаешь кукишь вот кусок:
if(dungeonPosition != dungeonLastPosition)
{
if(dungeonMovementCount[dungeonLastPosition] != undefined)
dungeonMovementCount[dungeonLastPosition]++;
else
dungeonMovementCount[dungeonLastPosition] = 1;
dungeonLastPosition = dungeonPosition;
}
external.AddToChat("Code for '" + dungeonPosition + "': " + external.DungeonGetCodeForLocation(dungeonPosition));
if(external.SDungeonPickUpObjects.Checked)
{
external.AddToChat("drop?");
var drop = s.match(/\?get=(\d+)/g);
if(drop != null)
{
if(s.indexOf("слишком много") > 0 || s.indexOf("У вас уже есть один такой предмет") > 0)
usedObjects[_id] = true;
alert(5);
if(s.indexOf("подняли 'Восстановление энергии 45HP'") > 0)
setHPScroll(0);
alert(6);
for(i = 0; i < drop.length; i++)
{
_id = drop[i].match(/\d+/);
if(!usedObjects[_id])
{
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/" + dungName + drop[i];
return;
}
}
}
}
может кто сталкивался?
результат в чате, собственно, такой:
05:02:55 Code for 'c5b8e059eaad0f6b3df5291de46adf95':
05:02:55 drop?
Отредактировано skpd (2010-01-26 05:04:26)
Re: КАНАЛКА ОТКРЫЛАСЬ!
А ты зря для аналогии фрагмент этот взял где "слишком много" и "есть такой предмет". Неудачно. Объясню.
Условие на эти фразы срабатывает при ВТОРОМ проходе по условиям. То есть у нас падает ненужный (не помещающийся) дроп. Бот не видит условия и кликает на дропе. Дроп не(!) поднимается и тогда в следующий "такт" прохода по скрипту лежит тот же дроп ("дроп != null" верно) но присутствуют надписи описанные в условии "слишком много" или "есть такой".
В случае с хилкой она поднимется с одной попытки. Исключительная ситуация если выпадет несколько предметов. В любом случае код кривой получается. И не удивительно что в чате тишина и алертов нет - условие-то "дроп != null" уже неверно при втором проходе.
Re: КАНАЛКА ОТКРЫЛАСЬ!
Re: КАНАЛКА ОТКРЫЛАСЬ!
По поводу перебора по свиткам:
Банально, но сойдёт...я думаю...
со временем, опять же думается мне, я это интегрирую в main.js и сделаю более красивый вид, чтоб в приёмах такой кучи непонятных обычным пользователям символов не осталось
// _name="хилки из Канализации";
if(parseInt(top.Battle.oBattle.oMySlot.nMaxHP) - parseInt(top.Battle.oBattle.oMySlot.nHP) >= 45){
for(key=0;key<10;key++){
if(top.Battle.oBattle.arrScrolls[key].innerHTML.match(/cureHP45/)){
top.Battle.oBattle.arrScrolls[key].click();
var key=top.document.all[0].getElementsByTagName('TBODY').length-1;
top.document.all[0].getElementsByTagName('TBODY')[key].getElementsByTagName('BUTTON')[0].click();
}
}
}
По поводу подземелья:
а алерты какие-нить выводит(он у тебя 5 и 6 висит, а ты ничего не сказал )?
И, честно говоря, мне кажется, что вот эту фишку со свитками проще сделать плагином, чем вклинивать в оригинальные файлы
И, самый невероятный вопрос: маршрут для подземки точно тот выбирал?
просто я не вижу никакой причины к тому, чтобы он не прочитал нужную информацию из базы маршрута, кроме как банального отсутствия этой клетки в маршруте(отктрой из бота прямо для маршрута "Канализация_1-ый_этаж" настройки-дополнительно-текущий маршрут...там самая первая строка должна иметь какрас эту координату(это просто предложение перепроверить...не более...надо ведь всегда перестраховаться:) ) )
И...это...наверное логичнее было бы поставить вывод не в части, где лут подбирается(даже с учётом добавления функции новой), а непосредственно перед eval'ом(хотя, признаю, это врятли помогло бы)
Re: КАНАЛКА ОТКРЫЛАСЬ!
с 1ой частью согласен, хилку он не увидит значит... вопрос в другом бот не ходит.. по клеточкам.. вообще
ладно, оставим dungeon.js в покое, попробуем плагином... может это решит проблему
Re: КАНАЛКА ОТКРЫЛАСЬ!
2 anahronik
перед eval'ом нельзя же... каждый ход бота заходить в инвентарь одевать свитки как-то... м.. не айс
алерты (5 и 6) он никак не показывает потому что не ходит
маршруты правильные... бот по ним ходит, я меняю скрипт и перезагружаю бота и он больше не ходит
да, сделаем плагином... если он начнёт ходить просто имхо ради 1ого ого свитка нагружать бота плагином - излишество
Re: КАНАЛКА ОТКРЫЛАСЬ!
а файлы dungeon.js и main.js с комментариями были бы вообще мечта...
Re: КАНАЛКА ОТКРЫЛАСЬ!
Не, плагин на то и плагин, чтоб его можно было подключать/отключать когда надо + это мы запросто умеем в код встраивать что-нить своё...меня до сих пор коробит, как мне заявлиля два человека, что не понимают, как вписать что-то из моих наработок, хотя инструкция придельнейшая была: прочитай и ни шагу в сторону
я дописываю в основной код только то, что не могу сделать через плагин
например, объединить заявки на поход по данжу для двух ботов(кроме как общий файл создать, но там много ньюансов всплывало), или вот свеженькая вещь "поход к Личу в Ангелсе", т.к. нужно было перекрывать этим походом все действия, а плагин делает что-то вроде параллельного(кстати, какрас свитки параллельно одевать, мне кажется, самое то)
ну, это конечно всё исключительно личный опыт общения с комботсом и личное мнение
я навязывать ничего не хочу
По поводу комментариев в файлах:
у Зерга таллант...я по его названиям переменных и функций могу прекрасно его код читать без комментариев А ведь в чужом коде всегда очень трудно разбираться
Отредактировано anahronik (2010-01-26 06:01:02)
Re: КАНАЛКА ОТКРЫЛАСЬ!
По поводу комментариев в файлах:
у Зерга таллант...я по его названиям переменных и функций могу прекрасно его код читать без комментариевА ведь в чужом коде всегда очень трудно разбираться
+1
Английский он знает. Сразу заметно
Это у тебя, Анахроник, сплошные транскрипции: "Lovka", "Inta"
А что касается комментов, то если их там вписывать чтобы с первого прочтения всё найти, то придётся каждую строку объяснять и боюсь файл будет в несколько раз больше
Я поступил просто - распечатал и поехал на поезде в другой город. Пока туда-обратно ездил всё изрисовал стрелочками, галочками, комментариями и пометками. После чего стал понимать как написан бот
Re: КАНАЛКА ОТКРЫЛАСЬ!
я английский тоже знаю....просто я изначально пытаюсь добавить переменным оригинальности, чтобы не дай бог не пересечься с существующими и пол дня головой не биться в поисках ошибки
Re: КАНАЛКА ОТКРЫЛАСЬ!
в общем... всё как всегда ) бот не ходит из-за того, что долго сидит в каналке без движения (я когда спать ложился нажал ему просто стоп в начале каналки) ... плагин работает, свитки одевает...
протестируете может быть ещё?
в папке Plugins создаём файл SetHPScroll.js с таким содержанием:
function SetHPScroll(enabled) {
if(enabled) {
PluginsOnLoad["SetHPScroll"] = "ScrollWatcher";
}else{
PluginsOnLoad["SetHPScroll"] = "";
}
}
function ScrollWatcher() {
if (!external.inBattle) {
//контент верхнего фрейма
var content = top.frames[3].document.all[0].outerHTML;
if (content.indexOf("подняли 'Восстановление энергии 45HP'") > 0) {
external.AddToChat("Одеваю свитки.");
getStock(2, "putOnScrolls()");
}
}
}
function getStock(type, callback) {
//ajax запрос для получения инвентаря
httpGetPageRequest("http://" + external.SCity.Text + ".combats.com/main.pl?edit=" + type + "&rnd=" + Math.random(), callback);
}
function putOnScrolls() {
//инвентарь из ajax запроса
var stock = xmlResponse;
//шаблон для ссылок "одевания" свитков
p = /\?set=cureHP45&n=(\d+)&sd4=(\d+)&/ig;
//применяем для всех свитков на 45хп
do {
r = p.exec(stock);
if (r !== null)
{
//и одеваем их
top.frames[3].location = "http://" + external.SCity.Text + ".combats.com/main.pl?set=cureHP45&n=" + r[1] + "&sd4=" + r[2] + "&tmp=" + Math.random();
}
} while (r != null)
}
Re: КАНАЛКА ОТКРЫЛАСЬ!
только сейчас заметил... свитки 0/5.. недавно же были 0/1 вроде? нет?
Re: КАНАЛКА ОТКРЫЛАСЬ!
мне проверять не на ком, но сразу хочу сказать про аякс в плагине: я пробывал как-то использовать эту библиотеку в плагине для подгрузки информации о персонаже. Был провал, т.к. он не обновлял получаемую страницу... Т.е. я закладкой браузера открывал информацию, проверял - он выдавал ХП нужные....спустя несколько минут снова проверяю - ХП не изменились выдаваемые...и не изменялись, пока я информацию снова в браузерной закладке не открою.
Короче, кэш меня убивал....поэтому у меня обычно используется чуть-чуть отличающаясся библиотека...
Есть серьёздный шанс, что это я тогда был пеньком и неправильно пользовал, но всёравно рекомендую проверить, что тебе аякс выдаёт(хотябы по той же информации персонажа стороннего и его ХП)
Re: КАНАЛКА ОТКРЫЛАСЬ!
skpd пишет:только сейчас заметил... свитки 0/5.. недавно же были 0/1 вроде? нет?
0/1 были в других пещерах. В Каналке 0/5, но не выносятся обычными средствами (есть читерские, доступные клановым персам, тарманам, паладинам).
Ещё вчера фиксанули, уже не выносятся.
Re: КАНАЛКА ОТКРЫЛАСЬ!
Ещё вчера фиксанули, уже не выносятся.
Ну так это было предсказуемо. Разорались как потерпевшие.
Столько лет подобным способом много полезного модераторами выносилось и ничего, по тихому работали.
А тут дали плюшку "плебеям" и понеслось сразу на форуме орать
Re: КАНАЛКА ОТКРЫЛАСЬ!
мне проверять не на ком, но сразу хочу сказать про аякс в плагине: я пробывал как-то использовать эту библиотеку в плагине для подгрузки информации о персонаже. Был провал, т.к. он не обновлял получаемую страницу... Т.е. я закладкой браузера открывал информацию, проверял - он выдавал ХП нужные....спустя несколько минут снова проверяю - ХП не изменились выдаваемые...и не изменялись, пока я информацию снова в браузерной закладке не открою.
Короче, кэш меня убивал....поэтому у меня обычно используется чуть-чуть отличающаясся библиотека...
Есть серьёздный шанс, что это я тогда был пеньком и неправильно пользовал, но всёравно рекомендую проверить, что тебе аякс выдаёт(хотябы по той же информации персонажа стороннего и его ХП)
&rnd=блабла должен спасти от кэширования...
Re: КАНАЛКА ОТКРЫЛАСЬ!
Скорее всего ты прав, ибо для вытаскивания информации не использовалось рандомное число никогда, на что я и наступил...но всёравно выход нашел, поэтому не так обидно
Re: КАНАЛКА ОТКРЫЛАСЬ!
там опять можно без проблем что-то вынести или одеться на 4-6лвл ?
на дарках я читал что вещи из каналки с более низкой долговечностью, а так всё по прежнему!
Re: КАНАЛКА ОТКРЫЛАСЬ!
там опять можно без проблем что-то вынести или одеться на 4-6лвл ?
на дарках я читал что вещи из каналки с более низкой долговечностью, а так всё по прежнему!
В каналке совсем другие вещи,таких в магазине нету.По качеству они хуже,но бывают и такое ,что для 4-6 "нужнее" бывает канальный шмот чем госовский.Я ,к примеру,собрал на танка 5 собрал комплект из госа+каналка ,т.к. некоторые вещи мне более подходят с каналки чем из госа.
Re: КАНАЛКА ОТКРЫЛАСЬ!
SnaF пишет:там опять можно без проблем что-то вынести или одеться на 4-6лвл ?
на дарках я читал что вещи из каналки с более низкой долговечностью, а так всё по прежнему!
В каналке совсем другие вещи,таких в магазине нету.По качеству они хуже,но бывают и такое ,что для 4-6 "нужнее" бывает канальный шмот чем госовский.Я ,к примеру,собрал на танка 5 собрал комплект из госа+каналка ,т.к. некоторые вещи мне более подходят с каналки чем из госа.
ого. Я этого даже и не знал. Да что там, я даже не думал что вещи в каналки совсем другие чем в госе))