Author Topic: Помогите упростить код. Ну или я уже заблудился в нем)  (Read 2157 times)

0 Members and 1 Guest are viewing this topic.

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Сначала происходит поиск монстра. Там все норм. Когда приходит на эту функцию бывает виснет.
Тупо код не выполняется пока на карту не нажмешь в любое пустое место. Не пойму что такое.
Так же хочу чтобы он отправлял определенное количество походов. К примеру 4 удачные отправки что бы он сделал. Но попытался не более 6 раз. Если за 6 раз не вышло удачно отправить 4 попытки из 6 прекратил выполнение. Ну и соответственно если сразу с первых 4 раз все прошло удачно тоже прекратил свои действия.

Code: (clickermann) [Select]
SUB(атаковать монстра)
   
   $mon = 0
   WHILE($mon < 2)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (90,495, 315,525, "monster attack banner.bmp", -1, 60)
         //         IF_PICTURE_IN (305,355, 365,420, "monster attack banner1.bmp", -1, 60)
         $mon = 2
         LOGWRITE("    есть баннер для атаки")
         LCLICK(205,510)
         WAITMS(1500)
      ELSE
         INC($mon)
         LOGWRITE("    нет баннера атаки")
         LOGWRITE("    ручной выбор")
         LCLICK(200,345)     //Бывает что ручной выбор не делает. стоит и тупит
         WAITMS(1500)
         //         END_IF
      END_IF
   END_CYC
   
   $mon1 = 0
   WHILE($mon1 < 2)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (250,610, 269,630, "attack panel.bmp", -1, 50)
         INC($mon1,2)
         $mon2 = 0
         LOGWRITE("    мы в меню атаки")
         WAITMS(800)
      ELSE
         $mon1 = 3
         $mon2 = 3
         LOGWRITE("    не дошли до меню атаки")
      END_IF
   END_CYC
   
   $mon2 = 0
   IF($mon2 < 1)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (355,170, 390,200, "construction choice.bmp", -1, 60)
         LOGWRITE("    построения отряда")
         LCLICK($_return1, $_return2)
         WAITMS(300)
         
         
         GETSCREEN
         COLORMODE(6)
         IF_PICTURE_IN (320,225, 340,245, "dragon cancellation.bmp", -1, 60)
            LOGWRITE("    отмена дракона")
            LCLICK($_return1, $_return2)
            WAITMS(300)
           
           
            GETSCREEN
            COLORMODE(6)
            IF_PICTURE_IN (240,600, 280,635, "monster attack.bmp", -1, 60)
               INC($monster)
               LOGWRITE("    атакую")
               LCLICK(325, 675)
               WAITMS(800)
            ELSE
               LOGWRITE("    нет выбор построения")
            ELSE
               LOGWRITE("    не вижу отмены дракона")
            ELSE
               LOGWRITE("    нет выбор построения")
            ELSE
               
               LOGWRITE("    не вижу атака монстра")
            END_IF
         END_IF
      END_IF
   END_IF
END_SUB

//*****************************

SUB(ПОИСК МОНСТРОВ)
   LOGWRITE("**ПОИСК МОНСТРОВ")
   WAITMS(500)
   на карту()
   WAITMS(500)
   
   $monster = 0
   WHILE($monster < 4)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (0,400, 55,622, "quick resource search.bmp", -1, 60)
         LOGWRITE("    вижу меню быстрый поиск")
         LCLICK($_return1, $_return2)
         WAITMS(500)
         
         GETSCREEN
         COLORMODE(6)
         IF_PICTURE_IN (66,659, 339,703, "search.bmp", -1, 60)
            LOGWRITE("     вижу кнопку поиск")
            LCLICK(45,535)
            WAITMS(500)
         END_IF
         
         $lvl = rnd(2,5)  // тут выбирается уровень монстра
         switch($lvl)
            case(1)
               LCLICK(145,600)
               LOGWRITE("    выбран 1 уровень")
            case(2)
               LCLICK(150,600)
               LOGWRITE("    выбран 2 уровень")
            case(3)
               LCLICK(155,600)
               LOGWRITE("    выбран 3 уровень")
            case(4)
               LCLICK(160,600)
               LOGWRITE("    выбран 4 уровень")
            case(5)
               LCLICK(165,600)
               LOGWRITE("    выбран 5 уровень")
            case(6)
               LCLICK(170,600)
               LOGWRITE("    выбран 6 уровень")
            case(7)
               LCLICK(175,600)
               LOGWRITE("    выбран 7 уровень")
            case(8)
               LCLICK(180,600)
               LOGWRITE("    выбран 8 уровень")
            case(9)
               LCLICK(185,600)
               LOGWRITE("    выбран 9 уровень")
            case(10)
               LCLICK(285,600)
               LOGWRITE("    выбран 30 уровень")
         end_switch
         
         LCLICK(210,685)
         WAITMS(1500)
//виснет в этом месте по логу
// в логе "выбран 2 уровень"
//далее завис
         атаковать монстра()
      ELSE
         WAITMS(500)
         LOGWRITE("    не вижу меню быстрого поиска")
         come back()
         на карту()
      END_IF
      LOGWRITE("    отрядов отправил:", $monster)
   END_CYC
   LOGWRITE("**END")
END_SUB
« Last Edit: January 28, 2019, 11:11:54 PM by Hooligan »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Не пойму что такое.

Почему у тебя 4 ELSE в одном условии??
Code: (clickermann) [Select]
            GETSCREEN
            COLORMODE(6)
            IF_PICTURE_IN (240,600, 280,635, "monster attack.bmp", -1, 60)
               INC($monster)
               LOGWRITE("    атакую")
               LCLICK(325, 675)
               WAITMS(800)
            ELSE
               LOGWRITE("    нет выбор построения")
            ELSE
               LOGWRITE("    не вижу отмены дракона")
            ELSE
               LOGWRITE("    нет выбор построения")
            ELSE
               
               LOGWRITE("    не вижу атака монстра")
            END_IF

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Тут я уже от безвыходности пробовал все варианты

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Не пойму что такое.

Почему у тебя 4 ELSE в одном условии??
Code: (clickermann) [Select]
            GETSCREEN
            COLORMODE(6)
            IF_PICTURE_IN (240,600, 280,635, "monster attack.bmp", -1, 60)
               INC($monster)
               LOGWRITE("    атакую")
               LCLICK(325, 675)
               WAITMS(800)
            ELSE
               LOGWRITE("    нет выбор построения")
            ELSE
               LOGWRITE("    не вижу отмены дракона")
            ELSE
               LOGWRITE("    нет выбор построения")
            ELSE
               
               LOGWRITE("    не вижу атака монстра")
            END_IF






Code: (clickermann) [Select]
SUB(атаковать монстра)
   WAITMS(500)
   $mon = 0
   $mon1 = 0
   $mon2 = 0
   WHILE($mon < 2)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (90,495, 315,525, "monster attack banner.bmp", -1, 70)
         IF_PICTURE_IN (305,355, 365,420, "monster attack banner1.bmp", -1, 70)
            INC($mon,1)
            LOGWRITE("    есть баннер для атаки")
            LCLICK(205,510)
            WAITMS(1500)
         ELSE
            LOGWRITE("    нет баннера атаки")
            LOGWRITE("    ручной выбор")
            LCLICK(200,345)
            WAITMS(1500)
         END_IF
      END_IF
   END_CYC
   
   WHILE($mon1 = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (250,610, 269,630, "attack panel.bmp", -1, 50)
         $mon1 = 1
         $mon2 = 0
         LOGWRITE("    мы в меню атаки")
         WAITMS(800)
      ELSE
         $mon1 = 1
         LOGWRITE("    не дошли до меню атаки")
      END_IF
   END_CYC
   
   IF($mon2 = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (355,170, 390,200, "construction choice.bmp", -1, 60)
         LOGWRITE("    построения отряда")
         LCLICK($_return1, $_return2)
         WAITMS(300)
      ELSE
         LOGWRITE("    нет выбор построения")
      END_IF
     
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (320,225, 340,245, "dragon cancellation.bmp", -1, 60)
         LOGWRITE("    отмена дракона")
         LCLICK($_return1, $_return2)
         WAITMS(300)
      ELSE
         LOGWRITE("    не вижу отмены дракона")
      END_IF
     
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (240,600, 280,635, "monster attack.bmp", -1, 60)
         INC($monster)
         LOGWRITE("    атакую")
         LCLICK(325, 675)
         WAITMS(800)
      ELSE
         LOGWRITE("    не вижу атака монстра")
      END_IF         
   END_IF
END_SUB

Сегодня на свежую голову просмотрел все. Поправил. Думаю верно. Но все же виснет код(((
Эта часть кода
Code: (clickermann) [Select]
WHILE($mon < 2)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (90,495, 315,525, "monster attack banner.bmp", -1, 70)
         IF_PICTURE_IN (305,355, 365,420, "monster attack banner1.bmp", -1, 70)
            INC($mon,1)
            LOGWRITE("    есть баннер для атаки")
            LCLICK(205,510)
            WAITMS(1500)
         ELSE
            LOGWRITE("    нет баннера атаки")
            LOGWRITE("    ручной выбор")
            LCLICK(200,345)
            WAITMS(1500)
         END_IF
      END_IF
   END_CYC

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Если виснет то значит "monster attack banner.bmp" не найдено. Кстати если не найдено то без всяких задержек начинаем искать снова и снова. Довольно таки напряжно.

Цикл завершится только если "monster attack banner.bmp" и "monster attack banner1.bmp" будут найдены 2а раза.

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Если виснет то значит "monster attack banner.bmp" не найдено. Кстати если не найдено то без всяких задержек начинаем искать снова и снова. Довольно таки напряжно.

Цикл завершится только если "monster attack banner.bmp" и "monster attack banner1.bmp" будут найдены 2а раза.

Дело в том, что он не пишет о ненахождении картинки.
В остальном структура скрипта верна?

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Если виснет то значит "monster attack banner.bmp" не найдено. Кстати если не найдено то без всяких задержек начинаем искать снова и снова. Довольно таки напряжно.

Цикл завершится только если "monster attack banner.bmp" и "monster attack banner1.bmp" будут найдены 2а раза.

Дело в том, что он не пишет о ненахождении картинки.
В остальном структура скрипта верна?


Code: (clickermann) [Select]
SUB(атаковать монстра)
 
   $mon1 = 0
   $mon2 = 0
   
   WHILE($mon1 = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (250,610, 269,630, "attack panel.bmp", -1, 50)
         $mon1 = 1
         $mon2 = 0
         LOGWRITE("    мы в меню атаки")
         WAITMS(800)
      ELSE
         $mon1 = 1
         LOGWRITE("    не дошли до меню атаки")
      END_IF
   END_CYC
   
   IF($mon2 = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (355,170, 390,200, "construction choice.bmp", -1, 60)
         LOGWRITE("    построения отряда")
         LCLICK($_return1, $_return2)
         WAITMS(300)
      ELSE
         LOGWRITE("    нет выбор построения")
      END_IF
     
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (320,225, 340,245, "dragon cancellation.bmp", -1, 60)
         LOGWRITE("    отмена дракона")
         LCLICK($_return1, $_return2)
         WAITMS(300)
      ELSE
         LOGWRITE("    не вижу отмены дракона")
      END_IF
     
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (240,600, 280,635, "monster attack.bmp", -1, 60)
         INC($monster)
         LOGWRITE("    атакую")
         LCLICK(325, 675)
         WAITMS(800)
      ELSE
         $monster = 4 //тут верно я поставил переменную? Для остановки цикла в общем
         LOGWRITE("    не вижу атака монстра")
      END_IF
   END_IF
END_SUB


//SUB(ПОИСК МОНСТРОВ)
LOGWRITE("**ПОИСК МОНСТРОВ")
WAITMS(500)
на карту()
WAITMS(500)

$monster = 0
WHILE($monster < 4)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,400, 55,622, "quick resource search.bmp", -1, 60)
      LOGWRITE("    вижу меню быстрый поиск")
      LCLICK($_return1, $_return2)
      WAITMS(500)
     
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (66,659, 339,703, "search.bmp", -1, 60)
         LOGWRITE("     вижу кнопку поиск")
         LCLICK(45,535)
         WAITMS(500)
      END_IF
     
      $lvl = rnd(2,5)  // тут выбирается уровень монстра
      switch($lvl)
         case(1)
            LCLICK(145,600)
            LOGWRITE("    выбран 1 уровень")
         case(2)
            LCLICK(150,600)
            LOGWRITE("    выбран 2 уровень")
         case(3)
            LCLICK(155,600)
            LOGWRITE("    выбран 3 уровень")
         case(4)
            LCLICK(160,600)
            LOGWRITE("    выбран 4 уровень")
         case(5)
            LCLICK(165,600)
            LOGWRITE("    выбран 5 уровень")
         case(6)
            LCLICK(170,600)
            LOGWRITE("    выбран 6 уровень")
         case(7)
            LCLICK(175,600)
            LOGWRITE("    выбран 7 уровень")
         case(8)
            LCLICK(180,600)
            LOGWRITE("    выбран 8 уровень")
         case(9)
            LCLICK(185,600)
            LOGWRITE("    выбран 9 уровень")
         case(10)
            LCLICK(285,600)
            LOGWRITE("    выбран 30 уровень")
      end_switch
     
      WAITMS(500)
      LCLICK(210,685)
      WAITMS(3000)
     
      $time = $_time_t + 5
      WHILE($time > $_time_t)
         GETSCREEN
         COLORMODE(6)
         IF_PICTURE_IN (220,360, 275,415, "monster attack banner.bmp", -1, 70)
            $time = 0
            LOGWRITE("    есть баннер для атаки")
            LCLICK(205,510)
            WAITMS(1500)
            атаковать монстра()
         ELSE
            $time = 0
            LOGWRITE("    нет баннера атаки")
            LOGWRITE("    ручной выбор")
            LCLICK(200,345)
            WAITMS(1500)
            GETSCREEN
            COLORMODE(6)
            IF_PICTURE_IN (220,360, 275,415, "monster attack banner.bmp", -1, 70)
               $time = 0
               LOGWRITE("    есть баннер для атаки")
               LCLICK(205,510)
               WAITMS(1500)
               атаковать монстра()
            END_IF
         END_IF
      END_CYC
   ELSE
      WAITMS(500)
      LOGWRITE("    не вижу меню быстрого поиска")
      come back()
      на карту()
   END_IF
   LOGWRITE("    отрядов отправил:", $monster)
   LOGWRITE("**END")
END_CYC

Вроде работает. Но есть еще вопрос. Куда мне воткнуть переменную $monster = 4 чтобы цикл не зацикливался и при нехватке походов их всего 4 или еще каком либо сбое прекратил работу
« Last Edit: January 29, 2019, 06:26:27 PM by Hooligan »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вроде работает. Но есть еще вопрос. Куда мне воткнуть переменную $monster = 4 чтобы цикл не зацикливался и при нехватке походов их всего 4 или еще каком либо сбое прекратил работу

Это верно. Но вот цикл на строках 117-118
Code: (clickermann) [Select]
      $time = $_time_t + 5
      WHILE($time > $_time_t)
лишен всякого смысла, потому как найдена картинка "monster attack banner.bmp" или не найдена везде стоит $time = 0 То есть такой "цикл" больше одного раза выполняться в принципе не будет.
И почему там везде $mon2 = 0 ?

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Это верно. Но вот цикл на строках 117-118
Code: (clickermann) [Select]
      $time = $_time_t + 5
      WHILE($time > $_time_t)
лишен всякого смысла, потому как найдена картинка "monster attack banner.bmp" или не найдена везде стоит $time = 0 То есть такой "цикл" больше одного раза выполняться в принципе не будет.
И почему там везде $mon2 = 0 ?
[/quote]

$mon =0 я понял что лишнее было. Т.к я эту переменную объявляю и так равной 0 с самого начала цикла.
$time поправил. Оставил после первой попытки поиска картинки.

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Code: (clickermann) [Select]
SUB(атаковать монстра)
   
   $mon1 = 0  //объявление переменной
   $mon2 = 0  //объявление переменной
   
   WHILE($mon1 = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (250,610, 269,630, "attack panel.bmp", -1, 50)
         $mon1 = 1
         LOGWRITE("    мы в меню атаки")
         WAITMS(800)
      ELSE
         $mon1 = 1
         LOGWRITE("    не дошли до меню атаки")
      END_IF
   END_CYC
   
   IF($mon2 = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (355,170, 390,200, "construction choice.bmp", -1, 60)
         LOGWRITE("    построения отряда")
         LCLICK($_return1, $_return2)
         WAITMS(300)
      ELSE
         LOGWRITE("    нет выбор построения")
      END_IF
     
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (320,225, 340,245, "dragon cancellation.bmp", -1, 60)
         LOGWRITE("    отмена дракона")
         LCLICK($_return1, $_return2)
         WAITMS(300)
      ELSE
         LOGWRITE("    не вижу отмены дракона")
      END_IF
     
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (240,600, 280,635, "monster attack.bmp", -1, 60)
         INC($monster,1)
         LOGWRITE("    атакую")
         LCLICK(325, 675)
         WAITMS(800)
      ELSE
         $monster = 4 //завершение цикла
         LOGWRITE("    не вижу атака монстра")
      END_IF
   END_IF
END_SUB


//SUB(ПОИСК МОНСТРОВ)
LOGWRITE("**ПОИСК МОНСТРОВ")
WAITMS(500)
на карту()
WAITMS(500)

$monster = 0
WHILE($monster < 4)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,400, 55,622, "quick resource search.bmp", -1, 60)
      LOGWRITE("    вижу меню быстрый поиск")
      LCLICK($_return1, $_return2)
      WAITMS(1000)
     
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (165,670, 200,695, "search.bmp", -1, 60)
         LOGWRITE("     вижу кнопку поиск")
         LCLICK(45,535)
         WAITMS(500)
      END_IF
     
      $lvl = rnd(2,5)  // тут выбирается уровень монстра
      switch($lvl)
         case(1)
            LCLICK(145,600)
            LOGWRITE("    выбран 1 уровень")
         case(2)
            LCLICK(150,600)
            LOGWRITE("    выбран 2 уровень")
         case(3)
            LCLICK(155,600)
            LOGWRITE("    выбран 3 уровень")
         case(4)
            LCLICK(160,600)
            LOGWRITE("    выбран 4 уровень")
         case(5)
            LCLICK(165,600)
            LOGWRITE("    выбран 5 уровень")
         case(6)
            LCLICK(170,600)
            LOGWRITE("    выбран 6 уровень")
         case(7)
            LCLICK(175,600)
            LOGWRITE("    выбран 7 уровень")
         case(8)
            LCLICK(180,600)
            LOGWRITE("    выбран 8 уровень")
         case(9)
            LCLICK(185,600)
            LOGWRITE("    выбран 9 уровень")
         case(10)
            LCLICK(285,600)
            LOGWRITE("    выбран 30 уровень")
      end_switch
     
      WAITMS(500)
      LCLICK(210,685)
      WAITMS(3000)
     
      $time = $_time_t + 3
      WHILE($time > $_time_t)
         GETSCREEN
         COLORMODE(6)
         IF_PICTURE_IN (233,380, 265,408, "monster attack banner.bmp", -1, 70)
            $time = 0
            LOGWRITE("    есть баннер для атаки")
            LCLICK($_return1-32, $_return2+125)
            WAITMS(1500)
            атаковать монстра()
         ELSE
            LOGWRITE("    нет баннера атаки")
            LOGWRITE("    ручной выбор")
            LCLICK(200, 350)
            WAITMS(1500)
           
            GETSCREEN
            COLORMODE(6)
            IF_PICTURE_IN (220,360, 275,415, "monster attack banner.bmp", -1, 70)
               LOGWRITE("    есть баннер для атаки")
               LCLICK($_return1-32, $_return2+125)
               WAITMS(1500)
               атаковать монстра()
            END_IF
         END_IF
      END_CYC
   ELSE
      WAITMS(500)
      LOGWRITE("    не вижу меню быстрого поиска")
      come back()
      на карту()
   END_IF
   LOGWRITE("    отрядов отправил:", $monster)
END_CYC
LOGWRITE("**END")
//END_SUB

Спасибо дорогой друг. Теперь я разобрался. Очень помог. Заставил меня порассуждать над своей писаниной. Плюсик в карму)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Спасибо дорогой друг. Теперь я разобрался. Очень помог. Заставил меня порассуждать над своей писаниной. Плюсик в карму)

Ты нифига не разобрался... На самом деле первый же цикл также лишен всякого смысла

Code: (clickermann) [Select]
   $mon1 = 0  //объявление переменной
   $mon2 = 0  //объявление переменной
 
   WHILE($mon1 = 0)
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (250,610, 269,630, "attack panel.bmp", -1, 50)
         $mon1 = 1
         LOGWRITE("    мы в меню атаки")
         WAITMS(800)
      ELSE
         $mon1 = 1
         LOGWRITE("    не дошли до меню атаки")
      END_IF
   END_CYC
 
   IF($mon2 = 0)

Нафига эти $mon1 = 0 и $mon2 = 0? Цикл WHILE($mon1 = 0) который выполняется 1 раз, найдено/не найдено все равно идем дальше,  и условие IF($mon2 = 0) которое конечно же выполнится потому как сверху $mon2 = 0.


Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Code: (clickermann) [Select]
 
      GETSCREEN
      COLORMODE(6)
      IF_PICTURE_IN (250,610, 269,630, "attack panel.bmp", -1, 50)
         LOGWRITE("    мы в меню атаки")
         WAITMS(800)
      ELSE
         $mon2 = 1
         LOGWRITE("    не дошли до меню атаки")
      END_IF
 
   IF($mon2 = 0)

Нафига эти $mon1 = 0 и $mon2 = 0? Цикл WHILE($mon1 = 0) который выполняется 1 раз, найдено/не найдено все равно идем дальше,  и условие IF($mon2 = 0) которое конечно же выполнится потому как сверху $mon2 = 0.
[/quote]

Я в тупике тогда)
Я так понимаю первый цикл вообще нужно убрать?
Убрать объявление переменных вверху
И при неудаче нахождения панели атаки присвоить переменной $mon2 значение выше 0,
 для предотвращения срабатывания условия IF($mon2 = 0) ?

Так?)))
« Last Edit: January 30, 2019, 09:10:55 AM by Hooligan »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Теперь в этом есть смысл.

Code: (clickermann) [Select]
$mon2 = 0  //объявление переменной
Убрать объявление переменных вверху

Это не объявление переменных а присвоение им значения. Кликер сам объявляет переменные при первом упоминании.

Есть команда DEFINE которая объявляет и присваивает значение переменной при условии что такая переменная еще не существует.
Code: (clickermann) [Select]
DEFINE($mon2, 0) // Переменная $mon2 не существует, присваиваем значение 0
DEFINE($mon2, 1) // Переменная $mon2 уже существует, функция не работает
UNDEFINE($mon2) // Удаляем переменную $mon2
DEFINE($mon2, 1) // теперь функция сможет снова объявить переменную и присвоить ей значение.

Hooligan

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Для меня все в новинку. Все новые функции. Куда мне их пристроить?
Почитал справку. Но примера я чет не увидел
Не понял реализацию всего этого в моем случае((((
« Last Edit: January 30, 2019, 11:03:04 AM by Hooligan »