Barabachka |
Отправлено: 30 Сентября, 2013 - 19:40:37
|
Участник
Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2013
Репутация: 3
|
Халп! Что-то с кодом. Прошу вас глянуть, этот момент он пролетает
CODE: function Ataka()//Бой моба когда он в таргете. Заодно проверяется или это моб и есть ли у него XP
{
if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225 && getcolor(P_T_X[0]+165, P_T_Y[0]+22)==1251183);//Если моб в таргете не убит и нет по нему дамага.
{
Clic_Mouse(Fk_X[1], Fk_Y[1]);//Жмем F1 атака
sleep(50);
ypor=0;//Обнулить счетчик циклов за которые моб должен быть убит
b: if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225);//Если моб в таргете и не убит
{
ypor++;//Увеличиваем счетчик циклов боя моба
if (ypor>4)==(getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225 && getcolor(P_T_X[0]+165, P_T_Y[0]+22)==1251183);//Если моб не убит более чем за 4 цикла и небыло дамага по нему.
{
Clic_Mouse(Zak_T_X, Zak_T_Y);//Снимаем таргет
ypor=0;
return 2;//Возвращием 2. Поиск дальше другим алгоритмом. Выход с перебора
}
Clic_Mouse(Fk_X[1], Fk_Y[1]); //Жмем F1 атака
sleep(rand(1300, 1400));//Ждем
goto b;//Идем назад проверять наличие тиблички моба в таргете с первым красным пикселем его XP.
}
return 1;//Возвращием 1. Удачно выполненная функция. Программа перейдет в начало.
}
return 0;//Возвращием 0. Признак провала. Будем перебирать дальше.
}
(Добавление)
А здесь зависает на F6
CODE: function Poisk_Target()//Искать мобов next, перебор макросов.
{
sleep(200);
Clic_Mouse(Fk_X[7], Fk_Y[7]);//Пытаемся взять в таргет ближнего
sleep(rand(300, 400));
if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225)==Clic_Mouse(Fk_X[7], Fk_Y[7]);
{
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
else
{
Clic_Mouse(Fk_X[5], Fk_Y[5];//Пытаемся взять в таргет макрос
sleep(rand(300, 400));
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
}
}
else
{
Clic_Mouse(Fk_X[6], Fk_Y[6];//Пытаемся взять в таргет макрос
sleep(rand(300, 400));
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
}
else
{
Clic_Mouse(Fk_X[8], Fk_Y[8];//Пытаемся взять в таргет макрос
sleep(rand(300, 400));
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
}
else
{
Clic_Mouse(Fk_X[9], Fk_Y[9];//Пытаемся взять в таргет макрос
sleep(rand(300, 400));
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
}
return 0;
} |
|
|
Kibor |
Отправлено: 30 Сентября, 2013 - 20:07:03
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Barabachka пишет: function Ataka()//Бой моба когда он в таргете. Заодно проверяется или это моб и есть ли у него XP
{
if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225 && getcolor(P_T_X[0]+165, P_T_Y[0]+22)==1251183);//Если моб в таргете не убит и нет по нему дамага.
{
Clic_Mouse(Fk_X[1], Fk_Y[1]);//Жмем F1 атака
sleep(50);
ypor=0;//Обнулить счетчик циклов за которые моб должен быть убит
b: if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225);//Если моб в таргете и не убит
{
ypor++;//Увеличиваем счетчик циклов боя моба
if (ypor>4)==(getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225 && getcolor(P_T_X[0]+165, P_T_Y[0]+22)==1251183);//Если моб не убит более чем за 4 цикла и небыло дамага по нему.
{
Clic_Mouse(Zak_T_X, Zak_T_Y);//Снимаем таргет
ypor=0;
return 2;//Возвращием 2. Поиск дальше другим алгоритмом. Выход с перебора
}
Clic_Mouse(Fk_X[1], Fk_Y[1]); //Жмем F1 атака
sleep(rand(1300, 1400));//Ждем
goto b;//Идем назад проверять наличие тиблички моба в таргете с первым красным пикселем его XP.
}
return 1;//Возвращием 1. Удачно выполненная функция. Программа перейдет в начало.
}
return 0;//Возвращием 0. Признак провала. Будем перебирать дальше.
}
Barabachka пишет: function Poisk_Target()//Искать мобов next, перебор макросов.
{
sleep(200);
Clic_Mouse(Fk_X[7], Fk_Y[7]);//Пытаемся взять в таргет ближнего
sleep(rand(300, 400));
if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225)==Clic_Mouse(Fk_X[7], Fk_Y[7]);
{
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
else
{
Clic_Mouse(Fk_X[5], Fk_Y[5];//Пытаемся взять в таргет макрос
sleep(rand(300, 400));
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
}
}
else
{
Clic_Mouse(Fk_X[6], Fk_Y[6]нет скобки;//Пытаемся взять в таргет макрос
sleep(rand(300, 400));
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
}
else
{
Clic_Mouse(Fk_X[8], Fk_Y[8];//Пытаемся взять в таргет макрос
sleep(rand(300, 400));
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
}
else
{
Clic_Mouse(Fk_X[9], Fk_Y[9]скобки нет;//Пытаемся взять в таргет макрос
sleep(rand(300, 400));
if (Ataka()==1){sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]); sleep(rand(350, 450)); Clic_Mouse(Fk_X[4], Fk_Y[4]);); return 1;}//Если взяли , атаковали и убили
}
return 0;
}
Красным синтаксические ошибки.
Пишите по строчке одной, будет легче отследить. Потом как отладите код можно в одну записать. |
|
|
Barabachka |
Отправлено: 01 Октября, 2013 - 21:09:27
|
Участник
Покинул форум
Сообщений всего: 88
Дата рег-ции: Сент. 2013
Репутация: 3
|
Появился такой вопросик.
Прочел вот это Ваше пособие
Нашол в вашем скрипте вот такое
CODE: function Ataka()//Бой моба когда он в таргете. Заодно проверяется или это моб и есть ли у него XP
{
if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225)//Если моб в таргете и не убит
{
Clic_Mouse(Fk_X[1], Fk_Y[1]);//Жмем F1 атака
sleep(50);
ypor=0;//Обнулить счетчик циклов за которые моб должен быть убит
b: if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225)//Если моб в таргете и не убит
{
ypor++;//Увеличиваем счетчик циклов боя моба
if (ypor>10)//Если моб не убит более чем за 15 сек.
{
Clic_Mouse(Zak_T_X, Zak_T_Y);//Снимаем таргет
ypor=0;
Cikl();// Пытаемся выйти со ступора сдвигом
return 2;//Возвращием 2. Поиск дальше другим алгоритмом. Выход с перебора
}
Clic_Mouse(Fk_X[1], Fk_Y[1]); //Жмем F1 атака
sleep(rand(2000, 2100));//Ждем
goto b;//Идем назад проверять наличие тиблички моба в таргете с первым красным пикселем его XP.
}
return 1;//Возвращием 1. Удачно выполненная функция. Программа перейдет в начало.
}
return 0;//Возвращием 0. Признак провала. Будем перебирать дальше.
}
Вот эта строка не до конца мне понятна CODE:return 2;//Возвращием 2. Поиск дальше другим алгоритмом. Выход с перебора
return 2;// это выход полностью с "function Ataka()" и переход на дальнейшую функцию зацикленую в теле программы?
Или может переход в дальнейшую строку функции в которой использовалась "function Ataka()" ?
(Добавление)
Да, это с скрипта бота La2 для Windows 7 64. |
|
|
Nikolo12 |
Отправлено: 02 Октября, 2013 - 09:32:09
|
Прохожий
Покинул форум
Сообщений всего: 8
Дата рег-ции: Сент. 2013
Репутация: 0
|
Поясните по данному скрипту
Цитата: if (getcolor(P_T_X[0]+18, P_T_Y[0]+22)==1251183 && getcolor(P_T_X[0], P_T_Y[0]+37)==11057346 && getcolor(P_T_X[0]+1, P_T_Y[0]+37)==7637144 && getcolor(P_T_X[0]+1, P_T_Y[0]+38)==11649225)//Если моб в таргете и не убит
идет проверка цвета полосы НР моба в нескольких точках одновременно?
Цитата: Clic_Mouse(Fk_X[1], Fk_Y[1]);//Жмем F1 атака
Вызов процедуры Clic_Mouse(); ?
А если просто key(F1); ?(Отредактировано автором: 02 Октября, 2013 - 09:33:57) |
|
|
|