парни подскажите как изменить что бы в конце скрипта находить не следующее слово а следующую строку
load_array %phone D:\uopilot\33.txt //загрузили массив set %result indexof (%phone noabs case (phone:)) //нашли все строки где есть слово Phone:
if size(%result) > 0 set #z %result[size(%result) 1] log #z - номер последней строки, в которой нашёлся текст else log текст на найден stop_script end_if
init_arr %a (1) %phone[#z 1] //разбили нужную строку на элементы (если текстовый файл создан не пилотом) //%a [1 1] - это будет первое слово из строки //%a [1 2] - второе //и т. д. //перебираем строку и ищем слово phone: for #i 1 size(%a [1]) if %a [1 #i] = phone: set #y #i + 1 break end_if end_for log следующее слово после phone: %a [1 #y] set %b [1] %a [1 #y] save_array %b D:\uopilot\34.txt //сохранили массив stop_script
А помимо переносов содержимое полное? Возможно причина в каком-то ограничении на объем строковой переменной. Возможно имеет смысл буфер записывать в массив с параметром sting.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
А помимо переносов содержимое полное? Возможно причина в каком-то ограничении на объем строковой переменной. Возможно имеет смысл буфер записывать в массив с параметром sting.
да вписывает полные строки , но только первые 50 (строк всего 500) , get clipboard $a копирует полный текст , вручную вставляется всё
get clipboard $a копирует полный текст , вручную вставляется всё
он ничего не копирует. Он буфер сохраняет в переменную. Как вы приходите к выводу, что в переменной полный буфер? Я уже сказал про массив, cirus привел пример для массива.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
ещё один вопрос , можно ли вписать текст в скрипт uopilot ... при перезагрузке окна меняется его имя set #handleWin findwindow (имя) ,имена окон имеются в txt
Можно искать не по имени, а по классу окна. Если не найдет пилот, есть плагин, в разделе плагины. Либо подгружать файл с именами, файл со скриптом, менять имя в findwindow, сохранять срипт и потом загружать его же через load_script.
Либо подгружать файл с именами, файл со скриптом, менять имя в findwindow, сохранять срипт и потом загружать его же через load_scrip
Либо подгрузить список и перебрать: что нашли - то и наше. Как вариант можно искать по части имени окна. Т.е. если начало везде одинаковое, то можно обойтись этими символами.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
load_array %phone D:\uopilot\33.txt //загрузили массив set %result indexof (%phone noabs case (phone:)) //нашли все строки где есть слово Phone:
if size(%result) > 0 set #z %result[size(%result) 1] log #z - номер последней строки, в которой нашёлся текст else log текст на найден stop_script end_if
init_arr %a (1) %phone[#z 1] //разбили нужную строку на элементы (если текстовый файл создан не пилотом) //%a [1 1] - это будет первое слово из строки //%a [1 2] - второе //и т. д. //перебираем строку и ищем слово phone: for #i 1 size(%a [1]) if %a [1 #i] = phone: set #y #i + 1 break end_if end_for log следующее слово после phone: %a [1 #y] set %b [1] %a [1 #y] save_array %b D:\uopilot\34.txt //сохранили массив stop_script
вопросик , как можно заменить найденное слово на другое
это я всё перепробовал , нужное слово меняет в нужной строке , но при сохранение сохраняет только ту строку а не полный текст документа (несколько строк) set $g string_replace ($ik $jek слово)
От того что вы подменили слово в строковой переменной на массив никак не повлияло. Дописывайте эту строку в нужное место в массиве, а потом сохраняйте его.
Код
set %b [1 1] $g //запишет содержимое переменной '$g' в первую строку массива.
От того что вы подменили слово в строковой переменной на массив никак не повлияло. Дописывайте эту строку в нужное место в массиве, а потом сохраняйте его.
Код
set %b [1 1] $g //запишет содержимое переменной '$g' в первую строку массива.
спасибо за помощь , но буду пробовать другие варианты