Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Подскажите кликер кнопок

Страниц (3): [1] 2 3 »
 

1. AdryV - 19 Мая, 2016 - 07:24:55 - перейти к сообщению
Здравствуйте, подскажите как сделать что бы таймер времени(зедержка) кнопки 1 и кнопки 2 не мешали друг другу.
хотелось бы :
на кнопку 1 поставил таймер 5000 и 100
на кнопку 2 поставить таймер 1000 и 50
тоисть что бы кнопка 2 чаще нажималась а кнопка 1 реже
пробовал прикручивать gettime не разобрался (заработали две кнопки но вторая вызывалась только после нажатия первой)
а с CREATE_TIMER вообще не вьехал

Спойлер (Отобразить)
2. Kibor - 19 Мая, 2016 - 08:12:14 - перейти к сообщению
CODE:
int t0=0;//задержка до 1
int t1=0;//задержка после 1
int t2=0;//задержка до 2
int t3=0;//задержка после 2
t0=formatsn(getcontrol(EDIT_0));
t1=formatsn(getcontrol(EDIT_1));
t2=formatsn(getcontrol(EDIT_2));
t3=formatsn(getcontrol(EDIT_3));

if (getcontrol(CHECK_0)==1) enabletimer(0);
if (getcontrol(CHECK_1)==1) enabletimer(1);


loop()sleep(5);

function pause1(int tt)
{
for(int t=gettime()+tt; t>gettime(); sleep(10)){}
}

function pause2(int tt)
{
for(int t=gettime()+tt; t>gettime(); sleep(10)){}
}


CREATE_TIMER(0, 50)//Номер таймера, выполнение таймера через мсек.
{
pause1(t0);
key("1");
pause1(t1);
}


CREATE_TIMER(1, 50)//Номер таймера, выполнение таймера через мсек.
{
pause2(t2);
key("2");
pause2(t3);
}
3. AdryV - 19 Мая, 2016 - 08:31:25 - перейти к сообщению
Спасибо, работает, как я понял такую же структуру и соблюдать, для дальнейших добавлений.
вопросик а компактней это можно сделать? тоисть что бы использовался лишь один таймер, или лишь одну паузу, а то у меня таких кнопок 11?

попрошу пока что не закрывать тему может еще появятся вопросы Подмигивание
4. AdryV - 20 Мая, 2016 - 07:27:17 - перейти к сообщению
подскажите пожалуйста,
ниже код
есть две проблемки:
1. после всех настроек в диалоге нажимаю запуск все вроде нормально, пока не нашло нужное изображение ничего не нажимается, после того как нашло нужное изображение, убило моба, полоска исчезла еще около 5сек продолжает нажимать кнопки

2. после установки галки на кнопке "f" все таймеры начинают тормозить, тоисть срабатывают только после "f"

и подскажите как реализовать удержание кнопки, тоисть нажать ее и держать 2 секунды и потом отпустить. я так понимаю что нужно через gettime? так как пауза и слип не подходят.
пробовал через keydown("кнопка"Подмигивание; даже в блокноте не работает

тут весь код
5. Kibor - 20 Мая, 2016 - 08:14:08 - перейти к сообщению
ну во первых не надо постоянно получать значения галок.

надо при запуске так
CODE:
int k0=getcontrol(CHECK_0);


проверять
CODE:
if (k0==1) ......


во вторых надо ставить паузу в замкнутом цикле
CODE:
vozv: sleep(50);
6. AdryV - 20 Мая, 2016 - 09:04:45 - перейти к сообщению
спасибо за исправления, все добавил как указано, но продолжает нажимать... Как будто в памяти хранится количество нажатых кнопок или таймер не сбрасывается если не нашло нужное изображение
весь код

также на таймер кнопки "f" это никак не повлияло, как будто она все таймеры складывает и потом аж срабатывает и все остальные после нее
7. Kibor - 20 Мая, 2016 - 09:58:01 - перейти к сообщению
ну во первых что такое
CODE:
key("tab");

??

подразумевается нажать tab??

используйте правильный синтаксис.. лучше цифровой код..(для просмотра ссылки Вам необходимо авторизоваться)
CODE:
key(9);


по тормозу не знаю..
(Добавление)
аа..

проблема в том, что при включение таймера enabletimer(..);
время таймера обнуляется.

таймер включать 1 раз, в таймере использовать флаги можно..
(Добавление)
CODE:
int f[11];
for(int n=0; n<11; n++)f[n]=0;



CODE:
if (findimage_(#Image_0_KIB[0][0], 100, 0, 0, 0, 0, 0, 0, -1, 0, 100, 1, #sum_KIB, #x_KIB, #y_KIB)==1)//ищем полоску хп мобов
{
/////////////////////////////////////////////////////нашли включаем таймеры кнопок
if (k0==1) f[0]=1;

if (k1==1) f[1]=1;

if (k2==1) f[2]=1;

..............
.............
}
else // не нашли полоску отключаем таймеры
{
if (k0==1) f[0]=0;

if (k1==1) f[1]=0;

if (k2==1) f[2]=0 ;
..........
}

CREATE_TIMER(0, 50)
{
if (f[0]==1)
{
pause0(t0);
key("1");
pause0(t1);
}
}

CREATE_TIMER(1, 50)
{
if (f[1]==1)
{
pause1(t2);
key("2");
pause1(t3);
}
}

CREATE_TIMER(2, 50)
{
if (f[2]==1)
{
pause2(t4);
key("3");
pause2(t5);
}
}

8. AdryV - 20 Мая, 2016 - 10:16:44 - перейти к сообщению
 Kibor пишет:
подразумевается нажать tab??

спасибо исправил.

ради интиреса взял полностью убрал кнопку "f" последней стала кнопка "\" и опять из-за последней кнопки та же картина что и с "f" как будто складывает все таймера и только после нажатия кнопки "\" все остальные срабатывают, без галки все работает по таймеру
если не считать первый нюанс
9. Kibor - 20 Мая, 2016 - 10:19:48 - перейти к сообщению
я код привел выше и сказал почему оно так..

 Цитата:
проблема в том, что при включение таймера enabletimer(..);
время таймера обнуляется.
10. AdryV - 20 Мая, 2016 - 11:26:29 - перейти к сообщению
 Kibor пишет:
int f[11];
for(int n=0; n<11; n++)f[n]=0;

вот это не понял, а где таймер включается, или нужно функцию таймера создавать?
тот весь код исправил это добавил... но думаю я что то не понял
если можно пример

Powered by ExBB FM 1.0 Final