Прохожий
Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2015
Репутация: 0
|
Пишу скрипт на управление вторым окном из первого.
Столкнулся с проблемой. Скрипт отказывается нажимать на игровые макросы. Нажимает без сбоев на все! Скилы, действия (некст таргет, ассист и другие), социальные действия (похлопать в ладоши, станцевать и т.д.) - всё это срабатывает без проблем, стоит создать игровой макрос и поместить его на панель (к примеру на F12), то из основного окна во второе не происходит нажатие (порой проскальзывает, если макрос из 1 строки *например /target "ник" *, но оооочень редко. Так можно раз 20 нажимать и только 1 раз получить желаемое. Если же в макросе 2 и более строки, весь макрос не отрабатывает вообще никогда). Переключаясь на второе окно (делая его активным) и нажимая туже самую комбинацию, макрос нажимается сразу же, без проблем. Полагаю срабатывает защита, т.к. использование игрового макроса - само по себе мини бот))) А без этого макроса по сути вся реализации бессмысленна. Только через макрос можно взять таргет на основного персонажа ( /target "ник" ). Пробовал сделать это мышкой, но к сожалению в неактивное окно sendmouse не срабатывает вообще никак. ВОЗМОЖНО, оно сработает через анти-антикликер, но увы протестировать не могу (У меня мышь USB).
Если кто-то может, протестируйте пожалуйста, чтоб я знал - покупать переходник PS/2 или нет
CODE:win w1, w2;
int x, y, col, xDis ,yDis;
getdisplay(col, xDis, yDis);
textbkcolor (255,0);
textout(0, xDis/2 - 130, yDis/2 - 30, "наведите мышь на окно 1 и нажмите Ё.", 0);
e: if (getkeystate(192)==0) {sleep(10); goto e;}
getmouse(x, y);
w1=getwindow(1, x, y);
s: if (getkeystate(192)==1) {sleep(10); goto s;}
textout(0, xDis/2 - 130, yDis/2 - 30, "наведите мышь на окно 2 и нажмите Ё.", 0);
e5: if (getkeystate(192)==0) {sleep(10); goto e5;}
getmouse(x, y);
w2=getwindow(1, x, y);
s5: if (getkeystate(192)==1) {sleep(10); goto s5;}
resettextout( 1 );
cikl:
if (getkeystate(192)==1) {sleep(50); sendkey(F12, w2);} // Основной тест. Сделал без сочетаний клавиш, для удобства тестирования. При нажатии " Ё ", нажимать F12 (на F12 какой-нибудь макрос *например /target "Ник" *).
if (getkeystate(16)==1 && getkeystate(112)==1) {sleep(50); sendkey(F1, w2);}
if (getkeystate(16)==1 && getkeystate(113)==1) {sleep(50); sendkey(F2, w2);}
if (getkeystate(16)==1 && getkeystate(114)==1) {sleep(50); sendkey(F3, w2);}
if (getkeystate(16)==1 && getkeystate(115)==1) {sleep(50); sendkey(F4, w2);}
if (getkeystate(16)==1 && getkeystate(116)==1) {sleep(50); sendkey(F5, w2);}
if (getkeystate(16)==1 && getkeystate(117)==1) {sleep(50); sendkey(F6, w2);}
if (getkeystate(16)==1 && getkeystate(118)==1) {sleep(50); sendkey(F7, w2);}
if (getkeystate(16)==1 && getkeystate(119)==1) {sleep(50); sendkey(F8, w2);}
if (getkeystate(16)==1 && getkeystate(120)==1) {sleep(50); sendkey(F9, w2);}
if (getkeystate(16)==1 && getkeystate(121)==1) {sleep(50); sendkey(F10, w2);}
if (getkeystate(16)==1 && getkeystate(122)==1) {sleep(50); sendkey(F11, w2);}
if (getkeystate(16)==1 && getkeystate(123)==1) {sleep(50); sendkey(F12, w2);} //Все F'ки от 1 до 12 нажимаются сочетанием клавиш Shift + F1-12
goto cikl; (Отредактировано автором: 27 Апреля, 2015 - 12:45:12) |