Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Duff89 on November 14, 2017, 08:53:51 PM
-
Вот кусок моего кода
$maila=STRREADLN("mail.txt",RND(1,TFCOUNT("mail.txt")))//присваиваем переменной случайную строку из файла
WAITMS(300)
KEYSTRING($maila,80)//печатаем строку
WAITMS(300)
TFWRITE("log_pass.txt", $maila)//пишем в лог
Смысл в том, что этот код не срабатывает примерно каждый пятый раз и это дико напрягает. Файл mail.txt содержит строки такого типа
mail3.ru
gmail3.ru
mail2.com
gmail4.com
malna2.ru
malina4.com и т.д.
В чем может быть причина ума не приложу, притом в программе используется много аналогичных кусков, но не работает именно этот. Такое чувство, что иногда кликер просто пропускает этот код. Версия кликера 4.12
-
Была и у меня такая мысль,но все символы это A-Z,1-9 и . (точка). Т.е никаких кавычек, собак и прочего с чем у Clickermann могут быть проблемы.
-
Думаю нужно попробовать вынести TFCOUNT("mail.txt") в отдельную строку, не нужно каждый раз заново определять размер.
После каждого доступа к файлу он блокируется на малое время. Даже тупой STRREADLN в цикле без задержек начинает пропускать примерно каждую трёхсотую строку.
TFCOUNT нужно прочитать все строки чтобы посчитать их. Поэтому STRREADLN в той же конструкции сразу может не всегда срабатывать из-за ещё не снятой виндой блокировки.
Тем более необходимости каждый раз считать нет, мы в этот файл не пишем. Вынеси TFCOUNT("mail.txt") за цикл
$count = TFCOUNT("mail.txt")
WAITMS(50)
...
//чтение в цикле
$maila = STRREADLN("mail.txt", RND(1, $count)) //присваиваем переменной случайную строку из файла
WAITMS(50)
KEYSTRING($maila, 80)//печатаем строку
!!! Это предположение
-
В общем ситуация разрешилась довольно простым способом) В голову пришла мысль посмотреть сколько строк в файле txt и сколько видит кликер. Оказалось в файле 12 строк, а программа видит как 14,хотя визуально их 12. Скорее всего я нажал 2 раза enter после последней строки, правда не пойму зачем) Поэтому решил проблему просто удалив пустые строки в конце текстового документа, можно также проверять предварительно длину строки, но сейчас это уже лишнее.
Спасибо за советы!