Author Topic: Вопрос по #define  (Read 2239 times)

0 Members and 1 Guest are viewing this topic.

Batanik

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Вопрос по #define
« on: May 15, 2015, 10:41:08 PM »
Есть ли ограничение на количество оператора #define, при использовании нескольких работает корректно, но если их много, они просто не срабатывают, может я просто фичи не знаю.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Вопрос по #define
« Reply #1 on: May 16, 2015, 07:43:36 AM »
Пример кода

Batanik

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Вопрос по #define
« Reply #2 on: May 16, 2015, 08:38:40 AM »
Code: (clickermann) [Select]
#define w:wait(5)
#define e:wait(15)

#define praym1:LCLICK(829,259) 
#define praym2:LCLICK(834,31) 
#define praym3:LCLICK(806,25) 
#define praym4:LCLICK(817,328) 

#define ok:LCLICK(632,371)   
#define pomow:LCLICK(658,287) 

#define dalee:LCLICK(744,399)


#define orudiya:LCLICK(196,237)

#define gz1:LCLICK(508,387) 
#define gz2:LCLICK(592,400) 
#define gz3:LCLICK(419,389) 




WAIT(5)




gz1
ok
pomow
gz2
ok
pomow
w
orudiya
dalee
gz3
ok
gz3
ok

Ну как то так, его больше, но даже такой участок не работает в одельном сценарии.
« Last Edit: May 16, 2015, 10:10:54 AM by Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Вопрос по #define
« Reply #3 on: May 16, 2015, 10:21:43 AM »
Здесь дело в строке поиска
Code: (clickermann) [Select]
#define find:replace
find должно быть уникальным
#define работает как найти заменить во время работы скрипта

Вот пример
Code: (clickermann) [Select]
$ms = $_ms

#define w:wait(1)

WAIT(1)

w

LOGWRITE("LOGWRITE ", $_ms-$ms)
PRINT("print ", $_ms-$ms)

HALT

На выходе мы получим одну запись в лог
Quote
11:12:40 print 2000
Видимо #define поломало функциию LOGWRITE из за буквы W.
WAIT(1) при этом сработал, хотя видимо привратился в wait(1)AIT(1)

Сделаем строку поиска более длинной и уникальной
Code: (clickermann) [Select]
$ms = $_ms

#define waittime:wait(1)

WAIT(1)

waittime

LOGWRITE("LOGWRITE ", $_ms-$ms)
PRINT("print ", $_ms-$ms)

HALT
Quote
11:17:13 LOGWRITE 2000
11:17:13 print 2001
теперь все работает правильно.

Совет: используй длинную уникальную строку поиска для find

Batanik

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Re: Вопрос по #define
« Reply #4 on: May 16, 2015, 10:28:13 AM »
Спасибо, фича все-таки есть 8)