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

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

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

> Без описания
Vanga-98
Отправлено: 01 Марта, 2018 - 22:34:10
Post Id



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


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




И так, нужен скрипт который будет дублировать нажатия клавиш и мыши из одного главного окна в 4 остальные (окна одинаковы по размерам 840х1000), еще было бы неплохо что бы в скрипте можно было задавать условие в виде размера окон. Работать должно с 2д игрой Warspear Online, могу предоставить ехе-шники для запуска в 2 и более окна.
Буду ждать цену и сроки, пишите в лс.
 
 Top
Dantes3000
Отправлено: 01 Марта, 2018 - 22:40:57
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58




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);}
}

(Добавление)
если что-то существеннее интересует - в лс
 
 Top
Vanga-98
Отправлено: 02 Марта, 2018 - 10:04:31
Post Id



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


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




 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); ?

(Отредактировано автором: 02 Марта, 2018 - 10:22:08)

 
 Top
Dantes3000
Отправлено: 02 Марта, 2018 - 10:34:56
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58




Не должно срабатывать, если правильно привязывать окно. Лучше всего держать основное где-то сбоку, а остальные в другом месте.
 
 Top
Zireael
Отправлено: 02 Марта, 2018 - 10:35:27
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4384
Дата рег-ции: Нояб. 2017  
Репутация: 580




 Цитата:
Нашел особенность, кнопка мыши 2 раза срабатывает в основном окне

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



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58




 Zireael пишет:
Основное окно указывать не нужно

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



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


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




 Zireael пишет:
 Цитата:
Нашел особенность, кнопка мыши 2 раза срабатывает в основном окне

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

То что надо, и мышь работает адекватно во всех окнах и клавиши работают, спасибо!
 
 Top
Dantes3000
Отправлено: 18 Марта, 2018 - 19:20:38
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58




 Zireael пишет:
Попробуйте скрипт. Запускать когда активно основное окно, в него нажатия посылаться не будут.


Проверил. Окна находит...пишет правильное количество...но отсылается нажатие только в одно...и то не при каждом запуске. Надо бы еще проверить какие там указатели записываются в переменные...это забыл
 
 Top
Zireael
Отправлено: 19 Марта, 2018 - 01:02:29
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4384
Дата рег-ции: Нояб. 2017  
Репутация: 580




Может так лучше будет:
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);
}
}
 
 Top
Dantes3000
Отправлено: 19 Марта, 2018 - 02:14:26
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1458
Дата рег-ции: Июнь 2016  
Репутация: 58




Та не....код я упростил до отслеживания только одной кнопки мыши...тут не работает именно передача в некоторые из окон. Суть в том, что эта игра запускается во много окон путём замены одной лишь цифры в hex коде ехе'шника. Возможно, просто функция определения окон барахлит, хотя у меня всё хорошо работает.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Заказать скрипт »


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




Powered by