|
|
  |
Новая Версия Uopilot v.2.40 (05.11.2017), Официальный сайт. Скачать. Последняя версия. |
|
|
sutra |
15.11.2018, 2:15
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Цитата access violation Вот что значит церковно-приходская школа. А это что такое? Доступ к чему? Доделал сегодня большой блок на lua. Конечно скорость промежуточных, вспомогательных (ну в общем for-ов и if-ов) вычислений супер. В остальном не вижу преимуществ, пожалуй даже наоборот. Так-что наверное Кнайт прав, для людей неподготовленных, сочетание Пилотовского языка и lua может стать неплохим вариантом решения своих задач. Лично я конечно перейду на lua, но только теперь уже забываю Пилотовский язык, в голове видимо только рефлексы остались. Переход на lua отучил меня думать, раньше придумывал логику, как избежать ненужных вычислений. А на lua сделал скрин в память, проверил сразу всё (что надо и не надо) без всякой логики, скорость позволяет.
|
|
|
|
sutra |
15.11.2018, 2:27
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Хотя - логика - это сильно сказано, под логикой я подразумеваю, что раньше запоминал какие клавиши жал, куда мышкой кликал, теперь всё это кануло в лету. Наплевать куда кликал, всё сразу анализируется. Цитата Ну написан там адрес в памяти, адреса после перезапуска меняются Адреса чего? Всё-таки видимо надо запоминать, хотя бы адреса. Дарк, ты что-то супер-пупер программируешь, мне до этого как до Парижу, хотя мне наверное супер и не надо.
|
|
|
|
DarkMaster |
15.11.2018, 2:33
|
          
Модератор UOPilot
Сообщений: 9.764
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29941
Пользователь №: 11.279

|
Цитата Конечно скорость промежуточных, вспомогательных (ну в общем for-ов и if-ов) вычислений супер. В целом считается примерно 1/3 от си. Цитата В остальном не вижу преимуществ, пожалуй даже наоборот. Я вас уверяю, вы просто не наступали на те грабли, которые есть в пилоте и они глобальные. Отсутствие экранирования символов, проблемы сложения строк и паразитные пробелы, отсутствие полноценных функций (с call связываться боюсь - все очень сильно аукалось), общее пространство имен. Про общее пространство имен вообще отдельный разговор. Вы представляете себе скрипт на пару тысяч строк состоящий, как и любой другой, на 90% из обработки координат, цветов, кликов и при этом ни в одном for не повториться с именем итератора? Маслом по маслу маслянному, но масло (i) сказать нельзя, т.к. где-нибудь в другом месте индексы съедут. Пилотовский синтаксис практически невозможно структурировать. Если скрипт строк 300-500, то еще все аккуратно можно сделать, когда же скрипт переваливает за 1-2к строк, а время его поддержки/разработки за пару месяцев-полгода, то бывает очень весело перед созданием новой переменной проявляеть недюжую фантазию, а потом проверять не повторилась ли эта фантазия. Пилотовский язык прост, удобен, но только при небольших объемах и, если не касаться некоторых типов обработок (парсинг, например). Цитата Адреса чего? Памяти. Чего же еще? =)
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
sutra |
15.11.2018, 2:48
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Цитата Пилотовский язык прост, удобен, но только при небольших объемах Согласен, я и говорю ты пишешь СУПЕР-ПУПЕР. Про структурирование полностью согласен. Я то вообще в этом плане дедушка. Но я помню как всё пытался привести к логичному, структурированному коду. Сначала написал функцию вывода точки на экран, потом написал функцию вывод прямой (с использованием функции вывода точки). Обработка ошибок. Даже в 90-е годы у меня ошибки на вводе отсекались. Если недопустимо вводить отрицательное число, сколько минус не жми, не введётся. Если заложен ввод 2-х разрядов после запятой, сколько не жми 3-й разряд не введётся. Раньше возможностей было мало, но мы "вылизывали" код. Автоматический перевод (если перепутал расклад клавы). Автозаполнение при вводе текстов, использование словарей, индексов, кеширование сначала памяти (так как была 16 разрядная, ну типа 20 разрядов, сегмент и смещение) кеширование винта. Мы всё это делали намного раньше буржуев. Уже в 91 году у меня были наработки. Потом, пришлось бросить компьютеры, вот теперь в удовольствие пытаюсь осваивать новые технологии.
|
|
|
|
DarkMaster |
15.11.2018, 2:55
|
          
Модератор UOPilot
Сообщений: 9.764
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29941
Пользователь №: 11.279

|
В этом и суть. Пилот - это кладезь недокументированных возможностей и невылизанных моментов, lua же вылизан и четко описан. Вылизывание занимает очень много времени. Реалии таковы, что вылизывать код будешь разве, что для себя - люди не готовы тратить на это время. Для себя вылизывать зачастую смысла не так много, т.к. человек с мозгами едва ли будет вводить что попало, разве, что тестер. Ирония в том, что эти "невылизанные" моменты в итоге приводят к падению серверов, когда человек использует вполне легальное и описанное API макросов. Вот и получается, что вылизывание сейчас - это для себя получая удовольствие от качественного конечного продукта.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
sutra |
16.11.2018, 13:21
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Вынужден свернуть все работы по переходу на lua. Обработка изображений в памяти невозможна. Читать байтами слишком медленно, а строками невозможно. Сия конструкция не работает ss=readmem(ind,"s",numbyte,h) Точнее работает пока не наткнётся на нуль или 255 байт. И то и другое считает концом строки и не читает ВСЕ положенные numbyte.
А вообще и строками читать тоже не самый лучший вариант, вот если бы сразу весь массив получить, тогда бы я и блоху, скачущую по экрану 100 пиксельными прыжками отловил.
Не совсем я понял эти строки, с одной стороны, как в старом паскале мерилом строки является нулевой байт, а с другой совершенно иная интерпретация конца строки, так возникает вопрос, а почему тогда ограничение в 255 байт?
Конечно можно извратиться и читать непрочитанное байтами, но как-то не эстетично будет, да и опять же лишние тормоза.
Кнайт, сделай пожалуйста мувик (move) без анализа содержимого.
Не совсем корректно написал, первый байт со значением 255 читает.
|
|
|
|
DarkMaster |
16.11.2018, 23:47
|
          
Модератор UOPilot
Сообщений: 9.764
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29941
Пользователь №: 11.279

|
Код local rmem = require "ffi".cast
print = log print "clear" print "mode compact"
local a = getimage(694, 146, 708, 155) log (a)
log (readmem(a, "b")) log (rmem("char*", a)[0])
local t = os.clock() for i = 1, 1000 do local tmp = readmem(a, "b") end log (os.clock()-t)
local t = os.clock() for i = 1, 400000000 do local tmp = rmem("char*", a)[0] end log (os.clock()-t) Хвтати тебе скорости?) Сообщение отредактировал DarkMaster - 17.11.2018, 0:04
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
|
  |
9 чел. читают эту тему (гостей: 9, скрытых пользователей: 0)
Пользователей: 0
|
|