Author Topic: Подскажите вчём ошибка? для игры Blade & Soul  (Read 3610 times)

0 Members and 2 Guests are viewing this topic.

Ноэль

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Доброго времени суток! Подскажите вчём ошибка? когда зажимаю клавишу жмёт лкм пкм когда находит картинку жмёт токо лкм.

Code: (clickermann) [Select]
WHILE (1)
   IF(iskeydown(#9) = 1)
      GETSCREEN
      IF_PICTURE_IN (555, 108, 1286, 272, "Безымянный.bmp", 33, 65)
         SETTHREAD(t1,2)
         IF((ISKEYDOWN(1)=1)|(ISKEYDOWN(2)=1))
            LUP(-1,-1)
            RUP(-1,-1)
            KEYUP(#x)
            KEYUP(#f)
            KEYUP(#2)
         END_IF
         WAITMS(20)
         KEYPRESS(#1)
         waitms(30)
         LCLICK(-1,-1)
         waitms(30)
         KEYPRESS(#x)
         WAITMS(30)
         KEYPRESS(#x)
      ELSE
         SETTHREAD(t1,1)
         WAITMS(20)
      END_IF
   ELSE
      SETTHREAD(t1,2)
   END_IF
   waitms(10)
END_CYC

THREAD(t1,0)
   WAITMS(1)
   LCLICK(-1,-1)
   WAITMS(20)
   KEYDOWN(#2)
   WAITMS(20)
   KEYUP(#2)
   KEYDOWN(#f)
   WAITMS(20)
   KEYUP(#f)
   WAITMS(20)
   RCLICK(-1,-1)
   WAITMS(20)
   KEYDOWN(#x)
   WAITMS(20)
   KEYUP(#x)
   WAITMS(20)
END_THREAD
« Last Edit: March 02, 2017, 09:24:32 PM by Ноэль »

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Не понятно как должно жать.
Как написано, так и жмет.
Code: (clickermann) [Select]
WHILE (1)  //  Зачем вечный цикл?...
   IF(iskeydown(#9) = 1)
      GETSCREEN
      IF_PICTURE_IN (555, 108, 1286, 272, "Безымянный.bmp", 33, 65)  //  Если найдена картинка делает...
         SETTHREAD(t1,2)  //  ...от сих...(останавливает поток в котором лкм пкм)
         IF((ISKEYDOWN(1)=1)|(ISKEYDOWN(2)=1))
            LUP(-1,-1)
            RUP(-1,-1)
            KEYUP(#x)
            KEYUP(#f)
            KEYUP(#2)
         END_IF
         WAITMS(20)
         KEYPRESS(#1)  //  эту жмет?
         waitms(30)
         LCLICK(-1,-1)  //  ЖМЁТ ТОКО ЛКМ
         waitms(30)
         KEYPRESS(#x)  //  эту жмет?
         WAITMS(30)
         KEYPRESS(#x)  //  ...до сих(пкм в этих границах нет).  //  эту жмет?
      ELSE
         SETTHREAD(t1,1)  //  если картинка не найдена запускает поток (в котором лкм пкм)
         WAITMS(20)
      END_IF
   ELSE
      SETTHREAD(t1,2)
   END_IF
   waitms(10)
END_CYC
 
THREAD(t1,0)  //  поток
   WAITMS(1)
   LCLICK(-1,-1)  //  жмёт лкм
   WAITMS(20)
   KEYDOWN(#2)
   WAITMS(20)
   KEYUP(#2)
   KEYDOWN(#f)
   WAITMS(20)
   KEYUP(#f)
   WAITMS(20)
   RCLICK(-1,-1)  //  жмёт пкм
   WAITMS(20)
   KEYDOWN(#x)  //  я так понимаю KEYPRESS(#x) не срабатывает?
   WAITMS(20)
   KEYUP(#x)
   WAITMS(20)
END_THREAD
« Last Edit: March 02, 2017, 11:10:07 PM by open_78 »

Ноэль

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Не понятно как должно жать.
Как написано, так и жмет.
Code: (clickermann) [Select]
WHILE (1)  //  Зачем вечный цикл?...
   IF(iskeydown(#9) = 1)
      GETSCREEN
      IF_PICTURE_IN (555, 108, 1286, 272, "Безымянный.bmp", 33, 65)  //  Если найдена картинка делает...
         SETTHREAD(t1,2)  //  ...от сих...(останавливает поток в котором лкм пкм)
         IF((ISKEYDOWN(1)=1)|(ISKEYDOWN(2)=1))
            LUP(-1,-1)
            RUP(-1,-1)
            KEYUP(#x)
            KEYUP(#f)
            KEYUP(#2)
         END_IF
         WAITMS(20)
         KEYPRESS(#1)  //  эту жмет?
         waitms(30)
         LCLICK(-1,-1)  //  ЖМЁТ ТОКО ЛКМ
         waitms(30)
         KEYPRESS(#x)  //  эту жмет?
         WAITMS(30)
         KEYPRESS(#x)  //  ...до сих(пкм в этих границах нет).  //  эту жмет?
      ELSE
         SETTHREAD(t1,1)  //  если картинка не найдена запускает поток (в котором лкм пкм)
         WAITMS(20)
      END_IF
   ELSE
      SETTHREAD(t1,2)
   END_IF
   waitms(10)
END_CYC
 
THREAD(t1,0)  //  поток
   WAITMS(1)
   LCLICK(-1,-1)  //  жмёт лкм
   WAITMS(20)
   KEYDOWN(#2)
   WAITMS(20)
   KEYUP(#2)
   KEYDOWN(#f)
   WAITMS(20)
   KEYUP(#f)
   WAITMS(20)
   RCLICK(-1,-1)  //  жмёт пкм
   WAITMS(20)
   KEYDOWN(#x)  //  я так понимаю KEYPRESS(#x) не срабатывает?
   WAITMS(20)
   KEYUP(#x)
   WAITMS(20)
END_THREAD
KEYPRESS и KEYDOWN KEYUP не срабатывают в обоих потоках пробывал везде ставить  KEYPRESS и наоборот
это скрипт на скилы персонажа бои бывают долгие и чтоб кнопку 100500 раз не кликать

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Рискну предположить что проблема в игре, а не в скрипте. Скрипт вне игры всё жмет.

Ноэль

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Действительно работает не додумался проверить....
Несколько дней назад всё работало...    Ну к примеру рейзоровский синапс  работает норм всё прожимает.
Меня ещё интересует как правильно будет прикрутить задержку на поиск картинки мол нашёл встал на кд 6 сек  при этом чтоб др поток не тормозило. 

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Привязку к окну случаем не включали?
Можно цикл использовать с ожиданием картинки. Поток останавливать не будет но и код дальше не будет выполнять пока не найдет. Если подходит прикручивайте. Я не знаю где там резьба.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0,$_xmax,$_ymax,"file.bmp",-1,100)
      $check = 1
         //  тут можно действия при обнаружении вписать
      WAIT(6)  //  6 секунд
   ELSE
      WAITMS(50)
   END_IF
END_CYC

Ноэль

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Привязку к окну случаем не включали?
Можно цикл использовать с ожиданием картинки. Поток останавливать не будет но и код дальше не будет выполнять пока не найдет. Если подходит прикручивайте. Я не знаю где там резьба.
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN (0,0,$_xmax,$_ymax,"file.bmp",-1,100)
      $check = 1
         //  тут можно действия при обнаружении вписать
      WAIT(6)  //  6 секунд
   ELSE
      WAITMS(50)
   END_IF
END_CYC

Пробывал с привязкой и без причём пивязка работает норм.
Спасибо за цикл но он останавливает THREAD(t1,0) а мне нужно чтоб он работал вовремя WAIT(6) картинки

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Спасибо за цикл но он останавливает THREAD(t1,0) а мне нужно чтоб он работал вовремя WAIT(6) картинки
Это смотря как и где его "прикрутить". Я же говорю - не знаю где резьба.
Может так:
[spoiler]
Code: (clickermann) [Select]
WHILE (1)
   IF(iskeydown(#9) = 1)
      $check = 0
      WHILE($check = 0)
         GETSCREEN
         IF_PICTURE_IN (555, 108, 1286, 272, "Безымянный.bmp", 33, 65)
            $check = 1
            WAIT(6)
            IF((ISKEYDOWN(1)=1)|(ISKEYDOWN(2)=1))
               LUP(-1,-1)
               RUP(-1,-1)
               KEYUP(#x)
               KEYUP(#f)
               KEYUP(#2)
            END_IF
            WAITMS(20)
            KEYPRESS(#1)
            waitms(30)
            LCLICK(-1,-1)
            waitms(30)
            KEYPRESS(#x)
            WAITMS(30)
            KEYPRESS(#x)
         ELSE
            SETTHREAD(t1,1)
            WAITMS(20)
         END_IF
      END_CYC
   ELSE
      SETTHREAD(t1,2)
   END_IF
   waitms(10)
END_CYC

THREAD(t1,0)
   WAITMS(1)
   LCLICK(-1,-1)
   WAITMS(20)
   KEYDOWN(#2)
   WAITMS(20)
   KEYUP(#2)
   KEYDOWN(#f)
   WAITMS(20)
   KEYUP(#f)
   WAITMS(20)
   RCLICK(-1,-1)
   WAITMS(20)
   KEYDOWN(#x)
   WAITMS(20)
   KEYUP(#x)
   WAITMS(20)
END_THREAD
[/spoiler]
« Last Edit: March 03, 2017, 10:02:46 PM by open_78 »

Ноэль

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Ксожелению полноценно проверить скрипт не могу из-за странной работы с игрой временами все кнопки начинают работать но не надолго секунды на 3 и снова перестают когда повторится неизвестно.
 

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile

Ноэль

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Читал её! Если я делаю через PC2 то фрост вобще игру закрывает