HLFX.Ru Forum Страницы (6): « Первая ... « 2 3 4 5 [6]
Показать все 83 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- LuaMod - создание плагинов на Lua (GoldSrc/Xash3d) (https://hlfx.ru/forum/showthread.php?threadid=5425)


Отправлено TheEVolk 27-10-2020 в 02:34:

> А будет возможность изменять скрипты на лету и без перезапуска сервера? И какие будут возможности для отладки?

meta reload LuaMod только если, но тогда client_manager теряет всех клиентов и часть плагинов перестаёт работать. Все плагины работают как единое целое в одной lua_State, поэтому если поставить плагин от обратнорукого кодера, то всё слетит.

А еще я не знаю как оформить touch и think. Можно либо их просто слать в Lua, либо сделать на плюшной стороне какой-нибудь менеджер, чтобы вызывать think только когда это нужно.

Я всё еще боюсь, что этот мод будет нагружать сервер, хотя если вспомнить MTA с его Lua и отладкой, то задумываешься об этом меньше.

__________________
exit();


Отправлено SNMetamorph 27-10-2020 в 13:04:

Цитата:
TheEVolk писал:
А еще я не знаю как оформить touch и think. Можно либо их просто слать в Lua, либо сделать на плюшной стороне какой-нибудь менеджер, чтобы вызывать think только когда это нужно.

Лучше вызывать сразу вместе с движковой функцией, более совместимый метод.

Цитата:
TheEVolk писал:
meta reload LuaMod только если, но тогда client_manager теряет всех клиентов и часть плагинов перестаёт работать. Все плагины работают как единое целое в одной lua_State, поэтому если поставить плагин от обратнорукого кодера, то всё слетит.

В гмоде есть така фича: при изменении .lua файла аддона на сервере, измененный файл сразу же отправляется и исполняется у клиентов, аналогично и для серверных аддонов - изменения применяются на лету, без каких-либо рестартов. Так вот, это очень удобно и экономит очень много времени. Это реально было бы полезно.
Там правда сурс движок, но архитектурно от голдсурса/ксаша он едва ли чем-то отличается.

Добавлено 27-10-2020 в 17:04:

Цитата:
TheEVolk писал:
Я всё еще боюсь, что этот мод будет нагружать сервер, хотя если вспомнить MTA с его Lua и отладкой, то задумываешься об этом меньше.

Всё же лучше упор делать на функциональность. Потому что оптимизируй-не оптимизируй, а скрипт состоящий целиком из говнокода будет работать медленно.
Вон в том же AMXX я видовал серваки с кучей ужасных говноплагинов, но даже ТАКОЕ вполне сносно работало.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено TheEVolk 07-07-2022 в 16:09:

Ладно, я около часа расписывал о том, что я сделал и когда захотел отправить закинуло на форму входа, а сообщение пропало, было там пару страниц точно. Напишу сухо, кратко.

LuaMod я потерял в конце 21 года, после этого забил на него, так как все-равно Lua так и не оправдал моих ожиданий, не было асинхронности, не было JIT в 32х, не было большого сообщества.

Вчера совершенно случайно я зашел на сервер друга и захотел такой же, на luamod возвращаться не вариант, на amx не хочу, хочу опять свое.

Написал за 16 часов nodemod. Для этого я взял остатки luamod и нарезал фракенштейна, добавив туда исходники samp-node. Теперь у нас есть еще и nodejs в HL1. Последний, крайне предпочтительный вариант, у него есть:
1) Высокая поддержка: 300К пакетов в npm, которые ставятся одной командой
2) Высокая производительность: это гугловский v8 с JIT
3) Высокая функциональность и гибкость: это JS, один из самых популярных современных языков.

Естественно доступен весь современный стек технологий, при желании можно на vue сайты писать и запускать из под HL, я так написал fastdl за 5 минут, чтобы не копировать файлы и не создавать ссылки.

Вот пару функций, которые я скоро сделаю:
1) Сайт для демонстрации, где можно посмотреть всех игроков на карте в реальном времени, то есть они будут реально бегать стрелять и так далее, миникарта условно говоря, реализую на вебсокетах.
2) Что-нибудь многопоточное, пока не придумал что, мне за 2 года еще не приходилось использовать многопоточность, но в случае чего - хоть ботов делай.
3) Пакеты для быстрого создания оружий/монстров/энтити
4) Аккаунты в БД со статистикой
5) Виджеты с топом игроков в том же ВК
6) Боты с прямой интеграцией с сервера, например, я кину боту в ТГ архив с картой, а он его сам поставит куда надо.

Это nodejs, очень популярная платформа. Очень надеюсь, что дам глоток жизни старой и родной игре.

PS. Это вторая версия моего сообщения, она содержит 40% из всего того, что я рассказал в первой версии, задавайте вопросы, отвечу.

Добавлено 08-07-2022 в 00:09:

Цитата:
SNMetamorph писал:
В гмоде есть така фича: при изменении .lua файла аддона на сервере, измененный файл сразу же отправляется и исполняется у клиентов, аналогично и для серверных аддонов - изменения применяются на лету, без каких-либо рестартов. Так вот, это очень удобно и экономит очень много времени. Это реально было бы полезно.

Да, щас в том что я сделал это возможно, и конфиги, и скрипты, все можно поставить в hot reload. Я такое делал в других проектах.

__________________
exit();


Отправлено SNMetamorph 07-07-2022 в 16:39:

Хорошо видеть, что дело не заглохло. Не так давно тоже думал о том, какой язык бы взять в качестве скриптового. Выбирал между Lua и AngelScript, оба языка неплохи, но второй цепляет тем, что там есть полноценная реализация ООП. Но при этом, первый более распространённый, есть множество примеров (взять тот же API в Garry's Mod). Ну и плюс, для Lua уже есть LuaMod, а AngelScript придётся развивать практически с нуля. Также, в Sven Co-op как раз таки используется второй вариант, но в перспективе они уже планируют перейти как раз таки на JS.

Добавлено 07-07-2022 в 20:39:

Цитата:
TheEVolk писал:
Естественно доступен весь современный стек технологий, при желании можно на vue сайты писать и запускать из под HL, я так написал fastdl за 5 минут, чтобы не копировать файлы и не создавать ссылки.

Ну вопрос в том, а надо ли это вообще для скриптов? Я вот затрудняюсь ответить на этот вопрос.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Дядя Миша 07-07-2022 в 16:43:

Цитата:
SNMetamorph писал:
но второй цепляет тем, что там есть полноценная реализация ООП

Я бы так не сказал.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено TheEVolk 07-07-2022 в 19:17:

Цитата:
SNMetamorph писал:
Ну вопрос в том, а надо ли это вообще для скриптов? Я вот затрудняюсь ответить на этот вопрос.

Для плагинов на сервере вполне себе, можно на сервер себе хоть нейросети загрузить из интернета, тут по фантазии.

Добавлено 08-07-2022 в 02:06:

Кстати, какой еще потенциал, так это грузить этот плагин без метамод (сейчас пока так нельзя) и построить свою серверную библиотеку для своей игры на JS, а это более низкий порог вхождения, соответственно больше разработчиков под GS/Xash/что-то еще..

Добавлено 08-07-2022 в 03:17:

Уважаемые модераторы, раз тема с lua перекатилась и шушары выпустили новый мегакрутойплагинубийцуamx, то как поступить лучше, переименовать эту тему и продолжить её как наследние lm, или создать новую?

__________________
exit();


Отправлено Дядя Миша 07-07-2022 в 19:28:

TheEVolk думаю лучше новую, а эта пусть остаётся для истории.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 07-07-2022 в 22:56:

Цитата:
TheEVolk писал:
Кстати, какой еще потенциал, так это грузить этот плагин без метамод (сейчас пока так нельзя) и построить свою серверную библиотеку для своей игры на JS, а это более низкий порог вхождения, соответственно больше разработчиков под GS/Xash/что-то еще..

Вообще совсем не так. В случае в JS всё придётся писать с нуля, что тонна работы, а в обычном случае ты берешь уже готовый HLSDK и меняешь там что-то под себя. Разница, думаю, очевидна.

__________________
Мой сайт
Xash3D Modding Discord


Временная зона GMT. Текущее время 10:26. Страницы (6): « Первая ... « 2 3 4 5 [6]
Показать все 83 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024