|
|
|
Новая Версия Uopilot v.2.39 (09.03.2017), Официальный сайт. Скачать. Последняя версия. |
|
|
Cockney |
5.7.2017, 11:55
|
Master
Сообщений: 1.395
Регистрация: 22.6.2013 Группа: Пользователи Наличность: 21060
Пользователь №: 16.156
|
Могу лишь предположить, что скрипт завершился, не дав отработать сборщику, а луа машина остается жива, соответственно, содержит весь набор данных с пред. запуска. Но точнее, возможно, скажет кнайт.
Другой вариант - сборщик отключен, пока есть доступная память для машины. Вот когда забьются 2ГБ +-, тогда он и включится. Т.е. никогда в большинстве случаев.
|
|
|
|
cirus |
16.7.2017, 18:41
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26706
Пользователь №: 16.971
Возраст: 29
|
Что на счёт команд clipboard, windpos, т. е. тех что начинались с set/get? А также: load/save_array, hint (с параметрами)? Ещё GetImage и LoadImage надо подправить чтобы возвращали результат не строкой, а массивом или отдельными параметрами. Что вроде: Код arr = getimage(100, 100, 200, 200) arr[1] - адрес arr[2] - ширина arr[3] - высота или address, width, height, size = getimage(100, 100, 200, 200) Меню ПКМ тоже будет меняться в зависимости от наличия строки --lua?
|
|
|
|
cirus |
18.7.2017, 12:31
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26706
Пользователь №: 16.971
Возраст: 29
|
На счёт синтаксиса findimage и findcolor в луа. Скобки, в которых указываются путь или цвет, по идее можно убрать. В findcolor передавать массив с цветами, т. к. если указывать больше 1 цвета, то придётся заключать их в кавычки, т. е. переменными цвета не задать. Код findimage(startx, starty, endx, endy, filename, resultarray) findcolor(startx, starty, endx, endy, color, resultarray) -- 1 цвет без шага findcolor(startx, starty, endx, endy, shiftx, shifty, color, resultarray) -- 1 цвет с шагом
arr_color = {color1, color2, color3, "color4-color5", "R(11)+G(73-80)+B(1)"} -- массив с цветами resultarray = {} findcolor(startx, starty, endx, endy, arr_color, resultarray) -- без шага findcolor(startx, starty, endx, endy, shiftx, shifty, arr_color, resultarray) -- с шагом
|
|
|
|
DarkMaster |
15.8.2017, 10:32
|
Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27721
Пользователь №: 11.279
|
Цитата Скажите, а сборщика мусора во встроенном Lua нет? Планируется ли или он не работает? Есть. Работает самостоятельно. Можно вызвать вручную. Цитата Функции сборщика мусора
Как разработчики, мы имеем некоторый контроль над автоматическим управлением памятью в Lua. Для этого, мы имеем следующие методы.
collectgarbage("collect") - Работает один полный цикл сборки мусора.
collectgarbage("count") - Возвращает объем памяти , используемой в настоящий момент программой в килобайтах.
collectgarbage("restart") - Если сборщик мусора был остановлен, он перезапускает его.
collectgarbage("setpause") - Устанавливает значение , заданное в качестве второго параметра , деленная на 100 для переменной паузы сборщика мусора. Его применение, как описано чуть выше.
collectgarbage("setstepmul") - Устанавливает значение , заданное в качестве второго параметра , деленная на 100 переменной мусора шаг множителя. Его применение, как описано чуть выше.
collectgarbage("step") - Выполняет один шаг сборки мусора. Чем больше второй аргумент, тем больше этот шаг будет. Collectgarbage возвращает истину, если срабатывает шаг был последний шаг цикла сборки мусора.
collectgarbage("stop") - останавливает сборщик мусора , если его ход. Что-то даже тестил на достаточно больших таблицах. Не получилось полностью изничтожить после 2гб занимаемой памяти все равно оставалось около 25 метров занятых. Причем точно тот же самый объем занимался при простой инициализации массива с аналогичным количеством элементов. Т.е. инициализированное полностью не выгружает по ходу. Но до конца не разбирался. Цитата По всей видимости, продолжает ссылаться на область в памяти, где храниться значение, поэтому его отображает. Кнайт, рекомендую еще раз подумать о том, нужно ли оставлять машину включенной и нужно ли держать ее общей для всех скриптов. Возможно все-таки имеет смысл сделать полностью раздельные экземпляры для каждой вкладки и обвязку для обращения к переменным, чем все лепить в кучу. Мы уже очень много раз наступали на грабли из-за того, что вкладки не полностью распараллелены. Цитата Другой вариант - сборщик отключен, пока есть доступная память для машины. Вот когда забьются 2ГБ +-, тогда он и включится. Т.е. никогда в большинстве случаев. Там несколько хитрее он работает. Там на каждый такт выделения памяти указывается сколько тактов памяти он пытается освободить и шаг при котором он это делает. По дефолту шаг не помню, но что-то в пределах разумного (30-200%).
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
pet |
7.9.2017, 10:20
|
Novice
Сообщений: 67
Регистрация: 4.7.2010 Группа: Пользователи Наличность: 0
Пользователь №: 12.844
|
|
|
|
|
WKnight |
11.9.2017, 20:41
|
Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006 Группа: Пользователи Наличность: 0
Пользователь №: 4.688
|
Цитата А где оно? Это типа "ночная" сборка. Ссылка на пару строк ниже релизной night version, 07.09.2017 Build 008 Последняя, на данный момент, скомпилированная версия. Обычно работает. build 9 Изменен синтаксис команды 'dir' при вызове из Lua. 'resultarray = dir ([Path [Filemask]])' Изменен синтаксис команды 'regexp' при вызове из Lua. 'position, hitstring, errorcode = regexp (<string>, <regexp>)' Добавил возможность вывода дерева каталогов без рекурсии, с помощью соответствующего ключевого слова 'dir (%dir path file [norecursion])'. Добавил возврат количества найденных элементов в команде 'dir' при вызове из Lua. 'resultarray, count = dir ([Path [Filemask]] [norecursion])'
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|