Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Meamyr

Pages: [1] 2
1
Значения в системных переменных $_return1 ,$_return2 не сбрасываются даже после остановки скрипта. Именно поэтому их всегда пишут внутри условия.
Воо) Теперь я понял!

2
Я понимаю что должен быть конец условия, но почему с ним не работает, а без него наводится точно на воду, он же находит воду без него, что мешает найти с завершенной конструкцией, вот что вызывает недоумение

3
Oraven, ваш скрипт тоже не срабатывает, возвращаясь к моему старому упростим скрипт, вот что я обнаружил:
Code: (clickermann) [Select]
#name "PV"
$HWnd = 263244 //ìåíÿåì êàæäûé ðàç
$WM_LBUTTONDOWN = 0x0201
$WM_LBUTTONUP = 0x0202
$WM_MOUSEMOVE = 0x0200
$MK_LBUTTON = 0x0001
     
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
Move ($_return1 ,$_return2)
//   POSTMESSAGE($_hwnd, 0x0200, 0x0001, $_return1 + ($_return2*65536)) // íàâîäèì
//   WAITMS(50)
//   POSTMESSAGE($_hwnd, 0x0201, 0x0001, $_return1 + ($_return2*65536) // çàæèìàåì
//   waitms(50)
//   POSTMESSAGE($_hwnd, 0x0202, 0x0001, $_return1 + ($_return2*65536)) // îòïóñêàåì
//   waitms(100)
//ELSE
//   HINTPOPUP("Íå íàøåë")
//END_IF
 
HALT  // Ñòîï

Без else, hintpopup, end_if - работает, курсор наводится на воду.
С else, hintpopup, end_if - срабатывает "иначе", показывает "не нашел"
С end_if - не работает, курсор на месте.
Рабочий вариант с выключенными else, hintpopup, end_if и заменой Move на три ваших Postmessage так же не работает или показывает "не нашел" с условием "иначе".
Если Move убрать и оставить только один Postmessage с движением мыши - не работает

4
Но ведь работало! =D Ладно, могу и вернуть

5
Заработало, пробовал разные варианты, переделал каплю не CM6 10х10, а CM6 5x5.

Code: (clickermann) [Select]
#name "PV"
$HWnd = 2032438
$WM_LBUTTONDOWN = 0x0201
$WM_LBUTTONUP = 0x0202
$WM_MOUSEMOVE = 0x0200
$MK_LBUTTON = 0x0001
getscreen
COLORMODE(6)
if_picture_in(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
Move ($_return1 ,$_return2)
//postmessage($HWND, $WM_MOUSEMOVE, 0, $_return1 + ($_return2*65536))
HALT  //

Этот вариант не работает (подозреваю что из-за нуля). Как сделать чтобы он тыкал в окно не открывая его? Предварительно нужно двинуть мышь, потому что игра не сразу реагирует на перемещения, как я заметил. Но в той теме про WinAPI через PostMessage (hWnd, Msg, wParam, lParam) не сказано что нужно писать для движения в поле wParam
Code: (clickermann) [Select]
#name "PV"
$HWnd = 2032438
$WM_LBUTTONDOWN = 0x0201
$WM_LBUTTONUP = 0x0202
$WM_MOUSEMOVE = 0x0200
$MK_LBUTTON = 0x0001
getscreen
COLORMODE(6)
if_picture_in(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
//Move ($_return1 ,$_return2)
postmessage($HWND, $WM_MOUSEMOVE, 0, $_return1 + ($_return2*65536))
HALT  //

6
То же самое. Тычет в точку которую отсчитывает по браузеру а не игре.

Но ведь в скрипте нет отсылки к hWND? Он нигде не используется в команде. Мы его только задаем. Может по этому? Как его в оборот включить? С end_if ничего не делается вообще. Без него он тычит не туда.

7
-1, 90 не помогло. Я обнаружил что он тыкает в определенный пиксель относительно окна браузера, а не этой игры. Если я сдвину игру вниз, то и точка окажется вообще сверху, вне экрана игры

8
Попробуй процент совпадения
Code: (clickermann) [Select]
if_picture_in(0, 0, $_xmax, $_ymax, "water.bmp",-1,90)Или COLORMODE(?) применить. Но тогда и заготовку нужно переделать.
В режиме редактора включи лупу, наведи на окно с игрой. ВИДИТ?
Он просто обязан найти эту "воду.бмп".
Лупа видит, все увеличивает. -1, 90 сейчас добавлю проверю, а что означает -1? Что в Colormode писать?

9
Нашел! hWND не тот уже!
Он всегда "Уже не тот", так система устроена. ;D
Ага, я чето забыл, потом сделаю чтобы он по окну искал сам hWND, сейчас не стал перегружать код, и так косяки в упор не вижу)

10
Нашел! hWND не тот уже!
При каждом новом запуске программы hWND не тот уже.
Нет, не помогло, он тыкает немного в другой пиксель, рядом. Причем если сдвинуться вправо по ферме, то он будет тыкать в туже точку относительно интерфейса. Под этой заклепкой, под цифрой "60"

11
а скриптик-то краденный! :o
Чего тут красть-то =D Все у вас взял из двух тем для новичков

12
Нашел! hWND не тот уже!

13
Скрипт в студию.
Пожалуйста :)
Code: (clickermann) [Select]
#name "PV"
$HWnd = 5965136
$WM_LBUTTONDOWN = 0x0201
$WM_LBUTTONUP = 0x0202
$WM_MOUSEMOVE = 0x0200
$MK_LBUTTON = 0x0001

getscreen
if_picture_in(0, 0, $_xmax, $_ymax, "water.bmp")
//-375 -100
 Move ($_return1 ,$_return2)

14
Скриншот делать так:
Code: (clickermann) [Select]
GETSCREEN
SCREENSHOT
HALT
Искать в папке screens. Открывать в Paint, Обрезать и сохранять только в .bmp
Заготовку лучше делать маленькую, но что бы она была уникальной (10х5, 20х10 пикселей достаточно).
И не IF_PIXEL_IN, a IF_PICTURE_IN. Ты же картинку ищешь а не пиксел.
Сделал так. Он тыкает в черный пиксель. Ну хоть что-то. Иконка 10х10. В чем же причина?

15
1) Ошибка в строке №13 вместо (;)должна быть (,)- поэтому не двигает курсор.
2) Команда IF_PICTURE_IN ищет картинку. Левый-верхний угол.
3) Рядом со скриптом.
Спасибо, обновил.

Pages: [1] 2