set #v findwindow (PID окна) set workwindow #v и содержимым скрипта
Но set workwindow (PID окна) не работает по непонятным мне причинам. Вверх
какой критичный баг на 18.7, которого нет на 18.2?
set #UOpilot findwindow (UoPilot v2.18.7 WK) //Сворачиваем пилот showwindow #UOpilot minimize set workwindow #UOpilot wait 2s showwindow // без параметров вытаскивает рабочее окно stop_script
Прекрасно работает на 2.18.7. Раньше подобного бага не видел. На 2.18.2 так же все проходит в штатном режиме. Проверь корректность возвращаемого хендла. Вверх
В версии 18.2 скрипт при проверке массива определяет в нем символ, совершает действие (send) и изменяет содержимое массива (на пустой файл). В 18.7 после успешной замены файла скрипт продолжает выполнять команду после if, которая выполнялась до замены, как будто в массиве все еще находится тот символ, до тех пор пока скрипт не будет остановлен и запущен заново.
load_array %arr F:\QIP\Users\111111111\History\222222222.txt set #n size (%arr) — 1 set $lastPost %arr [#n] if $lastPost = 1 send 1 load_array %arr F:\QIP\Users\111111111\History\0.txt save_array %arr F:\QIP\Users\111111111\History\222222222.txt end_if if $lastPost = 2 send 2 load_array %arr F:\QIP\Users\111111111\History\0.txt save_array %arr F:\QIP\Users\111111111\History\222222222.txt end_if if $lastPost = 3 send 3 load_array %arr F:\QIP\Users\111111111\History\0.txt save_array %arr F:\QIP\Users\111111111\History\222222222.txt end_if if $lastPost = 4 send 4 load_array %arr F:\QIP\Users\111111111\History\0.txt save_array %arr F:\QIP\Users\111111111\History\222222222.txt end_if if $lastPost = 5 send 5 load_array %arr F:\QIP\Users\111111111\History\0.txt save_array %arr F:\QIP\Users\111111111\History\222222222.txt end_if Вверх
Источник
Если UOpilot не подхватывает окно
Боты, скрипты и прочий софт для Lineage 2
— Весь софт по Lineage 2 и все, что связано с ботоводством, скриптописанием и брутом — в этом разделе
20.05.2012, 23:47
#1
На некоторых ПК UOpilot не подхватывает клиент игры. Выявить закономерность почему такое происходит — не удалось. Например у меня из 5 ПК на 2ух не запускается. Причем компы абсолютно одинаковы по железу, ОС, софту. Вылечить Пилот нам поможет Касперский, или любой другой Антивирус с ф-ей Контроля программ. Итак, что же надо делать:
1 . Обязательно проверьте что вы запускаете пилот от администратора =) Иногда сам тупил и пытался без галки запускать ^^ 2 . Устанавливить Kaspersky Internet Security 2012. На первый месяц сойдет и триал, дальше придется искать ключи, благо в инете их полно 3 . Заходим в Контроль программ и обязательно перемещаем UOpilot в доверенные. ( скрин
) 5 . Этого должно хватить и Пилот будет подхватывать окна. Если пилот и после этого отказывается привязываться к окнам, то пробуйте последовательно перемещать в ограничения различные процессы фроста.
Все вышеописанное проверено на личном опыте. (Win 7, x64)
Источник
Uopilot send не работает
Send — используется для отправки нажатий клавиш в приложения. Если параметр распознан как клавиша, то учитывается текущая раскладка. Т. е. ‘send q’ при русской раскладке напишет ‘й’. Чтобы узнать текущую раскладку используйте Getlayout. Если параметр не распознан как управляющая клавиша, то он посылается как текст. Т. е. ‘Send qq’ будет распознан как текст и напишет ‘qq’ при любой раскладке. Для нажатия модификаторов Ctrl, Alt, Shift используйте Sendex. Может работать не во всех приложениях, тогда используйте аналог Send217.
Синтаксис
Привязка к окну: необходима. Работа в свернутом окне: да.
Где: — клавиша для нажатия, не односимвольные клаввиши заключается в <>. [пауза] — необязательный параметр, указывается в миллисекундах (1 секунда = 1000 мсек). — если параметр не распознан как управляющая клавиша, то он посылается как текст.
Примеры
Смотрите также
История развития
«Нажать» клавишу и ждать указанное число миллисекунд. Если параметр не распознан как управляющая клавиша, то он посылается как текст. В последнем случае команда работает аналогично команде say, за исключением завершающего Enter’а.
1.07 beta 8 Немного изменена посылка одиночных клавиш командой send и со вкладки Общее. Send посылает текст по одной клавише. можно задавать список клавиш, после первой нераспознанной клавиши, все до конца строки посылается сплошным текстом. если первое слово клавиша, а второе число, то считаем, что это задержка после клавиши.
2.18 Почти полностью переписал ‘send’ и ‘post’. Теперь больше похоже на правду. Они больше не посылают символ как таковой, а нажимают клавишу, на которой этот символ нарисован, соответственно что получится — зависит от того какая раскладка выбрана в приложении. Если нужно, то нажимают модификаторы [Ctrl,Alt,Shift], это к сожалению срабатывает для всей системы, а не только для выбранного приложения. Они теперь работают следующим образом, ‘<>‘ для функциональных клавиш не требуются, но обрабатываются в зависимости от того как указаны.
2.19 Слегка ускорил ‘send’. Поправил отправку функциональных клавиш в ‘send’.
2.29 Немного исправил команду ‘send’ в плане указания клавиш в скобках с пробелами. Теперь:
Однако, если больше одной пары скобок в строке, то:
2.30 Поправил команду ‘send’ при отправке последовательности символов. Приблизил к варианту ‘send217’.
2.34 Убрал вывод в лог отладочной информации командами «send».
Нравится UOPilot? Не дай умереть проекту, помоги его развитию!
Раздел собрал в себе достаточно много действительно необходимой информации, но все так же нуждается в ваших замечаниях, добавлениях и пожеланиях.
Сайт программы UOPilot. На сайте вы всегда можете скачать последнюю версию программы, узнать что нового в последней версии и выразить WKnight (разработчику пилота) свою благодарность (IMG:style_emoticons/default/smile.gif)
Помните, что лучшая благодарность не устная, а звенящая или булькающая! )) Если вам действительно нравится UOPilot, и вы хотите его дальнейшего развития, то не сочтите за труд- зайдите на сайт пилота и поддержите автора в его замечательной работе! Поверьте, он потратил на разработку для вас в сотни и тысячи раз больше времени, чем вы потратите для него! (IMG:style_emoticons/default/wink.gif)
ЗАПУСКАТЬ С ПРАВАМИ АДМИНИСТРАТОРА
Хелпов в пилоте два: ?/Помощь по языку скриптов (основы языка) ?/История развития (самые последние обновления) Wiki для UOPilot — описание различных команд UOPilot и примеры их использования. Можно вносить полезные дополнения/изменения в UOWiki, представившись системе: uouser, uopassword1 Введение в пилотный скриптинг — азы программирования на пилоте. Если вы новичек в программировании на UOPilot, то начните с этой статьи!
Пример: «G:\Хранить вечно\uopilot\uopilot.exe» /s»scripts\TitanQuest mana click 2.1.txt» /s»G:\Хранить вечно\uopilot\Scripts\WOW арена 1,22.txt» При запуске будет загружено 2 скрипта во вкладки 0 и 1. Хочу заметить, что возможны как относительные, так и абсолютные адреса.
2. Выбор клиента:
Пример: «G:\Хранить вечно\uopilot\uopilot.exe» /c»c:\games\uo\client3.exe» Работает только для ультимы. Этот параметр заносит указанную строку в окошко в нижнем левом углу на вкладке разное. Используется для запуска и автологина, когда стоит ограничение на количество юзеров и народ подолгу стоит в очереди.
3. Автоматический запуск скрипта:
«G:\Хранить вечно\uopilot\uopilot.exe» /r0 /r0 запустит 0 скрипт. Вместо 0 просто подставьте номер закладки с нужным скриптом. «G:\Хранить вечно\uopilot\uopilot.exe» /r8 /r10 запустит 8 и 10 скрипты(если надо несколько сразу стартовать) Если надо запустить пилот из bat-файла сразу с запуском скрипта, то в bat-файле можно написать, например, так: start «UOPilot» «D:\Install\UOPilot\uopilot.exe» /s»D:\Install\UOPilot\HeroesWM\ThiefGuild14.txt» /r0 /m (стартовать пилот из указанного места с открытием указанного скрипта (/s) в 0-й вкладке, сразу запустить скрипт с 0-й вкладки (/r0), пилот запускать свёрнутым (/m))
Может пригодится при запуске нескольких версий пилота, либо для запуска с определенными параметрами. Конфиг хранится по умолчанию в uopilot.ini рядом с uopilot.exe. Хочу обратить внимание на то, что загружаемые скрипты и порядок вкладок, тоже является параметром. Т.е. вы можете создать что-то вроде профиля: 1) Сделать резервную копию uopilot.ini (если вы хотите сохранить текущие настройки. 2) Запустите пилот. 3) Загрузите необходимые скрипты. 4) При необходимости измените настройки. 5) Сохраните настройки.(Настройки/Сохранить настройки) 6) Переименуйте uopilot.ini в любое другое название, например MyCFG.ini 7) Создайте ярлык, например «G:\Хранить вечно\uopilot\uopilot.exe» /i «MyCFG.ini». Теперь вы всегда сможете запустить пилот с сохраненными настройками. Например вы можете сделать профиль со скриптами только для Л2 и профиль со скриптами только для ВОВ и обычным кликом по ярлыку загрузить нужные вам скрипты и при желании их запустить ключем /r, рассмотренным выше. —
5. Запуск свернутым:
пример: «G:\Хранить вечно\uopilot\uopilot.exe» /m». Позволяет запускать пилот в свернутом режиме. Если поставить в настройках опцию «сворачивать в трей», то пилот будет свернут в трей.
Привязка При запуске скрипта очень важно сделать правильную привязку к окну с которым вы будете работать. Если этого не сделать, то многие команды не будут рабоать (например send, post), так же будет невозможно использовать относительные координаты(клики мышкой, проверка цвета). Каждый скрипт пилота необходимо привязывать к окну каждый раз перед запуском. Хочу еще раз отдельно обратить внимание, что привязав скрипт №1 к нужному окну, скрипт №2 не привяжется к тому же окну — они работают независимо. Способа привязки всего три: 1) Сделать окно пилота активным, навести мышку на нужное вам окно(мышкой не нажмиать. ), нажать на клавиатуре Ctrl+A. 2) Вставить с скрипт следующие строки: set #handleWin findwindow (ТОЧНОЕ ИМЯ ОКНА) set workwindow #handleWin 3) ‘set #var windowfromcursor’ — помещает в переменную #var хендл окна, находящегося под курсором. Таким образом можно сделать простой аналог нажатия ctrl+a: set #handle windowfromcursor set workwindow #handle Так же с помощью этой функции можно собрать несколько хендлов для последующего переключения между окнами: move x1, y1 set #handle1 windowfromcursor move x2, y2 set #handle2 windowfromcursor move x3, y3 set #handle3 windowfromcursor Достаточно актуально для браузеров, т.к. после каждого обновления страницы привязка окна сбрасывается. Описание данной функции не удалось обнаружить нигде и работоспособность была установлена методом тыка. Возможно это не вся информация.
Внимание! При привязке к окну нужно учитывать, что каждое поле ввода пароля, поиска, каждая флешка в браузере и не только — это все отдельные окна. В том же uTorrent список закачки и список раздач это разные окна. Если вы хотите использовать второй способ для поиска окна вам пригодится InqSoft Window Scanner (отдельно выложен в этом же посте). 1) Запустите WinScanner.exe 2) В левом верхнем углу программы найдите значок прицела, наведенного на окно. 3) Перетащите прицел на нужное вам окно, 4) Нажмите кнопку «Дерево окон» чуть правее поля «Размеры окна». 5) У вас откроется дерево окон с помощью которого вы сможете легко найти целевое окно. 6) Для нахождения окна используйте ‘GetWindow ( )’. возвращает хендл дочернего окна от указанного. второй параметр задает направление поиска Пример:
Сворачивание Для сворачивания пилота можно использовать следующий скрипт:
При его использовании надо внимательно отнестись к указанию имени окна, т.к. оно зависит от версии пилота и настроек. Так же внимательно отнеситесь к количеству пробелов в имени окна. Этот скрипт так же можно автоматически запускать при старте ключем /r (подробнее смотрите выше в описании командной строки).
Если у вас в настройках выставлена галочка «сворачивать пилот в трей», то скрипт будет работать не совсем так же как при ручном сворачивании — будет оставаться окно на панели задач. Для того, чтобы полноценно свернуть пилот в трей используйте следующий скрипт:
Здесь, пожалуй, больше всего возникают проблемы из-за различных тонкостей. Часто возникает ситуация, когда клик не срабатывает. Возможны следующие причины:
1) Выбран неверный способ эмуляции. Существует 3 способа: simple/k/p (например: left, kleft, pleft соответсвенно). Мозилла воспринимает только k эмуляцию. Другие приложения зачастую так же придирчивы к методу эмуляции. Попробуйте их по очереди и найдите тот, который работает в вашем случае. 2) Так же причиной могут стать особенности приложения. Попробуйте сначала переместить мышь на место клика командой move. Так же встречаются особо вредные приложения в которых необходимо поводить мышкой по нужной вам кнопке: делаем move на объект по которому будем производить клик, затем снова делаем move на тот же объект, но в соседнюю точку (просто сместите координату в которую перемещаете на 1 по оси x или y), после этого нажимайте на объект в координатах второго перемещения. Т.е. будет выглядеть примерно так: move 100, 200 move 101, 200 left 101, 200 3) Приложение не успевает за пилотом. Поставьте задержку в проблемной части скрипта между строк «wait 1000». Это достаточно большая задержка (1 секунда) и ее должно хватить, чтобы выявить проблему, если она именно в скорости обработки приложения. После выявления рекомендуется путем проб и ошибок найти оптимальное значение, чтобы скрипт не был очень медленным, но и не давал осечек. 4) Работа с мышкой возможна только в окне, которое на переднем плане. Т.е. мышка будет кликать только по тому, что вы видите сами. В свернутое окно нажатие не возможно, так же не возможно в окно, которое вы в момент нажатия не видите. Например, если вам необходимо нажать что-то в браузере, а у вас идет фильм на весь экран, то нажатие будет по фильму. Как вариант решения данной проблемы — вы можете установить виртуальную машину, например, VMware. В виртуальной машине вы установите операционную систему и там запустите пилота и ваше приложение (официальный клиент LineageII невозможно запустить из под машины). Таким образом сворачивать вы будете уже не приложение в которое вы посылаете нажатие, а виртуальную машину, что не скажется на работе. Однако хочу заметить, что внутри машины сохраняются выше описанные правила, т.е. целевое окно в машине должно быть развернуто и на переднем плане.
Несколько общих советов по мышке:
1) Работа с мышкой не столь стабильна, как с клавиатурой и вероятность сбоя выше. При возможности используйте клавиатуру. Например, если вы нажимаете скилл в игре и его можно нажать как мышкой так и клавиатурой — без раздумий выбирайте клавиатуру. 2) Если необходимо нажатие с зажатой клавишей: left 123 234 [abs] [
— с шифтом ^ — c контролом r — одновременно с правой l — с левой m — со средней если указано несколько модификаторов, то должны быть написаны слитно друг с другом работает для всех кроме тех, что с приставкой ‘k’ с альтом просто так не работает, придется его сначала зажимать сендэксом: sendex @<> Для отпускания альта нажмите любую клавишу(например, sendex q).
соответственно. 8) Если вам нужно в скрипте проверить, что нажата какая-либо комбинация кнопок, то можно воспользоваться программой Misc Uopilot. Эта программа умеет выполнять большое количество операций пока что недоступных пилоту (включая работу с вещественными числами), обмениваясь с пилотом информацией через буфер обмена.
‘set $var GetLayout’ — возвращает раскладку клавиатуры в переменную $var. Хочу обратить внимание на то что возвращаются только последние 4 числа из 8 определяющих раскладку, так же не смотря на то, что стандартный русский и английский имеют значения 00000419 и 00000409, они являются шестнадцатеричными и другие раскладки могут содержать буквы A-F, следовательно стоит использовать строковую переменную ($), а не числовую (#). В случае не стандарной раскладки настоятельно рекомендую выполнить: set $a GetLayout msg $a т.к. значение может быть неожиданным, например для языка a0000419 раскладка возвращается не 0419, а F0C0.
‘set #var windowfromcursor’ — помещает в переменную #var хендл окна, находящегося под курсором. Таким образом можно сделать простой аналог нажатия ctrl+a: set #handle windowfromcursor set workwindow #handle или сразу: set workwindow windowfromcursor
Так же с помощью этой функции можно собрать несколько хендлов для последующего переключения между окнами: move x1, y1 set #handle1 windowfromcursor move x2, y2 set #handle2 windowfromcursor move x3, y3 set #handle3 windowfromcursor Описание данной функции не удалось обнаружить нигде и работоспособность была установлена методом тыка. Возможно это не вся информация.
‘set priority ‘ — данная команда описана, но не полностью. Устанавливает приоритет 1|2|3 — нормальный, высокий, максимальный. Так же может принимать значение 0 — пониженный приоритет. Особенно бывает полезно, если вы используете нулевые задержки между строк — пилот не повесит систему. ‘current_script’ добавил переменные, возвращающие номер закладки текущего ‘current_script’ и активного ‘active_script’ скрипта.
Этот раздел может пригодиться. если в силу каких-то причин вы используете не последнюю версию пилота.
Если закрыть окно логов нажатием на крестик, то открыть его уже не получиться — вылезет ошибка. Чтобы ее избежать используйте set logging close — это без вреда закроет окно лога, можно запустить из любого скрипта(в том числе из только что созданной закладки). Если все же закрыли окно нажатием на крестик, то поможет только перезапуск пилота. Если зайти в настройки, то чуть ниже «показывать все окна» будет пустая строка, можно поставить галочку нажав на нее. Эта строка отвечает за название окна — вместо «UoPilot» будет «УоПилот». Помогает для скрытия пилота от античитерских программ.
При работе нескольких скриптов, которые друг друга останавливают и запускают снова — вылетает ошибка. Пока ждем фикса — можно решить следующими способами: 1) Можно создать процедуру которая будет запускать/останавливать скрипт.
3) Ну и очевидный совет. Зачастую можно обойтись без нескольких скриптов, сделав один большой без каких либо потерь по производительности и функциональности. Задумайтесь, не Ваш ли это случай?
Лог открывается левее окна пилота. Если пилот был придвинут к левому краю экрана, то лог может оказаться за пределами экрана. Но это не страшно, т.к. в самой команде открытия лога можно задать координаты: set logging open 0 0 Если вы уже открыли окно логов и вам его нужно перетащить, то сначала закройте его: set logging close set logging open 0 0
История развития тоже открывается справа или слева от окна пилота(куда поместится — там и откроется). Если растянуть окно пилота во всю ширину экрана, то открывшаяся история развития будет за пределами экрана. Для того чтобы ее увидеть просто уменьшите размер окна пилота по горизонтали и дважды нажмите «?/Исторя развития».
Kleft не смотря на галочку «Настройки/Возвращать курсор после кликов мышью» не вернет ее на место. Два решения: 1) move x, y kleft x,y Как это взаимосвязано остается только догадываться, но это работает. К тому же при такой реализации будет более корректное нажатие, что позволит в некоторых приложениях избежать проблем с несрабатыванием клика. Компенсация бага «фичей» не лучшее решение, т.к. это может перестать работать со следующими версиями. 2) get mouse_pos x1, y1 kleft x2, y2 move x1, y1 Этот вариант несколько медленнее, но более корректный и шанс что со следующими версиями пилота перестанет работать ничтожен.
В версиях 2.18 и выше отвалился поиск в истории развития. Для того чтобы было удобно пользоваться справкой можно просто скопировать весь текст в блокнот. Так же можно скачать текстовый файл с историей развития https://forum.uokit.com/index.php?act=A. post&id=894 .
В версии 2.18.8 появились проблемы с изменением переменных других скриптов. Поясняю: set #a.5 123 — работать не будет. Но вы можете продолжать использовать считывание переменной из другого скрипта: msg #a.5 — ошибок не вызовет. Так же для обхода данного бага в некоторых ситуациях вы можете использовать следующую конструкцию:
В пилоте поддерживается вложенный вызов процедур. Но если процедуры располагаются в теле скрипта — это вызовет ошибку. Для корректной работы необходимо вынести данные процедуры в файл процедур(скрипт/открыть файл процедур), он всегда является 99 вкладкой.
На Win7 и возможно висте, если при выполнении кода: while 14, 1 2967129 and 14, 79 2241858 and 205, 24 5856608 and 203, 59 8288627 and 377, 16 9676461 and 378, 78 5266012 wait 1 end_while навести мышкой на панельку включения выключения скриптов и их нумерацию, то цикл прервется.
Ниже приведены небольшие программки и скрипты, которые либо расширяют функционал пилота, либо могут облегчить процесс написания скриптов.
Тема на форуме Misc Uopilot ловит из буфера спец ключ misc и то что после него исполняет, функции и синтаксис должны быть на GML (это JS подобный язык в движке Game Maker). Все скрипты примеры выполняется при запущенной программе.
Окошко с возможностью отображения 4х строк на своей поверхности:
Выключается нажатием искейпа если активно его окно, либо из скрипта:
Изменение размера окна миска:
Выполнение: Выполнение кода в миске происходит 1 раз при таком обращении:
Выполнение:(способ 2) Отличие лишь в том что при таком обращении код помещается не в буфер а в заголовок окна миска, где он успешно отлавливается и выполняется, затем заголовок возвращается в исходное состояние:(misc_uopilot).
Графика на экране: Есть функции рисования которых нет в документации (потому что они из дллки), полезны тем что в отличие от стандартных позволяют рисовать вне окна то есть в любом месте экрана: (линии, текст, прямоугольники)
Пример обратной связи:
Screen Scanner (cscan.exe)- аналог findcolor (в UOPilot), но обладает гораздо большими возможностями.
Плюсы и минусы по сравнению с findcolor: Минусы: — внешняя утилита, а значит не встроена в сам пилот и обмен данными со скриптом происходит не совсем естественным образом (через файл или буфер обмена); — приходится искусственно задерживать ход выполнения скрипта пока не будут получены данные от программы- см. пример скрипта в конце 1-го сообщения в теме программы (в findcolor скрипт сам «притормаживает» в строке поиска).
Плюсы: — любые параметры — границы области поиска, шаг поиска. цвета поиска и т.д. можно задавать в виде переменных; — можно искать прямоугольные изображения из указанных графических файлов; — можно производить поиск как до первой подходящей точки (ускорение работы), так и до любого указанного количества (параметр -plimit); — можно указывать один или несколько цветов для поиска через запятую; — можно указывать цветовые диапазоны для поиска; — можно указывать отдельные значения и диапазоны цветовых RGB-каналов для поиска; — можно комбинировать все вышеперечисленные методы поиска через запятую; — возвращаются координаты найденных точек без всяких дополнительных смещений (как есть); — можно вместо координат и цветов точек просто получить количество подходящих пикселов (параметр -pcount); — можно искать координаты области, ограничивающей все пиксели всех указанных цветов (параметр -crop); — можно изменять шаг поиска по осям X и Y(как и в findcolor), что реально ускоряет поиск (параметры -dx, -dy); — можно изменять порядок проверки пикселей по осям X и Y (указывая -dx или -dy меньше нуля); — можно опускать ненужные параметры — программа примет значения по умолчанию; Подробное описание/задать вопрос
Эта программа позволяет не только просматривать большое количество параметров окон, таких, как размеры, видимость, текст и имя класса окна, но и изменять многие из них. Кроме того, программа способна строить дерево окон, просматривать главное меню окон, управлять потоками и процессами, включать отключенные пункты меню и многое другое. Кроме того, InqSoft Window Scanner включает в себя инструменты для решения некоторых специфических задач, таких. как: захват содержимого окон с экрана, захват цвета нужного пикселя, принудительное извлечение данных из окон, редактирование памяти процесса и многое другое. Так же это программа может пригодиться для привязки пилота к нужному окну. Более подробно это описано в разделе «Запуск скрипта», пункт «привязка». Скачать c сайта InqSoft_Window_Scanner_1.7.zip ( 1,22 мегабайт ) Кол-во скачиваний: 13141
Если UOPilot не работает/не кликает/не печатает/не находит цвет, то прочтите этот пост.
На форуме есть огромное количество примеров работающих скриптов. Прежде чем спрашивать — как работает та или иная команда — воспользуйтесь ссылкой «Поиск» вверху окна форума! Также желательно просмотреть эту тему до конца и посмотреть хелп в пилоте. Там тоже есть поиск.
Нашел способ уничтожить массив. set $a findcolor ( 1, 1 2, 2 1 1 167772150 %arr 1) Цвета 167772150 существовать не может, т.к. максимум 16777215, а у нас еще нолик лишний. Вот такая вот извращенная фича, но бывает полезной.
Вставляю этот код в мой скрипт, но ничего не изменяется. Стандартное название окна «UoPilot v2.18.8 WK». После кода «изменения названия окна» у меня стоит код
Продолбался немало времени пока понял, что процедуры, которые вызываются с помощью call абсолютно закрыты для основного скрипта. Параметры в них передать можно, а вот из них получить назад в скрипт не получается ничего! Причем даже если в такой процедуре использовать имя глобальной переменной скрипта — эта переменная останется неизменной при выходе из процедуры! Даже параметры процедуры передаются только в неё, но не возвращаются назад. Вот такие загадочные эти процедуры, прям чёрные дыры какие-то ))