Кибор » Скрипты на заказ » Заказать скрипт » Нужен скрипт для дублирования нажатий клавиш/мыши

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

1. Vanga-98 - 01 Марта, 2018 - 14:34:10 - перейти к сообщению
И так, нужен скрипт который будет дублировать нажатия клавиш и мыши из одного главного окна в 4 остальные (окна одинаковы по размерам 840х1000), еще было бы неплохо что бы в скрипте можно было задавать условие в виде размера окон. Работать должно с 2д игрой Warspear Online, могу предоставить ехе-шники для запуска в 2 и более окна.
Буду ждать цену и сроки, пишите в лс.
2. Dantes3000 - 01 Марта, 2018 - 14:40:57 - перейти к сообщению
CODE:
win w1, w2, w3, w4;
int x, y;

textout( 0, 10, 10, "Нажми ё над первым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);

textout( 0, 10, 10, "Нажми ё над вторым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);

textout( 0, 10, 10, "Нажми ё над третьем окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);

textout( 0, 10, 10, "Нажми ё над четвертым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(300, 300);
getmouse(x, y);
w4=getwindow(1, x, y);
textout( 0, -190, -110, "Нажми ё над четвертым окном", 1);

loop() {

if(getkeystate(1)==1) {
getmouse(x, y, w1); sleep(50);
sendmouse(LEFT, x, y, w2);
sendmouse(LEFT, x, y, w3);
sendmouse(LEFT, x, y, w4);}
}

(Добавление)
если что-то существеннее интересует - в лс
3. Vanga-98 - 02 Марта, 2018 - 02:04:31 - перейти к сообщению
 Dantes3000 пишет:
CODE:
win w1, w2, w3, w4;
int x, y;

textout( 0, 10, 10, "Нажми ё над первым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);

textout( 0, 10, 10, "Нажми ё над вторым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);

textout( 0, 10, 10, "Нажми ё над третьем окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);

textout( 0, 10, 10, "Нажми ё над четвертым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(300, 300);
getmouse(x, y);
w4=getwindow(1, x, y);
textout( 0, -190, -110, "Нажми ё над четвертым окном", 1);

loop() {

if(getkeystate(1)==1) {
getmouse(x, y, w1);sleep(50);
sendmouse(LEFT, x, y, w2);
sendmouse(LEFT, x, y, w3);
sendmouse(LEFT, x, y, w4);}
}

(Добавление)
если что-то существеннее интересует - в лс

Cпасибо огромное, тестирую сейчас, в чем может быть причина что он не жмет клавиши в остальных окнах?
Нашел особенность, кнопка мыши 2 раза срабатывает в основном окне, я так понял это число нужно уменьшить getmouse(x, y, w1);sleep(50); ?
4. Dantes3000 - 02 Марта, 2018 - 02:34:56 - перейти к сообщению
Не должно срабатывать, если правильно привязывать окно. Лучше всего держать основное где-то сбоку, а остальные в другом месте.
5. Zireael - 02 Марта, 2018 - 02:35:27 - перейти к сообщению
 Цитата:
Нашел особенность, кнопка мыши 2 раза срабатывает в основном окне

Основное окно указывать не нужно. Получается что 1 раз кликаете вы, второй раз кликает скрипт.
(Добавление)
Попробуйте скрипт. Запускать когда активно основное окно, в него нажатия посылаться не будут.
code (Отобразить)
6. Dantes3000 - 02 Марта, 2018 - 07:45:17 - перейти к сообщению
 Zireael пишет:
Основное окно указывать не нужно

нужно, просто это мой старый скрипт...он не на 5, а на 4 окна. Если первый привязать к основному, то из w1 на w2-3-4 будут передаваться.
А вообще, чтобы этот скрипт хорошо работал(именно в игре варспир) надо чтобы эти клики моментально отсылались. Малейшая задержка - будет рассинхрон и персонажи в разных клетках окажутся
7. Vanga-98 - 02 Марта, 2018 - 08:12:27 - перейти к сообщению
 Zireael пишет:
 Цитата:
Нашел особенность, кнопка мыши 2 раза срабатывает в основном окне

Основное окно указывать не нужно. Получается что 1 раз кликаете вы, второй раз кликает скрипт.
(Добавление)
Попробуйте скрипт. Запускать когда активно основное окно, в него нажатия посылаться не будут.
code (Отобразить)

То что надо, и мышь работает адекватно во всех окнах и клавиши работают, спасибо!
8. Dantes3000 - 18 Марта, 2018 - 12:20:38 - перейти к сообщению
 Zireael пишет:
Попробуйте скрипт. Запускать когда активно основное окно, в него нажатия посылаться не будут.


Проверил. Окна находит...пишет правильное количество...но отсылается нажатие только в одно...и то не при каждом запуске. Надо бы еще проверить какие там указатели записываются в переменные...это забыл
9. Zireael - 18 Марта, 2018 - 18:02:29 - перейти к сообщению
Может так лучше будет:
CODE:
if(count > 0) // если окна найдены
{
loop()
{
for(int i=0; i<255; i++)
{
if(getkeystate(i)==1) // если нажата кнопка
{
while(getkeystate(i)==1)sleep(1); // ждём когда кнопка будет отпущена
for(int j=count-1; j>0; j--) // цикл для всех окон, кроме первого (основного)
{
if(i==1 || i==2 || i=4) // если нажата кнопка мыши
{
getmouse(x, y, wind[0]);
sendmouse(LEFT, x, y, wind[j]);
}
else // если нажата кнопка клавиатуры
{
sendkey(i, wind[j]);
}
}
}
}
sleep(1);
}
}
10. Dantes3000 - 18 Марта, 2018 - 19:14:26 - перейти к сообщению
Та не....код я упростил до отслеживания только одной кнопки мыши...тут не работает именно передача в некоторые из окон. Суть в том, что эта игра запускается во много окон путём замены одной лишь цифры в hex коде ехе'шника. Возможно, просто функция определения окон барахлит, хотя у меня всё хорошо работает.

Powered by ExBB FM 1.0 Final