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 собрал комплект из госа+каналка ,т.к. некоторые вещи мне более подходят с каналки чем из госа.
ого. Я этого даже и не знал. Да что там, я даже не думал что вещи в каналки совсем другие чем в госе))