Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Vlad3 on April 11, 2019, 06:25:47 PM

Title: Ошибка интерпретации строки
Post by: Vlad3 on April 11, 2019, 06:25:47 PM
Здравствуйте, есть вот такая ошибка https://ibb.co/qRmZPTJ Появляется не всегда, гдето в 4 случаях из 10. Есть txt файл с которого эта команда берёт значения $randfrazs2 - это рандомный елемент массива, $ww - названние елемента в массиве, $delaykey - скорость написания текста. В файле txt строки записаны так : $ww[0] = " текст который будет выводится ". Повторюсь, работает в половине случаев, в другой же выпадает эта ошибка. Может кто-то знает чем пофиксить?
Title: Re: Ошибка интерпретации строки
Post by: Oraven on April 11, 2019, 07:03:08 PM
Скрипт где?
Title: Re: Ошибка интерпретации строки
Post by: Vlad3 on April 11, 2019, 07:17:29 PM
#include "otveti.cms"
   WAITMS(RND(500,1000))
   $randfrazs2 = RND(0,TFCOUNT("otveti.cms"))
   
   $delaykey = RND(109,355)
   WAITMS(RND(500,1000))
   
   
   KEYSTRING($ww[$randfrazs2],$delaykey)
   WAITMS(RND(500,1000))
Title: Re: Ошибка интерпретации строки
Post by: Oraven on April 11, 2019, 08:00:44 PM
Ниче не понимаю. Зачем ты рандомишь количество строк из скрипта "otveti.cms"? Где этот скрипт?

Не понятно каким образом сформировался массив $ww
Title: Re: Ошибка интерпретации строки
Post by: Vlad3 on April 11, 2019, 08:13:25 PM
Скрипт, который я вызываю, это один большой массив стринговых значений, я рандомлю строку из массива, а ww это елемент массива, randomfrazs это номер елемента в массиве. Мне нужно просто выбрать рандомный номер елемента и вызвать его путем написания в окне.
Код, который находится в скрипте ответы.смс :
$ww[0] = "ответ1"
$ww[1] = "ответ 2"
$ww[2] = "ответ 3"
$ww[3] = "ответ 4"
Title: Re: Ошибка интерпретации строки
Post by: dramster on April 11, 2019, 09:34:39 PM
$ww[0] = "ответ1" - первая строка, индекс массива = 0
$ww[1] = "ответ 2" - вторая строка, индекс = 1
...

Чуешь где подвох?


Либо   $randfrazs2 = RND(0,TFCOUNT("otveti.cms") - 1) - глупо, так как в скрипте не исключены пустые строки или еще чего
Либо   $randfrazs2 = RND(0,arrsize($ww) - 1).
Либо выкидываешь инклуд, и пишешь просто в текстовик ответы свои, и читаешь рандомную строку из него, без массива.
Title: Re: Ошибка интерпретации строки
Post by: Vlad3 on April 11, 2019, 10:41:53 PM
Сработало! Спасибо тебе большое!
Title: Re: Ошибка интерпретации строки
Post by: Vlad3 on April 12, 2019, 06:41:00 PM
Ошибка снова появилась толь теперь в 1 случае из 10. Может кто-то сталкивался?
Title: Re: Ошибка интерпретации строки
Post by: Oraven on April 12, 2019, 07:20:47 PM
Ошибка снова появилась толь теперь в 1 случае из 10. Может кто-то сталкивался?

Дак ты ж и сталкиваешься! Нагородил какой то изврат...
Помести твои ответы в файл otveti.txt каждый ответ с новой строки. Все остальное кликер сделает сам.

Code: (clickermann) [Select]
TFREADARR("otveti.txt", $ww) // Читаем ответы в массив
$siz = ARRSIZE($ww)-1 // получаем размер массива

WHILE(1) // далее бесконечный цикл     
   $r = RND(0,$siz)
   WHILE($r = $rs) // защита против выбора варианта два раза подряд
      $r = RND(0,$siz)
   END_CYC
   $rs = $r
   KEYSTRING($ww[$r],RND(109,355))
   WAITMS(RND(500,1000))
END_CYC
Title: Re: Ошибка интерпретации строки
Post by: Vlad3 on April 13, 2019, 01:10:35 PM
Релишась проблема, спасибо вам большое!