Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Qwerry

Pages: 1 ... 6 7 [8]
106
А ведь в методе с математикой он просто подольше "думать" будет?
Как однажды мне сказал один умный человек...
Зачем? чтоб мотыгой копать?
;D :D ;)
;D  ;D Ну да, мотыга наше всё)

107
Общие вопросы / Re: А можно ли...
« on: June 05, 2017, 09:35:40 AM »
Пробовала выполнить задание со скобками. И в самом начале скрипта не понимаю как поступить... Надо сравнить символ со скобками () [] {}. 
 
 
Code: (Clickermann) [Select]
$str=INPUTBOX("Введите сообщение для проверки правильности расстановки скобок...", , 10)
LOGWRITE ($str)
UNDEFINE($wrong)
FOR($a=0, $a < STRLEN($str))
   $b=STRCUT($str1, $a+1, 1)
   If($b="(")
       LOGWRITE ($b) 
   end_if
END_CYC


Попытка найти эту скобку ведет к ошибке.  Ошибка интерпретации строки If($b="(") .И без кавычек тоже пробовала :(

108
Спасибо, кажется, пора  приучать себя уже к STRSEPARATE.
Vint прав, метод не мой - просто читаю потихоньку форум, ну и натолкнулась на псевдодвумерность. А ведь в методе с математикой он просто подольше "думать" будет?

И все-таки я утащу вас в свою тему  ;)

109
1) В последних версиях программы цикл FOR выглядит вот так:
Code: (clickermann) [Select]
FOR($a=0,$a<$par1)
3) Командой UNDEFINE невозможно обнулить сразу насколько переменных. Только так:
Code: (clickermann) [Select]
UNDEFINE($a)
UNDEFINE($i)
UNDEFINE($num)
UNDEFINE($sum)
но не так:
Code: (clickermann) [Select]
UNDEFINE($a,$i, $num, $sum)Так-же можно чистить массив:
Code: (clickermann) [Select]
UNDEFINE($arr)
Спасибо большое :) постараюсь этих ляпов больше не делать.
[spoiler]Ура, мой алгоритм луны проверили!!!  А можете помочь с заданием со скобками? оно меня принципиально не хочет слушаться :([/spoiler]
Quote
Забыли добавить инструкцию "Что делать если координата Y- двузначное число".
Да вроде объясняла прямо над этой строчкой: 
Code: [Select]
//чуть ниже -  КООРДИНАТЫ кнопок обмен надо превратить в  число - тупо убираем скобки и запятую. Но если второе число двузначное, то тогда добавляешь нолик, например, из  (331,50)  делаешь 331050.
Quote
2) Математика... :o
А такая вот математика - это плохо? Просто не знала, как сделать рандомный выбор координат с несложным вводом.

110
Вот так попонятнее) После правки  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]
Code: (clickermann) [Select]
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]



111
Как раз пыталась что-то подобное сделать, но  для другой игры :D

 Karlito_001, поймите - ну не все на кофейной гуще гадать умеют и любят! А там, где любой сдвиг на 1 пиксель сведет всю работу к нулю - гадать и вовсе не хочется. :( Потому и просили именно показать ВЕСЬ ЭКРАН, чтоб можно было понять, за что "зацепиться", чтоб ВСЕГДА в одном  и том же месте брать хеш. Какой отсюда следует вывод?

Правильно! Дать еще минимум 2  скрина полного экрана -  1. когда вопрос только появился и 2. когда вы ответили и тест отреагировал(он ведь наверняка потом выделит правильный ответ?).  Кроме того, делать скриншоты следовало бы в Windows Bitmap Image (.bmp). Форматы со сжатием рисунка приводят к изменениям в нем - а т.к. здесь речь о хешсумме - нам нельзя  НИЧЕГО в нем менять. И более того, разумно будет в том же формате (.bmp) и остальные 9 вопросов сохранить (можно уже чисто сам вопрос с выделенным правильным ответом). Все равно после базу делать будете, "быстрей начнешь - быстрей закончишь".

А для скринов в .bmp  даже программку могу дать ;)   благо такое писать умею ;D
Code: [Select]
GETSCREEN
SCREENSHOTEX(0,0, $_xmax,$_ymax, "вопросы танки", 0)
HALT

Если желание делать прогу не отпало - просто сделайте вот так 2  полноэкранных скрина, потом открываете через PAINT и закрашиваете личную информацию типа ника, раз не хочется палиться - и оставляете тут.

Ну или могу просто подсказать команды, при помощи которых сама делала.
Code: [Select]
GETSCREEN//ну тут понятно, без него никуда
COLORMODE($cmode,$Q,$W,$E,$R) // уменьшение количества цветов ($cmode = 6 - для 64 цветов , а лучше 7 (8) или 8(черно/белый)) должно бы сократить возможность ошибки. Особенно, если разрабам взгрустнется слегка сменить фон или сделать градиент.
 $hash_V=PXLCRC($Q,$W,$E,$R)  // взять хеш в определенном месте. !!!В строго определенном!!!
//Так что "систему координат" надо делать адекватной. Полагаю, через  поиск уникального и постоянного места экрана (Например, угол какой-то рамочки) и оператора IF_PICTURE_IN. Если отчет от (0,0), то  при открытии в другом браузере фигня получится.
$ans1=INIREAD("имя_файла.ini", $hash_V) //в файле "имя_файла.ini" ищем  хешсумму $hash_V. Если найдет - выведет ее значение - т.е. номер ответа  $ans1=(1-4). Иначе - "$ans1=" пустоте. Даже если был обнулен ранее.
  INIWRITE("имя_файла.ini", $hash_V, $ans) // запись в файл "имя_файла.ini"  хешсуммы $hash_V вместе с соответствующим ей значением  $ans(1-4). Если файла не существует - заодно и создает его в папке с кодом. Вы же не думали пополнять базу вручную?
//ну и более привычные, из шаблонов - эти в комментариях не нуждаются
If() Else End_if, sub(), while()   

112
Пожалуйста) правда не понятно, работает ли предложенное нормально.
Можно совет? Когда начинаете отвечать - нажимайте еще "предварительный просмотр" - чтобы иметь возможность поудобнее все написать.Как минимум там вы найдете кнопочку "#" . Вставив свой код между  [ code ]и [ /code ] вы немножко облегчите возможность понять вас.  :) Простую истину "если понимаете что-то вы, это не значит, что это поняли все остальные" - никто не отменял. :D

Пока что абсолютно непонятно, что именно делает вот этот длинный код  - видно три зацикленных действия, которые он выполняет если не видит в каком-то месте пиксель (причем в одном и том же месте и одного и того же цвета для всех трех случаев), но при этом  кликать он должен в разных местах.
Т.е. пара кликов, после если  не увидел пиксель - начал делать действие А, когда пиксель появился - ждет, чтоб он пропал,  и начинает действие Б, когда пиксель вновь появился, останавливается, а как исчез - переходит к действию В. после очередного возникновения пикселя - останавливается и делает еще несколько кликов  - Конец. ;)
В общем понятно лишь, что работать так вроде и не должно бы.

А что еще печальней - совсем неясно, чего конкретно вы от кликера хотите.
 "Пытаюсь зациклить процесс- покупка-усиление, продажа." - мало того, что непонятно, ЧТО, ГДЕ и  К А К   покупать/продавать, так еще и зациклить можно по-разному: можно сперва накупить кучу вещей, после всю кучу усиливать, после продавать пока не закончатся. Или же купил-усилил-продал - и снова покупаешь.(во втором случае зацикливать через while надо лишь для усиления. Условно -  показать, где и как покупать, запустить цикл усиления, запустить продажу 6-тизвездочной вещи. А кликер и сам может по завершению повторять выполнение программы - достаточно забыть поставить hult, а в режиме выполнения (шестеренка) указать количество повторов.
Искать это игру, регистрироваться, качать персонажа до доступа в этот раздел я не планирую (увы!). Так что вероятно придется вам или забить на использование проги,  или самому через справку/шаблоны видеоуроки на ютубе пытаться что-то делать (мой метод)),  или научиться объяснять всё чётко, однозначно и подробно 8)

Как вариант - можете скинуть скриншоты со стрелочками и надписями в духе : |"1. сперва клик сюда." | "2. после  клик вот сюда, дважды" |  "3. а дальше -  сюда"| "4. а если вот  туточки появилась серо-бур-малиновая фигулина типа вот такой, то повторить с 1. клика." | "5.   а когда вот эта фигня исчезнет - остановить выполнение программы".

113
Если школа дяди-винта еще открыта, попробую показать результат.
 В принципе, задание и правда не очень сложное.  С отладкой немного помучалась. Предпочла все-таки  номер с начала анализировать - вроде для поиска контрольного числа это удобнее.
В общем,  получилось как-то так. Не факт, что всё рационально построено, но уже работает.

Какая там у вас восхитительная абракадабра! Даже возникло безумное желание расшифровать , а что на самом деле там написано.

114
Общие вопросы / Re: А можно ли...
« on: June 01, 2017, 01:16:23 PM »
Quote from: Vint
В справке. У меня даже скрин готов ещё год назад. Уже пару раз спрашивали  :)
Ну "чукча не читатель", видимо) Не добралась еще до того раздела.

Ну хоть по таймеру - примерно так и пробовала сделать, через пару новых переменных, вычисления и int.
Библиотеки пользовательских подпрограмм Libs for 4.11 v 1.2.7z
http://crapware.aidf.org/forum/index.php?topic=1147.0
;D Ура, спасибище!!!  Утащила к себе)
 А ведь только хотела просить помощи по диалоговым окнам) Чтоб было с таймером, делала через INPUTBOX, а хотелось через 5 кнопочек. 
Побежала пробовать. А если в диалоговом окне я захочу сделать возможность управления не только мышью, но и с клавиатуры -  просто загоняю в код "IF(iskeydown(#1)=1)   $return=1  END_IF", правильно?

P.S.: в верхнем сообщении (Libs for 4.11 v 1.2.7z) лежит не последняя (Window_v2.5 исправленная.7z), а чуть более ранняя версия, которая при попытка глянуть 13 и 14 варианты окон ругается.

115
Общие вопросы / Re: А можно ли...
« on: June 01, 2017, 02:57:49 AM »
Спасибо большое за подробный ответ :)  Поняла, почему не получалось до этого,
 всё работает.

А можно еще Вас помучать? А то вопросы всё появляются)

1. В логе для "3 в ряд" видела пример использования таймера (в мс). А если действие длится несколько минут и в мс смотреть совсем не вариант? Как лучше поступить?

2. Где-то на форуме видела сложное условие - IF()& IF(). Ну тут понятно 1 и 2 (выполняться должны оба). А варианты "1 или 2", и "1 и/или 2" как обозначить? Закрывать его надо одним END_IF?

116
Общие вопросы / А можно ли...
« on: May 30, 2017, 05:37:15 AM »
Всем доброго времени суток!
Суть проблемки примерно такая:  в начале программа находит несколько точек и записывает координаты Х в переменные  ($u1, $u2, $u3, $u4 ) (пока что неважно, что с Y).
В какой-то момент программа получает переменную $var, имеющую значение 1-4.
После чего, надо получить значение переменной ($u) под этой цифрой (например, при $var=1,  $u=$u1)

Интересно, как этого можно добиться и "склеить" переменную?
Попытка использовать STRCONCAT закономерно превращает переменную в текст, т.е.  $U= STRCONCAT("$u",$var)  => print("$u1 = ", $u)  дает не числовое значение указанной переменной, а лишь ее название "$u1 = $u1".
Поиграться с массивом и номером элемента почему-то не получилось - (видимо, какую-то тонкость с массивом не уловила)
Что еще может быть? Запись этих переменных в отдельный файл .txt  и вытаскивание по номеру строчки? :o

Понятно, что в моем случае их довольно мало, и можно через IF($var=1) $u=$u1 END_IF. Но хочется научиться пользоваться языком и уметь подобное делать попроще и красиво   ::)

P.S. вопрос возможно глупый, но я только начинаю пытаться изучать программирование, так что не кидайтесь помидорами.

117
Ну т.к. объяснения того, как именно действия должны выглядеть нет, будем считать, что надо просто кликать по кнопке  внизу "Усиление" долго и упорно.
Предлагаю кусочек кода с анализом цвета/либо поиска желтой картинки в области шестой звезды - спасибо шаблонам clickermann))
Координаты проставите сами -  благо нужные цифры даст сам кликер: наведите мышь куда хотите  и нажмите сочетание alt+Q (в кликере появится, что-то вроде:  LCLICK(1017,376)  // 8581375 ). Всего надо 4 координаты: 1) верхнюю-левую часть 6-й звездочки  и 2)нижнюю-правую часть 6-й звездочки, 3) верхний-левый и 4) нижний правый край кнопки Усиление.

Code: [Select]
$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

Немного рандома относительно места кликов и времени между ними добавила, при желании - можете изучить тему про правдоподобное движение мыши, но может и не к чему.

Pages: 1 ... 6 7 [8]