Author Topic: _Blood and soul_  (Read 15686 times)

0 Members and 3 Guests are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: _Blood and soul_
« Reply #15 on: March 27, 2013, 04:06:00 PM »
Ну как, работает?
 $_xmax и $_ymax задавать не надо, это системные переменные.

Ну опечатка в операторах (строки 117,132) это понятно, а что делает строка 22 ?


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: _Blood and soul_
« Reply #16 on: March 27, 2013, 06:48:09 PM »
Так писать неправильно
Print(x_sortirovka=$_return1, " ",y_sortirovka = $_return2)
А вот так правильно
Print("x_sortirovka= ",$_return1, " ","y_sortirovka= ",$_return2)

Проверь логику SUB (Запись Координат Сортировка) и SUB (Запись Координат Начать) не уверен что я правильно написал
В общем подправил грубые ошибки...

Code: (clickermann) [Select]
///////////////////////////////////////////
getscreen
GoSUB (Запись Координат Количество)
GOSUB (Запись Координат Сортировка)
GOSUB (Запись Координат Начать)
GOSUB (Записываем рабочее место Инвенторя)
GOSUB (Читаем рабочее место Инвенторя)
GOSUB (Проверка попали ли туда кристалы и руда)
GOSUB (Прочесть координаты РУСорКолНа)
//HINTPOPUP("Теперь можно Остановить Код нажав ALT+S затем нажать ALT+W  а потом ALT+А ", "Сообщение")
SOUND ("1.wav")

GOSUB (Наконец само волшебство)
///////////////////////////////////////////
//--------------------------------
HALT

///* * Смотрим есть ли кристалы в  в РЕмесле  если нет то ищим их инвенторе нажимем 1-ую вкладку и вставляем их  в Ремесло* *
//--------------------------------
SUB (Запись Координат Количество)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Количество.bmp")
      INIWRITE("config.ini", "x_kolichestvo",$_return1)
      INIWRITE("config.ini", "y_kolichestvo",$_return2)
      Print("Зпаписал координаты КОЛИЧЕСТВО I")
      Print("x_kolichestvo= ",$_return1," ","y_kolichestvo= ",$_return2)
   END_IF
END_SUB
//--------------------------------
SUB (Запись Координат Сортировка)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Сортировка.bmp")
      INIWRITE("config.ini", "x_sortirovka",$_return1 )
      INIWRITE("config.ini", "y_sortirovka",$_return2)
      Print("Зпаписал координаты СОРТИРОВКА II")
      Print("x_sortirovka= ",$_return1, " ","y_sortirovka= ", $_return2)
   END_If
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Сортировка Выделена.bmp")
      INIWRITE("config.ini", "x_sortirovka",$_return1 )
      INIWRITE("config.ini", "y_sortirovka",$_return2)
      Print("Зпаписал/\ координаты/\ СОРТИРОВКА II")
      Print("x_sortirovka= "$_return1, " ","y_sortirovka= ", $_return2)
   END_IF
END_SUB
//--------------------------------
SUB (Запись Координат Начать)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Начать.bmp")
      INIWRITE("config.ini", "x_Go",$_return1 )
      INIWRITE("config.ini", "y_Go",$_return2)
      Print("Зпаписал координаты НАЧАТЬ III")
      Print("x_Go= ", $_return1, " ","y_Go= ", $_return2)
   else
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "НАчать выделенно.bmp")
         INIWRITE("config.ini", "x_Go",$_return1 )
         INIWRITE("config.ini", "y_Go",$_return2)
         Print("Зпаписал/\ координаты/\ НАЧАТЬ III")
         Print("x_Go= ",$_return1, " ","y_Go= ", $_return2)
      END_IF
   END_IF
END_SUB
//--------------------------------
SUB (Прочесть координаты РУСорКолНа)
   $x_rydi_1 =  INIREAD("config.ini", "x_rydi_1")
   $y_rydi_1 =  INIREAD("config.ini", "y_rydi_1")
   Print("Прочитал координаты РУДЫ 1")
   Print("x_rydi_1= ",$x_rydi_1, " ","y_rydi_1= ", $y_rydi_1)
   
   $x_rydi_2 =  INIREAD("config.ini", "x_rydi_1")+ 67
   $y_rydi_2 =  INIREAD("config.ini", "y_rydi_1")
   Print("Прочитал координаты РУДЫ 2")
   Print("x_rydi_2= ",$x_rydi_2, " ","y_rydi_2= ",$y_rydi_2)
   
   $x_sortirovka = INIREAD("config.ini", "x_sortirovka")
   $y_sortirovka = INIREAD("config.ini", "y_sortirovka")
   Print("Прочитал координаты СОРТИРОВКА")
   Print("x_sortirovka= ",$x_sortirovka," ","y_sortirovka= ",$y_sortirovka)
   
   $x_kolichestvo = INIREAD("config.ini", "x_kolichestvo")
   $y_kolichestvo = INIREAD("config.ini", "y_kolichestvo")
   Print("Прочитал координаты КОЛИЧЕТВО")
   Print("x_kolichestvo= ",$x_kolichestvo," ","y_kolichestvo= ",$y_kolichestvo)
   
   $x_GO = INIREAD("config.ini", "x_GO")
   $y_GO = INIREAD("config.ini", "y_GO")
   Print("Прочитал координаты Начать")
   Print("x_GO= ",$x_GO," ","y_GO= ",$y_GO)
END_SUB

//--------------------------------
SUB (Записываем рабочее место Инвенторя)
   $koordinata_maxx = 2
   $koordinata = 0
   print ("Запись координат инвенторя")
   FOR ($koordinata, $koordinata < $koordinata_maxx)
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Координата Инвенторя",$koordinata,".bmp"))
         //         print (STRCONCAT(X,$koordinata) = $_return1,"   ",STRCONCAT(y,$koordinata) = $_return2 )
         INIWRITE("config.ini", STRCONCAT(x,$koordinata),$_return1)
         INIWRITE("config.ini", STRCONCAT(y,$koordinata),$_return2)
      END_IF
   END_CYC
END_SUB
//--------------------------------
SUB (Читаем рабочее место Инвенторя)
   $_x1 = INIREAD("config.ini","X1" )
   $_y1 = INIREAD("config.ini","Y1" )
   $_x2 = INIREAD("config.ini","X2" ) +28
   $_y2 = INIREAD("config.ini","Y2" )
END_SUB
//--------------------------------
SUB (Найти кристалы)
   getscreen
   IF_PICTURE_IN ($_x1,$_y1, $_x2,$_y2, "Кристалы.bmp")
      rclick($_return1, $_return2)
      $flag=1
   END_IF
END_SUB
//--------------------------------
sUB (Найти Руду)
   getscreen
   IF_PICTURE_IN ($_x1,$_y1, $_x2,$_y2, "Руда.bmp")
      rclick($_return1, $_return2)
      INIWRITE("config.ini", "x_rydi_1",$_return1)
      INIWRITE("config.ini", "y_rydi_1",$_return2)
      print("Нашли и вставили РУДУ IV")
      Print("x_rydi_1= ",$_return1, " ","y_rydi_1= ",$_return2)
      $flag2=1
   END_IF
END_SUB
//------------1--------------------
SUB (Найдя Кристалы вставляем из вкладки)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Кристал нет для 1 ур стали.bmp")
      $maxx=10
      $i=0
      FOR ($i, $i<$maxx)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Вкладка",$i,".bmp"))
            MOVE($_return1, $_return2) //  I...V  Вкладка     инвентаря
            waitms(500)
            MOVE($_return1+45, $_return2+17)
            waitms(500)
            dbLCLICK($_return1+23, $_return2+6)
            waitms(500)
            GOSUB (Найти кристалы)
            IF ($flag=1)
               $i=$maxx
               //если нашли кристалы в какой-то вкладке то остановить цикл
               print( "Нашли Кристалы и вставили.")
            END_IF
         END_IF
      END_CYC
   END_IF
END_SUB
//------------2--------------------
SUB (Найдя Руду вставляем из вкладки)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Руды нет для 1 ур стали.bmp")
      $maxxx=10
      $ii=0
      FOR ($ii, $ii<$maxxx)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, STRCONCAT("Вкладка",$ii,".bmp"))
            MOVE($_return1, $_return2) //  I...V  Вкладка     инвентаря
            waitms(500)
            MOVE($_return1+45, $_return2+17)
            waitms(500)
            dbLCLICK($_return1+23, $_return2+6)
            waitms(500)
            GOSUB (Найти Руду)
            //если нашли руду в какой-то вкладке то остановить цикл
            IF ($flag2=1)
               $ii=$maxx
            END_IF
         END_IF
      END_CYC
   END_IF
END_SUB
//--------------1------------------
SUB (Проверка попали ли туда кристалы и руда)
   $maxaa=1
   $qq=0
   FOR ($qq, $qq<$maxaa)
      getscreen
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Кристал 12 для 1 ур Стали вналичии.bmp")
      else
         GOSUB(Найдя Кристалы вставляем из вкладки)
      END_IF
   end_cyc
   //-------------2-------------------
   $maxa=1
   $q=0
   FOR ($q, $q<$maxa)
      getscreen
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Руда 24 для 1 ур Стали вналичии.bmp")
      else
         GOSUB(Найдя Руду вставляем из вкладки)
      END_IF
   end_cyc
END_SUB
//--------------------------------
SUB (Наконец само волшебство)
   
   $Skoka_povtorit=15
   $povtor=0
   for($povtor, $povtor<$Skoka_povtorit)
      //Вводим 100 сделать стали
      dbLCLICK($x_kolichestvo,$y_kolichestvo)
      WAITMS(150)
      KEYSTRING("100")
      WAITMS(50)
     
      //Стартуем и ждём 14 сек
      LCLICK($x_sortirovka,$y_sortirovka) // кнопка Сортировка
      WAIT(2)
      RCLICK($x_rydi_2,$y_rydi_2) //кордината 2-0й ячейки
      WAITMS(25)
      LCLICK($x_GO,$y_GO) //кордината старта
      WAITMS(25)
      LCLICK($x_GO,$y_GO)
      HINTPOPUP("Теперь можно Остановить Код нажав ALT+S затем нажать ALT+W  а потом ALT+А ", "Сообщение")
      wait(14)
     
      //остаток от 2 ячейки добавляем к 1 ячейке
      LCLICK($x_rydi_2,$y_rydi_2)   //кордината 2-0й ячейки
      WAIT(1)
      dbLCLICK($x_rydi_1,$y_rydi_1)  // кордината 1-0й ячейки
      wait(2)
      // кнопка Сортировка
      dbLCLICK ($x_sortirovka,$y_sortirovka)
      wait(1)
      print( "Начал делать Сталь 1 уровня =",$povtor,"раз")
   end_cyc
END_SUB

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: _Blood and soul_
« Reply #17 on: March 27, 2013, 07:08:46 PM »
комментарии тоже сразу заметил, но решил проверить. Ошибок не выдало и вроде выводит павильно, поэтому промолчал.


DRYIDid

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: _Blood and soul_
« Reply #18 on: April 03, 2013, 03:27:02 PM »
Quote
  Ну как, работает?
 $_xmax и $_ymax задавать не надо, это системные переменные.

Ну опечатка в операторах (строки 117,132) это понятно, а что делает строка 22 ?

 Да работает вроде нармально постоянно использую )).
Бывает глюк когда уже сам кристалы положил и запустил  Кликермен он и начинает руду бесконечно искать и перекладывать.но это не беда,закрыть ремесло и снова открыть  и будет счастье.
Открываешь Инвентарь и Ремесло.В ремесле  выбераешь сталь 1 уровня и  запускаешь Кликермен. Если картинки такие же как и у меня то пашет .если же нет то пишет такая то переменная   ошибка. Могу дать  с картинками код .

если это картинка нашлась > Сортировка
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Сортировка.bmp")
то запишим  координаты сортировки
иначе
сортировка выделена и запишем координаты выделеной сортировки .
Вроде это означает  22 сторока.
 $_xmax и $_ymax почему нельзя задовать? у всех же разрешение экрана разное.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: _Blood and soul_
« Reply #19 on: April 03, 2013, 03:47:00 PM »
$_xmax и $_ymax почему нельзя задовать? у всех же разрешение экрана разное.

Это системные переменные, которые, как сказал Джонни, вовсе даже не переменные. Кликер сам узнает разрешение экрана и выводит его посредством этих $_xmax и $_ymax. Так что они универсальны для всех. Записывать же в них противопоказано! Так как при этом будет создана уже не системная переменная с таким же именем, и она уже не изменится пока не перезапустишь кликер!

DRYIDid

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: _Blood and soul_
« Reply #20 on: April 03, 2013, 04:01:53 PM »
Quote
Так писать неправильно
1 Print(x_sortirovka=$_return1, " ",y_sortirovka = $_return2)
А вот так правильно
2 Print("x_sortirovka= ",$_return1, " ","y_sortirovka= ",$_return2)
а вроде всё выводиться  в 1 варианте. ну раз не правильно буду исправлять.


DRYIDid

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: _Blood and soul_
« Reply #21 on: April 03, 2013, 04:12:41 PM »
SUB (Запись Координат Сортировка)
Получше чем у меня. Забыл что если нет 1-0й картинки, то он продолжит  искать 2-ую и наоборот :) Полюбому одну из них да и  найдёт.
-----------------------------------------------------------------------------------------------
SUB (Запись Координат Сортировка)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Сортировка.bmp")
      INIWRITE("config.ini", "x_sortirovka",$_return1 )
      INIWRITE("config.ini", "y_sortirovka",$_return2)
      Print("Зпаписал координаты СОРТИРОВКА II")
      Print("x_sortirovka= ",$_return1, " ","y_sortirovka= ", $_return2)
   END_If
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Сортировка Выделена.bmp")
      INIWRITE("config.ini", "x_sortirovka",$_return1 )
      INIWRITE("config.ini", "y_sortirovka",$_return2)
      Print("Зпаписал/\ координаты/\ СОРТИРОВКА II")
      Print("x_sortirovka= "$_return1, " ","y_sortirovka= ", $_return2)
   END_IF
END_SUB
----------------------------------------------------------------------------------------------
Наверно так же сделать  надо и (Запись Координат Начать).
Пока не тестировал ).

« Last Edit: April 03, 2013, 04:15:09 PM by DRYIDid »