Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Без описания
Nexur
Отправлено: 09 Марта, 2014 - 16:41:30
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 25
Дата рег-ции: Янв. 2014  
Репутация: 1




Этот код работает прекрасно
CODE:
[code]
// Вначале кода
win w=window("Warspear Online", "Warspear", -1);
// Ниже отдельная функция
sendkey(LEFT, w);sleep(350);
for (j = 0; j<4; j++)
{
V[j] = 0;
for (i =1; i <= Klm[NWorld];i++)
{
load_lokov(i,NWorld);
if (findimage(1, #ImLoc[0][0], 0, #PosX[0], #PosY[0],310, 76 ,471, 98, w)==1)
{
V[j] = i;
i = 99;
}
}
sendkey(RIGHT, w); sleep(350);
}
[/code]
Нажимает влево, вправо. А следующий код "залипает кнопки на 1-2 сек. точно не могу сказать
CODE:

тоже отдельно вызываемая функция
for (i=0; i<MaxHod;i++)
{
if (hod[i] == "0") sendkey(LEFT, w);
if (hod[i] == "1") sendkey(DOWN, w);
if (hod[i] == "2") sendkey(RIGHT, w);
if (hod[i] == "3") sendkey(UP, w);
kh++;
if (hod[i] == "5")
{
for (j=0; j < 100; j++)
{
RadarXY();
sleep(100);
if (Xr == 1 && hod[i-1] == "2") j = 200;
if (Xr == 27 && hod[i-1] == "0") j = 200;
if (Yr == 1 && hod[i-1] == "1") j = 200;
if (Yr == 27 && hod[i-1] == "3") j = 200;
}
//if (j > 180) return 1;
kh = 0;
}
else
{
sleep(150);
if (i == MaxHod) kh = 3;
textout(0, 1188, 136, "i = " + format(i) + " ", 0);
if (hod[i+1] == "5") kh = 3;
if (kh > 2)
{
sendkey(RETURN, w);
pause(270 * kh);
kh = 0;
}
}
}


Причем если заменить sendkey на просто key(LEFT) допустим то все работает. Где ошибка? Sendkey вроде как нажимает и тут же отжимает клавишу.
 
 Top
zebra hamaie
Отправлено: 09 Марта, 2014 - 22:30:51
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2014  
Репутация: 0




sendkey() можно использовать для свернутых окон. просто key() нажимает на клавишу будто физически , а sendkey отправляет запрос на уровне кода ... ну как-то так ... подробнее тут
(Добавление)
добавлю , что если вы используете не свернутые окна , то вам вполне подойдет key(); и не обязательно использовать sendkey()
(Добавление)
RadarXY(); проверьте в этой функции может быть какой-нибудь sleep() есть.....
 
 Top
HACMOPK
Отправлено: 09 Марта, 2014 - 22:57:27
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 84
Дата рег-ции: Май 2013  
Репутация: 4




win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));
sendkey(LEFT, w);


win w=window ("Безымянный — Блокнот", "Notepad", -1);
sendkey(LEFT, w);
 
 Top
Nexur
Отправлено: 10 Марта, 2014 - 18:49:01
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 25
Дата рег-ции: Янв. 2014  
Репутация: 1




 Цитата:
RadarXY(); проверьте в этой функции может быть какой-нибудь sleep() есть.....
Не понял причем тут sleep.
 Цитата:
win w=window (-1, "Edit", window ("Безымянный — Блокнот", "Notepad", -1));
sendkey(LEFT, w);
win w=window ("Безымянный — Блокнот", "Notepad", -1);
sendkey(LEFT, w);

Попробовал так
CODE:
win w =window("Warspear Online", "Warspear", -1);
sendkey(DOWN, w);
Присутствует эффект залипания.

След пример вообще не работает
CODE:

win w = window (-1, -1, window ("Warspear Online", "Warspear", -1));
sendkey(DOWN, w);


А след. код вообще непонятно мне нажимает вниз 1 раз и все вверх не жмет, если увеличить время sleep то чуть дольше жмет вниз а вверх так и не жмет. Что я делаю не правильно ?
CODE:

win w =window("Warspear Online", "Warspear", -1);

sendkey(DOWN, w);
sleep(100);
sendkey(UP, w);
sleep(100);
 
 Top
HACMOPK
Отправлено: 10 Марта, 2014 - 18:56:22
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 84
Дата рег-ции: Май 2013  
Репутация: 4




Не понял

(Отредактировано автором: 10 Марта, 2014 - 18:56:44)

 
 Top
Nexur
Отправлено: 10 Марта, 2014 - 21:20:34
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 25
Дата рег-ции: Янв. 2014  
Репутация: 1




Может быть потому что я с ноута пытаюсь это все сделать? Тут же клава встроенная... хз важно это или нет
 
 Top
HACMOPK
Отправлено: 10 Марта, 2014 - 21:38:26
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 84
Дата рег-ции: Май 2013  
Репутация: 4




Походу функция sendkey в играх работает как keydown, если нет ограничения в программе то время нажатия не ограничено. Здесь вопрос к Kibor.

(Отредактировано автором: 10 Марта, 2014 - 21:39:08)

 
 Top
Nexur
Отправлено: 10 Марта, 2014 - 21:40:27
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 25
Дата рег-ции: Янв. 2014  
Репутация: 1




 HACMOPK пишет:
Здесь вопрос к Kibor.
Угу. Жду его комментария по этому поводу.
 
 Top
zebra hamaie
Отправлено: 10 Марта, 2014 - 22:43:10
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2014  
Репутация: 0




 Nexur пишет:
Тут же клава встроенная... хз важно это или нет

на ноутах клавиатура и тачпад действует по ходу по функционалу как порт пс2 ( НЕ юсб который , зеленый и фиолетовый). и это вроде как ПЛЮС должно быть . на сколько я знаю проблемы встречаются с ЮСБ портами, а с этими должно все идти норм.

(Отредактировано автором: 10 Марта, 2014 - 22:44:14)

 
 Top
Kibor
Отправлено: 10 Марта, 2014 - 23:12:59
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Nexur пишет:
Присутствует эффект залипания.

sendkey работать может только как keydown. Но при этом не совсем, так как сочетания нельзя сделать такой функцией.
Как решение проблемы попробуйте вместо отпускания клавиши отправить с sendkey нажатие любой клавиши которая не важна для игры. Это должно прекратить залипание.
(Добавление)
И для sendkey не важна клавиатура... тип важен только для антиантикликера. sendkey не работает с ним.
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by