Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Zombot (Клиент для игры Зомби ферма) [Обсуждение]

-

Свободное обсуждение

- Ваши идеи, вопросы и ответы на тему браузерных игр и социальных сетей

Ответ
 
Опции темы
Старый 09.11.2014, 19:06   #3556
 Разведчик
Аватар для vhyrix
 
vhyrix никому не известный тип
Регистрация: 09.11.2013
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Shurup240Посмотреть сообщение
А это можно к питоновскому прикрутить?
И если да, то как это сделать?

rects = json.loads(это файл); И берешь из rects координаты. Как-то так.
Но лучше качать оригинальный файл, распаковывать и вытаскивать из него. И не плодить лишние зависимости.
________________
znest.ru
  Ответить с цитированием
Старый 09.11.2014, 22:41   #3557
 Разведчик
Аватар для greyzza
 
greyzza никому не известный тип
Регистрация: 25.02.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
И не плодить лишние зависимости.

+1
  Ответить с цитированием
Старый 09.11.2014, 23:17   #3558
Заблокирован
 Разведчик
Аватар для Cheater-84
 
Cheater-84 никому не известный тип
Регистрация: 22.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщениях
Отправить сообщение для Cheater-84 с помощью Skype™
 
Talking Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

ребят ! в чем трабла? бот не работает(
PHP код:
#name "Бригада Элвисов"
// Author: Vint
// Version: 2.6 (16.04.2013)
// добавлены новые растения, Малина, Арбуз, Рамбутан
// меню бригады может выпадать в любую сторону, а не только вправо-вниз


//===== ОПЦИИ ==========================//
//////////////////////////////////////////

LOGCLEAR
//LOGSHOW (1,$_xmax-335,28)     //=====отображение окна лога

// коррекция под ВКонтакте
$VKontakte=1

// задержка между проверками бригады когда работают, сек
$elvis_wait1=3

// задержка между проверками бригады когда растёт, сек
$elvis_wait2=60

// задержка после отправки бригады собирать/копать, сек
$elvis_wait3=15

// задержка после отправки бригады сажать, сек
$elvis_wait4=360

// Оконный режим (0 - выключено, 1 - включено)
$window 0

// Полноэкранный режим (0 - выключено, 1 - включено)
$full_screen 0

//посадка (0 - выключено, 1 - 40 семена)
$semena 19
//== ОПЦИИ посадки (что сажаем) ==========
// 0 - Не сажаем
// 1 - Яблочный мак            12
// 2 - Клевер                         1
// 3 - Черника                     4
// 4 - Тыквахелл                 2
// 5 - Мак                             6
// 6 - Гипносолнух            24
// 7 - Рожь                            12
// 8 - Баклажан                     8
// 9 - Кукуруза                     4
// 10 - Росянка дикая        24
// 11 - Бамбук                    16
// 12 - Смородина                10
// 13 - Пожсолнух                 4
// 14 - Горох                         8
// 15 - Перец чили            12
// 16 - Костируза             32
// 17 - Лилия                        24
// 18 - Кактус                    10
// 19 - Малина                    12
// 20 - Чеснок                     8
// 21 - Алые розы                 8
// 22 - Мухомор                    12
// 23 - Арбуз                        16
// 24 - Лук                             6
// 25 - Помидоры                 8
// 26 - Глазной горох        32
// 27 - Тыква                        16
// 28 - Волчья ягода        24
// 29 - Сон-трава
// 30 - Клубника
// 31 - Чёрная рука
// 32 - Капуста
// 33 - Костяная нога
// 34 - Ананас
// 35 - Белая рука
// 36 - Картошка
// 37 - Виноград
// 38 - Мозговница
// 39 - Тростник
// 40 - Рамбутан

//////////////////////////////////////////

//===== ПРОГРАММА ==============================================================

WAITMS(500)

$opred 0
$vX 
0
$vY 
0
$ini_posadka
=1
$zoom 
0
$sound 
1
$sboi 
0


IF(($window 1) & ($full_screen 1))
   
$sboi 0
   $full_screen 
0
   HINTPOPUP
("Полноэкранный режим невозможен!")
   
LOGWRITE("Полноэкранный режим невозможен!")
   
WAIT(1)
   
HINTPOPUP("Включен оконный режим.")
END_IF

IF(($semena 0) & ($semena 41)) // главная проверка сажаем или нет
   //GOSUB(инициализация_семян)
ELSE
   
$semena 0
   HINTPOPUP
("Ничего не сажаем!")
   
LOGWRITE("Ничего не сажаем!")
   
HALT
END_IF

IF($opred 0)
   
GOSUB(Опр_полож_экрана)
   
WAITMS(500)
END_IF


//==============================================================================
// элвисы

MOVE($park_x$park_y)     //паркуемся
WAITMS(100)


GETSCREEN
IF_PICTURE_IN 
($xres1,$yres1,$xres2,$yres2"textures\elvisi_car.bmp",-1,95)
   
$elvis_x=$_return1
   $elvis_y
=$_return2
   LOGWRITE
("elvis_x=",$elvis_x,"  elvis_y=",$elvis_y)
   IF((
$elvis_x+70>$xres2) | ($elvis_x-60<$xres1) | ($elvis_y+59>$yres2) | ($elvis_y-19<$yres1))
      
LOGWRITE ("Бригада Элвисов близко к краю экрана")
      
HALT
   END_IF
ELSE
   
LOGWRITE ("Бригаду Элвисов не нашёл")
   
HALT
END_IF

elvis_start
:

//LOGWRITE ("переход на elvis_start")
MOVE($park_X,$park_Y)                              //паркуемся
WAITMS(100)
GETSCREEN
IF_PICTURE_IN 
($vX+197,$vY+328+$sdvigY,$vX+213,$vY+336+$sdvigY"textures\elvisi_soobshenie.bmp")
   
LDOWN($vX+700,$vY+400)    // убираем предупреждение коллекция
   
WAITMS(100)
   
LUP($vX+700,$vY+400)
   
WAITMS(500)
   
MOVE($park_X,$park_Y)                              //паркуемся
   
WAITMS(500)
   
GETSCREEN
END_IF

IF_PICTURE_IN 
($elvis_x-17,$elvis_y+39,$elvis_x-6,$elvis_y+48"textures\elvisi_handle.bmp",-1,95)
ELSE
   
IF_PIXEL_IN ($elvis_x-20,$elvis_y+44$elvis_x-6,$elvis_y+59721153)
      
LOGWRITE ("вижу 1")
      
IF_PIXEL_IN ($elvis_x-60,$elvis_y+22$elvis_x-44,$elvis_y+38721153)
         
LOGWRITE ("вижу 2")
         
IF_PIXEL_IN ($elvis_x+20,$elvis_y-19$elvis_x+32,$elvis_y-7721153)
            
LOGWRITE ("вижу 3")
            
IF_PIXEL_IN ($elvis_x+58,$elvis_y-2$elvis_x+70,$elvis_y+13721153)
               
LOGWRITE ("вижу 4")
               
MOVE($elvis_x,$elvis_y)
               
WAITMS(150)
               
LDOWN($elvis_x,$elvis_y)                        // открываем меню бригады
               
WAITMS(100)
               
LUP($elvis_x,$elvis_y)
               
WAITMS(300)
               
MOVE($park_X,$park_Y)                              //паркуемся
               
WAITMS(400)
               
GETSCREEN
               IF_PICTURE_IN 
($xres1,$yres1,$xres2,$yres2"textures\domoy.bmp")
                  
MOVE($_return1+8,$_return2+6)
                  
WAITMS(150)
                  
LDOWN($_return1+8,$_return2+6)                    // кликаем домой
                  
WAITMS(100)
                  
LUP($_return1+8,$_return2+6)
                  
WAIT(2)
               ELSE
                  
WAIT($elvis_wait1)
                  GOTO(
elvis_start)
               
END_IF
            
ELSE
               
WAIT($elvis_wait1)
               GOTO(
elvis_start)
            
END_IF
         
ELSE
            
WAIT($elvis_wait1)
            GOTO(
elvis_start)
         
END_IF
      
ELSE
         
WAIT($elvis_wait1)
         GOTO(
elvis_start)
      
END_IF
   
ELSE
      
WAIT($elvis_wait1)
      GOTO(
elvis_start)
   
END_IF
END_IF

// собираем
MOVE($elvis_x,$elvis_y)
WAITMS(150)
LDOWN($elvis_x,$elvis_y)                        // открываем меню бригады
WAITMS(100)
LUP($elvis_x,$elvis_y)
WAITMS(300)
MOVE($park_X,$park_Y)                              //паркуемся
WAITMS(400)

GETSCREEN
IF_PICTURE_IN 
($xres1,$yres1,$xres2,$yres2"textures\elvisi_meshok.bmp")
   
$meshok_x=$_return1
   $meshok_y
=$_return2
ELSE
   
LOGWRITE ("Сбой! Не вижу меню бригады.")
   GOTO(
elvis_start)
END_IF

MOVE
($meshok_x,$meshok_y)
WAITMS(150)
LDOWN($meshok_x,$meshok_y)                    // кликаем собрать
WAITMS(100)
LUP($meshok_x,$meshok_y)
WAIT(2)
GETSCREEN
IF_PICTURE_IN 
($vX+197,$vY+328+$sdvigY,$vX+213,$vY+336+$sdvigY"textures\elvisi_soobshenie.bmp")
   
LDOWN($_return1+168,$_return2+128)    // убираем предупреждение
   
WAITMS(100)
   
LUP($_return1+168,$_return2+128)
   
WAIT(1)
ELSE
   
WAIT($elvis_wait3)
   GOTO(
elvis_start)
END_IF

// вскапываем
MOVE($elvis_x,$elvis_y)
WAITMS(150)
LDOWN($elvis_x,$elvis_y)                        // открываем меню бригады
WAITMS(100)
LUP($elvis_x,$elvis_y)
WAITMS(300)
MOVE($park_X,$park_Y)                              //паркуемся
WAITMS(400)

MOVE($meshok_x,$meshok_y+32)
WAITMS(150)
LDOWN($meshok_x,$meshok_y+32)                // кликаем вскопать
WAITMS(100)
LUP($meshok_x,$meshok_y+32)
WAIT(2)
GETSCREEN
IF_PICTURE_IN 
($vX+197,$vY+328+$sdvigY,$vX+213,$vY+336+$sdvigY"textures\elvisi_soobshenie.bmp")
   
LDOWN($_return1+168,$_return2+128)    // убираем предупреждение
   
WAITMS(100)
   
LUP($_return1+168,$_return2+128)
   
WAIT(1)
ELSE
   
WAIT($elvis_wait3)
   GOTO(
elvis_start)
END_IF

// сажаем
MOVE($elvis_x,$elvis_y)
WAITMS(150)
LDOWN($elvis_x,$elvis_y)                        // открываем меню бригады
WAITMS(100)
LUP($elvis_x,$elvis_y)
WAITMS(300)
MOVE($park_X,$park_Y)                              //паркуемся
WAITMS(400)

MOVE($meshok_x,$meshok_y+96)
WAITMS(150)
LDOWN($meshok_x,$meshok_y+96)                // кликаем посадить все
WAITMS(100)
LUP($meshok_x,$meshok_y+96)
WAITMS(2000)
GOSUB(инициализация_посадки)                // выбираем что сажать

WAIT(2)
GETSCREEN
IF_PICTURE_IN 
($vX+197,$vY+328+$sdvigY,$vX+213,$vY+336+$sdvigY"textures\elvisi_soobshenie.bmp")
   
LDOWN($_return1+168,$_return2+128)    // убираем предупреждение
   
WAITMS(100)
   
LUP($_return1+168,$_return2+128)
   
WAIT($elvis_wait2)   
ELSE
   
WAIT($elvis_wait4)
END_IF

GOTO(elvis_start)



//==============================================================================
SUB(Опр_полож_экрана//== ОПРЕДЕЛЯЮ ПОЛОЖЕНИЕ ЭКРАНА ==========================
   
   
pol_screen:
   
MOVE($_xmax,$_ymax)  //паркуемся
   
WAITMS(100)
   
GETSCREEN
   IF_PICTURE_IN 
(1,1,$_xmax,$_ymax"textures\ZF_BOT_Screen2.bmp")
      
$vX $_return1-19                 // координаты начальные (основные)
      
$vY $_return2-13
      LOGWRITE
("монета x:",$_return1," монета y:",$_return2)
      
LOGWRITE("vX: ",$vX," vY: ",$vY)
      
$hwnd hget($vX+380,$vY+365)
      IF (
$full_screen 0)
         
$hwndbr hget($vX+380,$vY-60)
      
END_IF
      $opred 
1
   
ELSE
      
//      IF(($sboi > 0) & ($reload = 1))
      //         GOSUB(перезагрузка)
      //      ELSE
      
LOGWRITE("Игра не найдена!")
      
HINTPOPUP("Игра не найдена!")
      
HALT
      
//      END_IF
   
END_IF
   
   IF_PICTURE_IN 
($vX,$vY$_xmax$_ymax"textures\sklad.bmp")
      
$skladX=$_return1-36                            // координаты склада
      
$skladY=$_return2+2
      $krayY
=$_return2+37                                // нижний край абсолютный
      
$rinokX=$_return1-33                            // координаты рынка
      
$rinokY=$_return2-48
      $park_X
=$vX+12                                        // задаём основную парковку
      
$park_Y=$krayY-100
      $friendsMAXleft_X
=$_return1-693        // друзья влево максимум
      
$friendsMAXleft_Y=$_return2+14
      $friendsright_X
=$_return1-207            // друзья вправо на 1
      
$friendsright_Y=$_return2-40
      $panelupravl_X
=$_return1-57                // панель управления
      
$panelupravl_Y=$_return2-102
   
ELSE
      
HINTPOPUP("Не нашел иконку склада! Не откалибровал высоту.")
      
HALT
   END_IF
   
   IF_PICTURE_IN 
(0,$vY,$vX+60,$krayY"textures\gift_out.bmp")
      
$kray_lX=$_return1-38                            //  левый край абсолютный
      
$kray_rX=(($vX+380)-$kray_lX)*2+$kray_lX        //  правый край абсолютный
   
ELSE
      
HINTPOPUP("Не нашел иконку подарить! Не откалибровал ширину.")
      
HALT
   END_IF
   
   $keyzoomX
=$kray_rX-150                            // координаты режима экрана
   
$keyzoomY=$vY+158
   $doppanel_off_X
=$kray_rX-216                // коорд. свернуть доп. панель
   
$doppanel_off_Y=$vY+158
   $doppanel_on_X
=$kray_rX-55                    // коорд. развернуть доп. панель
   
$doppanel_on_Y=$vY+158
   
   
IF($VKontakte=1)
      
$keyzoomX=$keyzoomX-33
      $doppanel_off_X
=$doppanel_off_X-33
   END_IF
   
   
IF((PXL($doppanel_off_X,$doppanel_off_Y) = 3160910) | (PXL($doppanel_off_X+5,$doppanel_off_Y) = 3160910)) //  проверка панели управления
   
ELSE
      
LDOWN($doppanel_on_X,$doppanel_on_Y)        // разворачиваем если нет
      
WAITMS(100)
      
LUP($doppanel_on_X,$doppanel_on_Y)
      
WAITMS(800)
      
GETSCREEN
   END_IF
   
   
IF($full_screen 0)  //==проверяем правильность НЕ полноэкранного режима
      
IF (PXL($keyzoomX,$keyzoomY) = 6213887)
         
LDOWN($keyzoomX,$keyzoomY)
         
WAITMS(100)
         
LUP($keyzoomX,$keyzoomY)
         
WAITMS(2000)
         GOTO(
pol_screen:)
      ELSE
         
$xres1 $kray_lX+90   // задаём рабочее окно для поиска,сборов и т.д.
         
$yres1 $vY+99
         $xres2 
$kray_rX            // -74
         
$yres2 $krayY-170
         
         $sdvigX 
0            // сдвиг для НЕ полноэкранного режима
         
$sdvigY INT(($krayY-$vY-729)/2)
      
END_IF
   END_IF
   
   
IF($full_screen 1)  //==проверяем правильность полноэкранного режима
      
IF (PXL($keyzoomX,$keyzoomY) ! 6213887)
         
LDOWN($keyzoomX,$keyzoomY)
         
WAITMS(100)
         
LUP($keyzoomX,$keyzoomY)
         
WAITMS(2000)
         GOTO(
pol_screen:)
      ELSE
         
$kray_rX $_xmax
         $krayY 
$_ymax
         
         $xres1 
1+90            // задаём рабочее окно для поиска,сборов и т.д.
         
$yres1 1+99
         $xres2 
$_xmax        // -74
         
$yres2 $_ymax-170
         
         $sdvigX 
0   // сдвиг для полноэкранного режима
         
$sdvigY INT(($_ymax-729)/2)
      
END_IF
   END_IF
   
   LOGWRITE
("kray_lX=",$kray_lX)
   
LOGWRITE("kray_rX=",$kray_rX)
   
LOGWRITE("krayY=",$krayY)
   
LOGWRITE("sdvigY=",$sdvigY)
   
LOGWRITE("park_X=",$park_X,",  park_Y=",$park_Y)
   
LOGWRITE("xres1=",$xres1,",  yres1=",$yres1)
   
LOGWRITE("xres2=",$xres2,",  yres2=",$yres2)
   
LOGWRITE(" ")
   
   
//   $zoom_max=0
   //   FOR($zoom_max, $zoom_max<4)        // масштаб на самый крупный
   //      LCLICK($keyzoomX+33,$keyzoomY)
   //      WAITMS(100)
   //   END_CYC
   //
   //   IF($zoom = 0)                      // масштаб 0
   //      $setka = 32
   //      $size = 30
   //   END_IF
   //
   //   IF($zoom = 1)                      // масштаб -1
   //      $setka = 26
   //      $size = 24
   //      WAITMS(100)
   //      LCLICK($keyzoomX+66,$keyzoomY)
   //      WAITMS(500)
   //   END_IF
   //
   //   IF($zoom = 2)                      // масштаб -2
   //      $setka = 19
   //      $size = 18
   //      WAITMS(100)
   //      LCLICK($keyzoomX+66,$keyzoomY)
   //      WAITMS(500)
   //      LCLICK($keyzoomX+66,$keyzoomY)
   //      WAITMS(500)
   //   END_IF
   //
   //   IF($zoom = 3)                      // масштаб -3
   //      $setka = 13
   //      $size = 12
   //      WAITMS(100)
   //      LCLICK($keyzoomX+66,$keyzoomY)
   //      WAITMS(500)
   //      LCLICK($keyzoomX+66,$keyzoomY)
   //      WAITMS(500)
   //      LCLICK($keyzoomX+66,$keyzoomY)
   //      WAITMS(500)
   //   END_IF
   
   
LDOWN($doppanel_off_X,$doppanel_off_Y)        // свернули доп. панель
   
WAITMS(100)
   
LUP($doppanel_off_X,$doppanel_off_Y)
   
WAITMS(300)
   
   
//   IF($reload = 1)
   //      WAIT(5)
   //      // Перезагрузка: Этап 3 ожидание загрузки друзей
   //      $wait_screen = 1
   //      WHILE($wait_screen = 1)
   //         GOSUB(любые_диалоги)
   //         GETSCREEN
   //         IF_PICTURE_IN(1,1,$_xmax,$_ymax, "Textures\ZF_BOT_Screen3.bmp")
   //            WAITMS (1000)
   //            HINTPOPUP("Ожидание загрузки друзей", "Сообщение")
   //            GOSUB(проверка)
   //         ELSE
   //            $wait_screen = 0
   //            $wait_time = 0
   //            HINTPOPUP("Друзья загружены", "Сообщение")
   //            WAIT (3)
   //         END_IF
   //      END_CYC
   //
   //      GOSUB(проверка)
   //      GOSUB(любые_диалоги)
   //      GOSUB(обновление)
   //      GOSUB(проверка)
   //      LCLICK($vX+700,$vY+400)  // убираем рекламу
   //      WAITMS(600)
   //      MOVE($park_X,$park_Y)  //паркуемся
   //      WAITMS(300)
   //      GETSCREEN
   //      IF((PXL($doppanel_off_X,$doppanel_off_Y) = 3160910) | (PXL($doppanel_off_X+5,$doppanel_off_Y) = 3160910)) //  проверка панели управления
   //      ELSE
   //         LCLICK($doppanel_on_X,$doppanel_on_Y)        // разворачиваем если нет
   //         WAITMS(400)
   //      END_IF
   //
   //      // Домашний остров
   //      IF(($sboi = 1) & ($reload = 1))
   //         WAITMS(600)
   //         LDOWN($vX+638,$vY+419)
   //         WAITMS(200)
   //         MOVE($vX+567,$vY+373)
   //         WAITMS(200)
   //         LUP($vX+567,$vY+373)
   //         $reload = 0
   //      END_IF
   //      // остров любви или остров X
   //      IF(($sboi = 2) & ($reload = 1))
   //         LDOWN($vX+695,$vY+386)
   //         WAITMS(200)
   //         MOVE($vX+218,$vY+359)
   //         WAITMS(200)
   //         LUP($vX+218,$vY+359)
   //         $reload = 0
   //      END_IF
   //      // остров майя или альфа или омега
   //      IF(($sboi = 3) & ($reload = 1))
   //         LDOWN($vX+632,$vY+335)
   //         WAITMS(200)
   //         MOVE($vX+400,$vY+334)
   //         WAITMS(200)
   //         LUP($vX+400,$vY+334)
   //         $reload = 0
   //      END_IF
   //      // остров Веры
   //      IF(($sboi = 4) & ($reload = 1))
   //         LDOWN($vX+696,$vY+404)
   //         WAITMS(200)
   //         MOVE($vX+209,$vY+327)
   //         WAITMS(200)
   //         LUP($vX+209,$vY+327)
   //         $reload = 0
   //      END_IF
   //      // остров Надежды или Страшный остров
   //      IF(($sboi = 5) & ($reload = 1))
   //         LDOWN($vX+673,$vY+519)
   //         WAITMS(200)
   //         MOVE($vX+327,$vY+466)
   //         WAITMS(200)
   //         LUP($vX+327,$vY+466)
   //         $reload = 0
   //      END_IF
   //      // Секретный остров
   //      IF(($sboi = 6) & ($reload = 1))
   //         LDOWN($vX+676,$vY+348)
   //         WAITMS(200)
   //         MOVE($vX+455,$vY+329)
   //         WAITMS(200)
   //         LUP($vX+455,$vY+329)
   //         $reload = 0
   //      END_IF
   //      // мобильный
   //      IF(($sboi = 7) & ($reload = 1))
   //         LDOWN($vX+512,$vY+379)
   //         WAITMS(200)
   //         MOVE($vX+483,$vY+526)
   //         WAITMS(200)
   //         LUP($vX+483,$vY+526)
   //         $reload = 0
   //      END_IF
   //
   //      WAITMS(1000)
   //      $reload = 0
   //      $check_human = 0
   //      $check_human2 = 0
   //      LOGWRITE("Игра перезагружена")
   //   END_IF
   
   //   IF(($mozg1 = 0) & ($mozg2 = 0) & ($mozg3 = 0) & ($mozg4 = 0))
   //      $mozgokop = 0
   //      LOGWRITE("Мозги не закапываем")
   //   ELSE
   //      GOSUB(ini_mozgokop)
   //   END_IF
   
   
MOVE($park_X,$park_Y)  //паркуемся
END_SUB



//==============================================================================
SUB(инициализация_посадки//======== инициализация_посадки ====================
   
   
$sempage=1
   $semline
=1
   $sempoz
=$semena
   
   
WHILE($sempoz 8)
      
$sempage=$sempage+1
      $sempoz
=$sempoz-8
   END_CYC
   
   
IF ($sempoz 4)
      
$semline=2
      $sempoz
=$sempoz-4
   END_IF
   
   ini_posadka
:
   
MOVE($park_X,$park_Y)  //паркуемся
   
WAITMS(300)
   
GETSCREEN
   
IF((PXL($vX+100,$vY+86+$sdvigY)!3094591) & (PXL($vX+120,$vY+86+$sdvigY)!3094591)) // переключаемся на вкладку семена
      
LCLICK($vX+105,$vY+95+$sdvigY)
      
WAITMS(300)
   
END_IF
   
   MOVE
($park_X,$park_Y)  //паркуемся
   
WAITMS(100)
   
GETSCREEN
   
   
IF((PXL($vX+100,$vY+86+$sdvigY)=3094591) & (PXL($vX+120,$vY+86+$sdvigY)=3094591))  // найдена вкладка семена
      
LCLICK($vX+287+(36*($sempage-1)),$vY+697+$sdvigY// выбор страницы
      
WAITMS(500)
      
LCLICK($vX+118+(174*($sempoz-1)),$vY+390+$sdvigY+(260*($semline-1))) // купить семена
      
WAITMS(500)
   ELSE                 
// не находит семян ни вкл ни выкл
      //GOSUB(проверка)
      
LOGWRITE ("ждём семена")
      GOTO(
ini_posadka)
   
END_IF
   $ini_posadka
=0
END_SUB



//============================================================================== 
  Ответить с цитированием
Старый 10.11.2014, 00:20   #3559
 Разведчик
Аватар для greyzza
 
greyzza никому не известный тип
Регистрация: 25.02.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
в чем трабла? бот не работает(

ыы
  Ответить с цитированием
Старый 10.11.2014, 00:55   #3560
 Разведчик
Аватар для Shurup240
 
Shurup240 никому не известный тип
Регистрация: 04.02.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Cheater-84Посмотреть сообщение
ребят ! в чем трабла? бот не работает(
[/PHP]

Винт придет, порядок в боте наведёт
А вобщем я пришел с таким вопросом.
Очень нужна фишка для крафта яиц в Гнезде
Есть вот такое
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameWoodGraveGameWoodGraveDoubleGamePickItemGameWoodTreeGameStoneGameGainItemGamePickupGameState
from game_state
.game_event import dict2objobj2dict
from game_actors_and_handlers
.base import BaseActor


logger 
logging.getLogger(__name__)


class 
EggTermo(BaseActor):


    
def perform_action(self):
        if 
self._get_game_state().get_state().gameMoney 1900000000:
            
current_loc self._get_game_state().get_location_id()
            
location_id "isle_dream"
            
if current_loc == location_id:
                
craft "4"
                
exchange self._get_item_reader().get("B_TREE_HOUSE").crafts
                
for one_item in exchange:
                    if 
one_item.id == craft:
                        
rose one_item.materials[0].item
                        rose_count 
one_item.materials[0].count
                        lily 
one_item.materials[1].item
                        lily_count 
one_item.materials[1].count
                        result 
one_item.resultCount
                storage 
self._get_game_state().get_state().storageItems
                
for item in storage:
                    if 
hasattr(item"item"):
                        if 
item.item == rose:
                            
storage_rose item.count
                        elif item
.item == lily:
                            
storage_lily item.count
                
for item in self._get_game_state().get_state().gameObjects:
                    if 
item.item == "@B_TREE_HOUSE":
                        
o_id item.id
                
for _ in range(200000):
                    
event = {"itemId":craft,"objId":o_id,"action":"craft","type":"item"}
                    
logger.info(u"Создаём Термо-яйцо")
                    
self._get_events_sender().send_game_events([event])
                    
self._get_game_state().remove_from_storage(roserose_count)
                    
storage_rose -= rose_count
                    logger
.info(u"Осталось %d волчий штык"storage_rose
Но оно работает медленно и когда кончаются рессы вылетает.
Ни у кого нет с проверкой колличества на складе?
  Ответить с цитированием
Старый 10.11.2014, 17:06   #3561
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Cheater-84Посмотреть сообщение
ребят ! в чем трабла? бот не работает(

Текстуры в игре меняются. Устарел бот)))
  Ответить с цитированием
Старый 10.11.2014, 20:26   #3562
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от SonikcoolПосмотреть сообщение
Что нужно изменить что бы он покупал вместо буду благодарен

А смысл? Написал тут и завтра уже не актуально будет.

Последний раз редактировалось GirlKris; 11.11.2014 в 11:19.
  Ответить с цитированием
Старый 10.11.2014, 20:31   #3563
 Разведчик
Аватар для Sonikcool
 
Sonikcool никому не известный тип
Регистрация: 25.07.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Писал и ранее никто не откликнулся и не пофиксили так что надеюсь на лучшее)
  Ответить с цитированием
Старый 10.11.2014, 23:32   #3564
 Разведчик
Аватар для Miha88
 
Miha88 никому не известный тип
Регистрация: 09.07.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

в чем проблема почему он не хочет вырубать ресурсы в кристальном гроте?
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameWoodGraveGameWoodGraveDouble,\
    
GamePickItemGameWoodTreeGameStoneGameGainItemGamePickup
from game_state
.game_event import dict2objobj2dict
from game_actors_and_handlers
.base import BaseActor

logger 
logging.getLogger(__name__)


class 
PirateTreeCut(BaseActor):

    
def get_object_type(self):
        return 
"chop"

    
def perform_action(self):
        
options = [
                
u'вскрытие сокровищ'
                
]
        
resources self._get_game_location().get_all_objects_by_type(
                    
self.get_object_type()
                )
        
enemies self._get_game_location().get_all_objects_by_type("pirateEnemy")

        
# пиратские острова : Остров сокровищ , Таинственный , Жуткий , Северный полюс , Остров сокровищ , Древний
        
pirate_locs_id = ["exploration_isle1_random","exploration_isle2_random","exploration_isle3_random","exploration_snow1","exploration_isle1_1","exploration_isle4_random","exploration_helloween"]

        
instruments = []        # переменная для инструментов
        
        
_loc self._get_game_state().get_game_loc().get_location_id() # текущая локация
        
        
if resources:
          if 
_loc not in pirate_locs_id:
            
st_items self._get_game_state().get_state().storageItems # Предметы на складе
            
for item in list(st_items):
              if 
hasattr(item"item"):
                if 
item.item == ('@CHOP_MACHETE'): #мачете
                  
instruments.append(dict2obj({"item":"@CHOP_MACHETE""count"item.count}))
                if 
item.item == ('@CHOP_AXE'): #топор
                  
instruments.append(dict2obj({"item":"@CHOP_AXE""count"item.count}))
                if 
item.item == ('@CHOP_HAMMER'): #кирка
                  
instruments.append(dict2obj({"item":"@CHOP_HAMMER""count"item.count}))
                if 
item.item == ('@CHOP_TRIDENT'): #Трезубец
                  
instruments.append(dict2obj({"item":"@CHOP_TRIDENT""count"item.count}))  
            else: 
instruments self._get_game_state().get_state().pirate.instruments  
       
            resources_dict 
= {resource resource.for resource in resources}
            
resources_order resources_dict.items()  # ресурсы отсортированные по X
            
resources_order.sort(key=lambda xx[::-1], reverse=True)
            
#print resources_order

            
for resource in resources_order:
                
resource resource[0]
                
#print 'resource ', resource,' ', resource.x 
                #print obj2dict(resource)
                
tool_needed resource.chopCount
                type_of_res 
resource.item
                type_of_instrument 
self._get_item_reader().get(type_of_res).chopInstrumentType
                
for tool in instruments:
                    
#print "self._get_item_reader().get(tool.item).chopInstrumentType", self._get_item_reader().get(tool.item).chopInstrumentType
                    #print "type_of_instrument", type_of_instrument
    
                    
if self._get_item_reader().get(tool.item).chopInstrumentType == type_of_instrument and tool.count >= tool_needed:
                        
enemy_here 0
                        
if enemies:
                            for 
enemy in enemies:
                                if(((
enemy.resource.x)**2+(enemy.resource.y)**2)**0.5 16):
                                    
enemy_here 1
                                    
break
                        if(
enemy_here == 1):
                            
self._get_game_location().remove_object_by_id(resource.id)
                            
logger.info("Сильвер мешает вырубке "+str(resource.id))
                            break
                        
#print 'tool.count ', tool.count, ', tool_needed ', tool_needed
                        
if tool_needed == 100:
                            
tool_needed 50
                            
print 'tool_needed Set 50'
                            
                        
#print "resource ", str(obj2dict(resource))
                        
gain_event = {"type":"chop","objId":resource.id,"instruments":{self._get_item_reader().get(tool.item).id:tool_needed},"action":"chop"}
                        
logger.info(u"Рубим " str(type_of_instrument)+u' instruments:'+str(self._get_item_reader().get(tool.item).id)+', '+str(tool_needed)+u'L, id '+str(gain_event['objId']))
                        
self._get_events_sender().send_game_events( [gain_event] )
                        if 
resource.chopCount == tool_needed:
                            
self._get_game_location().remove_object_by_id(resource.id)
                        else:
                            
resource.chopCount -= tool_needed
                        tool
.count -= tool_needed
                        
break
        else:
            
logger.info("Не осталось ресурсов для добычи")
            
        if 
u'вскрытие сокровищ' in options:
            
resources self._get_game_location().get_all_objects_by_type("pirateCaptureObject")
            if 
resources:
                for 
resource in resources:
                    
enemy_here 0
                    
if enemies:
                        for 
enemy in enemies:
                            if(((
enemy.resource.x)**2+(enemy.resource.y)**2)**0.5 15):
                                
enemy_here 1
                                
break
                    if(
enemy_here == 1):
                        
self._get_game_location().remove_object_by_id(resource.id)
                        
logger.info("Сильвер мешает взять "+str(resource.id))
                        continue
                    
gain_event = {"type":"pirateCapture","objId":resource.id,"action":"capture"}
                    print 
gain_event
                    logger
.info("Открываем " str(resource.id))
                    
self._get_events_sender().send_game_events( [gain_event] )
                    
self._get_game_location().remove_object_by_id(resource.id)
            else:
                
logger.info("Нет неоткрытых сокровищ")  
        if 
not enemies:
                       
open('.\counts\\SilverHit.txt','w').write('')
        for 
object in self._get_game_location().get_game_objects():
            if 
object.type == 'pirateEnemy':
                
hitsilver open('.\counts\\SilverHit.txt','r').read()
                if 
not str(object.idin hitsilver:
                    
gain_event = {"action":"hit","objId":object.id,"type":"pirateEnemy"}
                    
open('.\counts\\SilverHit.txt','a').write(str(object.id)+',')
                    
self._get_events_sender().send_game_events( [gain_event] )
                    
counthealt object.health-1
                    self
.cprint(u'5БЬЮ СИЛЬВЕРА^7_id:%s^2_осталось добить^6_%d^2_раза'%(str(object.id),counthealt)) 
  Ответить с цитированием
Старый 11.11.2014, 00:56   #3565
 Разведчик
Аватар для zloy_gnom_2012
 
zloy_gnom_2012 никому не известный тип
Регистрация: 19.05.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Miha88Посмотреть сообщение
в чем проблема почему он не хочет вырубать ресурсы в кристальном гроте?
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameWoodGraveGameWoodGraveDouble,\
    
GamePickItemGameWoodTreeGameStoneGameGainItemGamePickup
from game_state
.game_event import dict2objobj2dict
from game_actors_and_handlers
.base import BaseActor

logger 
logging.getLogger(__name__)


class 
PirateTreeCut(BaseActor):

    
def get_object_type(self):
        return 
"chop"

    
def perform_action(self):
        
options = [
                
u'вскрытие сокровищ'
                
]
        
resources self._get_game_location().get_all_objects_by_type(
                    
self.get_object_type()
                )
        
enemies self._get_game_location().get_all_objects_by_type("pirateEnemy")

        
# пиратские острова : Остров сокровищ , Таинственный , Жуткий , Северный полюс , Остров сокровищ , Древний
        
pirate_locs_id = ["exploration_isle1_random","exploration_isle2_random","exploration_isle3_random","exploration_snow1","exploration_isle1_1","exploration_isle4_random","exploration_helloween"]

        
instruments = []        # переменная для инструментов
        
        
_loc self._get_game_state().get_game_loc().get_location_id() # текущая локация
        
        
if resources:
          if 
_loc not in pirate_locs_id:
            
st_items self._get_game_state().get_state().storageItems # Предметы на складе
            
for item in list(st_items):
              if 
hasattr(item"item"):
                if 
item.item == ('@CHOP_MACHETE'): #мачете
                  
instruments.append(dict2obj({"item":"@CHOP_MACHETE""count"item.count}))
                if 
item.item == ('@CHOP_AXE'): #топор
                  
instruments.append(dict2obj({"item":"@CHOP_AXE""count"item.count}))
                if 
item.item == ('@CHOP_HAMMER'): #кирка
                  
instruments.append(dict2obj({"item":"@CHOP_HAMMER""count"item.count}))
                if 
item.item == ('@CHOP_TRIDENT'): #Трезубец
                  
instruments.append(dict2obj({"item":"@CHOP_TRIDENT""count"item.count}))  
            else: 
instruments self._get_game_state().get_state().pirate.instruments  
       
            resources_dict 
= {resource resource.for resource in resources}
            
resources_order resources_dict.items()  # ресурсы отсортированные по X
            
resources_order.sort(key=lambda xx[::-1], reverse=True)
            
#print resources_order

            
for resource in resources_order:
                
resource resource[0]
                
#print 'resource ', resource,' ', resource.x 
                #print obj2dict(resource)
                
tool_needed resource.chopCount
                type_of_res 
resource.item
                type_of_instrument 
self._get_item_reader().get(type_of_res).chopInstrumentType
                
for tool in instruments:
                    
#print "self._get_item_reader().get(tool.item).chopInstrumentType", self._get_item_reader().get(tool.item).chopInstrumentType
                    #print "type_of_instrument", type_of_instrument
    
                    
if self._get_item_reader().get(tool.item).chopInstrumentType == type_of_instrument and tool.count >= tool_needed:
                        
enemy_here 0
                        
if enemies:
                            for 
enemy in enemies:
                                if(((
enemy.resource.x)**2+(enemy.resource.y)**2)**0.5 16):
                                    
enemy_here 1
                                    
break
                        if(
enemy_here == 1):
                            
self._get_game_location().remove_object_by_id(resource.id)
                            
logger.info("Сильвер мешает вырубке "+str(resource.id))
                            break
                        
#print 'tool.count ', tool.count, ', tool_needed ', tool_needed
                        
if tool_needed == 100:
                            
tool_needed 50
                            
print 'tool_needed Set 50'
                            
                        
#print "resource ", str(obj2dict(resource))
                        
gain_event = {"type":"chop","objId":resource.id,"instruments":{self._get_item_reader().get(tool.item).id:tool_needed},"action":"chop"}
                        
logger.info(u"Рубим " str(type_of_instrument)+u' instruments:'+str(self._get_item_reader().get(tool.item).id)+', '+str(tool_needed)+u'L, id '+str(gain_event['objId']))
                        
self._get_events_sender().send_game_events( [gain_event] )
                        if 
resource.chopCount == tool_needed:
                            
self._get_game_location().remove_object_by_id(resource.id)
                        else:
                            
resource.chopCount -= tool_needed
                        tool
.count -= tool_needed
                        
break
        else:
            
logger.info("Не осталось ресурсов для добычи")
            
        if 
u'вскрытие сокровищ' in options:
            
resources self._get_game_location().get_all_objects_by_type("pirateCaptureObject")
            if 
resources:
                for 
resource in resources:
                    
enemy_here 0
                    
if enemies:
                        for 
enemy in enemies:
                            if(((
enemy.resource.x)**2+(enemy.resource.y)**2)**0.5 15):
                                
enemy_here 1
                                
break
                    if(
enemy_here == 1):
                        
self._get_game_location().remove_object_by_id(resource.id)
                        
logger.info("Сильвер мешает взять "+str(resource.id))
                        continue
                    
gain_event = {"type":"pirateCapture","objId":resource.id,"action":"capture"}
                    print 
gain_event
                    logger
.info("Открываем " str(resource.id))
                    
self._get_events_sender().send_game_events( [gain_event] )
                    
self._get_game_location().remove_object_by_id(resource.id)
            else:
                
logger.info("Нет неоткрытых сокровищ")  
        if 
not enemies:
                       
open('.\counts\\SilverHit.txt','w').write('')
        for 
object in self._get_game_location().get_game_objects():
            if 
object.type == 'pirateEnemy':
                
hitsilver open('.\counts\\SilverHit.txt','r').read()
                if 
not str(object.idin hitsilver:
                    
gain_event = {"action":"hit","objId":object.id,"type":"pirateEnemy"}
                    
open('.\counts\\SilverHit.txt','a').write(str(object.id)+',')
                    
self._get_events_sender().send_game_events( [gain_event] )
                    
counthealt object.health-1
                    self
.cprint(u'5БЬЮ СИЛЬВЕРА^7_id:%s^2_осталось добить^6_%d^2_раза'%(str(object.id),counthealt)) 

ошибка есть какая то?
  Ответить с цитированием
Старый 11.11.2014, 04:18   #3566
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Miha88Посмотреть сообщение
в чем проблема почему он не хочет вырубать ресурсы в кристальном гроте?

Потому что в Кристальном Гроте рубится "трезубцами". Нужно инструмент править.
  Ответить с цитированием
Старый 11.11.2014, 09:15   #3567
 Разведчик
Аватар для Miha88
 
Miha88 никому не известный тип
Регистрация: 09.07.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от zloy_gnom_2012Посмотреть сообщение
ошибка есть какая то?

нет он просто просто прокрутит рулетки и ждет..

Добавлено через 20 минут
Цитата:
Сообщение от mike4kzПосмотреть сообщение
Потому что в Кристальном Гроте рубится "трезубцами". Нужно инструмент править.

так вроде как поправил, посмотри внимательнее...

Последний раз редактировалось Miha88; 11.11.2014 в 09:35. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 11.11.2014, 09:40   #3568
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от SonikcoolПосмотреть сообщение
Что нужно изменить что бы он ... покупал вместо ... буду благодарен

Нужно изменить сообщение. Вот где ты взялся, чес слово. Так всё хорошо работало.
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Последний раз редактировалось vintets; 11.11.2014 в 09:49. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 11.11.2014, 15:05   #3569
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Miha88Посмотреть сообщение
так вроде как поправил, посмотри внимательнее...

ПоЧарли рубку. Плюс, посмотри какой-нибудь ресурс перед рубкой. Я не помню детали, но там в ресурсе, по-моему стоит "CIT", а рубить надо "CHOP" (или наоборот). К сожалению бот у меня на другом компьютере, так что посмотреть свой код не могу. Но помню, что я заменял CHOP на CIT (или наоборот).
  Ответить с цитированием
Старый 11.11.2014, 15:29   #3570
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Miha88Посмотреть сообщение
в чем проблема почему он не хочет вырубать ресурсы в кристальном гроте?

Убрать "exploration_helloween" из списка pirate_locs_id
Код:
else: instruments = self._get_game_state().get_state().pirate.instruments
сдвинуть влево на 2 пробела

Последний раз редактировалось GirlKris; 11.11.2014 в 15:35.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Программа] Zombot (Клиент для игры Зомби ферма) AnonProger Баги игр ВКонтакте 189 26.08.2014 15:50
[Статья] Небольшие секреты игры зомби ферма haussuper Баги игр ВКонтакте 11 26.01.2013 11:54
[Информация] Зомби Ферма dekirillov Баги игр ВКонтакте 40 22.10.2011 18:25

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 02:37.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net