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

0 Members and 1 Guest are viewing this topic.

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
помогите
« on: July 17, 2014, 08:34:38 PM »
пытаюсь написать скриптик небольшой, вроде делаю все по инструкции но первых два куска отрабатывает нормально а на третьем останавливается и ничего не делает дальше подскажите что можно с этим сделать?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: помогите
« Reply #1 on: July 17, 2014, 08:38:55 PM »
Что не видишь что там задержка на 25 секунд?


moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #2 on: July 17, 2014, 08:55:28 PM »
заднржку я сам поставил, что бы оно ждало перед следующим действием, оно не работало и тогда когда задержка была 100милисекунд)

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #3 on: July 17, 2014, 09:47:28 PM »
проблема была в некоректном скриншоте)
немного подправил скрипт, потому что последнее действие нужно выполнить не сразу а точный промежуток времени неизвестен (из-за нестабильности интернет соединения), он меняется время от времени, и так как я переписал последний промежуток не отрабатывается, подскажите как можно доработать?

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #4 on: July 17, 2014, 10:21:32 PM »
спасибо за помощь, я сел мальца подумал, снова переделал немного по другому и все вышло) вот конечный вид скриптика)

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #5 on: July 17, 2014, 10:44:54 PM »
теперь я хочу мальца усложнить задачку, это были статичные действия, теперь я хочу попробовать написать скриптик для вещи где рандомно выскакивают возможные для выполнения действия, возьмем за основу те же даные что есть в предыдущем скрипте, подскажите пожалуйста что можно добавить что бы кликер думал какое из 4 задач выполнить в даный момент ну или проверял что вылезло в даный момент, подскажите как осуществить это? у меня была задумка использовать команду ELSE, прописать допустим
если написать так как в скрине, для каждого действия это сработает или что то другое нужно?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: помогите
« Reply #6 on: July 18, 2014, 12:57:08 AM »
Последний вариант неправильный. Каждое условие начинается с IF_ и заканчивается своим END_IF. В условии может быть одна альтернатива ELSE. Зачем ты используешь подпрограмму? Смысл подпрограмм в сокращении часто повторяемого кода. В редакторе есть волшебная палочка, не пробовал нажимать? И завязывай со скирншотами, что неужели вставить текст сложнее чем делать скрины?

Вот рандомный выбор действий. В каждое условие вставь свой код.

Code: (clickermann) [Select]
$random = RND(1,4) // генерация случайного числа 1-4
IF($random = 1)
   // выполнние
END_IF


IF($random = 2)
   // выполнние
END_IF


IF($random = 3)
   // выполнние
END_IF


IF($random = 4)
   // выполнние
END_IF

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #7 on: July 18, 2014, 04:19:53 AM »
спасибо за совет, попробую так)

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #8 on: July 18, 2014, 04:41:21 PM »
а если будет такая запись, норм или что то по другому сделать?
$random = RND(1,15)
IF(PXL(680,477) = 5031076($random = 1)
LCLICK(680,477)
LCLICK(583,485)
WAIT(2)
LCLICK(681,551)
WAITMS(100)
END_IF

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #9 on: July 18, 2014, 04:56:25 PM »
и можно еще как то дописать что если ничего из описаного в рандоме не произошло то сделать то то и то то?

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #10 on: July 18, 2014, 05:01:49 PM »
и еще если вещи из рандома будут идти сразу друг за другом они же будут отрабатыватся при такой записи программы?

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #11 on: July 18, 2014, 05:25:07 PM »
появилась идея, что если в каждом из условий в конце дописать ELSE примерно так:
$random = RND(1,15)
IF(PXL(680,477) = 5031076($random = 1)
LCLICK(680,477)
LCLICK(583,485)
WAIT(2)
LCLICK(681,551)
WAITMS(100)
ELSE
LCLICK(929,592)
WAITMS(100)

END_IF
так будет нормально отробатывать програму?

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #12 on: July 18, 2014, 06:25:30 PM »
проблема с завершением скрипта, кидается игральная кость все время, но в тот момент когда нужно закончить скрипт оно не дает бросить кость, тоесть мне нужно нажать на выход тогда когда оно перестанет бросать кость но вот не знаю как это описать в програме(

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: помогите
« Reply #13 on: July 18, 2014, 06:47:45 PM »
Правильно  писать так

Code: (clickermann) [Select]
$random = RND(1,15)
IF($random = 1)
   GETSCREEN
   IF(PXL(680,477) = 5031076)
      LCLICK(680,477)
      LCLICK(583,485)
      WAIT(2)
      LCLICK(681,551)
      WAITMS(100)
   ELSE
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF

moreman

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: помогите
« Reply #14 on: July 18, 2014, 09:02:14 PM »
странно, хрень какая то выходит, он тупит жестко)
Code: (clickermann) [Select]
// RECORDED SCRIPT 18.07.2014
// BEGIN AT 13:22:29
mysub()
SUB(mysub)
   
   
   
   LCLICK(840,215)
   WAIT(1)
   LCLICK(453,414)
   WAIT(1)
   LCLICK(427,393)
   LCLICK(571,570)
   WAIT(1)
   LCLICK(566,257)
   WAIT(1)
   LCLICK(588,493)
   WAIT(1)
   LCLICK(929,592)
END_SUB




$random = RND(1,4)
IF($random = 1)
   GETSCREEN
   IF(PXL(680,442) = 16770879
      LCLICK(680,477)
      LCLICK(583,485)
      WAIT(1)
      LCLICK(681,551)
      WAITMS(100)
   ELSE
      WAIT(5)
     
      LCLICK(929,592)
      WAITMS(100)
     
   END_IF
END_IF



IF($random = 2)
   GETSCREEN
   IF_PICTURE_IN (620,517, 742,609, "1w.bmp", -1, 80)
      LCLICK($_return1, $_return2)
      LCLICK(656,587)
      LCLICK(674,616)
      WAITMS(100)
   ELSE
      WAIT(5)
     
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF


IF($random = 3)
   GETSCREEN
   IF(PXL(402,469) = 9954544
      LCLICK(493,512)
      WAIT(1)
      LCLICK(776,496)
   ELSE
      WAIT(5)
     
      LCLICK(929,592)
      WAITMS(100)
     
   END_IF
END_IF

IF($random = 4)
   GETSCREEN
   IF(PXL(668,404) = 9886924
      LCLICK(770,483)
      WAITMS(50)
   ELSE
      WAIT(5)
     
      LCLICK(929,592)
      WAITMS(100)
   END_IF
END_IF
// FINISH AT 13:22:36
что не так?
« Last Edit: July 18, 2014, 09:30:16 PM by Oraven »