Автокликер Clickermann :: Форум
		Основной раздел => Предложения => Topic started by: vovan13 on October 17, 2012, 02:00:33 AM
		
			
			- 
				
1 ввести элементарные массивы и простенькие команды работы с ними 
2 увеличить количество переменных больше 99 (королевство маловато, разгуляться негде:) ) как вариант в config.ini добавить строчку максимальное количество переменных
Для простых сценариев это конеша не нужно, но для реализации нормального бота с проверками - маловато. 
			 
			
			- 
				вова, гуляй на здоровье. ограничения на кол-во переменных в 4.7 нету. просто такую несущественную мелочь я не стал указывать.
так же теоретически переменные могут в себя вмещать длинные (255+) строки, хотя вряд ли это кому то понадобится
массивы находятся в стадии обдумывания
			 
			
			- 
				некоторые мозг царапают думая как впихнуть не впихуемое, а для некоторых это несущественная мелочь. :o
			
 
			
			- 
				Во, это похоже на мой случай. Пока 4.6
1. Где написано что существует ограничение в 99 переменных?
2. Как подсчитать кол-во переменных в уже созданном скрипте?
Поясню.
Мой скрипт содержит 2800 строк плюс два инклуда, по 400 и 500 строк.
Недавно (вчера) мне потребовался третий инклуд с массивом и тремя сабами.
Массив пришлось реализовывать банально списком переменных (около 60). После написания и запуска скрипт стал вести себя странно. Выразилось в том, что большинство переменных (из "массива") перестали принимать значения отличные от нуля.
Сейчас я хочу определить является ли причиной сбоя ограничение 99-ти?
Собственно 1 и 2!
			 
			
			- 
				1. В этом топике ;D.
2. Ну если только скрипт написать который все это распарсит.
			 
			
			- 
				ну объективно может. или еще проще - ты запутался в своих 60 переменных  ;D
если кликер встретит переменную, которая не была объявлена (или была, но не хватило места), то он не будет ругаться, а обработает ее как ноль.
в 4.7 лимит был убран (ну, он ограничен размером оперативки), а вот человеческий фактор (ошибки, описки) убрать ну никак не получится
			 
			
			- 
				Написал простенький скрипт на джаваскрипте, который считает кол-во используемых переменных. 
Системные пропускает. Регистр игнорирует. Повторы, разумеется, не считает.
http://jsfiddle.net/AH5M2/embedded/result/
Заработал даже на скрипте ЦИТРИН'а c 8к строчек. Кстати там оказывается вообще нет пользовательских переменных (только системные юзаются)
			 
			
			- 
				ЗдОрово!
Особенности:
Считает уже по новой версии, только переменные с долларами.
Считает переменные "спрятанные" за //
Вот бы ещё вывод списка переменных из получившегося массива сделать.
Системные получается вывести, а парсенные нет. Почему Сергей?
$('.run').click(function(){
    $('.result').html(count_vars($('.text').attr('value'))+" переменных");
for(var i = 0; i < system_vars.length; i++){document.writeln(system_vars[i])
    document.writeln("</br>")}
}
			 
			
			- 
				Хе-хе, не ошибается тот, кто ничего не делает!
>Системные получается вывести, а парсенные нет. Почему Сергей?
Переменная parsed_vars локальная, вне функции её не вызвать. Теперь сделал её глобальной.
Коментарии починил, переменные с процентом тоже. Вроде больше не было способов объявления, через диез только константы.
http://jsfiddle.net/AH5M2/1/embedded/result/
			 
			
			- 
				Класс! :) 
Вот это уже можно использовать как дополнение к большим сценариям кликера.
Осталось ещё при выводе количества переменных разбить их на строковые и числовые.  ;D 
Но это потребует анализа значений, куча мороки и не нужно. 
			 
			
			- 
				Переменные и константы из const.txt это разные разряды?
Можно ли с помощью них преодолеть 99-ый лимит в версии 4.6?
			 
			
			- 
				
Переменные и константы из const.txt это разные разряды?
Можно ли с помощью них преодолеть 99-ый лимит в версии 4.6?
какой ты хитрый. ну можно сказать что разряды разные. вообще они изначально вводились только ради клавиш, чтоб не лазить без конца в таблицу. и по хорошему теперь надо вслед за строковыми вырезать и константы. и оформить их в виде отдельного файла для #include но уже как переменные с красивыми именами.
но пока они побудут с нами
ну и насколько я помню лимит там больше чем 99 (потому что хотя бы одних клавиш больше ста)
			 
			
			- 
				Я перешёл на 4.7 и могу использовать сколько хочу переменных, но идею с константами попробую ))
			
 
			
			- 
				http://jsfiddle.net/AH5M2/2/embedded/result/
Разделил строковые и числовые переменные.
			 
			
			- 
				Здорово!
Следующим шагом, на мой взгляд, каксается вывода переменных.
Сделать его поочерёдным: сначала все строковые, как правило их меньше, потом все числовые.
			 
			
			- 
				Можно и так. 
http://jsfiddle.net/AH5M2/3/embedded/result/
			 
			
			- 
				(http://crapware.aidf.org/forum/Themes/default/images/post/thumbup.gif) Позабавила строка:
"$_return1", "$_return2"//, "$_hwnd" - не было в 4.6
			 
			
			- 
				Вот пример для замены одномерного массива.
Я использую строку и забиваю в неё все данные $data = "123;456;789;012;345" и далее STRCUT'ом вырезаю нужную по порядку цифру. Обратите внимание что если использовать в качестве разделителя символы / * + - то кликер переведёт строку в выражение и в переменной будет храниться его результат. Удачи!)))
			 
			
			- 
				Идея хороша, Ляпис. Пример рабочий.
Также на примере видно, что подходит для массивов чисел с одинаковым количеством разрядов. А когда разрядность от 2 до 9, да ещё меняться может. Это strcut'ами вырезать не отследишь.
			 
			
			- 
				
Идея хороша, Ляпис. Пример рабочий.
Также на примере видно, что подходит для массивов чисел с одинаковым количеством разрядов. А когда разрядность от 2 до 9, да ещё меняться может. Это strcut'ами вырезать не отследишь.
Всё решаемо. Разрядность доводится к одному виду нулями перед числом. В версиях <=4.6 была для этого удобная фича в операторе TOSTR($var, 9). В 4.7 придётся сделать что-то типа:
$var = 412
$data = STRCONCAT(STRCUT("000000000", 1, 9 - STRLEN($var)), $var, ";")
PRINT($data)
halt
			 
			
			- 
				Согласен, это решение! Зачёт ))) 12+
			
 
			
			- 
				
 $data = "123;456;789;012;345" и далее STRCUT'ом вырезаю нужную по порядку цифру 
 В принципе,  из этого может получиться  неплохой генератор-хранилище паролей.
В  INPUTBOX вставляем слово-маркер ("мяч", "чай" итп),  а дальше работает Ваше предложение о длинной строке.