Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: ivanuskov on November 21, 2013, 10:07:24 PM
-
Ребят, помогите найти ошибку в скрипте - он вообще ничего не делает. Может, это из=за привязки к окну или еще из-за чего...
#name "skybot"
sub(run_exe) //запуск игры
keypress(#win)
waitms(100)
define($jj)
$jj=0
for($jj, $jj<12)
keypress(#up)
waitms(200)
end_cyc
keypress(#enter)
undefine($i)
end_sub
//--------------------------------
sub(set) //необходимые настройки
define($kk)
wheeldown(15) //масштаб
waitms(500)
$kk=0
for ($kk, $kk<7) //масштаб мини-карты
keydown(#ctrl)
waitms(100)
keydown(187)//=
waitms(100)
keyup(#ctrl)
waitms(100)
keyup(187)//=
waitms(100)
end_cyc
end_sub
//--------------------------------
sub(setting) //настройка в зависимости от условий
if_picture_in(1186, 165, 1284, 238, "from_city.bmp", -1, 70)
lclick($_return1, $_return2)
wait(3)
gosub(set)
keypress(#down)
waitms(200)
keypress(#down)
else
gosub(set)
end_if
end_sub
//--------------------------------
$sky_hwnd=wndfind("Sky2Fly", 1)
if($sky_hwnd=0)
gosub(run_exe)
while ($sky_hwnd=0)
waitms(200)
$sky_hwnd=wndfind("Sky2Fly", 1)
end_cyc
end_if
hset($sky_hwnd, 1)
gosub(setting)
halt // for single run
UPD: скрипт не выполняет команды (вроде keypress) ВООБЩЕ. Может, дело в привязке к окну?
UPD 2: Действительно, все дело в привязке к окну - с ней ничего не работает
-
Нет GETSCREEN.
Во время привязки не работают "зажатия" клавиш клавиатуры.
#name "skybot"
sub(run_exe) //запуск игры
keypress(#win)
waitms(100)
$jj=0
for($jj, $jj<12)
keypress(#up)
waitms(200)
end_cyc
keypress(#enter)
end_sub
//--------------------------------
sub(set) //необходимые настройки для бота
wheeldown(15) //масштаб
waitms(500)
$kk=0
for ($kk, $kk<7) //масштаб мини-карты
keydown(#ctrl)
waitms(100)
keydown(187)//=
waitms(100)
keyup(#ctrl)
waitms(100)
keyup(187)//=
waitms(100)
end_cyc
end_sub
sub(setting) //настраивает игру в зависимости от ситуации
GETSCREEN
if_picture_in(1186, 165, 1284, 238, "from_city.bmp", -1, 70)
lclick($_return1, $_return2)
wait(3)
gosub(set)
keypress(#down)
waitms(200)
keypress(#down)
else
gosub(set)
end_if
end_sub
//--------------------------------
$sky_hwnd=wndfind("Sky2Fly", 1)
if($sky_hwnd=0)
gosub(run_exe)
while ($sky_hwnd=0)
waitms(200)
$sky_hwnd=wndfind("Sky2Fly", 1)
end_cyc
end_if
hset($sky_hwnd, 1)
gosub(setting)
halt // for single run
-
Oraven
Спасибо! Не ответите ли еще на пару вопросов:
1. Как реализовать "зажатие" в режиме привязки?
2. Возможна ли одновременная работа двух ботов с одним приложением? (один будет действовать исключительно мышкой, другой - клавиатурой)
-
Только через временное отключение оконного режима. при этом Ctrl будет какое то время зажат для всей системы!
#name "skybot"
sub(run_exe) //запуск игры
keypress(#win)
waitms(100)
$jj=0
for($jj, $jj<12)
keypress(#up)
waitms(200)
end_cyc
keypress(#enter)
end_sub
//--------------------------------
sub(set) //необходимые настройки для бота
wheeldown(15) //масштаб
waitms(500)
$kk=0
HSET($sky_hwnd,0)
keydown(#ctrl)
HSET($sky_hwnd,1)
waitms(100)
for ($kk, $kk<7) //масштаб мини-карты
KEYPRESS(187)//=
waitms(100)
end_cyc
HSET($sky_hwnd,0)
keyup(#ctrl)
HSET($sky_hwnd,1)
waitms(100)
end_sub
sub(setting) //настраивает игру в зависимости от ситуации
GETSCREEN
if_picture_in(1186, 165, 1284, 238, "from_city.bmp", -1, 70)
lclick($_return1, $_return2)
wait(3)
gosub(set)
keypress(#down)
waitms(200)
keypress(#down)
else
gosub(set)
end_if
end_sub
//--------------------------------
$sky_hwnd=wndfind("Sky2Fly", 1)
if($sky_hwnd=0)
gosub(run_exe)
while ($sky_hwnd=0)
waitms(200)
$sky_hwnd=wndfind("Sky2Fly", 1)
end_cyc
end_if
hset($sky_hwnd, 1)
gosub(setting)
HALT // стоп
Кстати запуск игры лучше прописать так
EXECUTE ("c:\Games\Angry Birds\AngryBirds.exe")
-
Копируешь папку с кликером, переназначаешь горячие клавиши управления у второй копии.
-
Oraven
Огромное спасибо за помощь!
-
У меня похожая проблема с нажатиями клавиш. Привязка к окну отключена. window7 x64.
$brauzer=1
$link="http://www.odnoklassniki.ru/game/zm "
if($brauzer=1)
$browser="chrome.exe"
end_if
if($brauzer=2)
$browser="opera.exe"
end_if
KEYDOWN (#ctrl)
WAITMS(50)
KEYPRESS (#f4)
WAITMS(50)
KEYUP (#ctrl)
WAIT(2)
EXECUTE($browser,$link)
WAIT(5)
Ссылка открывается в новой вкладке, но старая вкладка не закрывается.
-
У меня похожая проблема с нажатиями клавиш. Привязка к окну отключена. window7 x64. $brauzer=1
$link="http://www.odnoklassniki.ru/game/zm "
if($brauzer=1)
$browser="chrome.exe"
end_if
if($brauzer=2)
$browser="opera.exe"
end_if
KEYDOWN (#ctrl)
WAITMS(50)
KEYPRESS (#f4)
WAITMS(50)
KEYUP (#ctrl)
WAIT(2)
EXECUTE($browser,$link)
WAIT(5)
Ссылка открывается в новой вкладке, но старая вкладка не закрывается.
Может во время выполнения окно не активно?.
Это самое начало скрипта? Если да, то если запускать по Alt+A первое нажатие не срабатывает. Происходит потому, что по Alt активируется меню окна.
Если в скрипте первым идёт нажатие кнопки вот такое неудобство. Выход: нужно прописать первым клик для активации окна и снятия фокуса с меню. Удобнее кликать по заголовку окна.
-
Может во время выполнения окно не активно?.
Это самое начало скрипта?
Нет, это не начало скрипта, окно активно.
LCLICK(106,8) // 15723238
WAIT(3)
$brauzer=1
$link="http://www.odnoklassniki.ru/game/zm "
if($brauzer=1)
$browser="chrome.exe"
end_if
if($brauzer=2)
$browser="opera.exe"
end_if
KEYDOWN (#ctrl)
WAITMS(50)
KEYPRESS (#f4)
WAITMS(50)
KEYUP (#ctrl)
WAIT(2)
EXECUTE($browser,$link)
WAIT(5)
halt
-
У меня всё закрывает. И всегда закрывал. Писал точно так же.
Сори, клик по заголовку Alt не снимает.
-
Печально... Ни как не пойму в чем причина.
Проверила на другом компьютере, тоже не работает. Может причина в виндовс 7?
-
Печально... Ни как не пойму в чем причина.
Проверила на другом компьютере, тоже не работает. Может причина в виндовс 7?
Проверил на Win7 64 бит всё работает.
-
Проверил на Win7 64 бит всё работает.
Проверяла сегодня на блокноте. сначала клик на блокнот, потом ввод разных символов. В итоге водятся только цифры 1-9, 0 не вводится, буквы не вводятся. shift зажимается. Буквы не вводятся ни константой, ни 10-ным кодом....
-
Снова эта тема....
KEYSTRING довольно капризная функция. Нужно чтобы раскладки кликера и целевого окна совпадали.
$hwnd1 = wndfind("Clickermann -") // получаем HWND окна кликера
$hwnd2 = wndfind("Блокнот") // получаем HWND окна Блокнота
WNDSTATE ($hwnd2, 1) // фокус на окно
SETKBLAYOUT($hwnd1, 1033) // устанавливаем английскую раскладку для окон
SETKBLAYOUT($hwnd2, 1033)
WAITMS(100)
KEYSTRING("privet ",20) // печатаем privet
SETKBLAYOUT($hwnd1, 1049) // устанавливаем русскую раскладку для окон
SETKBLAYOUT($hwnd2, 1049)
WAITMS(100)
KEYSTRING("привет",20) // печатаем привет
HALT
-
Снова эта тема....
KEYSTRING довольно капризная функция. Нужно чтобы раскладки кликера и целевого окна совпадали.
Почти работает, печатает "rit е". Еще открывается регулировка громкости и отключается либо включаетсчя звук
Из кода поняла только 3 последние строчки))))
p.s Заработало все идеально, после того, как убила процесс Ikeymain.exe