Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Veter32 on May 19, 2017, 03:26:55 PM
-
День добрый !
Помогите пожалуйста не могу осилить скрипт на привязку к цвету и действие
[spoiler]https://monosnap.com/file/1O1f8nM7xO9L4vmbn6iW4gP1UMNLTI[/spoiler]https://monosnap.com/file/1O1f8nM7xO9L4vmbn6iW4gP1UMNLTI
есть у нас усиление артефакта
Хотелось бы чтобы усиление происходило до тех пор пока не загориться 6 звезда
каждая звезда включает шанс усиления до 100%
как написать скрипт чтоб усиление происходило только с 1-й до 6 звезды
И не могли заподозрить админы в сотнях одинаковых действий.
-
Тишина...
-
Тишина...
Конечно тишина. Тут такие термины 'усиление артефакта', 'шанс усиления' и не слова что для этого нужно делать. Куда бежать?
Ты же не думаешь что все играют в эту игру. Я, например, как открыл тогда ещё скрин так и прифигел. Побыстрей закрыл и желания разбираться не появилось.
-
А мы сейчас разрежем. Где-то здесь ножницы валялись...
-
А мы сейчас разрежем. Где-то здесь ножницы валялись...
за это спасибо.
-
Тишина...
ты влез в чужую тему с левым заданием, скажи спасибо, что добрые модераторы тебя сразу не выгнали. :'(
Тогда попробую написать отсвояси скрипт котрый у меня есть , а вы подмогите и подскажите чтоделаю не так.
Чтоб особо не вникать)
-
Да ты хоть доступно объясни где что. Стрелочками там на скрине покажи. Вот сюда жмакаем (первое)... тут. ждём появления вот этого (второе)... если здесь вот это, то то... ну и в том же духе.
-
Ну т.к. объяснения того, как именно действия должны выглядеть нет, будем считать, что надо просто кликать по кнопке внизу "Усиление" долго и упорно.
Предлагаю кусочек кода с анализом цвета/либо поиска желтой картинки в области шестой звезды - спасибо шаблонам clickermann))
Координаты проставите сами - благо нужные цифры даст сам кликер: наведите мышь куда хотите и нажмите сочетание alt+Q (в кликере появится, что-то вроде: LCLICK(1017,376) // 8581375 ). Всего надо 4 координаты: 1) верхнюю-левую часть 6-й звездочки и 2)нижнюю-правую часть 6-й звездочки, 3) верхний-левый и 4) нижний правый край кнопки Усиление.
$time = $_time_t + 10
WHILE($time > $_time_t)
GETSCREEN
IF_PIXEL_IN(x1, y1,x2,y2, 8581375) //по желанию можно закинуть скрин кусочка желтой звезды в папку с программой и заменить на "IF_PICTURE_IN (x1,y1,x2,y2, "желтаязвезда.bmp", -1, 90)"
// (x1,y1), (x2,y2) - координаты шестой звезды, 8581375 - цвет "желтый".
$time = 0 // если желтая, цикл завершился
WAITMS(100)
ELSE //пока звезда не желтая - будет делать то, что укажем ниже.
LCLICK(RND(x_1,x_2),RND(y_1,y_2))
// типа "совершение нужных для усиления действий", т.е. клик в случайном месте в прямоугольнике х_1,у_1 - х_2,у_2 (кнопка "усиление")
WAITMS(RND(100,150)) //рандомная задержка между кликами от 100 до 150 мс
END_IF
END_CYC
Немного рандома относительно места кликов и времени между ними добавила, при желании - можете изучить тему про правдоподобное движение мыши, но может и не к чему.
-
Спасибо огромное.Почти получилось что хотел Пытаюсь зациклить процесс- покупка-усиление, продажа. что то не получается.не судите строго первый раз в жизни такое делаю-учусь)
LCLICK(1015,176) // 8889539
WAIT(1)
LCLICK(410,542) // 3915
LCLICK(414,543) // 5614059
WAIT(1)
LCLICK(607,358) // 12829635
WAIT(1)
LCLICK(628,475) // 1055028
WAIT(1)
LCLICK(612,357) // 13553358
WAIT(1)
LCLICK(634,477) // 6131366
WAIT(1)
LCLICK(609,359) // 14408667
WAIT(1)
LCLICK(634,478) // 4746623
WAIT(1)
LCLICK(568,197) // 1778503
WAIT(1)
LCLICK(481,228) // 14079702
WAIT(1)
LCLICK(425,520) // 3608
WAIT(1)
LCLICK(518,303) // 4543402
WAIT(1)
WHILE($time > $_time_t)
GETSCREEN
IF_PIXEL_IN(874,335,877,338, 10223615)// 9175039
$time = 0
WAITMS(150)
ELSE
LCLICK(RND(811,922),RND(554,567)) // 2698049
WAITMS(RND(100,150))
END_CYC
WAIT(1)
LCLICK(513,351) // 4072499
WHILE($time > $_time_t)
GETSCREEN
IF_PIXEL_IN(874,335,877,338, 10223615)// 9175039
$time = 0
WAITMS(150)
ELSE
LCLICK(RND(811,922),RND(554,567)) // 2698049
WAITMS(RND(150,250))
END_CYC
WAIT(1)
LCLICK(647,351) // 9195621
WHILE($time > $_time_t)
GETSCREEN
IF_PIXEL_IN(874,335,877,338, 10223615)// 9175039
$time = 0
WAITMS(150)
ELSE
LCLICK(RND(811,922),RND(554,567)) // 2698049
WAITMS(RND(150,200))
END_CYC
WAIT(1)
LCLICK(649,348) // 10369106
WHILE($time > $_time_t)
GETSCREEN
IF_PIXEL_IN(874,335,877,338, 10223615)// 9175039
$time = 0
WAITMS(150)
ELSE
LCLICK(RND(811,922),RND(554,567)) // 2698049
WAITMS(RND(150,250))
END_CYC
WAIT(1)
LCLICK(727,226) // 14408667
WAIT(1)
LCLICK(789,290) // 9187143
WAIT(1)
LCLICK(840,285) // 8730952
WAIT(1)
LCLICK(884,288) // 8791083
WAIT(1)
LCLICK(942,291) // 5716291
WAIT(1)
LCLICK(619,548) // 1126812
-
Пожалуйста) правда не понятно, работает ли предложенное нормально.
Можно совет? Когда начинаете отвечать - нажимайте еще "предварительный просмотр" - чтобы иметь возможность поудобнее все написать.Как минимум там вы найдете кнопочку "#" . Вставив свой код между [ code ]и [ /code ] вы немножко облегчите возможность понять вас. :) Простую истину "если понимаете что-то вы, это не значит, что это поняли все остальные" - никто не отменял. :D
Пока что абсолютно непонятно, что именно делает вот этот длинный код - видно три зацикленных действия, которые он выполняет если не видит в каком-то месте пиксель (причем в одном и том же месте и одного и того же цвета для всех трех случаев), но при этом кликать он должен в разных местах.
Т.е. пара кликов, после если не увидел пиксель - начал делать действие А, когда пиксель появился - ждет, чтоб он пропал, и начинает действие Б, когда пиксель вновь появился, останавливается, а как исчез - переходит к действию В. после очередного возникновения пикселя - останавливается и делает еще несколько кликов - Конец. ;)
В общем понятно лишь, что работать так вроде и не должно бы.
А что еще печальней - совсем неясно, чего конкретно вы от кликера хотите.
"Пытаюсь зациклить процесс- покупка-усиление, продажа." - мало того, что непонятно, ЧТО, ГДЕ и К А К покупать/продавать, так еще и зациклить можно по-разному: можно сперва накупить кучу вещей, после всю кучу усиливать, после продавать пока не закончатся. Или же купил-усилил-продал - и снова покупаешь.(во втором случае зацикливать через while надо лишь для усиления. Условно - показать, где и как покупать, запустить цикл усиления, запустить продажу 6-тизвездочной вещи. А кликер и сам может по завершению повторять выполнение программы - достаточно забыть поставить hult, а в режиме выполнения (шестеренка) указать количество повторов.
Искать это игру, регистрироваться, качать персонажа до доступа в этот раздел я не планирую (увы!). Так что вероятно придется вам или забить на использование проги, или самому через справку/шаблоны видеоуроки на ютубе пытаться что-то делать (мой метод)), или научиться объяснять всё чётко, однозначно и подробно 8)
Как вариант - можете скинуть скриншоты со стрелочками и надписями в духе : |"1. сперва клик сюда." | "2. после клик вот сюда, дважды" | "3. а дальше - сюда"| "4. а если вот туточки появилась серо-бур-малиновая фигулина типа вот такой, то повторить с 1. клика." | "5. а когда вот эта фигня исчезнет - остановить выполнение программы".
-
В твоем коде нет установки значения таймера и отсутствуют окончания условий END_IF
Одинаковый код запихнул в подпрограмму. Теперь код верный.
SUB(prog1) // описание подпрограммы prog1
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(874,335,877,338, 10223615) // 9175039
$check = 1
WAITMS(150)
ELSE
LCLICK(RND(811,922),RND(554,567)) // 2698049
WAITMS(RND(100,150))
END_IF
END_CYC
END_SUB
LCLICK(1015,176) // 8889539
WAIT(1)
LCLICK(410,542) // 3915
WAITMS(50)
LCLICK(414,543) // 5614059
WAIT(1)
LCLICK(607,358) // 12829635
WAIT(1)
LCLICK(628,475) // 1055028
WAIT(1)
LCLICK(612,357) // 13553358
WAIT(1)
LCLICK(634,477) // 6131366
WAIT(1)
LCLICK(609,359) // 14408667
WAIT(1)
LCLICK(634,478) // 4746623
WAIT(1)
LCLICK(568,197) // 1778503
WAIT(1)
LCLICK(481,228) // 14079702
WAIT(1)
LCLICK(425,520) // 3608
WAIT(1)
LCLICK(518,303) // 4543402
WAIT(1)
prog1() // вызов подпрограммы prog1
WAIT(1)
LCLICK(513,351) // 4072499
WAIT(1)
prog1()
WAIT(1)
LCLICK(647,351) // 9195621
WAIT(1)
prog1()
WAIT(1)
LCLICK(649,348) // 10369106
WAIT(1)
prog1()
WAIT(1)
LCLICK(727,226) // 14408667
WAIT(1)
LCLICK(789,290) // 9187143
WAIT(1)
LCLICK(840,285) // 8730952
WAIT(1)
LCLICK(884,288) // 8791083
WAIT(1)
LCLICK(942,291) // 5716291
WAIT(1)
LCLICK(619,548) // 1126812
WAIT(1)
-
Пожалуйста) правда не понятно, работает ли предложенное нормально.
Можно совет? Когда начинаете отвечать - нажимайте еще "предварительный просмотр" - чтобы иметь возможность поудобнее все написать.Как минимум там вы найдете кнопочку "#" . Вставив свой код между [ code ]и [ /code ] вы немножко облегчите возможность понять вас. :) Простую истину "если понимаете что-то вы, это не значит, что это поняли все остальные" - никто не отменял. :D
Пока что абсолютно непонятно, что именно делает вот этот длинный код - видно три зацикленных действия, которые он выполняет если не видит в каком-то месте пиксель (причем в одном и том же месте и одного и того же цвета для всех трех случаев), но при этом кликать он должен в разных местах.
Т.е. пара кликов, после если не увидел пиксель - начал делать действие А, когда пиксель появился - ждет, чтоб он пропал, и начинает действие Б, когда пиксель вновь появился, останавливается, а как исчез - переходит к действию В. после очередного возникновения пикселя - останавливается и делает еще несколько кликов - Конец. ;)
В общем понятно лишь, что работать так вроде и не должно бы.
А что еще печальней - совсем неясно, чего конкретно вы от кликера хотите.
"Пытаюсь зациклить процесс- покупка-усиление, продажа." - мало того, что непонятно, ЧТО, ГДЕ и К А К покупать/продавать, так еще и зациклить можно по-разному: можно сперва накупить кучу вещей, после всю кучу усиливать, после продавать пока не закончатся. Или же купил-усилил-продал - и снова покупаешь.(во втором случае зацикливать через while надо лишь для усиления. Условно - показать, где и как покупать, запустить цикл усиления, запустить продажу 6-тизвездочной вещи. А кликер и сам может по завершению повторять выполнение программы - достаточно забыть поставить hult, а в режиме выполнения (шестеренка) указать количество повторов.
Искать это игру, регистрироваться, качать персонажа до доступа в этот раздел я не планирую (увы!). Так что вероятно придется вам или забить на использование проги, или самому через справку/шаблоны видеоуроки на ютубе пытаться что-то делать (мой метод)), или научиться объяснять всё чётко, однозначно и подробно 8)
Как вариант - можете скинуть скриншоты со стрелочками и надписями в духе : |"1. сперва клик сюда." | "2. после клик вот сюда, дважды" | "3. а дальше - сюда"| "4. а если вот туточки появилась серо-бур-малиновая фигулина типа вот такой, то повторить с 1. клика." | "5. а когда вот эта фигня исчезнет - остановить выполнение программы".
Спасибо за замечание.
Сейчас попробую всё объяснить.
-
И самое главное... Все мы с нетерпением ждём, когда-же загорится шестая звезда? :D
Будем выполнять, пока не загорится. :)
Пока недостаточно загорелось.
-
Открываю вкладку артефакты, потом обмен, ледяная сокровищница, покупаю 4 любых предмета и начинаю усиливать каждый предмет поочередно до 6 звезд,(именно здесь нашел баг при разборе получаешь больше ресурсов чем тратишь) Далее нажимаю разбор выделяю 4 предмета- разбираю, всё. и так хочу закрутить бесконечно)
-
Вот так попонятнее) После правки Oraven работать стало? Если всё ок - супер.
Зациклить уже рабочий скрипт - не проблема. Проследил, чтоб после выполнения окно было точно такое, как до начала выполнения - (т.е. после продажи все окна были закрыты программой) - и выбрал цикл в самом кликермане https://prnt.sc/ffs8s5 . Поначалу наверное не бесконечный, а раз 5. И сидишь, смотришь, где косяки.
Теоретически, окно с подтверждением покупки не всегда будет в одном месте появляться. Так что возможно придется посмотреть в редакторе Шаблоны=>графика=> IF_PICTURE_IN . И сохранить в папку со скриптом скрин кнопки ОК.
Кстати, зеленая часть в духе "// число" вещь не обязательная - это всего лишь комментарий (с цветом пикселя). Так что тебе удобнее будет или убрать их, или заменить на "// клик по кнопке такой-то". Не запоминать же что за что отвечает и координаты самому! А править наверняка ведь придется.
P.S.: задержки между кликами, которые ты написал сам уж очень машинные - всегда одна секунда. Попробуй заменить на WAITMS(700+rnd(0,300)) - та же секунда и будет (ну чуть меньше). То же касается координат. Если (x,y) превратится в (x+rnd(0,10),y+rnd(0,5)) - будет немножко лучше. Сам же говорил, что на сотни одинаковых действий могут внимание обратить. Хватит того, что багоюзом могут обозвать ;D чтоб еще и на боте попадаться.
А для покупки "любых" - т.е. нескольких рандомных вещей лови скрипт. Вставишь sub в начало программы, а вызов ее строчкой "покупка(4)" - вместо всех кликов, ответственных за покупку. Но сначала в нее координаты кнопок установи. (брать под спойлером).
[spoiler] SUB(pokupka, $par1) // править только координаты. этот кусок - в начале кода, рядом с SUB(prog1)
FOR($a=0,$a<$par1)
// чуть ниже - КООРДИНАТЫ кнопок обмен надо превратить в число - тупо убираем скобки и запятую. Но если второе число двузначное, то тогда добавляешь нолик, например, из (331,50) делаешь 331050 .
WAITms(10)
$qq=RNDFROM(109586, 142241, 448285, 465535) // вот здесь - записать координаты всех кнопок ОБМЕН через запятую, на которые можно нажимать. Причем, записывать без запятой как 1 число.
$x=int($qq/1000)
$y=$qq - $x*1000
MOVE($x,$y)
WAITms(50)
print($qq, ", x - ", $x, ", y -", $y)
WAITms(50)
LCLICK($x+rnd(0,10),$y+rnd(0,5)) // вот здесь - клик по одной из кнопок ОБМЕН. Координаты не менять
WAITMS(700+rnd(0,300))
LCLICK(----+rnd(0,10),------+rnd(0,5)) // вот это - клик по кнопке ОК, подтверждающий покупку КООРДИНАТЫ
WAITMS(700+rnd(0,300))
END_CYC
END_SUB
//==============================================//
pokupka(4) // а вот это вызов подпрограммы покупка. В скобках - сколько вещей купить
[/spoiler]
-
Вот так попонятнее
1) В последних версиях программы цикл FOR выглядит вот так:
FOR($a=0,$a<$par1)
2) Математика... :o Забыли добавить инструкцию "Что делать если координата Y- двузначное число".
$qq=RNDFROM(109586, 142241, 448285, 465535) // вот здесь - записать координаты всех кнопок ОБМЕН через запятую, на которые можно нажимать. Причем, записывать без запятой как в 1 число.
3) Командой UNDEFINE невозможно обнулить сразу насколько переменных. Только так:
UNDEFINE($a)
UNDEFINE($i)
UNDEFINE($num)
UNDEFINE($sum)
но не так:
UNDEFINE($a,$i, $num, $sum)
Так-же можно чистить массив:
UNDEFINE($arr)
-
1) В последних версиях программы цикл FOR выглядит вот так:
FOR($a=0,$a<$par1)
3) Командой UNDEFINE невозможно обнулить сразу насколько переменных. Только так:
UNDEFINE($a)
UNDEFINE($i)
UNDEFINE($num)
UNDEFINE($sum)
но не так:
UNDEFINE($a,$i, $num, $sum)
Так-же можно чистить массив:
UNDEFINE($arr)
Спасибо большое :) постараюсь этих ляпов больше не делать.
[spoiler]Ура, мой алгоритм луны проверили!!! А можете помочь с заданием со скобками? оно меня принципиально не хочет слушаться :([/spoiler]
Забыли добавить инструкцию "Что делать если координата Y- двузначное число".
Да вроде объясняла прямо над этой строчкой:
//чуть ниже - КООРДИНАТЫ кнопок обмен надо превратить в число - тупо убираем скобки и запятую. Но если второе число двузначное, то тогда добавляешь нолик, например, из (331,50) делаешь 331050.
2) Математика... :o
А такая вот математика - это плохо? Просто не знала, как сделать рандомный выбор координат с несложным вводом.
-
Да вроде объясняла прямо над этой строчкой:
Извиняюсь, просмотрел.
А такая вот математика - это плохо? Просто не знала, как сделать рандомный выбор координат с несложным вводом.
Это как минимум очень необычно и неожиданно. :)
-
Просто не знала, как сделать рандомный выбор координат с несложным вводом.
Вот не сложный:
STRSEPARATE("123,456,789,555",",",$arrx) // координаты X
STRSEPARATE("999,876,543,210",",",$arry) // координаты Y
$rnd=RND(0,ARRSIZE($arrx)-1) // выбрали случайное число учитывая размер массива
$x=$arrx[$rnd] // записали в переменную $x
$y=$arry[$rnd] // записали в переменную $y
MOVE($x,$y) // действие
UNDEFINE($arrx) // удалили массив с координатами X
UNDEFINE($arry) // удалили массив с координатами Y
Или так:
STRSEPARATE("123,456,789,555",",",$arrx) // координаты X
STRSEPARATE("999,876,543,210",",",$arry) // координаты Y
$rnd=RND(0,ARRSIZE($arrx)-1) // выбрали случайное число учитывая размер массива
MOVE($arrx[$rnd],$arry[$rnd]) // можно сразу в действие записывать
UNDEFINE($arrx) // удалили массив с координатами X
UNDEFINE($arry) // удалили массив с координатами Y
-
Это как минимум очень необычно и неожиданно. :)
Так уже делали, в основном до введения массивов. Ещё через строки.
-
Спасибо, кажется, пора приучать себя уже к STRSEPARATE.
Vint прав, метод не мой - просто читаю потихоньку форум, ну и натолкнулась на псевдодвумерность. А ведь в методе с математикой он просто подольше "думать" будет?
И все-таки я утащу вас в свою тему ;)
-
А ведь в методе с математикой он просто подольше "думать" будет?
Как однажды мне сказал один умный человек...
Зачем? чтоб мотыгой копать?
;D :D ;)
-
А ведь в методе с математикой он просто подольше "думать" будет?
Как однажды мне сказал один умный человек...
Зачем? чтоб мотыгой копать?
;D :D ;)
;D ;D Ну да, мотыга наше всё)
-
Всех благодарю за неравнодушие, терпение и внимание)осилил... всё отлично робит)
-
День добрый !
Помогите пожалуйста не могу осилить скрипт на привязку к цвету и действие
[spoiler]https://monosnap.com/file/1O1f8nM7xO9L4vmbn6iW4gP1UMNLTI[/spoiler]https://monosnap.com/file/1O1f8nM7xO9L4vmbn6iW4gP1UMNLTI
есть у нас усиление артефакта
Хотелось бы чтобы усиление происходило до тех пор пока не загориться 6 звезда
каждая звезда включает шанс усиления до 100%
как написать скрипт чтоб усиление происходило только с 1-й до 6 звезды
И не могли заподозрить админы в сотнях одинаковых действий.
а что за игра? ссылку?