Модератор форума: No_MaTTeR, Dimitro, LightInDarkness |
Форум Полезное Флудилка [ElunaCore] Первая скриптовка (# eluna,elunacore #) |
[ElunaCore] Первая скриптовка |
Всем привет. Я решил создать цепочку гайдов по "движку" ElunaCore. Сам движок - это тот же TrinityCore, но с интегрированным Lua 5.2. Почему я решил сделать на эту тему гайд? Из-за того что открывается больше возможностей в реализации и написании новых скриптов без знаний С++. Так как на оффе логика, сценарии, боссы - написаны на Lua. Я подумал что данное направление будет интересно начинающим разработчикам. Хочу замутить, что это не ArcEmu. Они хоть и похожи, но все же Eluna ушла уже намного дальше в плане возможностей. На 3-ех крупных серверах Wow`a уже установлена система Eluna.
Маме беркута привет!
|
Уважаемый Nyll, скажите, в CMaNGOS сие детище, можно как то имплантировать?
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613 Skype - MantiCore8460
Сообщение # 6 написано 18.10.2013 в 11:46
|
Откуда инфа, интересно. Не открываются. Реализация всех хуков и методов все равно на С++ писана. Возможности абсолютно те же, только преподнесены иначе и в урезанном виде. С тем же успехом можно было бы и SAI расширить разница была бы только в читаемости кода (ну еще скорости, да). Проект Eluna Engine, конечно, интересен, но не более того.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Как ты забыл...) Нуллка был же ГМ на офе, даже тему создавал с видео...))))
Разбираюсь в компиляции, и установке серверов с ядрами СMaNGoS и Trinity.
Учусь модкрафтить (DBC-Edit, Локации в Noggit, Конвертирование/редактирование моделей в 3D-Max + Blender). Интересуюсь технологиями, информатикой, физикой, и многим другим. Warlocks 'Evil Empire'
Сообщение # 8 написано 18.10.2013 в 15:33
|
Разбираюсь в компиляции, и установке серверов с ядрами СMaNGoS и Trinity.
Учусь модкрафтить (DBC-Edit, Локации в Noggit, Конвертирование/редактирование моделей в 3D-Max + Blender). Интересуюсь технологиями, информатикой, физикой, и многим другим. Warlocks 'Evil Empire'
Сообщение # 10 написано 19.10.2013 в 01:57
|
Написать на чем? LUA интерпретированный язык, ему, как бы это странно не звучало, нужен интерпретатор. В данном случае им является все то же ядро trinity, и реализация этого интерпретирования в нем написана на С++ (компилируемом языке). Так вот, если в ядре не будет реализации интерпретации для нужного метода или хука, то и в LUA скриптах вы его не сможете применить. Вывод: на луа, в данном случае, НЕЛЬЗЯ написать то, что нельзя написать на С++.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Dimitro, Не каждому человеку хватит сил выучить С++, а Lua на много проще. Поэтому новеньким, которые не хотят учить С++, проще реализовать свою идею на Lua. Тем более я уже пишу гайды, по разработке аддонов для WoW.
Маме беркута привет!
|
Если бы в оф. репо тринити была бы поддержка lua я бы слова не сказал по поводу раздутия такой важности этой темы (статья на главной).
На данный момент ее там нет и в ближайшем будущем не будет. Зачем выносить на главную гайды по левой модификации, которую еще нужно и перетащить в текущее ядро, для чего знания с++ могут и понадобиться и новичок это не осилит точно? Про допиливание этой модификации я вообще молчу (ну да, надо с++ знать). По этой логике, можно по любому кастом патчу или всему, что удастся связать с вовом размещать никому не нужные статьи на главной. То есть если я, к примеру, реализую в ядре возможность писать скрипты на Brainfuck'e мне тоже статью на главную запилить по эзотерическим языкам программирования? Даже если опустить предыдущие тезисы, смысл гайда на данный момент такой - "я скриптую сервера вов на луа, вот ссылка на сайт разработчиков мода, дальше разбирайтесь как хотите, гайды я начал делать с середины, недостатки системы объяснять не буду, как ее перетащить на ядро тоже не буду объяснять, зато я гайд по скриптингу для НОВИЧКОВ сделал". Как новичкам дойти до стадии, когда можно будет так скриптовать, зачем это им нужно, какие преимущества и недостатки - не ясно.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Если бы в оф. репо тринити была бы поддержка lua я бы слова не сказал по поводу раздутия такой важности этой темы (статья на главной). На данный момент ее там нет и в ближайшем будущем не будет. Зачем выносить на главную гайды по левой модификации, которую еще нужно и перетащить в текущее ядро, для чего знания с++ могут и понадобиться и новичок это не осилит точно? Про допиливание этой модификации я вообще молчу (ну да, надо с++ знать). По этой логике, можно по любому кастом патчу или всему, что удастся связать с вовом размещать никому не нужные статьи на главной. То есть если я, к примеру, реализую в ядре возможность писать скрипты на Brainfuck'e мне тоже статью на главную запилить по эзотерическим языкам программирования? Я не собирался раздувать "важность" данной темы. Я лично не знаю С++, но это мне не мешает работать на UWoW и писать при этом боссов. Насчет реализации "сторонних" языков в ядре Trinity или любых других ядрах. Lua - один из самых легких и гибких языков. Тем самым его интеграция в ядро будет более уместной чем Brainfuck". Да и вести спор насчет "Что легче и правильней?" в данной теме будет как минимум глупо. Данная тема - не призыв к использованию Elun'ы везде, а лишь небольшой гайд, показывающий новые возможности в реализации своих идей.
Маме беркута привет!
Сообщение # 15 написано 19.10.2013 в 03:54
|
Инфа из снифера 100% На wow-cool весь ДД на луа. И еще 4 инста, ~ 120КВ. Правда пришлось усовершенствовать саму Eluny Добавлено (19.10.2013, 04:02) Как новичкам дойти до стадии, когда можно будет так скриптовать, зачем это им нужно, какие преимущества и недостатки - не ясно. Думаю что очень скоро ты или СергейСВ выложите сбоку с встроенной lua, СергейСВ точно не упустит шанс продать пару десятков сборок. |
Даже если опустить предыдущие тезисы, смысл гайда на данный момент такой - "я скриптую сервера вов на луа, вот ссылка на сайт разработчиков мода, дальше разбирайтесь как хотите, гайды я начал делать с середины, недостатки системы объяснять не буду, как ее перетащить на ядро тоже не буду объяснять, зато я гайд по скриптингу для НОВИЧКОВ сделал". Как новичкам дойти до стадии, когда можно будет так скриптовать, зачем это им нужно, какие преимущества и недостатки - не ясно. В интернете есть очень много гайдов на тему "Как поставить Eluna на Trinity". Даже скачав Eluna с офф репо и скомпилировав её - мы получим последнюю ревизию Trinity уже со встроенной Eluna. Сложностей в этом не возникнет ни у кого. Недостатки? Они есть везде. На мой взгляд недостаток - дефицит некоторых функций. Но это уже решается дописыванием функционала со стороны С++. Этим уже будут заниматься другие люди, разрабатывающие Eluna. Преимуществ, даже на первый взгляд, намного больше, чем недостатков. Тот факт, что можно писать скрипт, без перезагрузки/рекомпиляции сервера - перевешивает любые негативные восклицания. Изменив скрипт в С++ мы ждем от 1-40 минут, пока проект не соберется и еще пару минут на запуск сервера/заход в игру. На Lua мы лишь сохранили файл, прописали в консоль пару слов и уже может проверять его работоспособность. Вносить правки в режиме онлайн - это огромный шаг в плане разработки и построении модели любого скрипта.
Маме беркута привет!
Сообщение # 17 написано 19.10.2013 в 04:04
|
Я знал про элуну еще в 2012. Может и поковыряю на досуге, но я не считаю ее "крутой фишкой" (был бы интерес, руки бы за год точно бы дошли) и писать под нее lua скрипты не собираюсь. Стоит так же учесть более низкую скорость выполнения. Лишние обращения к файловой системе и т.д. Для кастомщины всякой может и хорошо, на большем проекте скриптовать всех боссов таким образом - не лучшее решение. Скорее 0%. Сниффер не покажет, на чем писана серверная часть, какую близзы используют БД и т.д. Единственное, что известно, клиент - С++, интерфейс - lua, все остальное невнятные домыслы. Кстати, если открыть вакансии разработчиков WoW, то в вакансии "Senior Software Engineer, Game Play" про lua почему-то ни слова. Как же так? Хотя вот на вакансию "Senior Software Engineer, User Interface" есть требование - "знание lua", и это подтверждает мои слова: Цитата Единственное, что известно, клиент - С++, интерфейс - lua, все остальное невнятные домыслы.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Стоит так же учесть более низкую скорость выполнения. Лишние обращения к файловой системе и т.д. Сударь, вы с какой планеты? Какие обращения к файловой системе? Lua написан на чистом С и поэтому не имеет никаких ограничений в виде "низкой скорости выполнения". Файлы считываются единожды при загрузке (и перезагрузке) в память. Более обращений к файловой системе не происходит. Все операции происходят только и только в памяти. А как я уже сказал выше, что Lua написан на чистом С, то падение производительности будет едва заметно, даже при больших объемах данных.
Маме беркута привет!
Сообщение # 19 написано 19.10.2013 в 04:25
|
Луа это язык, он не написан ни на чем. Да, я знаю, что интерпретатор (именно интерпретатор) написан на С, дальше что? Факта, что все это дело в связке будет куда медленнее прямой реализации через ядро не отменяет. С элуной: подгрузить файлы, обратится к подгруженным данным, прогнать через lualib, прогнать через прослойку между lualib и методами ядра, наконец получить вызов нужного метода. Без: вызвать нужный метод. Что же будет быстрее? Спор, на самом деле, "ниочем". Штука бесспорно интересная, со своими плюсами и недостатками, но вот позиционировать ее как "новое слово в скриптинге" нет смысла. Повторюсь, при желании, можно было бы и SAI расширить до похожего функционала.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Естественно я сразу задумался об возможных нагрузках, у меня на серверах стоит мониторинг monitoring (не реклама) не какой дополнительной нагрузки не на один из ресурсов железяки я не заметил.
|
С элуной: подгрузить файлы, обратится к подгруженным данным, прогнать через lualib, прогнать через прослойку между lualib и методами ядра, наконец получить вызов нужного метода. Без: вызвать нужный метод. Вы преувеличили. С элуной: обратиться к "прослойке" между lualib и ядром, вызвать метод в ядре и вернуть полученный результат обратно в Lua. Без: вызвать метод в ядре и получить из него уже результат. Ваш "негативный" настрой против Lua совершенно не обоснован. Если вы хотите продолжить спор - прочитайте информацию на данной странице http://www.lua.org/about.html.
Маме беркута привет!
Сообщение # 22 написано 19.10.2013 в 04:48
|
Ничего нового там не увидел.
Я не имею ничего против луа, я против луа в тринити. Да, Lua быстр в сравнении с другими ИНТЕРПРЕТИРОВАННЫМИ языками, но скорость программы на том же чистом С будет выше, чем со всеми этими прослойками. А в тринити уже существуют довольно неплохие, относительно простые, хорошо задокументированные и отлаженные системы создания скриптов. Так зачем прикручивать еще одну? Это не шаг вперед, а топтание на месте. При выборе, что использовать - прямую, быструю и наиболее функциональную реализацию или реализацию окольными путями, при вышеуказанных условиях, выбор должен быть очевиден даже несмотря на возможность лепить скрипты на ходу (опять вспомню, кстати, про имеющийся в ядре SAI в котором это тоже возможно).
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
Посмотрел я репо элуны, и сразу понятно что проект продвигается очень медленно, за последние месяц я увидел правок 5 где-то, и то они очень несущественные.
Ради того, чтобы по изучать lua, это отличная идея, просто великолепная, но нормально работать с TrinityCore он не научит, хотя и является его форком. Сейчас это как патч, который просто дает возможность подключить lua и не больше. Все равно, чтобы сейчас что-то делать на этом эмуляторе, если его можно назвать им, придется знать как и с++, так и опыт в TrinityCore. А вот про плюс перекомпиляции у меня такое мнение. Я считаю, неважно, тринити или элуна, делать правки на сервере, на котором играют уже люди каждые 5 минут, это бред. Ведь на крупные серверах так не делают, так что, польза тут луа сомнительная, хотя в критических случаях может быть полезна.
Сообщение # 25 написано 19.10.2013 в 09:54
|
Главное, что бы не в разделе гайдов.
Официальная тринити не поддерживает скриптовку на lua так что максимум можно создать тему в патчах, выложить патч и в этой теме уже постить видеоуроки.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
| |||