Этот код работает.. бежит вправо...
Сделал тестовый блок в виз редакторе, примерно как был у меня.
В обычном режиме работает, а вот если поставить в фоне к контролу, не работает, просто крутит ногами.
31. kayzer - 20 Августа, 2018 - 08:18:49 - перейти к сообщению
32. Kibor - 20 Августа, 2018 - 08:27:00 - перейти к сообщению
Так не понятно. Ногами крутит, так значит кнопка нажата. Кибор при чем?
Не путайте фон режим и реальный.
Короче проблем описанных с key с паузами я не вижу.
Не путайте фон режим и реальный.
Короче проблем описанных с key с паузами я не вижу.
33. kayzer - 20 Августа, 2018 - 08:53:00 - перейти к сообщению
Ногами крутит если нажать и отпустить кнопку - то ноги поворачиваются в ту сторону куда хотим пойти.
Получается что он нажимает нужную кнопу, но это нажать и отпустить.
Если нажать и держать то сначала ноги поворачиваются потом робот идет.
Сделал эксперимент, не ставил галку фоновый режим и привязку к контролу, то старый скрипт нормально ходит как и ходил...
Как только ставишь привязку либо к Окну либо к контролу - все.. перестает ходить.
Сделал тест:
key 39 (нажать и отпустить) - 4 раза подряд
key 37 (нажать и отпустить) - 4 раза подряд
Робот рывками идет в нужную сторону....
К сожалению Ваш код не могу вставить в свой скрипт... ограничение 350 строк...
Сделал keydown 100 000 мс и все... произошло просто нажатие, то есть кнопка отжата и ее можно нажать снова.
Раньше когда скрипт нажимал какую-то кнопку, и в этот момент остановить скрипт, то кнопка оставалась нажатой
Получается что он нажимает нужную кнопу, но это нажать и отпустить.
Если нажать и держать то сначала ноги поворачиваются потом робот идет.
Сделал эксперимент, не ставил галку фоновый режим и привязку к контролу, то старый скрипт нормально ходит как и ходил...
Как только ставишь привязку либо к Окну либо к контролу - все.. перестает ходить.
Сделал тест:
key 39 (нажать и отпустить) - 4 раза подряд
key 37 (нажать и отпустить) - 4 раза подряд
Робот рывками идет в нужную сторону....
К сожалению Ваш код не могу вставить в свой скрипт... ограничение 350 строк...
Сделал keydown 100 000 мс и все... произошло просто нажатие, то есть кнопка отжата и ее можно нажать снова.
Раньше когда скрипт нажимал какую-то кнопку, и в этот момент остановить скрипт, то кнопка оставалась нажатой
34. Kibor - 20 Августа, 2018 - 09:02:00 - перейти к сообщению
Не понятно что имеется в виду "старый скрипт"
Тут насколько я понимаю идет речь о виз редакторе.
Где сделал???????????????
Это должен генерировать редактор, а не делать пользователь.
Вы руками что ли корректируете старый код созданный виз редактором когда то?
Тут насколько я понимаю идет речь о виз редакторе.
kayzer пишет:
Сделал тест:
key 39 (нажать и отпустить) - 4 раза подряд
key 37 (нажать и отпустить) - 4 раза подряд
key 39 (нажать и отпустить) - 4 раза подряд
key 37 (нажать и отпустить) - 4 раза подряд
Где сделал???????????????
Это должен генерировать редактор, а не делать пользователь.
Вы руками что ли корректируете старый код созданный виз редактором когда то?
35. kayzer - 20 Августа, 2018 - 09:10:30 - перейти к сообщению
С програмированием не силен... делаю все в визуальном редакторе.
Старый скрипт - это скрипт сделанный в виз. редакторе и скомпилированный в exe ДО обновления. Дата компиляции 13.08.
Этот же скрипт скомпилированный сейчас - не работает при привязки к окну или контролу.
Старый скрипт - это скрипт сделанный в виз. редакторе и скомпилированный в exe ДО обновления. Дата компиляции 13.08.
Этот же скрипт скомпилированный сейчас - не работает при привязки к окну или контролу.
36. Kibor - 20 Августа, 2018 - 09:12:18 - перейти к сообщению
код генерируемый киньте. а не
Цитата:
key 39 (нажать и отпустить)
37. kayzer - 20 Августа, 2018 - 09:14:56 - перейти к сообщению
Мой код который генерировался
key_(39, 2, "", 0, 500, 2000);
key_(39, 3, "", 0, 500, 1000);
key_(37, 2, "", 0, 500, 2000);
key_(37, 3, "", 0, 500, 1000);
function key_(int k, int m, string text, int pc, int p1, int p2)
{
pause(p1);
if (m==-1)
{
if (size_key_char_KIB==-1)
{
size_key_char_KIB=100;
new char key_char_KIB[size_key_char_KIB+1];
}
int size_key=size(text);
if (size_key_char_KIB<size_key)
{
delete key_char_KIB;
size_key_char_KIB=size_key;
new char key_char_KIB[size_key_char_KIB+1];
}
strcpy(#key_char_KIB[0], text);
for (int n=0; n<size_key; n++){sendkey(key_char_KIB[n], w_KIB); sleep(pc);}
}
else
{
if (m==1) sendkey(k, w_KIB);
if (m==2) sendkey(k, w_KIB);
if (m==3) sendkey(k, w_KIB);
}
pause(p2);
}
Заменмл Вашим с добавкой... и все заработало!!
int mt1, mt2;
int t=gettime();
key_(39, 2, "", 0, 500, 2000);
int t1=gettime()-t;
t=gettime();
key_(39, 3, "", 0, 500, 1000);
int t2=gettime()-t;
key_(37, 2, "", 0, 500, 2000);
int t3=gettime()-t;
t=gettime();
key_(37, 3, "", 0, 500, 1000);
int t4=gettime()-t;
function key_(int k, int m, string text, int pc, int p1, int p2)
{
pause(p1);
if (m==-1)
{
if (size_key_char_KIB==-1)
{
size_key_char_KIB=100;
new char key_char_KIB[size_key_char_KIB+1];
}
int size_key=size(text);
if (size_key_char_KIB<size_key)
{
delete key_char_KIB;
size_key_char_KIB=size_key;
new char key_char_KIB[size_key_char_KIB+1];
}
strcpy(#key_char_KIB[0], text);
for (int n=0; n<size_key; n++){key(key_char_KIB[n]); sleep(pc);}
}
else
{
if (m==1) key(k);
if (m==2) keydown(k);
if (m==3) keyup(k);
if (m==2)mt1=gettime();
if (m==3)mt2=gettime();
}
pause(p2);
}
Менял руками после генерации.
(Добавление)
А не в этом ли дело ?
if (m==1) sendkey(k, w_KIB);
if (m==2) sendkey(k, w_KIB);
if (m==3) sendkey(k, w_KIB);
и
if (m==1) key(k);
if (m==2) keydown(k);
if (m==3) keyup(k);
key_(39, 2, "", 0, 500, 2000);
key_(39, 3, "", 0, 500, 1000);
key_(37, 2, "", 0, 500, 2000);
key_(37, 3, "", 0, 500, 1000);
function key_(int k, int m, string text, int pc, int p1, int p2)
{
pause(p1);
if (m==-1)
{
if (size_key_char_KIB==-1)
{
size_key_char_KIB=100;
new char key_char_KIB[size_key_char_KIB+1];
}
int size_key=size(text);
if (size_key_char_KIB<size_key)
{
delete key_char_KIB;
size_key_char_KIB=size_key;
new char key_char_KIB[size_key_char_KIB+1];
}
strcpy(#key_char_KIB[0], text);
for (int n=0; n<size_key; n++){sendkey(key_char_KIB[n], w_KIB); sleep(pc);}
}
else
{
if (m==1) sendkey(k, w_KIB);
if (m==2) sendkey(k, w_KIB);
if (m==3) sendkey(k, w_KIB);
}
pause(p2);
}
Заменмл Вашим с добавкой... и все заработало!!
int mt1, mt2;
int t=gettime();
key_(39, 2, "", 0, 500, 2000);
int t1=gettime()-t;
t=gettime();
key_(39, 3, "", 0, 500, 1000);
int t2=gettime()-t;
key_(37, 2, "", 0, 500, 2000);
int t3=gettime()-t;
t=gettime();
key_(37, 3, "", 0, 500, 1000);
int t4=gettime()-t;
function key_(int k, int m, string text, int pc, int p1, int p2)
{
pause(p1);
if (m==-1)
{
if (size_key_char_KIB==-1)
{
size_key_char_KIB=100;
new char key_char_KIB[size_key_char_KIB+1];
}
int size_key=size(text);
if (size_key_char_KIB<size_key)
{
delete key_char_KIB;
size_key_char_KIB=size_key;
new char key_char_KIB[size_key_char_KIB+1];
}
strcpy(#key_char_KIB[0], text);
for (int n=0; n<size_key; n++){key(key_char_KIB[n]); sleep(pc);}
}
else
{
if (m==1) key(k);
if (m==2) keydown(k);
if (m==3) keyup(k);
if (m==2)mt1=gettime();
if (m==3)mt2=gettime();
}
pause(p2);
}
Менял руками после генерации.
(Добавление)
А не в этом ли дело ?
if (m==1) sendkey(k, w_KIB);
if (m==2) sendkey(k, w_KIB);
if (m==3) sendkey(k, w_KIB);
и
if (m==1) key(k);
if (m==2) keydown(k);
if (m==3) keyup(k);
38. Kibor - 20 Августа, 2018 - 09:23:25 - перейти к сообщению
Прояснилось теперь.
Проблема не в паузах.
Обновил. Проверяйте.
Проблема не в паузах.
Обновил. Проверяйте.
39. kayzer - 20 Августа, 2018 - 09:24:48 - перейти к сообщению
Да все заработало!!
И генерация новая.
Спасибо.
И генерация новая.
Спасибо.
40. Kibor - 20 Августа, 2018 - 09:27:45 - перейти к сообщению
И вам!