Author Topic: Помогите написать сценарий.  (Read 9437 times)

0 Members and 1 Guest are viewing this topic.

liubcici

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Помогите написать сценарий.
« on: November 26, 2013, 11:52:18 PM »
Уважаемые профессионалы, помогите написать сценарий. Нужен бот для онлайн игры Нано-Ферма вконтакте. Как быть и с чего начать ума не приложу. Бот должен ходить по соседям и собирать у них урожай рубить камень, дерево. Заранее спасибо.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите написать сценарий.
« Reply #1 on: November 27, 2013, 12:12:56 AM »
Играл я в эту игру, то что ты хочешь трудно осуществимо. Это слишком сложные действия, у игроков деревья, камни, грядки могут быть где угодно, плюс еще большая территория, прибавь сюда трудности в распознавании тех же грядок.

Вот например покормить всех животных прокликав красные стрелочки или собрать бонус со зданий это куда проще. Правда я уже давно в неё не играл может там что и изменилось.

Jaguar

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Помогите написать сценарий.
« Reply #2 on: February 23, 2015, 06:48:12 PM »
Привет.
Нано ферма. точнее ее точная копия Astro Garden https://apps.facebook.com/astrogarden/
сделал привязку к "окну" флеша, хотя с ней и без нее, цвет выдается черный и раз в 2-6 сек, на долю сек. показывается реальный, красный синий  и т.д. 
таких проблем нет в AutiIt и Sikuli, но первая как-то не то что надо под флеш, вторая косяков полна.
что не так с Clickermann v4.11 или у меня firefox и win 7 x64.
цвет пикселя черный что не так?
и почему функция клик выполняется более одного раза?
а print pxl 6 раз а не 600?

Code: [Select]
SUB(Друг,$fr)
   FOR($i, $i < 100)
      FOR($a, $a < 6)
         Print(700-$a*80,",-,585,-,",PXL(700-$a*80, 585))
         WAITMS(50)
      END_CYC
   END_CYC
   WAITMS(300)
   MOVE(780-$fr*80, 585)
   WAITMS(5300)
   LCLICK(780-$fr*80, 585)
   WAITMS(200)
END_SUB
Друг(4)
результат
[spoiler]22:21:43 860,-,585,-,0
22:21:43 940,-,585,-,0
22:21:44 1020,-,585,-,0
22:21:44 1100,-,585,-,0
22:24:45 700,-,585,-,0
22:24:45 620,-,585,-,0
22:24:45 540,-,585,-,0
22:24:45 460,-,585,-,0
22:24:45 380,-,585,-,0
22:24:45 300,-,585,-,0
22:26:55 700,-,585,-,0
22:26:55 620,-,585,-,0
22:26:55 540,-,585,-,0
22:26:56 460,-,585,-,0
22:26:56 380,-,585,-,0
22:26:56 300,-,585,-,0
22:27:06 700,-,585,-,0
22:27:06 620,-,585,-,0
22:27:06 540,-,585,-,0
22:27:06 460,-,585,-,0
22:27:06 380,-,585,-,0
22:27:06 300,-,585,-,0
22:28:08 700,-,585,-,0
22:28:08 620,-,585,-,0
22:28:08 540,-,585,-,0
22:28:08 460,-,585,-,0
22:28:08 380,-,585,-,0
22:28:08 300,-,585,-,0[/spoiler]

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите написать сценарий.
« Reply #3 on: February 23, 2015, 07:52:40 PM »
что не так

GETSCREEN где? Цикл FOR в последней версии 4.11 сам не обнуляется, нужно добавить параметр.
Code: (clickermann) [Select]
SUB(Друг,$fr)
   GETSCREEN
   FOR($i=0, $i < 100)
      FOR($a=0, $a < 6)
         Print(700-$a*80,",-,585,-,",PXL(700-$a*80, 585))
         WAITMS(50)
      END_CYC
   END_CYC
   WAITMS(300)
   MOVE(780-$fr*80, 585)
   WAITMS(5300)
   LCLICK(780-$fr*80, 585)
   WAITMS(200)
END_SUB

Друг(4)

Лог:
Code: [Select]
20:48:48 300,-,585,-,14215660
20:48:48 700,-,585,-,16777215
20:48:48 620,-,585,-,16777215
20:48:48 540,-,585,-,14215660
20:48:49 460,-,585,-,14215660
20:48:50 380,-,585,-,15723239

На счет привязки, попробуй сменить тему на упрощенную, отключить эффекты, аэро там всякии и прочую лабуду.

Jaguar

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Помогите написать сценарий.
« Reply #4 on: February 23, 2015, 08:19:14 PM »
Спасибо.
1. отключил АЭРО, да черный цвет только при обновлении картинки флеша. что норм. когда смотришь лупой,
опс. через 5-10 минут(после отключения АЭРО) стало как было 
1.1. в firefox отключил аппаратное ускорение.
результаты все еще черные часто, когда это не главное окно и когда главное единственное кроме кликера, тоже.
[spoiler]
0:21:49 300,-,585,-,0
0:21:49 700,-,585,-,12230268
0:21:50 620,-,585,-,12230268
0:21:50 540,-,585,-,12230268
0:21:50 460,-,585,-,12230268
0:21:50 380,-,585,-,12230268
0:21:50 300,-,585,-,12230268
0:21:56 700,-,585,-,0
0:21:56 620,-,585,-,0
0:21:56 540,-,585,-,0
0:21:56 460,-,585,-,0
0:21:56 380,-,585,-,0
0:21:56 300,-,585,-,0
0:21:56 700,-,585,-,0
0:21:56 620,-,585,-,0
0:21:56 540,-,585,-,0
0:21:56 460,-,585,-,0
0:21:56 380,-,585,-,0
0:21:56 300,-,585,-,0
0:22:39 700,-,585,-,0
0:22:39 620,-,585,-,0
0:22:39 540,-,585,-,0
0:22:39 460,-,585,-,0
0:22:39 380,-,585,-,0
0:22:39 300,-,585,-,0
0:22:39 700,-,585,-,0
0:22:39 620,-,585,-,0
0:22:39 540,-,585,-,0
0:22:40 460,-,585,-,0
0:22:40 380,-,585,-,0
0:22:40 300,-,585,-,0
0:23:05 700,-,585,-,0
0:23:05 620,-,585,-,0
0:23:05 540,-,585,-,0
0:23:06 460,-,585,-,0
0:23:06 380,-,585,-,0
0:23:06 300,-,585,-,0
0:23:06 700,-,585,-,12406464
0:23:06 620,-,585,-,12406464
0:23:06 540,-,585,-,12406464
0:23:06 460,-,585,-,12406464
0:23:06 380,-,585,-,12406464
0:23:06 300,-,585,-,12406464
0:23:32 700,-,585,-,0
0:23:32 620,-,585,-,0
0:23:32 540,-,585,-,0
0:23:32 460,-,585,-,0
0:23:32 380,-,585,-,0
0:23:32 300,-,585,-,0
0:23:32 700,-,585,-,0
0:23:32 620,-,585,-,0
0:23:32 540,-,585,-,0
0:23:32 460,-,585,-,0
0:23:32 380,-,585,-,0
0:23:32 300,-,585,-,0
0:23:58 700,-,585,-,0
0:23:58 620,-,585,-,0
0:23:58 540,-,585,-,0
0:23:58 460,-,585,-,0
0:23:58 380,-,585,-,0
0:23:58 300,-,585,-,0
0:23:58 700,-,585,-,0
0:23:58 620,-,585,-,0
0:23:58 540,-,585,-,0
0:23:58 460,-,585,-,0
0:23:59 380,-,585,-,0
0:23:59 300,-,585,-,0
0:24:24 700,-,585,-,0
0:24:24 620,-,585,-,0
0:24:24 540,-,585,-,0
0:24:24 460,-,585,-,0
0:24:25 380,-,585,-,0
0:24:25 300,-,585,-,0
0:24:25 700,-,585,-,0
0:24:25 620,-,585,-,0
0:24:25 540,-,585,-,0
0:24:25 460,-,585,-,0
0:24:25 380,-,585,-,0
0:24:25 300,-,585,-,0
[/spoiler]
1.2 в гуглехроме норм. нет черного цвета, только флеш не выделяется как "окно" приходится координаты от угла мерить, а это значит меню флеш, не скоординировано(не на месте постоянном).


2. и все тот же вопрос почему клик происходит не один раз?
тело программы идет по кругу? как остановить сделать один-два раза?

3. тело программы не отделимо от вставленных функций? (ну кроме выноса в отдельный файл)

4. как функция может вернуть значение?

ПС. Единственно, я скрин в цикл поставил это же обновление флеш после перехода к другу.
и вторая функция никак же не влияет.
Code: [Select]

#name "AS_Bot_01"
$timems=500

SUB(СДВИГ,$x1,$y1,$x2,$y2) //
   LDOWN($x1,$y1)
   WAITMS($timems)
   MOVE($x2,$y2)
   WAITMS($timems)
   LUP($x2,$y2)
   WAITMS($timems)
END_SUB

SUB(Друг,$fr)
   FOR($i=0, $i < 2)
     GETSCREEN
FOR($a=0, $a < 6)
Print(700-$a*80,",-,585,-,",PXL(700-$a*80, 585))
         WAITMS(50)
      END_CYC
   END_CYC
   WAITMS(300)
   MOVE(780-$fr*80, 585)
   WAITMS(5300)
   LCLICK(780-$fr*80, 585)
   WAIT(20)
END_SUB

ДРУГ(4)
« Last Edit: February 23, 2015, 09:21:04 PM by Jaguar »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите написать сценарий.
« Reply #5 on: February 23, 2015, 09:34:06 PM »
С привязкой к окну могут быть различные проблемы, если она глючит не нужно биться головой об стену, используй обычный режим, он куда стабильнее.

По умолчанию скрипт выполняется по кругу бесконечно, команда HALT остановит выполнение скрипта.

Добавь такое условие в конце, чтобы выполнить скрипт два раза
Code: (clickermann) [Select]
INC($count,1)
IF($count = 2) // остановить на втором проходе
   HALT
END_IF

Командой GETSCREEN кликер получает актуальный снимок экрана. У тебя похоже достаточно одного снимка а потом в цикле этот снимок будет анализироваться
Не очень понимаю зачем это тебе нужно?
Code: (clickermann) [Select]
Print(700-$a*80,",-,585,-,",PXL(700-$a*80, 585))
Quote
4. как функция может вернуть значение?
Все переменные в кликере глобальные. Просто значение записывается в какую то переменную, которая потом будет прочитана в другой подпрограмме.
Единственное, стоит помнить что переменные участвующие в параметрах подпрограммы после её окончания будут обнулены
SUB(СДВИГ,$x1,$y1,$x2,$y2)


Jaguar

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Помогите написать сценарий.
« Reply #6 on: February 23, 2015, 09:57:23 PM »
спасибо еще раз.
удалил, почистил хвосты от FireFox, поставил удали все с него, чернота исчезла когда нет привязки. иногда правда перезагруз нужен.
в привязке да чернит почему  мне неясно...
Хром также норм без привязки , в привязке не черный, но однотонный.

1. мож еще какой браузер помучить?
или не будет флеш играть в заднем "окне"?

2. насчет зачем нужно, дак потом же проверять если еще действия на друга, т.е. заходить на него или нет.
как раз определил какой цвет в этой точке меню флеша,
а вот вылезло что экран черный ))) я ж только начало бота накидал.
« Last Edit: February 24, 2015, 07:47:41 AM by Jaguar »

Jaguar

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Помогите написать сценарий.
« Reply #7 on: February 24, 2015, 04:31:44 PM »
1. сколько вообще вложенных циклов, функций можно делать?
2. жутко нужен until а вижу только while, сделал два goto жесть. 
3. Есть выход из подпрограммы (прерывание ее), а прога пусть дальше делается?  через goto сделать?
« Last Edit: February 24, 2015, 05:07:26 PM by Jaguar »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите написать сценарий.
« Reply #8 on: February 24, 2015, 05:39:49 PM »
Вложенность циклов не ограничена. Да прерывания нет, и выпрыгивать через гото из цикла и подпрограммы тоже не рекомендуется.

Jaguar

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Помогите написать сценарий.
« Reply #9 on: February 24, 2015, 06:36:30 PM »
скриншот удалось сохранить 1 раз из 25 запусков((( выкл, перезагруз не помогают ни часть экрана ни полный...
в  общем он мне и не нужен, но не работает(((((

vitanovanatol

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Помогите написать сценарий.
« Reply #10 on: April 05, 2017, 09:43:11 AM »
Кстати ребята, такая проблема играл себе спокойно никого не трогал, шло вообщем все очень даже хорошо. Но тут просто с не счего черный экран вылез пример можете тут посмотреть
Code: [Select]
h t t p s://... html и больше игра не какими действиями себя не обозначает. Подскажите пожалуйста как решить эту проблему заранее всем спасибо))
« Last Edit: April 06, 2017, 04:38:35 PM by Vint »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Помогите написать сценарий.
« Reply #11 on: April 05, 2017, 11:33:48 AM »
Это ты из сумрака вытащил тему чтоб рекламную ссылку запостить?