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

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

1. stasrus - 11 Сентября, 2021 - 16:30:06 - перейти к сообщению
Всем привет, поиском ничего подобного не нашел
Как нибудь возможно заблокировать клавомышь на время?
Скрипт настроен на определенные события в игре и во время их появления хочу блокировать клавиатуру и мышь от нажатий, чтоб не мешать скрипту. а по завершении скрипта возвращать управление игрой.
3. stasrus - 11 Сентября, 2021 - 16:56:48 - перейти к сообщению
К сожалению блокирует клавомышь скрипту тоже.
4. Zireael - 11 Сентября, 2021 - 17:18:11 - перейти к сообщению
CODE:
external(INT, "BlockInput", "BlockInput", "User32.dll");

BlockInput (1);
looptime(5000)
{
key(F1);
mouse(LEFT, 100, 400);
sleep(1000);
}
BlockInput (0);
5. stasrus - 11 Сентября, 2021 - 17:35:34 - перейти к сообщению
 Zireael пишет:
CODE:
external(INT, "BlockInput", "BlockInput", "User32.dll");

BlockInput (1);
looptime(5000)
{
key(F1);
mouse(LEFT, 100, 400);
sleep(1000);
}
BlockInput (0);


Спасибо Zireael все работает как часы

Вопрос не по теме: таймер начинает отсчет после выполнения в нем кода? возникла ситуация что запускаю скрипт в 10 секунд, таймер стоит на 10 секунд, по идее он должен выполнится во второй раз в 20 секунд, 3 раз в 30 секунд и так далее, но по факту происходит смещение как я понимаю на время выполнения кода в нем?
нужна точность не могу придумать как реализовать задуманное с большОй точностью
6. Zireael - 11 Сентября, 2021 - 17:55:57 - перейти к сообщению
 Цитата:
таймер начинает отсчет после выполнения в нем кода?

Да.
CODE:
int Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds;
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
int x = 0;
int t = gettime() + 10000;
enabletimer(0);

loop()
{
textout(0, 0, 0, "Секунды: "+format(Second), 1);
textout(1, 0, 20, "x = "+format(x), 1);
x++;
sleep(10);
}


CREATE_TIMER(0, 100)
{
if(t<gettime())
{
getlocaltime(Year, Month, DayOfWeek, Day, Hour, Minute, Second, Milliseconds);
t = gettime() + 10000;
pause(3000); // допустим тут какой-то код, котрый выполняется 3 секунды
}
}

Powered by ExBB FM 1.0 Final