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 - Уральский

Pages: [1]
1
Code: (clickermann) [Select]
//Это скрипт поиск пиксела от центра
$x=0

$y=0

$cent_x=int($_xmax/2)

$cent_y=int($_ymax/2)

GETSCREEN

SCANPXL($arr,100,100, 200,200, 1057851)

FOR($a=0,$a<ARRSIZE($arr),2)

   IF(DIST($arr[$a],$arr[$a+1],$cent_x,$cent_y)<DIST($x,$y,$cent_x,$cent_y))

      $x=$arr[$a]

      $y=$arr[$a+1]

   END_IF

END_CYC

UNDEFINE($arr)

 

IF(($x+$y)>0)

   LDOWN ($x, $y)

   WAITMS(RND(80,60))

   LUP($x, $y)

   WAITMS(RND(80,40))
END_IF


//Это тоже поиск пиксела  со случайным кликом, но с верх левого угла: оба взяты с форума и немного переделаны под себя.
//Пользуюсь вторым. вот если бы в нем сделать поиск от центра!!!!!!!!!!!!! пробую сам , но не получается не все понимаю что тут к чему: соедините пожалуйста!  ( если добавите комментарии будет замечательно! в справке не всегда все понятно.)
//Кстати первый скрипт у меня тоже не работал до сего дня из за нумерации строк ;)
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y,$MOVE_CLICK)
   $MOVE_SPEED = 2 
 
   $MOVE_Start_X = $_xmouse
   $MOVE_Start_Y = $_ymouse
   $MOVE_X = $MOVE_Start_X
   $MOVE_Y = $MOVE_Start_Y
 
   $dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
 
   $MOVE_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
 
   IF($MOVE_SPEEDVAR < 1)
      $MOVE_SPEEDVAR = 1
   END_IF
 
   $MOVE_step=($dist-1)/$MOVE_SPEEDVAR
   $MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
   $MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
 
   FOR($MOVE_i=0, $MOVE_i<INT($MOVE_step))
      $MOVE_X = $MOVE_X + $MOVE_X_step
      $MOVE_Y = $MOVE_Y + $MOVE_Y_step
      MOVE(ROUND($MOVE_X,0), ROUND($MOVE_Y,0))
      WAITMS(1)
   END_CYC
 
   MOVE($MOVE_END_X, $MOVE_END_Y)
 
   IF($MOVE_CLICK = 1)
      LDOWN($MOVE_END_X, $MOVE_END_Y)
      WAITMS(RND(80,150)
      LUP($MOVE_END_X, $MOVE_END_Y)
      WAITMS(RND(80,150)
   END_IF
END_SUB
 
mouse_move (RND(85,195),RND(889,939),1)
 
$time = $_time_t + RND(2,3)
$check = 0
$check_out = 0
WHILE(($check_out = 0) & ($time > $_time_t))
   GETSCREEN   
   IF_PIXEL_IN(100,100, 200,200, 1057851)

    LCLICK ($_return1, $_return2)
    WAITMS(RND(50,60))
   ELSE
   ELSE
      IF($check = 1)
         $check_out = 1
      END_IF
      WAITMS(300)
   END_IF
END_CYC
WAITMS(RND(40,60))
// Есть небольшой недостаток во втором коде: Когда персонаж  в движении клик промахивается кликая рядом, кликает точно когда персонаж промахнулся остановившись

2
Всё работает именно так как нужно!!!, не знал что при копировании скрипта  нумерацию строк нужно удалить.
Сейчас буду кумекать как соединить то что вы дали с с моим скриптом..... Пока чтоб всё работало как нужно приходится запускать одновременно 3 кликера
Я ещё вернусь ;)
Спасибо!!!

3
Не работает, совсем ни чего не происходит((
пробивал изменить размер сравнения хеша до 1 пиксела, тоже тишина((

4
// снимаем два хеша с промежутком в 3 сек

2.GETSCREEN

3.$hash1 = PXLCRC(1067,975, 1081,979) // область цифр иконки боеприпасов

WAITMS(3000)


5.GETSCREEN

6.$hash2 = PXLCRC(1067,975, 1081,979)

7.//если они одинаковые значит выполняем условие

8.IF($hash1 = $hash2)

getscreen

IF_PIXEL_IN(350,150, 1910,937,204)

lclick($_return1+36, $_return2-50)
WAITMS (20)

KEYPRESS (#CTRL)

ELSE

END_IF
Работает но не совсем так как нужно.
Находит моба и атачит, через WAITMS(3000) нажимает CTRL и атака отменена через WAITMS(3000 снова ищет моба не добив предыдущего, и так собирает кучу мобов ))
(область цифр иконки боеприпасов) во время боя меняется , то есть цифры идут на убыль. он не должен делать ни каких действий пока картинка не станет не изменной
Делать длинную задержку  тоже не вариант. на одного моба нужно минуту на другого 10 предугадать  кого он встретит не реально

5
Читал но подобного не нашёл, а может  что то и есть но, видимо до меня не доходит ;)
Если  можно наглядно подскажите!
Немного могу сам что то написать, Но пока не все могу понять, переделываю написанные скрипты под свои нужды и понемногу учусь.
В игре есть иконка боеприпасов на ней цифрами количество боеприпасов, они убывают когда кого-то аточишь или прибывают при покупке.
go:
getscreen
IF_PICTURE_IN (31,247, 82,310, "моб.bmp") //
WAITMS (150)
lclick($_return1+40, $_return2-55)
WAITMS (20)
KEYPRESS (17)//
Else
end_if

( дальше каждые 10 секунд нужно отслеживать эту иконку и если она не изменилась)

go:
getscreen
IF_PICTURE_IN (31,247, 82,310, "моб.bmp") //
WAITMS (150)
lclick($_return1+40, $_return2-55)
WAITMS (20)
KEYPRESS (17)//
Else
end_if

6
Лабиринт как на картинке, он  всегда одинаковый, черная область это стены, в белой области находятся мобы ( всегда в разных местах )
Цель не пройти из точки А в точку Б а передвигаться по белой области не упираясь в стены, когда находит моба за стеной должен её обойти.
Мобы появляются беспорядочно, часто бывает что нужно ходить по несколько раз из конца в конец лабиринта пока  всех не перебьёшь.

7
Не совсем понимаю как делать чтобы передвигаться по лабиринту не упираясь в тены

Pages: [1]