Помощь - Поиск - Пользователи - Календарь
Полная версия: Новая Версия Uopilot v.2.41 (31.12.2018)
UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3
WKnight
Пожертвовать на дальнейшее развитие:
Изображение
410011422550405

{v.2.41}Список изменений
  • Добавил длл "lua5.1.dll" в ресурсы пилота. При запуске пилота проверяется ее наличие в папке, и если ее нет, то распаковываем.
  • В клики мышкой добавил параметр "nooffset", который позволяет игнорировать смещение, указанное в переменных "clickoffsetxy". 'kleft 100 100 nooffset'
  • Исправил вывод сообщения об ошибке при форматировании скрипта, если пилот располагался поверх всех окон.
  • Исправил тип поиска 2 в 'findimage', сломанный пару билдов назад.
  • Исправил клики мышкой с модификаторами.
  • Исправил работу команды 'set windowpos', если не указан хендл рабочего окна.
  • Расширил до 16к строку параметров передаваемую в команду 'prompt'.
  • Исправил открытие формы параметров персонажа за пределами экрана, при наличии нескольких мониторов.
  • Сделал автоматическое определение ширины окна команды 'prompt'.
  • Заменил "Lua 5.1" на "LuaJIT 2.0.5". Убрал сторонний компонент для связи с луа.
  • Сделал нажатие по коду клавиши в командах 'send*' и 'sendex*'. Коды указывается в качестве параметров в фигурных скобках. При указании нескольких клавиш, пробелы между скобками обязательны. "send {49} {112}".
  • Исправил 'return' в 'for' и 'repeat' из двойного 'gosub'.
  • Добавил вывод ошибки запуска скрипта Lua и несколько строк кода вокруг указанной.
  • Все переменные пилота, которые были доступны из Lua (17 штук), в Lua теперь функции. Те, которые доступны для изменения (9 штук), в качестве параметра принимают новое значение, возвращают старое (включая 'workwindow()').
  • Починил галочку "Отображать оставшееся время ожидания".
  • При приостановке скрипта, текущая команда типа 'wait' прерывается.
  • Во время задержек в скрипте, таймер на панели параметров персонажа продолжает обновляться.
  • Добавил еще несколько параметров в команду 'hint (fontSize fontColor posX posY width height backColor fontStyle fontName (any text))'. Где
    'backColor' - цвет фона;
    'fontStyle' - "n" - normal, или комбинация следующих: "b" = bold, "i" = italic, "u" = underline, "s" = strikeout;
    'fontName' - имя шрифта установленного в системе.
  • Добавил в меню по ПКМ того, чего там небыло.
  • Возвращаемое значение функции 'color' изменено на целочисленное.
  • Возвращаемое значение функции 'readmem' зависит от типа читаемого значения.
  • Исправил сломанные команды прокрутки колеса мыши.
  • Исправил 'hint' без указания параметров.
  • Убрал сообщение "runtime error", вызванное прерыванием Lua скрипта.
  • Добавил переключение закладок скриптов по Ctrl+Tab, Ctrl+Shift+Tab.
  • Сделал функцию 'mouse_pos (["abs"])' в Lua. Возвращает два числа - x,y.
  • Сделал принудительное закрытие VM Lua, при остановке скрипта.
  • Исправил функции 'findcolor', 'findimage' в Lua.
  • Добавил возврат "nil" и "LuaTable", как было в предыдущей версии Lua.
  • При вставке в скрипт Lua из меню по пкм, к именам функций добавляются круглые скобки.
  • При выводе сообщений в лог, символ '\n' дополняется до '\r\n'.
  • Исправил 'clickoffsetx' и 'clickoffsety' в комамнде 'move'.
  • В Lua добавил функцию 'get_script_text (номер_скрипта)'. Возвращает в таблицу скрипт с указанным номером, либо текущий, если номер не указан.
  • Убрал все преобразования строки, выводимой в лог из Lua. Оставил только дополнение '\n' до '\r\n'.
  • Исправил утечку памяти, появившуюся при смене Lua.
  • Библиотека Lua загружается и инициализируется только при запуске скрипта на Lua.
  • Добавил функцию получения приоритета процесса 'GetProcessPriority ([handle|PID])'. Если хендл не указан, возвращает приоритет пилота. Возвращаемые значения:
    '-3' - Error;
    '-2' - Idle priority;
    '-1' - Below normal priority;
    '0' - Normal priority;
    '1' - Above normal priority;
    '2' - High priority;
    '3' - Realtime priority;
  • Добавил функцию установки приоритета процесса 'SetProcessPriority ([[handle|PID] priority=0])'. В случае успеха возвращает "0", иначе код ошибки. Если хендл не указан, устанавливает приоритет пилота. В качестве 'priority' используются теже значения, что возвращает 'GetProcessPriority'.
  • В тестовом режиме добавил функцию установки маски ядер процессора для указанного процесса 'SetProcessAffinityMask ([[handle|PID] mask=0])'. В случае успеха возвращает "0", иначе код ошибки. Если хендл не указан, устанавливает приоритет пилота. В качестве 'mask' указывается "0" - все ядра, либо сумма следующих значений:
    1 = CPU 0;
    2 = CPU 1;
    4 = CPU 2;
    8 = CPU 3;
    итд...
  • Исправил ошибку вывода первого сообщения из скрипта Lua, при ниразу не открывавшемся логе.
  • Добавил вывод сообщения об ошибке, при ексепшене в скрипте Lua.
  • Исправил функцию 'random()' в Lua, теперь возвращает число.
  • Если картинка или цвет не найдены, то 'findimage' и 'findcolor' в Lua возвращают nil вместо пустой таблицы.
  • Убрал сообщение 'Операция успешно завершена' выводившееся при остановке Lua скрипта.
  • Массивы, возвращаемые функциями 'findimage' и 'findcolor' в Lua, теперь числовые.
  • Исправил 'findwindow' при использовании из скрипта Lua. Если ничего не найдено, то возвращает "nil", а не пустую таблицу. При вызове без параметров, возвращает данные активного окна.
  • Хендл, возвращаемый функцией 'findwindow' в Lua, теперь число.
  • Размер сообщения, выводимого в лог, сейчас увеличен до 1к.
  • Команда 'get clipboard' очищает принимающий массив.
  • Убрал преобразование переменных в получаемом буфере обмена при использовании команды 'get clipboard %array'.
  • Починил 'clipboard' в Lua.
    'clipboard(text)' - один параметр, установка;
    'string = clipboard()' - без параметров, получение одной строкой;
    'array = clipboard(0,"string","word")' - больше одного параметра, разбивка в массив по словам, или по строкам, или по словам и по строкам.
  • Подправил передачу больших целых чисел из Lua. Больше не должны выводится в экспоненциальной форме.
  • Исправил ошибку в командах 'set hotkeystart' и 'set hotkeypause'.
  • Добавил в функцию 'findcolor' поиск цвета в загруженной области.
  • Добавил проверку захвата изображения по хендлу, при нажатии Ctrl+A для привязки скрипта к рабочему окну. Включается галочкой "Check image capture by handle", находящейся рядом с кнопкой "F" на форме скрипта.
  • Если изображение не может быть получено, или возвращен черный квадрат, то берется родительский хендл и снова проверяется пока не будет получено изображение.
  • В результате проверки в лог выводится цепочка проверенных хендлов и заголовок окна, необходимого для правильного определения цвета, либо сообщение об ошибке.
  • Добавил команду проверки захвата изображения по хендлу. Возвращает смещение по координатам и правильный хендл, либо 0.
    'set #newhandle checkgetcolor (#x #y #handle)' // UoPilot, в переменные #x #y возвращает смещение.
    'handle, offset_x, offset_y = checkgetcolor (handle)' -- lua
  • Исправил вывод в лог длинных сообщений.
  • Галочку "Check image capture by handle" перенес в настройки\разное. Включена по умолчанию.
  • Добавил функцию поиска значений в памяти 'findmemory (count value type %result accuracy workwindow)'.
    Возвращает количество найденных элементов, либо код ошибки.
    Параметры:
    count - предельное количество, -1 - все;
    value - искомое значение. если строка не сплошная, то в кавычках;
    type - тип предыдущего аргумента, также как в командах чтения\записи в память;
    %result - принимающий массив;
    accuracy - точность поиска последовательности значений;
    workwindow - хендл рабочего окна;
    В 64х битных процессах пока сканирует только первые 32 бита.
  • Подправил обновление переменной 'workwindow' при нажатии Ctrl+A.
  • Исправил функцию 'getwindow()' в Lua, теперь возвращает число.
  • Дочинил. Хендл, возвращаемый функцией 'findwindow' в Lua, теперь число.
  • Добавил в команды 'readmem' и 'writemem' чтение\запись по хендлу.
    'readmem variable adress type size [handle] [modulename]'
    'writemem variable adress type [handle] [ModuleName] [result]'
  • Добавил команды скрытия курсора мыши: 'mouse hide|show'. Уводит курсор в правый верхний угол экрана и держит его там. При закрытии пилота освобождает курсор.
  • Исправил возврат таблицы значений в команде 'findimage' в Lua, при отсутствии результата или ошибке поиска.
  • В команду 'findimage' добавил код ошибки '-7' - нечего искать, искомая картинка пустая.
  • Исправил 'case:'.
  • Сделал восстановление "текущего каталога" при сохраненях\загрузках.
  • Исправил в функции 'findcolor' поиск цвета в загруженной области.
  • Подправил команды 'Exec' и 'ExecAndWait'.
  • Добавил переменную, возвращающую в массив версию пилота 'set %ver version'.
    %ver[1 1] - 2.40 - номер версии;
    %ver[1 2] - u - статус версии r-релиз, b-бета, u-нестабильная;
    %ver[1 3] - 16 - номер беты;
    %ver[1 4] - 8 - номер под-беты.
  • Исправил "get clipboard" с разбивкой по столбцам. Возвращало лишний пустой элемент.
  • Исправил функцию 'windowfromcursor()' в Lua, теперь возвращает число.
  • Починил 'set windowpos' в Lua. Теперь работает как функция 'windowpos (x, y, width, height [, handle])'. Не возвращает ничего.
  • Убрал двойные скобки при вcтавке команд из меню по ПКМ в Lua, курсор устанавливается за скобками.
  • Расставил запятые в скобках, при вcтавке команд из меню по ПКМ в Lua.
  • При вcтавке команд из меню по ПКМ в Lua убираем признаки переменных.
  • Слегка изменил алгоритм вставки команд в скрипт из контекстном меню. Обязательные параметры не убираем.
  • Переделал подсветку синтаксиса в редакторе. Добавил возможность изменять категорию существующих ключевых слов и добавлять новые. Список слов указывается в секции "[Highlighter]" в конфигурационном файле пилота в параметрах оканчивающихся на " List" (появятся при сохранении настроек). Пример: "RW EndScript List=end_script,konec_skripta".
  • В меню по ПКМ добавил раздел "Lua".
  • Добавил возможность комбинировать скрипт пилота с Lua. '--lua' обозначает начало Lua скрипта, '--endlua' соответственно конец.
    log start
    --lua
    log ("lua")
    --endlua
    log finish
    end_script
  • Переделал алгоритм комментирования строк, в связи с предыдущим пунктом. Теоретически должно работать.
  • Подправил возврат кода ошибки функциями 'findimage' и 'findcolor' в Lua, при неправильном указании параметров.
  • Исправил в 'findimage' поиск запомненной картинки в загруженной области. Требовало размер области больше положенного.
  • Переделал в Lua функции 'findimage' и 'findcolor' на новый синтаксис, все параметры передаются по одному, через запятую.
    Путь к файлу и набор цветов пока передаются строкой в таблице (в фигурных скобках). Принимающий массив изъят из обращения.
  • По синтаксису Lua в пути необходимо удваивать символ обратный слеш "c:\\", либо указывать путь в двойных квадратных скобках [[c:\]].
  • Функции возвращают массив (таблицу) найденных элементов и код ошибки.
    Пример:--'arr, err = findimage(10, 20, 1020, 810, {"C:\\tmp\\image.bmp"}, 2)'
    --'arr, err = findcolor(10, 20, 1040, 810, {"r(255)"}, 2, -1, "abs")'
  • Исправил эксепшен, возникающий при перезапуске Lua скриптов.
  • Добавил "*.lua" в маску по умолчанию, в диалоги открытия\сохранения скриптов.
  • Исправил галочку "Добавлять пробелы", слегка переделал алгоритм.
  • Исправил 'dir' в Lua. Если ничего не найдено, то возвращает "nil", а не пустую таблицу.
  • В хелп с Wiki, который вызывается по "F1" или по ПКМ на операторе в скрипте, добавил команды Lua. Какую справку показывать, Lua или обычную, определяется по предшествующему комментарию.
  • В "Перекачать всё с Wiki" добавил скачивание Lua вариантов команд.
  • Исправил эксепшен при использовании 'send' без параметров.
  • Убрал зацикливание одинокого скрипта Lua без признака конца скрипта "--endlua".
  • Добавил редактор "Подсветки синтаксиса" в меню "Настройки".
  • Исправил ошибку "EConvertError '^xx'", где "хх" номер скрипта, иногда возникающую при выполнении процедур.
  • Исправил присваивание 'workwindow' в процедурах. Присваивание срабатывало только на вызывающий скрипт.
  • Убрал кусочек отладочной информации забытый недавно в финдколоре.
  • В редакторе скриптов отключил горячую клавишу удаления текущей строки, и для функции Redo изменил на Ctrl+Y.
  • Исправил минимальные размеры захватываемой картинки в команде 'getimage' при работе по хэндлу.
  • Исправил исключение при работе по хэндлу в команде 'getimage', когда начальные координаты были больше конечных.
  • Убрал напоминание о том, что не указано рабочее окно, при старте скрипта по горячей клавише.
  • В подсветку синтаксиса добавил комментарии Lua "--".
  • Добавил восстановление иконки в трэе, при перезапуске проводника.
  • Слегка подправил вывод сообщений об ошибках Lua, теперь сообщает какое именно было исключение.
  • Отключил генерацию исключения "деления на 0" и исключения "при ошибочных операциях" (иначе не работает), для совместимости с Lua.
  • Допрятал вкладку ультимы в настройках, исправил связанный с ней эксепшен.
  • Исправил возврат таблицы значений в команде 'scripts()' в Lua.
  • Добавил восстановление позиции курсора в редакторе после остановки скрипта Lua.
  • Добавил "всплытие" окна лога, при активации пилота.
  • Подправил добавление пробелов в скрипте, при нажатии клавиши Enter.

Домашняя страница

скачать uopilot 2.41

скачать Lua 5.1

скачать AntiFrost
скачать AntiGate
пароль на архивы: uopilot.uokit.com


скачать UoPilot_2.41 + jit (gcc). Jit compiled by rinat84. Пароль: uopilot.uokit.com
скачать LuaJIT со статической компиляцией. Compiled by rinat84

Обсуждение справки по UOPilot(Wiki)
Пожелания (АРХИВ)

Ниже оставляйте предложения и замечания о неисправностях.
DarkMaster
Т.е. не только я тут в это время?)
Народ в пятницу не выкладывает обновы, а мы экстрималы в новогоднюю ночь ваяем =)
Спасибо!
sutra
Цитата
а мы экстрималы

ohmy.gif
DarkMaster
Ченжлог поидее за весь мужрелизный промежуток нужно выкладывать иначе потом одуреешь понимать, что к чему.
dron4938
Слежение не работает sad.gif
cirus
Цитата
Слежение не работает

Работает если скрипт на языке пилота.
dron4938
ааа)
sutra
Не могу нормальным способом "победить" вот такую штуку!
Код
--lua
local ok=findwindow("Блокнот")
showwindow(ok[1][1],SHOW)
wait(5000)                -- в эту паузу перекрываем окно Блокнота
showwindow(ok[1][1],SHOW) -- НЕ ПОКАЗЫВАЕТ! (только на панели задач меняет цвет)
cirus
Код
--lua
local ok=findwindow("Блокнот")
if ok then
    showwindow(ok[1][1], "top")
    wait(5000)                -- в эту паузу перекрываем окно Блокнота
    showwindow(ok[1][1])   -- top по умолчанию, можно не указывать
end
sutra
Не работает. Правда это всё на 2-ом мониторе.

Да и на 1-ом не работает.

Первый раз всё нормально, потом не показывает. То есть если во время работы скрипта, а он пашет часами, я забыл и перекрыл окно браузера, то возникают проблемы.

И не понял параметр TOP. По идее (насколько я понимаю) должно быть поверх всех окон, но оно перекрывается.

Эта хрень у меня давно, ещё когда на пилотовском всё было. Вот решил допилить эту штуку, пока нормальным способом сделать не получается.
sutra
Код
--lua
local ok=findwindow("Блокнот")
local x,y,w,h,err=windowpos(ok[1][1])
showwindow(ok[1][1],"MINIMIZE")
wait(5000)                -- в эту паузу перекрываем окно Блокнота
showwindow(ok[1][1],"RESTORE")

В общем пока вот только так.
sutra
И вопрос ещё такой, почему SHOW без кавычек, а "MINIMIZE" с кавычками, как-то бы уж одним способом.

Сорри, скорее всего проходит по умолчанию TOP. Тогда другой вопрос, почему "SHOW" не работает?
DarkMaster
Цитата
И вопрос ещё такой, почему SHOW без кавычек,

Только с кавычками и никак иначе. При отправке без кавычек отправляется значение переменной, которое иногда может быть передано, как текст(т.е. натруально SHOW), а иногда может отправить nil. Не разбирался когда, что и как. В целом считаю это недокументированным поведением и не использую. Тем не менее даже если подобное поведение четко регламентировано, я считаю подобным образом передавать параметры не стоит, т.к. при создании переменной/функции с именем SHOW у нас поедет текстовая конастанта, что ну уж совсем странно.
sutra
Нет, так у меня и не получилось восстанавливать окно. Свёртывание и разворачивание тоже не помогает. Разворачивает на заднем плане. В общем при первом вызове функции showwindow всё работает как надо, при втором вызове НЕ РАБОТАЕТ вывод на передний план. Почему, непонятно.
FREEON
Цитата(sutra @ 11.1.2019, 2:56) *

Нет, так у меня и не получилось восстанавливать окно. Свёртывание и разворачивание тоже не помогает. Разворачивает на заднем плане. В общем при первом вызове функции showwindow всё работает как надо, при втором вызове НЕ РАБОТАЕТ вывод на передний план. Почему, непонятно.

может Handle окна меняет свой id?
sutra
Цитата
может Handle окна меняет свой id

Нет конечно, я всегда проверяю такие вещи. Можете попробовать сами. Заведите окно, скройте его, ну для примера, тем же блокнотом. Затем включите скрипт ... восстановите окно, сделайте паузу ... перекройте во время паузы опять блокнотом и попробуйте восстановить окно опять. Пробовал на разных окнах, по всякому, мерцание окна на панели задач и всё. Если заново перезапустить скрипт, то восстановит окно. Вывод - есть разница между первым вызовом функции восстановления окна и вторым - это уже проверено. Значит всё-таки есть какие-то отличия. Какие? Я не знаю. У меня нет исходного кода. Вопросы к Кнайту. Я обходным путём победил этот глюк, поэтому опять возвращаюсь к этой теме исключительно, чтобы помочь выяснить причину такого поведения.


Если у кого не так ... опровергните меня, может я чего не так делаю или чего не понимаю. Но мой принцип таков - чем проще, тем лучше и никаких непоняток быть не должно, а я не понимаю как это работает.
sutra
В дополнение могу сказать одно. Глюк "древний" обнаружен ещё когда всё было на Пилотовском языке. Просто я старался не перекрывать окно браузера (где мне нужна была доступной пиктограмма перезагрузки браузера). Когда не следил за игрой всегда оставлял окно браузера открытым. Тем не менее, у меня скрипт зациклен на бесконечность. Спустя какое-то время окно браузера всё-таки восстанавливалось и игра перезапускалась, по времени? ... ну может в течении 30-50 минут, меня устраивало это, а тут решил всё-таки решить эту проблему.

Если у кого получается также - поддержите меня, чтобы я не выглядел пустобрёхом или опровергните.

Если рассуждать логически, то причина в разном (шибко умном, а по факту глупым) поведении Виндов. Раз замерцало на панели задач, значит действие произошло, но не возымело должного эффекта. Победить эту умность наверняка можно.
sutra
Кнайт, если будут сложности с этой проблемой, не стоит на ней зацикливаться, лучше делай компиляцию. Кроме меня никто не напрягался, а я проблему решил. Просто я уже "опух" напрочь ... игра играет, а я в это время и в инете ползаю и кино смотрю и ещё бог знает чем только не занимаюсь.
WKnight
SHOW почемуто работает некорректно, хотя и ошибки никакой не выдает.
Вместо него можно использовать например что-то типа
windowpos(-1, -1, -1, 1, ok[1][1])
sutra
Цитата
windowpos(-1, -1, -1, 1, ok[1][1])

Так не работает.
Код
windowpos(-1, -1, -1, -1, ok[1][1])

Так выводит в левый угол 1-го монитора. В общем вопрос остаётся открытым. И что для меня остаётся непонятным, почему при первом вызове всё работает как надо? Проблема возникает только при повторе действия.
sutra
Бог с ним, с этим глюком. Обойти его можно, а это главное.
Код
x,y=windowpos(ok[#ok][1])  -- ok[#ok][1] - хендл первичного окна, которое должно быть видимым
while true do
  local h=tonumber(windowfrompoint(x,y,"child"))
  if h~=ok[#ok][1]then
      showwindow(h,"MINIMIZE")
    else
      break
  end
end
left(x,y,"abs")
sutra
И даже так есть проблемы. Только вот так kleft(x,y,"abs") или коодинаты надо смотреть иначе.
DarkMaster
после остановки скрипта не закрываются открытые сокеты. Лечится только перезапуском пилота.
Остановке всмысле кнопкой/ошибкой. Т.е. когда close() вызвать не представляется возможным.
DarkMaster
prompt с луа не дружит
sutra
Код
--lua
b=true
log(b)
С этим тоже не дружит.
DarkMaster
Потому что b есть boolean.
Код
--lua
b=true
log(tostring(b))

На самом деле это определенная проблема, т.к. конструкции с выводом нескольких переменных/описанием того, что выводится, часто натыкаются на nil, а он не печатается либо вообще критует при попытке слепить строки. Приходится извращаться с конструкциями типа:
log(var or "nil")
или:
log(bool_var and "true" or "false")
Ну и стандартный print делает tostring, имхо и мы должны.
Так же хочу отдельно заметить про io.write. На данный момент лог не является стандартным потоком вывода, что несколько напрягает, т.к. write шустрее, может в отличии от print компилироваться ну и вообще не очень феншуево. Имхо стандартное поведение луа должно быть максимально реализовано для понижения сложности вхождения.
DarkMaster
Непонятные проблемы с findimage. Метод поиска 2, забор изображения происходит успешно. Единичной строкой находит успешно. В цикле на одном из окон просто перестает находить хоть убей. При этом если остановить скрипт и выполнить одну строку с финдом - найдет (привязку не меняю). В финде только константы, никаких переменных, которые могли бы измениться в цикле. Более того, если в цикле подсунуть вобласть поиска окно пилота с захваченным изображением, то пилот его найдет в своем окна(F кнопка), но не найдет в приложении. Включание abs к результату не приводит. Что за бредятина? =\
cirus
Код
--lua
log (type(windowhandle()))   -- string
log (type(loghandle()))      -- string
EL-GReeN
"Возвращать курсор мыши после кликов" не работает
cirus
Не отрывается справка по нажатию F1 если курсор стоит над функциями луа. os.clock(), string.gsub и остальные.
sanerrr
uopilot с антифростом, не работают клавиши клавиатуры, хоть в скрипте, хоть в общих, иногда проскальзывает и все, игра аион руофф
sutra
loadimage([[target.bmp]]) сиё название не прокатывает, обзываю target_.bmp - всё нормально.
DarkMaster
скорее всего идут какие-то накладки с зарезервированными переменными пилотовскими, которые используются в ультиме.
sutra
Цитата
скорее всего идут какие-то накладки с зарезервированными переменными пилотовскими
В этом я не сомневаюсь, поэтому и показал этот недочёт. Всё ж таки строку даю, а не переменную. Готовлю вам пример поиска, из-за этой хрени ещё прибавил седых волос, как всегда начал грешить на себя, ан нет, в этот раз я был не виноват.
CKA3KA
Не могу скачать последнюю версию v.2.41,
хром блокирует скачку
выводит сообщение:
Изображение
Надо было в архив что ли упаковывать.
unsure.gif
sutra
Наверное надо. Хотя я упаковал в архив антивирус.
CKA3KA
Хотелось бы узнать, в этой версии убрали из тела всплывающие сообщения адски раздражающие:
Изображение
sutra
Вроде такого уже нет. Во всяком случае у меня уже работает без этого сообщения. Есть другие глюки (у меня не всегда отрабатывает windowpos), но повторным перезапуском лечатся, а поскольку я не знаю на 100% почему это происходит, поэтому на эту тему промолчу.

Я не привязываю окно, всё работает на автомате (через поиск окон), так что мои комменты справедливы для таких случаев.

В любом случае, этот релиз надо установить. Достаточно много обновлений и исправлений.
DarkMaster
Цитата
Хотелось бы узнать, в этой версии убрали из тела всплывающие сообщения адски раздражающие:

Точно 2.41?
CKA3KA
Цитата(DarkMaster @ 26.2.2019, 11:35) *

Точно 2.41?

У меня сейчас версия 2.40d b16
это уже с настройкой цветов синтаксиса,
но эти сообщения гадские выскакивают постоянно.
Пока не меняю версию на последнюю, а спрашиваю - вырезали ли из тела в версии 2.41 эти гадские сообщения или нет?
DarkMaster
Цитата
Пока не меняю версию на последнюю, а спрашиваю - вырезали ли из тела в версии 2.41 эти гадские сообщения или нет?

Думаете почему я переспрашивал?) Подсветку не потеряете - она в ini файле хранится. Не удаляйте его, лучше отбекапить на всякий случай. Обновляйтесь.
xolost
Да уж! заценил 241...
словил такое
https://s.mail.ru/FBws/22FJ1esnY
раньше такого в жизни не ловил в пилоте.

Описать сложнова-то.
Короче стал зависать скрипт на kleft #x, #y abs
т.е. есть большой скрипт, где бот идет всё ок делает и когда доходит до этой строки - залипал.
после 3 попытки перезапуска скрипта, решил закрыть пилота.... и вот такая ошибка вылазит.

Закрыть не удается. Через диспетчера задач закрыл.
Запустил снова пилот - скрипт при этом не поломался, снова всё шуршит.



Как к этому пришел сложно сказать.
Сидел по тим виеверу на виртуалке где юзал пилота.
В скрипте используется оператор get clipboard
Затем записывает буфер в файл и работает с ним.
Иногда может быть сбой в кодировке при работе с этим оператором.
Например вместо русских букв из буфера будут вопросики.
Думаю что это связано с переключением языков. Т.е. на оснвоном столе один язык, на виртуалке по тиму куда зашел - другой язык. Изначально ок, но если пкереключить на виртуалке мышкой язык, то вот начинаются вопросики... и возможно с этим связано как-то падение kleft #x, y# abs хотя и очень странно)
Вообщем, пока не могу больше инфы дать.


Upd -- 1
Во, опять упало, и опять после кодировки сломанной.
https://s.mail.ru/AbKg/71GSGtkTg

т.е. после этой билиберды на ближайшем клике (в этот раз на дургом kleft ) так же зависает.
Пока не понимаю вообще связи))))
И закрыть так же не удается пилот.

Хотя понять что раз зависает внутренний поток самого пилота, то это не дает закрыться пилоту. Короче то ли в кодировку рыть, то ли в kleft. То ли в буфер обмена)
Попробую перезагрузить комп.

Upd -- 2
Теперь вообще всегда в буфер русские буквы идут вопросиками и стабильно зависает на ближайшем клике куда-либо.
Теперь даже не знаю как починить что бы русские буквы русскими копировались пилоту в буфер. Уже перезагрузки, перезаходы, перезапуски, смену языка на основном кмопе, на виртуалке перетыкал....


Upd -- 3
Починилась кодировка, буферит русские буквы. Зависает по-прежнему........

Upd -- 4
Выяснил от части.
Если в лог пилота вывести какой-то символ или набор символов, то вот он падает. Какой именно пока не знаю. Функция лога видимо падает и не завершается, цикл становится бесконечным, а на ближайшем kleft по-всей видимости пытается создаться какой-нить поток, которые подвис в функции лога. Не знаю как устроен пилот и возможно бред полный написал, но вот дело явно в логгере пилота.
С кодировкой не связано, так что другой символ какой-то логу не нравится. Может двоеточие, надо тестить, но я убегаю.
DarkMaster
А код то можно увидеть для воспроизведения? Писал на lua?
xolost
Цитата(DarkMaster @ 26.2.2019, 21:28) *

А код то можно увидеть для воспроизведения? Писал на lua?

На пилоте.

Способ воспроизведения:
code

Код

set logging (Последователь  [10]Инф. о Азе-БАКУ, Fast Killer [10]Инф. о Fast Killer, Pray UK [10]Инф. о Pray UK, WoFХаттаб [10]Инф. о Хаттаб, Последователь Повелителя ОгняPPilДмитрыч [10]Инф. о Дмитрыч, Последователь МироздателяHarbourПроцессор [10]Инф. о Процессор, Последователь Повелителя ВодыIncognitobunyod [10]Инф. о bunyod, Последователь МироздателяUknownHeroesВраг у ворот [10]Инф. о Враг у ворот, Последователь ПадальщикаAmberВеселый Димасик [10]Инф.)

kleft 200, 500 abs

msg test

до msg не доходит, зависая на клике.

Сорри за такую ширину, что именно в этой строке логгеру не нравится - хз, по быстрому не смог выяснить. Но воспроизводится стабильно на такой длине.
DarkMaster
Скорее всего скобки ему квадратные не нравятся и пытается воспроизвести как массив. Одна из основных причин перехода на lua - парсинг.
rinat84
Цитата(xolost @ 27.2.2019, 1:28) *

На пилоте.

Способ воспроизведения:
Сорри за такую ширину, что именно в этой строке логгеру не нравится - хз, по быстрому не смог выяснить. Но воспроизводится стабильно на такой длине.

это обращение к недоступному участку памяти )
Нажмите для просмотра прикрепленного файла
DarkMaster
Цитата
это обращение к недоступному участку памяти )

Ну это логично. Пилот видит скобки [10] и пытается взять, как элемент массива.
xolost
Цитата(DarkMaster @ 27.2.2019, 0:59) *

Ну это логично. Пилот видит скобки [10] и пытается взять, как элемент массива.

Конечно, у меня тоже была одна из версий такая.
Только почему-то не падает вот при таком коде:

Код

set logging df [10] dfd [rf]
kleft 200, 500 abs
msg test

DarkMaster
Цитата
Только почему-то не падает вот при таком коде:

Возможно точка распознается, как ссылка на другой скрипт.
AbsorbeR
У меня последняя версия просто не загрузилась. Браузеры не дали по причине "Вирус".

Баги (как я устал от них):
  • say и send не понимают комментарии. Cтрока вида
    Код
    say/send MyVeryLongText // комментарий
    будет воспринята, как MyVeryLongText //
Особенно лютый треш, когда ты запускаешь старый скрипт на 1000 строк, а тебе где-нибудь выскакивает ошибка, или скрипт не подает признаков жизни.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.