Author Topic: помогите  (Read 2043 times)

0 Members and 1 Guest are viewing this topic.

Piano GX

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
помогите
« on: March 02, 2016, 07:07:42 PM »
if($YP>$Y2&$XP<X2)

я верно сравнение привел?

Piano GX

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: помогите найти ошибку
« Reply #1 on: March 02, 2016, 07:34:13 PM »
Программа должна ссчитать координаты персонажа и моба, если между ними есть черный пиксель, то он должен ходить, а если нет, то должен стрелять по мобу.
координаты персонажа
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(9910604,7871522,9783896,97155350,9785179,10305618,9318722,8860208,9643820,11543078,10110038,5775135)
   $XP=$_RETURN1
   $YP=$_RETURN2
END_IF 

getscreen
define($a,2)
wait(1)
while($a>0)
   if_pixel_in(300,115, 910,415, 4867928, 8354971, 6709384,13224393,12829897,166776959,11909303,16119285,15395562,15724527,4689787,7579543,1994075,610626,39552,7961708,3362891,1385507,134412,534055,1059630,2636088)
      $Y=$_RETURN2
      $X2=$_RETURN1
      $Y2=$_RETURN2
      IF(($XP>$X2)&($YP>$Y2)) //$XP,$YP - КООРДИНАТЫ ПЕРСОНАЖА, $X,$Y -МОБА
         IF_PIXEL_IN($XP,$YP,$X2,$Y2,0)
            keypress(#6)
            keypress(#6)
            KEYPRESS(#6)
            keypress(#L)
         ELSE
            lclick($X2, $Y2)
            waitms(20)
            DEFINE($Y,$_RETURN2)
         end_if
      END_IF
      IF(($XP<$X2)&($YP<$Y2))
         IF_PIXEL_IN($X2,$Y2,$XP,$YP,0)
            keypress(#6)
            keypress(#6)
            KEYPRESS(#6)
            keypress(#L)
         ELSE
            lclick($X2, $Y2)
            waitms(20)
            DEFINE($Y,$_RETURN2)
         END_IF
      END_IF
      if(($YP>$Y2)&($XP<$X2))
         IF_PIXEL_IN($XP,$Y2,$X2,$YP,0)
            keypress(#6)
            KEYPRESS(#6)
            keypress(#L)
         ELSE
            lclick($X2, $Y2)
            waitms(20)
            DEFINE($Y,$_RETURN2)
         end_if
      END_IF
      IF(($Y2>$YP)&($XP>$X2))
         IF_PIXEL_IN($X2,$YP,$XP,$Y2,0)
            keypress(#6)
            KEYPRESS(#6)
            keypress(#L)
         ELSE
            lclick($X2, $Y2)
            waitms(20)
            DEFINE($Y,$_RETURN2)
         end_if
      END_IF
   end_if
   inc($a,-1)
END_CYC
getscreen
IF_PIXEL_IN(975,428,976,429,5587757)
   KEYPRESS(#R)
end_if
« Last Edit: March 02, 2016, 08:49:53 PM by Oraven »

Piano GX

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: помогите
« Reply #2 on: March 02, 2016, 07:41:36 PM »
ахаха. нашел ошибку, поиск пикселя не верно ввел для получаения координат перса

Piano GX

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: помогите
« Reply #3 on: March 02, 2016, 07:46:28 PM »
ошибку исправил, все равно неверно работает(

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: помогите
« Reply #4 on: March 02, 2016, 08:49:20 PM »
DEFINE работает только если переменной не существует.

Piano GX

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: помогите
« Reply #5 on: March 03, 2016, 12:04:20 PM »
DEFINE работает только если переменной не существует.

Я думаю ошибка не в этом, верно ли я программу написал? Онтдолжен найти чёрный пикселей(которую имеет стенка) между персонажем и монстров , если чёрный пиксель есть, то он его обходит(стенку), а если нет то сттреляе