Тема: а помоему подохло условие if(EnemiesCount >*)
чтото перестали работать приемы с даным условим, это только у меня?
думаю это связанно с вводом 3 и больше сторон противника.
Ваше мнение?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны вход или регистрация
чтото перестали работать приемы с даным условим, это только у меня?
думаю это связанно с вводом 3 и больше сторон противника.
Ваше мнение?
работало и перестало:) - бред
Перестало работать в связи с тем что противники теперь всегда по правую сторону. Исправлю.
Чтож.
Продолжаю публиковать самописный бред
Замена двух функций файла Main.js( не устаю напоминать, что перед внесением любых изменений необходимо сделать копию исходного файла на случай корявости работы моего варианта. Клиент после внесения изменений обязательно перезапустить.)
это старая версия. новая чуть ниже
function DoWarriorBattle()
{
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=0;
var pos_team1 = team1.indexOf(", ");
while (pos_team1 != -1){
count_team1++;
pos_team1 = team1.indexOf(", ",pos_team1+1);
}
count_team1++;
var count_team2=0;
var pos_team2 = team2.indexOf(", ");
while (pos_team2 != -1){
count_team2++;
pos_team2 = team2.indexOf(", ",pos_team2+1);
}
count_team2++;
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
DoWarriorPriem(1);
DoHit();
}
function DoWizardBattle()
{
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=0;
var pos_team1 = team1.indexOf(", ");
while (pos_team1 != -1){
count_team1++;
pos_team1 = team1.indexOf(", ",pos_team1+1);
}
count_team1++;
var count_team2=0;
var pos_team2 = team2.indexOf(", ");
while (pos_team2 != -1){
count_team2++;
pos_team2 = team2.indexOf(", ",pos_team2+1);
}
count_team2++;
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
DoWizardPriem(1);
}
Результат: можно в условиях писать EnemiesCount для получение колличества противников и SoratnikiCount для получение колличества человек в вашей команде.
Проверял в основном в данже. 4 раза в невидимых хаотах. Всех руками пересчитывал - всё точно, как в аптеке
Проверял, конечно же, через alert'ы.
Самое весёлое в этом было: скрипт этот изначально заганял в поле для условий приёмов, чтоб по 15 раз за бой не перезапускать клиент.
P.S.
может не так красиво, как в оригинале бота было....зато просто, как кирпич.
P.P.S.
Администратор опубликовал решение это проблемы и строка определения количества людей в командах у него была короче и проще...Но вот в приёмы такой длинны строку вписывать не очень удобно...а если вставить это в файл - можно просто в приёмы вставлять EnemiesCount для получение колличества противников и SoratnikiCount для получения количества соратников. Сами выбирайте, как вам жить
на основе этого решения zergnm я сократил эту вставку для файла:
function DoWarriorBattle()
{
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
DoWarriorPriem(1);
DoHit();
}
function DoWizardBattle()
{
var team1 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[0].sList;
var team2 = top.Battle.oBattle.oGroupsLayer.getElementsByTagName('IMG')[1].sList;
var count_team1=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
var count_team2=top.Battle.oBattle.oGroupsLayer.getElementsByTagName("IMG")[0].sList.split(", ").length;
if(team1.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team2;
SoratnikiCount=count_team1;
}
if(team2.indexOf(top.Battle.oBattle.sMyLogin)>=0){
EnemiesCount=count_team1;
SoratnikiCount=count_team2;
}
DoWizardPriem(1);
}
Отредактировано anahronik (2009-11-03 00:14:40)
Jeasus, it's working!! just in time u fix it xD thx man:P
Отредактировано nostra4life (2009-08-16 22:03:04)
Как замечательно, что есть такие люди как anahronik)
Переписал. Проверяю )
В версии 8,1 данное изменение работает. Условие в приемах соблюдает. НО ПРОГРАММА ТУПИТ С ЭТИМ ИЗМЕНЕНИЕМ ЕЩЕ НА СТАРТЕ, ГЛЮЧИТ 2ОЙ ПАСС И ПО ПОДЗЕМЕ ЛАГИ ЖЕСТКИЕ. резервные копии вставил обратно всё работает отлично....
Следовательно какие то не доработки... использовать это изменение нет смысла
Кхм...
вобще эти изменения ни на что, кроме ведения боя, влиять не могут, т.к. функции "function DoWarriorBattle()" и "function DoWizardBattle()" вызываются только во время боя.
Сегодня у меня тоже были проблемы с БК(дико тупило и три бота остановились фактически. после перезапуска клиентов всё шло по маслу). Вот только фишка в том, что файл был изменён только у двоих, на которых тестировал. А встали все три(у меня три отдельных клиента сделано, какрас для тестирования). Значит виноват сервак, а не мои изменения.
Отредактировано anahronik (2009-08-17 16:14:26)
У меня в боте 2ой пароль вводится первая цифра мышкой. остальное всё не активно руками... когда забил изменения 2ой пасс только руками через клаву, это при том что он висел долго до этого....
У меня в боте 2ой пароль вводится первая цифра мышкой. остальное всё не активно руками... когда забил изменения 2ой пасс только руками через клаву, это при том что он висел долго до этого....
Неактивно руками - это как? Ты выбираешь одну цифру на этом калькуляторе, а остальное само вбивается?
Разве в 8.1 есть автовбивание второго пасса? Я же не могу проверить твою проблему, если не понимаю, что именно не пашет?
От нефиг делать выставил на третьего бота, который до этого был нетронутый, пасс второй.
Сперва просто попробывал позаходить им: 1 цифра на калькуляторе вбивается, остальное можно клавиатурой действительно.(заходил 3 раза. один из них, а именно второй, после входа прогружал стандартный игровой интерфейс секунд 12)
Заменил файл на изменённый - абсолютно также зашел без каких-либо проблем или тормозов.
Вынужден повторить ещё раз: Мои изменения НЕ ВЛИЯЮТ ни на что, кроме моментов ведения боя, т.к. программе плевать что записано в функции(кроме моментов типа "лишняя } или {", что крушило бы напрочь работу всего бота вцелом - т.е. просто стоял бы и ничего не делал) ровно до того момента, пока она не будет вызвана. А вызывается она в момент боя.
Мне это прям напоминает кажется с Баша историю:
сотовая компания передающую антену поставила, а жильцы начали возмущаться, мол голова болеть начала всё плохо со здоровьем. Петицию подписали и отдали компании, типа уберите антену нафиг. На что полчили ответ: "Голова болит? Это ещё что. Вы подождите, когда мы её включим."
Мораль: Не всегда виновно в вашем недуге то, что вы склонны обвинять
Антену не включи - а уже всё плохо. Не может быть ведь - значит не от антены это.
Функции до своего запуска не доходят даже - а уже блокируют ввод пароля. Не бывает ведь такого.
Отредактировано anahronik (2009-08-17 17:09:02)
а насчет второго пасса, там такая ситуация, допустим у меня пароль из 6ти символом, так приходится первый символ мышкой нажимать, а все последующие на клавиатуре))) по-другому никак
а насчет второго пасса, там такая ситуация, допустим у меня пароль из 6ти символом, так приходится первый символ мышкой нажимать, а все последующие на клавиатуре))) по-другому никак
Как...)) Просто нужно перед вводом пароля клацнуть мышкой в этом окошке (не обязательно на цифру, можно в том месте где "звездочки" вводятся) проще говоря, нужно сфокусировать указатель в том окне, это ж флеш мать вашу)
drsn пишет:а насчет второго пасса, там такая ситуация, допустим у меня пароль из 6ти символом, так приходится первый символ мышкой нажимать, а все последующие на клавиатуре))) по-другому никак
Как...)) Просто нужно перед вводом пароля клацнуть мышкой в этом окошке (не обязательно на цифру, можно в том месте где "звездочки" вводятся) проще говоря, нужно сфокусировать указатель в том окне, это ж флеш мать вашу)
это понятное дело, а также я не могу ввести все цифры кликами мышкой
Страницы 1
Чтобы отправить ответ, вы должны вход или регистрация