|
Помогите освоить LUA |
|
|
|
  |
Ответов
DarkMaster |
27.10.2018, 14:00
|
          
Модератор UOPilot
Сообщений: 9.742
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29647
Пользователь №: 11.279

|
Цитата Да вот только сам по себе луа пустой. Классы этого никак не меняют. Цитата Его сфера применение - встраивание. И справляется на самом деле очень неплохо. Тем не менее есть те же сокеты, биндинги под wxWidgets и Qt. Т.е. на нем пишут. Его распространненость скорее следствие работы не шибко большой группы и отсутствия макетинга. Это не Google который штампует языки и на них _будут_ писать вне зависимости от качества продукта. Цитата Класс - удобно, красиво, хоть иногда и громоздко. Тут холивар может быть очень большим. Я не сторнник ооп. Да, оно бывает в определенных ситуациях нужно, но количество этих ситуаций и количество "написал на классах потому, что модно и современно" я не считал. Для меня очень неожиданно было, когда случайно наткнутся на статистику кода в линях: кода на чистом си оказалось в 2.5 раза больше, чем на плюсах. Заставило задуматься на самом деле. Цитата А луа сегодня есть, завтра нет...отсюда как бы еще и вытекает вопрос а зачем собственно и переучиваться на луа и вникать в него, если он не востребован практически нигде(по сравнению с питоном, js и другими) ? У него есть своя ниша в которую он плотно засел - геймдев. Сейчас по сути он там стандарт. Тот же wow по части аддонов полностью на нем написан (это просто дикий объем кода - их сотни тысяч), GTA вся логика на lua описывается. Причем если вов был изначально такой, то переход на lua такой большой корпорации, как Rockstar не мог не быть тщательно взвешан. Так же в обработке траффика его частенько используют - nginx, wireshark. Это маркеры. Серьезные проекты и встаривание в них было вполне успешным. Да, язык не топ популярности, но ниша занята, его там никто не теснит, а нужное он делает на 5. Зачем переучиваться? Ну я, например, знаю одну студию разработки в которой плюсовики нафигачили кода с классами и кучей переназначений в метатаблицах. Т.е. использовали возможности языка на все 100%. Вот только когда приходишь со своим самоваром в другой язык, то не очень хорошо получается в плане результа. Потом команда сильно разосралась, т.к. натуральным луашникам этот изврат не очень нравился, а плюсовикам было все пофигу и пальцы веером. В итоге выкинули всех за не совсем адекватность, уже год ищут луашников именно для переписывания всей этой крутоты на классах. Обрывки кода видел лично - искать где, что править в 10 раз переназначенных метаблицах полный бред. Это нужно делать либо тому человеку, который это писал, либо сидеть с маном в котором вся структура чуда. Луа не святой, есть свои огрехи, си я уважаю больше, асм еще больше, но у всего есть ниша и причины почему ни один язык не стал универсальным и доминирующим везде. Это я все к чему - со своим самоваром не стоит =)
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Cockney |
27.10.2018, 14:48
|
       
Master
Сообщений: 1.403
Регистрация: 22.6.2013 Группа: Пользователи Наличность: 22548
Пользователь №: 16.156

|
Цитата(DarkMaster @ 27.10.2018, 14:00)  Классы этого никак не меняют.
И справляется на самом деле очень неплохо. Тем не менее есть те же сокеты, биндинги под wxWidgets и Qt. Т.е. на нем пишут. Его распространненость скорее следствие работы не шибко большой группы и отсутствия макетинга. Это не Google который штампует языки и на них _будут_ писать вне зависимости от качества продукта.
Как бы меняют, ведь qt и виджеты являются ооп (или нет ?). Если бы не поддержка ооп из коробки, он бы загнулся в самом начале. Цитата Тут холивар может быть очень большим. Я не сторнник ооп. Да, оно бывает в определенных ситуациях нужно, но количество этих ситуаций и количество "написал на классах потому, что модно и современно" я не считал. Для меня очень неожиданно было, когда случайно наткнутся на статистику кода в линях: кода на чистом си оказалось в 2.5 раза больше, чем на плюсах. Заставило задуматься на самом деле.
это про линуксы ? Статистика чего ? Ядра ? Ну тогда не удивительно, что там си больше. printf быстрее потоков раза в 3 если не больше. А попробуй вывести через него сложную структуру, класс. Неудобно, не так ли ? Цитата У него есть своя ниша в которую он плотно засел - геймдев. Сейчас по сути он там стандарт. Тот же wow по части аддонов полностью на нем написан (это просто дикий объем кода - их сотни тысяч), GTA вся логика на lua описывается. Причем если вов был изначально такой, то переход на lua такой большой корпорации, как Rockstar не мог не быть тщательно взвешан. Так же в обработке траффика его частенько используют - nginx, wireshark. Это маркеры. Серьезные проекты и встаривание в них было вполне успешным. Да, язык не топ популярности, но ниша занята, его там никто не теснит, а нужное он делает на 5.
Да никто и не спорит с этим. Только вот учить его чтобы попасть на одну из 2 вакансий в Москве (hh.ru), когда есть unity c# 360+ вакансий.....Это если говорить о реальной его пользе, а не уровне пилота. Конечно, на нем пишут, только где.... Цитата Зачем переучиваться? Ну я, например, знаю одну студию разработки в которой плюсовики нафигачили кода с классами и кучей переназначений в метатаблицах. Т.е. использовали возможности языка на все 100%. Вот только когда приходишь со своим самоваром в другой язык, то не очень хорошо получается в плане результа. Потом команда сильно разосралась, т.к. натуральным луашникам этот изврат не очень нравился, а плюсовикам было все пофигу и пальцы веером. В итоге выкинули всех за не совсем адекватность, уже год ищут луашников именно для переписывания всей этой крутоты на классах. Обрывки кода видел лично - искать где, что править в 10 раз переназначенных метаблицах полный бред. Это нужно делать либо тому человеку, который это писал, либо сидеть с маном в котором вся структура чуда. Луа не святой, есть свои огрехи, си я уважаю больше, асм еще больше, но у всего есть ниша и причины почему ни один язык не стал универсальным и доминирующим везде. Это я все к чему - со своим самоваром не стоит =)
Не стоит. А еще не стоит ставить человека на луа проект, который знает только c++. Ради интереса зашел на одну из вакансий по луа: Цитата Для этого необходимо:
Опыт разработки на C#/C++ Опыт разработки на Android платформе: SDK, NDK Английский язык - технический Умение работать в команде Желание работать в игровой индустрии Желание и способность учиться Необходимо знание языка LUA
И вот риторический вопрос, а зачем знание плюсов, да еще и тем более шарпов (где все классы) луашнику ? Сам по себе луа самодостаточен. Модули, метатаблицы - все что хочешь. Никак работодатель желает биндить классы (ведь для этого нужен опыт шарпа ?) через луа ?
|
|
|
|
olduo.com |
27.10.2018, 18:17
|

    
Journeyman
Сообщений: 441
Регистрация: 31.7.2016 Группа: Пользователи Наличность: 1
Пользователь №: 18.060

|
Цитата(Cockney @ 27.10.2018, 14:48)  Ради интереса зашел на одну из вакансий по луа: Цитата Для этого необходимо:
Опыт разработки на C#/C++ Опыт разработки на Android платформе: SDK, NDK Английский язык - технический Умение работать в команде Желание работать в игровой индустрии Желание и способность учиться Необходимо знание языка LUA И вот риторический вопрос, а зачем знание плюсов, да еще и тем более шарпов (где все классы) луашнику ? Сам по себе луа самодостаточен. Модули, метатаблицы - все что хочешь. Никак работодатель желает биндить классы (ведь для этого нужен опыт шарпа ?) через луа ? хороший пример, именно потому что из игровой индустрии. большинство серверов с которыми работал в качестве скриптового движка используют луа, но не всегда все его возможности. обычно это просто серверный хук, который вызывает обработку в скрипте. потом ты уверен, что это вакансия луашника? ну т.е. если это серверный программист, то тебе нужно и "Опыт разработки на C#/C++" и "Необходимо знание языка LUA". если это луашник, то согласен, опыт в остальном второстепенен. я както тут писал про пацаньчика, которого взял на серверный луа.
--------------------
|
|
|
|
Сообщений в этой теме
sutra Помогите освоить LUA 24.10.2018, 18:09 cirus --lua
log "clear" log "mode compact... 25.10.2018, 1:58 DarkMaster Поскольку lua весь на деревьях и размеры массивов ... 25.10.2018, 8:43 DarkMaster Предчувствуя следующий вопрос:
local function lg... 25.10.2018, 8:54 sutra Спасибо большое парни! Оба здорово помогли мне... 25.10.2018, 23:06 DarkMaster
Смысл в том, что это делать уже не надо - оно уже... 26.10.2018, 0:36 sutra Дарк, а есть такая возможность получить некий резу... 26.10.2018, 12:28 DarkMaster
Нет. И подозреваю, что даже между запущенными на ... 26.10.2018, 14:25 WKnight
Теоретически есть. А смысл? 26.10.2018, 14:35 sutra Смысла нет, просто скрипт огромный, хотел частями ... 26.10.2018, 15:53 sutra В башке "месиво" сплошное от всех этих я... 26.10.2018, 16:49 olduo.com
В башке "месиво" сплошное от всех этих ... 27.10.2018, 0:51 DarkMaster
И да и нет. Пока не лезешь в классы и метатаблицы... 27.10.2018, 1:59 Cockney
Да вот только сам по себе луа пустой. Его сфера ... 27.10.2018, 12:44 sutra Во какую тему замутил. А я вот со своим дилетантск... 27.10.2018, 16:09 DarkMaster
Насколько я понял там вообще пофигу ибо линкуется... 27.10.2018, 17:08 Cockney
Начали мы как раз с того, что луа живет за счет ... 10.11.2018, 0:05 sutra Я попробовал и даже простейшую функцию не смог сде... 27.10.2018, 18:24 cirus
Выкладывайте код, поправим.
Для примера:
--lua
--... 27.10.2018, 18:31 sutra Не смог реализовать goto как только не пробовал, д... 27.10.2018, 19:53 cirus
Лучше сразу забудьте про него.
--lua
function pro... 27.10.2018, 19:53 sutra Спасибо. То есть goto не работает?? 27.10.2018, 20:01 cirus
Нет. Он и не нужен.
В луа его вообще нет. Вроде к... 27.10.2018, 20:04 sutra Меня конечно учили в своё время, что goto использо... 27.10.2018, 20:16 DarkMaster
Как правило подобные проблемы говорят о том, что ... 28.10.2018, 2:11 sutra А оператор continue в цикле while есть? 29.10.2018, 0:00 cirus В луа нет continue. 29.10.2018, 0:18 sutra Это очень нехорошо. Если честно, то я не понимаю. ... 29.10.2018, 1:28 DarkMaster while var > 1 do
local result = check_some_pa... 29.10.2018, 4:29 sutra Спасибо Дарк. Но у меня так не получится. Допустим... 29.10.2018, 12:55 sutra Слишком сложный код. никакого линейного выполнения... 29.10.2018, 13:15 sutra Грубо говоря есть определённое количество событий,... 29.10.2018, 13:25 sutra local n = "123.txt"
local f = io.open(... 29.10.2018, 14:41 DarkMaster
А лежит он где? Рядом с ехе пилота? Пилот перезап... 29.10.2018, 14:44 sutra Обычным текстом открывает [[123.txt]]
Минутку, те... 29.10.2018, 15:04 cirus
Скорее всего были какие-то ошибки.
--lua
local n ... 29.10.2018, 15:09 sutra Перегрузил Пилот через прибивалку, всё заработало,... 29.10.2018, 15:17 sutra Понял причину, забыл поставить двойной слеш при ук... 29.10.2018, 15:40 DarkMaster
Не редактируйте код перед тем, как выложить. Ну л... 29.10.2018, 18:00 sutra Я не редактировал. Просто сначала использовал полн... 29.10.2018, 18:21 DarkMaster
это фиксанули буквально пару дней назад 30.10.2018, 5:31 sutra Добрался до файндов. и как и думал ничего у меня н... 31.10.2018, 13:03 sutra И конечно примеры на lua "надёжно" зарыт... 31.10.2018, 13:14 cirus
--lua
local a, c = findimage(0, 0, 1920, 1080... 31.10.2018, 13:29 sutra Спасибо.
Так я и говорю надёжно спрятано. Я случа... 31.10.2018, 13:35 cirus
Когда выйдет полноценная версия пилота на луа, то... 31.10.2018, 13:50 sutra --lua
log "clear" log "mode compact... 31.10.2018, 14:01 cirus Да, в findimage есть баг, если искать на скрине от... 31.10.2018, 14:10 sutra --lua
log "clear" log "mode compact... 31.10.2018, 14:17 cirus --lua
log "clear" log "mode compact... 31.10.2018, 14:23 sutra Спасибо разобрался. Ну в общем тот баг и в lua про... 31.10.2018, 14:43 cirus
--lua
log "clear" log "mode compact... 31.10.2018, 14:57 sutra Спасибо. 31.10.2018, 15:12 DarkMaster
Суть в том, что само тело пилотовских функций оди... 31.10.2018, 19:04 sutra
А получить массив найденных пикселей, где хранятс... 1.11.2018, 12:54 cirus --lua
local a = findcolor("0, 0, 1920, 108... 1.11.2018, 13:09 sutra Спасибо.
А какой самый простой способ в lua убить... 1.11.2018, 13:26 DarkMaster
arr = nil
вы не убили массив. Вы создали новый п... 1.11.2018, 13:44 WKnight Плин, вот так скажешь ваське ченить полезное, и по... 1.11.2018, 13:51 sutra Спасибо. Вывод... лучше спросить, коли с мозгами т... 1.11.2018, 14:20 sutra Всем огромное спасибо, кто потратил своё время на ... 4.11.2018, 18:46 sutra --lua
check=5
checkint=0
for i=1, 10 do
for j=... 8.11.2018, 12:01 cirus
Нет. 8.11.2018, 12:36 DarkMaster Не забывайте области видимости - пишите local при ... 8.11.2018, 17:34 sutra
Спасибо, я не забываю. На примерах просто лень, у... 9.11.2018, 1:59 WKnight А напомните, что именно имеется ввиду. Я как раз р... 9.11.2018, 2:07 sutra Так Cirus показывал на примере моей картинки в тем... 9.11.2018, 2:12 cirus
https://forum.uokit.com/index.php?s=&sh...st... 9.11.2018, 2:19 DarkMaster
1) Глобальные переменные медленные.
2) В луа огра... 9.11.2018, 10:07 WKnight А, я думал может еще чего интересного нашли :) 9.11.2018, 12:48 DarkMaster Я тебе могу предложить убрать костыль по координат... 9.11.2018, 13:02 sutra
Кнайт, мне нравится подход, ЕЩЁ ... Я считаю, что... 9.11.2018, 16:59 WKnight Чет не помню такого. 9.11.2018, 18:28 DarkMaster В приват ща опишу. А то "секретные технологии... 9.11.2018, 18:36 sutra Блин, секретные технологии. Ну у меня тоже есть та... 10.11.2018, 1:16 sutra Фишка в том, что анализируются не изображения, а ф... 10.11.2018, 1:39 sutra Думаю всё это легко можно сделать в lua , но мне п... 10.11.2018, 2:13 cirus
--lua
log "clear" log "mode compact... 10.11.2018, 2:29 DarkMaster В данном случае я бы рекомендовал для начала забыт... 10.11.2018, 13:07 sutra
Ну этот метод я знаю, в принципе неплохой вариант... 10.11.2018, 14:51 sutra
Сорри, не доглядел, действительно, я не знал синт... 10.11.2018, 15:08 DarkMaster Очень неплохо поднимается производительность, если... 10.11.2018, 15:29 sutra Так в том то и фишка, что колор в памяти только-то... 10.11.2018, 15:44 cirus --lua
-- сделать привязку Ctrl+A
local h = workwin... 10.11.2018, 16:25 sutra
Спасибо большое. Век живи и век учись. Я просто п... 10.11.2018, 16:52 cirus
Color, findimage, findcolor, getimage, move, left... 10.11.2018, 17:07 sutra ОК. 10.11.2018, 17:30 sutra Теперь про борьбу с рендерингом. Может кому пригод... 12.11.2018, 16:22 sutra Конечно если картинки очень сложные, то спасёт тол... 12.11.2018, 18:38 sutra function FindRGB(addr,len,scrX1,scrY1,fx1,fy1,... 12.11.2018, 23:31 sutra Круто, я так не умею, не знаю как. 13.11.2018, 0:00 sutra Эх, если бы за один присест получить доступ к памя... 13.11.2018, 0:16 DarkMaster
Может быть рассчитан на основе кооридант. Т.е. ег... 13.11.2018, 0:21 sutra Спасибо Дарк. Я не знал про переменные. В Паскале ... 13.11.2018, 0:39 DarkMaster
Это регэкспы. Можно почтиать в regex, но в луа он... 13.11.2018, 0:46 sutra Спасибо на добром слове Дарк. Примерно я понимаю. ... 13.11.2018, 1:01 sutra
А вот это не факт. Каркать не стану, но сдаётся м... 13.11.2018, 1:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|