Здравствуйте, гость ( Вход | Регистрация )

76 страниц V « < 27 28 29 30 31 > »   
Тема закрытаОткрыть новую тему
> Пожелания, Предложения по развитию сюда
DarkMaster
сообщение 15.11.2012, 12:43
Сообщение #561


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



И вниз совместимо.

Просто поправить примеры, вопросов меньше будет.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 21.11.2012, 17:36
Сообщение #562


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Предлагаю добавить функции keypressed(key_scancode) и mousepressed(button_number), которые возвращают 1, если нажата соответствующая клавиша/кнопка.

Благодаря этому можно будет создавать свой обработчик событий (отдельный скрипт будет быстро крутиться и проверять состояние нужных кнопок. Если они нажаты - будет запускать соотв.скрипт)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 21.11.2012, 17:52
Сообщение #563


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



Угу. И будет гонка успел скрипт задетектить нажатие или пропустил. Изначально ошибочный подход. Вариант с возможностью назначать хоткеи в теле скрипта для выполнения функций решил бы все проблемы. Нажал, сработал хоткей, выполнилась фунция, скажем:
:next {F1}
set #freeze 0
end_func
Получаем тот же результат с гораздо большим функционалом, отсутствием костылей и без потенциальных глюков.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 21.11.2012, 18:03
Сообщение #564


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Проверка нажатых клавиш в любом случае не помешает


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.11.2012, 0:45
Сообщение #565


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



Кнайт, пожалуйста, сделай что-то с kleft217. Ну это издевательство сидеть на 2.17, когда рядом такая сказка. При этом еще и писать зачастую приходится в 2.31/2, потом портировать вниз и смотреть, что отвалилось. Там даже лога нет(.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 26.11.2012, 8:41
Сообщение #566


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Есть такая замечательная команда findimage, а мне вдруг придумалось каким замечательным образом можно её улучшить. (IMG:style_emoticons/default/smile.gif)
Кратко: добавляем возможность искать картинку, по данным содержащимся в массиве типа
x1 y1 color1
x2 y2 color2
...
xn yn colorn

Подробнее:
Фактически мы ищем картинку, проверяя отдельные точки на экране на цвет и их взаимное расположение. Но зачем для этого держать на диске отдельный файл с картинкой и проверять множество точек, если в 99% случаев достаточно проверить относительное взаимное расположение и цвета 2-5 точек изображения!

Пример использования:

// Здесь цвет 111111 указан как прозрачный, т.к. координаты пикселя = (1, 1)
// Здесь по 3 точкам ищем картинку размером 5x6 пикселей! точка (1, 1) только задает прозрачный цвет, не более!
init_arr %img (1 3) 1 1 111111, 101 101 123456, 105 106 6478736, 101 106 6688732
set $check FindImage ($startX $startY $endX $endY (%img) %crds 2 80 20 5)

Если в %img хранится не имя файла с расширением, то полагаем, что там находятся относительные координаты и цвет отдельных точек изображения.
Первый вариант реализации:
В этом случае сразу проверяем [1,1] элемент массива - задан ли в нём пиксель с координатами (1, 1), содержащий "прозрачный" цвет. Если задан, то учитываем это в дальнейшем анализе.
Далее ищем в указанной области экрана пиксел цветом подходящим под первый значимый элемент массива %img (но не [1 1]). Если такой пиксел найден, то последовательно проверям цвета точек экрана для остальных значимых элементов массива %img с учетом их относительного расположения. При этом нужно учитывать такие параметры команды, как deviation и прочее.

Другой вариант реализации моего предложения- по данным массива построить "виртуальную" картинку, и все пустые элементы массива %img заполнить "прозрачным" цветом = значению %img[1 1]. Возможно, так будет проще в реализации, но несколько дольше в поиске.

В любом случае мы избавляемся от хранения лишних файлов на диске и постоянного обращения к диску в процессе работы скрипта.
Обязательно нужно выдавать предупреждающие сообщения и сообщения в лог, если массив %img не содержит необходимой информации (координаты+цвет), а также указывать что именно и в каком элементе массива %img находилось, из-за чего возникла ошибка и прерывание работы скрипта!

Такая же ошибка должна генерироваться (что не так + где именно!), если указаны неверные данные в команде findimage и findcolor - иначе это затрудняет разработку!

Сообщение отредактировал Zeleax - 26.11.2012, 9:22


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 26.11.2012, 12:28
Сообщение #567


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Там сейчас должно быть нечто среднее между предложенными двумя вариантами.

Не уверен, что нужна заморочка с %img[1 1].

Про регэкспы:
Цитата
"С поддежкой модификаторов, т.е. чтобы сожрало, например, /myregexp/isu."
Это что такое? Я в них не особо понимаю, вот такая например конструкция работает "\b(?:\d{1,3}\.){3}\d{1,3}\b"


kleft после 217 по каким координатам не работает, абсолютным, относительным или вообще?

Цитата
Zeleax Сообщение #536|
Цитата(WKnight @ 4.11.2012, 19:16)
А что он сообщает сейчас? По идее должно не сильно отличаться от обычного скрипта.

(10): Символ не распознан (pos:21)
(Не была инициализирована переменная в процедуре)
и делай с этим что хочешь, особенно если ошибка возникла в случае вложенного вызова второй процедуры ))
Сделал, что при выводе сообщений в лог из процедур, номер строки отображается относительно основного скрипта, а не тела процедуры.

после 'pos:21' добавил вывод чего именно не распознано, правда только в команде 'set', хз где оно еще выводится.

Цитата
Кстати, сейчас даже при параметрах вывода в лог "по-умолчанию" там вообще всё порезано, если вызывать логирование из процедуры (proc).
У меня только имя скрипта не выводится, ибо его нет у процедуры.
Мне бы примерчик, как есть и как и чего хочется.

Цитата
zavas Сообщение #360|
Очень хочется видеть в окне "параметры чара" отображение массивов.
Идейку бы в каком виде...

Цитата
DarkMaster Сообщение #85|
Ну и заодно хотелось бы избавиться от абсолютного адреса при сохранении скринов.
Дык оно и командой и так понимает относительные пути.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 26.11.2012, 12:37
Сообщение #568


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(WKnight @ 26.11.2012, 12:24) *

Там сейчас должно быть нечто среднее между предложенными двумя вариантами.
Не уверен, что нужна заморочка с %img[1 1].

Я тоже думаю, что эта заморочка не обязательна. Предложил только для обратной совместимости на всякий случай.

Важный момент в предложении по findimage- то что координаты пикселов в массиве для поиска задаются относительными. Т.е. роль играет только то насколько координаты смещены друг относительно друга.
Например задать в массиве для поиска:
init_arr %img (1, 3) 100 100 12345, 105 106 54321
абсолютно равнозначно для findimage следующему:
init_arr %img (1, 3) 0 0 12345, 5 6 54321

И еще - желательно проверять точки в порядке, в котором они следуют в массиве %img, тогда можно оптимизировать поиск вручную, задав в начале массива наиболее редкие цвета для проверки.

Картинку можно будет задавать просто взяв с неё 2-5 различных точек по Ctrl+A и записав эти данные в команде init_arr, что значительно облегчит написание скриптов (и не нужно будет возиться с файлами картинок).

Сообщение отредактировал Zeleax - 26.11.2012, 16:09


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 27.11.2012, 19:00
Сообщение #569


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



3 кнопки:
1) Вкл/выкл слежения за скриптом. Жрет много ресурса, но надо бывает включить, чтобы понять что заглючило. Лезть далеко не хочется.
2) Кнопка активирующая set logging commands для текущего скрипта.
3) Кнопка Log, которая, как не удивительно, открывает/закрывает лог. Нечего делать ей в "?".

Прямо кнопки, прямо на интерфейсе пилота.

Сообщение отредактировал DarkMaster - 27.11.2012, 19:07


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 28.11.2012, 1:54
Сообщение #570


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Цитата
Прямо кнопки, прямо на интерфейсе пилота

Нарисуй как ты это видишь (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.11.2012, 6:53
Сообщение #571


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



Цитата
Нарисуй как ты это видишь smile.gif

Напросился. Шрифты в кнопках подогнать не дал движок.
(IMG:http://s018.radikal.ru/i525/1211/f0/7b120ffd69ca.png)

Сообщение отредактировал DarkMaster - 28.11.2012, 7:15


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 28.11.2012, 8:51
Сообщение #572


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



Размер вкладок увеличен сознательно. Старт/стоп прев/некст так же как сейчас стрелками. Прев/некст размер подгнать под вкладки.

Честно говоря ждал расстрела... Или какой-то конструктивной критики, если повещет, но никак не полной тишины...

Проект похерился, доделать не смог. Хотел покрутить блок автовставки и под него вставить кнопку слежения за ходом скрипта. Так же был вариант сделать не кнопку, а галку рядом с s-b-s выполнением. Посмотреть как будет лучше не получилось(


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 2.12.2012, 8:58
Сообщение #573


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



Поиск пути к дочернему окну. Вводится 2 хендла. Пилот от хендла 1 к ищет путь к хендлу 2, в скрипт вставляется код. Что-то вроде вставки координат.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 2.12.2012, 16:39
Сообщение #574


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Цитата
Честно говоря ждал расстрела...

Еще обдумываю. Часть вроде расположил. Подгоняю, туда-сюда перетаскиваю.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.12.2012, 0:59
Сообщение #575


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



По поводу кнопки слежения за скриптом была идея вплотную ее предвинуть к редактору скрипта и сделать чуть потоньше. Что-то напоминающее заголовок вкладки.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 3.12.2012, 1:38
Сообщение #576


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Лучше придумай как ее обозвать, чтоб понятно было что это за кнопка (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.12.2012, 6:48
Сообщение #577


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29718
Пользователь №: 11.279



прокрутка
слежение
следедить


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Microsoft
сообщение 3.12.2012, 8:12
Сообщение #578


***

Novice
Сообщений: 68
Регистрация: 2.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.253



Добавьте возможность проверки сообщений в плане не соответствия. Пример

set $msg 0
set $or ore // You put the *** ore
set $ma marble // You put the marble ore

while_not ($msg <= $or) and ($msg <> $ma) // То есть скрипт сработает если в сообщении есть слово ore но не сработает если будет слово marble. Такой вариант ($msg <> $ma) сейчас не возможен, во всяком случае с неполным сообщением как здесь, а нужно именно так.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 3.12.2012, 8:31
Сообщение #579


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(Microsoft @ 3.12.2012, 9:12) *

Добавьте возможность проверки сообщений в плане не соответствия. Пример

set $msg 0
set $or ore // You put the *** ore
set $ma marble // You put the marble ore

while_not ($msg <= $or) and ($msg <> $ma) // То есть скрипт сработает если в сообщении есть слово ore но не сработает если будет слово marble. Такой вариант ($msg <> $ma) сейчас не возможен, во всяком случае с неполным сообщением как здесь, а нужно именно так.

Лучше было бы добавить возожность отрицания (NOT) в выражениях:
if (#a = #b ) and NOT ((#a = 5) or (#a = 7) )

А то что вы просите и сейчас можно сделать через костыли:
Код
if $msg <= $ma 
   set #a = 1
else
   set #a = 0
end_if
while (#a = 0) and ($msg <= $or)
...
  if $msg <= $ma
     set #a = 1
  else
     set #a = 0
  end_if
end_while


И мой вам совет - как можно меньше используйте while_not (if_not) с составными логическими выражениями- меньше голова болеть будет )

Сообщение отредактировал Zeleax - 3.12.2012, 8:33


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Microsoft
сообщение 3.12.2012, 8:37
Сообщение #580


***

Novice
Сообщений: 68
Регистрация: 2.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.253



Цитата(Zeleax @ 3.12.2012, 7:31) *

Лучше было бы добавить возожность отрицания (NOT) в выражениях:

Таки да. Будет то что нужно. И еще журнал бы как у инжекта, который пишет все сообшения сферы.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

76 страниц V « < 27 28 29 30 31 > » 
Тема закрытаОткрыть новую тему
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 25.7.2025, 17:15
Designed by Nickostyle