Author Topic: Ошибка в скрипте  (Read 1854 times)

0 Members and 1 Guest are viewing this topic.

Zep

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Ошибка в скрипте
« on: July 23, 2017, 02:04:38 PM »
Ошибка в том, что как только пиксель исчезает, кликер не выходит из цикла и говорит что пиксель на координатах из IF_PIXEL_IN

IF_PIXEL_IN($_xmap-80,$_ymap+5, $_xmap-60,$_ymap+15, 16777215)

[spoiler]
Code: (clickermann) [Select]
WHILE($search_minimap = 0)
   GETSCREEN
   COLORMODE(8)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "texture/minimap.bmp", -1, 100)
      $search_minimap = 1
      print("Миникарта найдена.")
      $_xmap = $_return1
      $_ymap = $_return2
      print("X",$_xmap-60," Y",$_ymap+15)
   ELSE
      print("Миникарта не найдена.")
      WAITMS(25)
   END_IF
END_CYC

SUB(Fly, $key)
   STRSEPARATE($key, ",", $arr)
   print("Путь:",$key, ".")
   FOR($fly = 0, $fly<ARRSIZE($arr))
      SWITCH($arr[$fly])
      CASE("top_left")
         $x = $_xmap - 154
         $y = $_ymap + 40
      CASE("top_right")
         $x = $_xmap - 4
         $y = $_ymap + 40
      CASE("bottom_left")
         $x = $_xmap - 154
         $y = $_ymap + 126
      CASE("bottom_right")
         $x = $_xmap - 4
         $y = $_ymap + 126
      CASE("top")
         $x = $_xmap - 75
         $y = $_ymap + 40
      CASE("bottom")
         $x = $_xmap - 75
         $y = $_ymap + 126
      CASE("left")
         $x = $_xmap - 154
         $y = $_ymap + 83
      CASE("right")
         $x = $_xmap - 4
         $y = $_ymap + 83
      CASE("center")
         $x = $_xmap - 75
         $y = $_ymap + 83
      CASE("kill")
         $x = $_xmap - 166
         $y = $_ymap + 29
      CASE("next")
         $x = $_xmap - 81
         $y = $_ymap + 83
      CASE("home")
         $x = $_xmap - 72
         $y = $_ymap + 83
      END_SWITCH
      MOVE($x,$y)
      LCLICK($x,$y)
      WAIT(1)
      $check = 0
      WHILE($check = 0)
         GETSCREEN($_xmap-80,$_ymap+5, $_xmap-61,$_ymap+16)
         IF_PIXEL_IN($_xmap-80,$_ymap+5, $_xmap-60,$_ymap+15, 16777215)
            WAITMS(2225)
            print("X",$_return1," Y", $_return2)
            FOR($log_move, $log_move <1)
               print("Полёт:","[",$fly,"]")
            END_CYC
         ELSE
            $check = 1
            $log_move = 0
            print("Долетел:","[",$fly,"]")
         END_IF
      END_CYC
      WAITMS(25)
   END_CYC
   UNDEFINE($arr)
END_SUB

Fly("left,center")
[/spoiler]
« Last Edit: July 23, 2017, 02:06:49 PM by Zep »

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Ошибка в скрипте
« Reply #1 on: July 23, 2017, 02:48:26 PM »
Потому что область GETSCREEN меньше чем область поиска
GETSCREEN($_xmap-80,$_ymap+5, $_xmap-61,$_ymap+16)
IF_PIXEL_IN($_xmap-80,$_ymap+5, $_xmap-60,$_ymap+15, 16777215)

Zep

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Ошибка в скрипте
« Reply #2 on: July 23, 2017, 03:02:26 PM »
в упор не видел, спасибо)