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 29-12-2019 в 14:46:
LuaMod - создание плагинов на Lua (GoldSrc/Xash3d)
Приветствую, давно начал делать luamod, хоть и делал его редко. Сейчас решил показать его вам, так как на нём можно сделать парочку базовых плагинов. Оформлять я его буду позже, хоть и не знаю как (Где хранить плагины пользователей? Менять ли архитектуру? И многое другое...)
В архиве есть 2 плагина:
* blue_fade - фиолетовая подсветка при убийстве
* blood_health - вампиризм (получаете HP при убийстве)
В ближайших планах:
1) Таймера
2) Асинхронность с помощью libevent
3) Поддержка всех эвентов движка
4) Полный набор методов работы с edict
5) Оболочка над Cvars
Исходники
__________________
exit();
Отправлено tyabus 29-12-2019 в 14:55:
Выглядит неплохо
Отправлено Ghoul [BB] 29-12-2019 в 15:50:
Для чего это вообще нужно?
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено TheEVolk 29-12-2019 в 16:40:
Цитата:
Ghoul [BB] писал:
Для чего это вообще нужно?
Увы, но PAWN, используемый в amxmod немного (много) слишком статичен. Для быстрого написания плагинов с сахарным синтаксисом можно использовать более динамичный язык, Lua как раз является таковым.__________________
exit();
Отправлено Ghoul [BB] 29-12-2019 в 17:17:
Нет, я имел ввиду область применения, ведь фичи эти весьма посредственные и, а, учитывая открытость исходных кодов что асаша, что халфы, я вообще с трудом улавливаю смысл написания плюгинов.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено TheEVolk 29-12-2019 в 17:20:
Если быть проще, это полная замена amxmod для тех, кто не любит pawn. А если ты про то, нужен ли тот же amx, то это не ко мне.
__________________
exit();
Отправлено Ghoul [BB] 29-12-2019 в 17:53:
TheEVolk
Ну вот смотри, амх для чего делался? Да для Контры он делался, т.к. исходников от ней не было, а каждому школьнику хотелось новых пушек и зонбей.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено TheEVolk 29-12-2019 в 18:02:
А сейчас (или немного ранее) клиент от CS тоже был доступен. А также amx хоть и не так сильно, но побывал в HL, несмотря на её открытость.
Зачем? Потому что это скриптовый ЯП, ради добавления мелкой фичи не приходится заново пересобирать весь SDK. Ну и прочие плюсы скриптов сюда же.
__________________
exit();
Отправлено Ghoul [BB] 29-12-2019 в 18:07:
Немного ранее этот когда конкретно? Год какой?
Ну и амх он ведь привычный, народ уже знает, как и чего под него писать, есть куча туторов и примеров, а то, что предлагаешь ты....
Ну вот опять - заново собирать СДК. Долго этотштоле? Нажал F7 да пошёл пить кофий.. делов-то.
Если же утомляет, переназначь под временные файлы проекта оперативную память - всё вообще мигом, как новый ХДМ.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено nemyax 29-12-2019 в 18:14:
Интересная штуковина, надо повтыкать.
Отправлено Дядя Миша 29-12-2019 в 18:40:
Ghoul [BB] скрипты нужны в первую очередь там где предполагается множество простых однотипных операций.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено TheEVolk 29-12-2019 в 18:43:
Цитата:
Ghoul [BB] писал:
Немного ранее этот когда конкретно? Год какой?
Это когда Алибек закрыл клиент CS 1.6, если я не ошибаюсь.
Цитата:
Ghoul [BB] писал:
Ну и амх он ведь привычный, народ уже знает, как и чего под него писать, есть куча туторов и примеров, а то, что предлагаешь ты....
Увы, но все с чего-то начинали, я не могу сразу предоставить вам мод с кучей туториалов и привыкнутым к нему народом, но я могу показать эти сырые наработки вам, чтобы дальше уже иметь небольшую аудиторию.
Цитата:
Ghoul [BB] писал:
Ну вот опять - заново собирать СДК. Долго этотштоле? Нажал F7 да пошёл пить кофий.. делов-то.
Если же утомляет, переназначь под временные файлы проекта оперативную память - всё вообще мигом, как новый ХДМ.
Ну а у нас вообще компилировать не надо. (хотя есть и компиляторы, или тот же LuaJIT, но он у нас только в планах на будущее)__________________
exit();
Отправлено Ghoul [BB] 29-12-2019 в 19:16:
TheEVolk
Ну ок, поглядим-посмотрим, что из этого выйдет. Дай Бог тебе успеха на этом поприще!
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Отправлено Дядя Миша 29-12-2019 в 20:16:
у Луа удивительно уродский синтаксис.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено SNMetamorph 30-12-2019 в 02:31:
Молодец афтар за проделанную работу! 
Только вот сегодня думал, что было бы неплохо прикрутить к движку AngelScript/Lua, и тут как раз эта тема.
А вот именование функций/переменных, мне кажется, лучше делать по образу и подобию того, как было сделано в Garry's Mod.
Отправлено TheEVolk 30-12-2019 в 03:45:
Цитата:
SNMetamorph писал:
А вот именование функций/переменных, мне кажется, лучше делать по образу и подобию того, как было сделано в Garry's Mod.
Стараемся соответствовать этим стандартам: https://github.com/luarocks/lua-style-guide
Цитата:
SNMetamorph писал:
неплохо прикрутить к движку AngelScript/Lua
Кстати, мне предлагали прикрутить AS, там даже нет таких костылей с оффсетами, но он не такой распространённый, как Lua. + стаж работы с Lua 4 года.__________________
exit();
Отправлено nemyax 30-12-2019 в 12:34:
TheEVolk
Как сделать, чтобы луамод работал вместе со ксашмодом?
Отправлено TheEVolk 30-12-2019 в 13:03:
Цитата:
nemyax писал:
Как сделать, чтобы луамод работал вместе со ксашмодом?
С помощью metamod, если он там есть 0_о__________________
exit();
Отправлено FiEctro 30-12-2019 в 13:54:
Фишка офигенная, желаю автору и дальше развивать проект.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Отправлено TheEVolk 31-12-2019 в 05:38:
Ребят, накидал тут примерную архитектуру будущей новой версии LuaMod (и текущей тоже). Планирую переписать архитектуру с нуля, так как хоть вы и узнали об этом плагине совсем недавно, но я работаю над ним больше года (с большими перерывами) и поэтому код местами сильно разнится по своим стилям. Сейчас же я хочу разобрать эту лапшу, пока не поздно, использовать LuaJIT с какой-нибудь обёрткой, для того, чтобы не писать ужасно длинные реализации pfn функций.
Посоветуйте какую-нибудь документацию по движку.
__________________
exit();
Отправлено TheEVolk 01-01-2020 в 18:26:
Сегодня и вчера весь день пытался прикручивать RAVI LUA, а затем и LuaJIT, а потом психанул и отложил это в долгий ящик. Сейчас подрубил обратно обычный скучный Lua и начал распутывать метамодскую кашу с функциями, функциями2 и функциями_пост. Так я хочу чётко определить жизненный цикл плагина и включить возможность отменять движучные функции. С помощью билдинга я хочу сократить код и плюсоватными шаблонами избавить код от жутких стеков и всех этих pushgetvalue.
__________________
exit();
Отправлено nemyax 01-01-2020 в 20:20:
Цитата:
TheEVolk писал:
Сегодня и вчера весь день
Надо признаться, не самое лучшее время, чтобы что-то довести до ума.
Отправлено TheEVolk 02-01-2020 в 05:30:
Цитата:
nemyax писал:
Надо признаться, не самое лучшее время, чтобы что-то довести до ума.
да ну, именно в такое время у меня нет абсолютно никаких дел__________________
exit();
Отправлено SNMetamorph 02-01-2020 в 06:29:
А как планируется реализовать хуки и таймеры? Именно с точки зрения скриптера.
Вот например как это реализовано в гмоде: https://wiki.garrysmod.com/page/hook/Add
Отправлено TheEVolk 02-01-2020 в 10:22:
Цитата:
Хуки:
hook.add("slug", function()
end, priority = 500) -- Как в WordPress
Таймеры: https://learn.javascript.ru/settimeout-setinterval (только в shake_case)
Добавлено 02-01-2020 в 18:22:
Чтож, с небольшими потерями мне удалось сделать engine функции для LuaMod, раньше подобный файл занимал 1600 строк, сейчас - всего 160. Время компиляции как стрелочка на спидометре, увеличилась сильно, но оно того стоит.__________________
exit();
Отправлено nemyax 02-01-2020 в 10:32:
Потери - это те, что закомментированы?
Отправлено TheEVolk 02-01-2020 в 10:48:
Цитата:
nemyax писал:
Потери - это те, что закомментированы?
Да, большинство не сделано из-за ненужности, ну и из-за их закорючек с структурами и прочим, что было лень портировать. pfnClientCommand адаптировал, ибо там переменные аргументы.__________________
exit();
Отправлено SNMetamorph 02-01-2020 в 10:49:
Цитата:
TheEVolk писал:
да ну, именно в такое время у меня нет абсолютно никаких дел
А ты, кстати, не пробовал тему про луамод публиковать на AlliedModders?
Я думаю, что тамошнему коммьюнити тоже будет интересна эта тема.
Отправлено TheEVolk 02-01-2020 в 10:55:
Цитата:
SNMetamorph писал:
А ты, кстати, не пробовал тему про луамод публиковать на AlliedModders?
А мне нужно обязательное наличие Дяди Миши. Ну и следить за двумя темами будет сложновато, мб когда из беты вытащу (текущая версия 0.3, сейчас делаю 0.5.0, бета закончится на 1.0.0). Там же надо будет наверстать страничку, документацию, туториалы и какой-нибудь файлообменник для того, чтобы люди менялись плагинами.__________________
exit();
Отправлено nemyax 02-01-2020 в 11:01:
Цитата:
TheEVolk писал:
документацию
Задокументируй плиз встраивание луамода в ксашмод, когдаесли руки дойдут.
Отправлено SNMetamorph 02-01-2020 в 11:05:
Цитата:
nemyax писал:
Задокументируй плиз встраивание луамода в ксашмод, когдаесли руки дойдут.
Так насколько я знаю, установка Metamod на любую игру на ксаше (ксашмод в том числе) не отличается от установки на голдсурс.
Отправлено TheEVolk 02-01-2020 в 11:13:
Цитата:
SNMetamorph писал:
Так насколько я знаю, установка Metamod на любую игру на ксаше (ксашмод в том числе) не отличается от установки на голдсурс.
Согласен, установка луамода точно такая же, как и на других плагинах. Только вот, увы, сейчас будет потеряна обратная совместимость, но ремонт будет безболезненным.__________________
exit();
Отправлено nemyax 02-01-2020 в 11:13:
Без метамода не было бы сподручнее? Меньшы зависимостей.
Отправлено TheEVolk 02-01-2020 в 11:19:
Цитата:
nemyax писал:
Без метамода не было бы сподручнее? Меньшы зависимостей.
Предлагаешь работать как метамод?__________________
exit();
Отправлено nemyax 02-01-2020 в 11:24:
TheEVolk
А например. Получится?
Отправлено TheEVolk 02-01-2020 в 11:45:
Это надо к Алибеку, он такое для паработа прокручивал, они у меня сейчас на тестовом сервере стоят.
__________________
exit();
Отправлено SNMetamorph 02-01-2020 в 11:46:
Цитата:
nemyax писал:
Без метамода не было бы сподручнее?
Только вот без метамода уже не установишь AMXX, если вдруг возникнет такая необходимость.
Отправлено TheEVolk 02-01-2020 в 12:07:
Цитата:
SNMetamorph писал:
Только вот без метамода уже не установишь AMXX, если вдруг возникнет такая необходимость.
AMXX теперь не нужен 
__________________
exit();
Отправлено SNMetamorph 02-01-2020 в 12:35:
Цитата:
TheEVolk писал:
AMXX теперь не нужен
Рано ещё. Никто не отменял целое наследие всех плагинов и туториалов по нему.
Отправлено TheEVolk 02-01-2020 в 12:47:
Цитата:
SNMetamorph писал:
Рано ещё. Никто не отменял целое наследие всех плагинов и туториалов по нему.
Справедливо для AMX проекта, но для какого-то сервера, который держит кодер-энтузиаст использовать только LuaMod предпочтительнее, но из таких есть только я 
__________________
exit();
Отправлено Ku2zoff 02-01-2020 в 13:08:
Цитата:
SNMetamorph писал:
без метамода
Кстати, объясните мне, что должен делать метамод? Устанавливать с его помощью несколько разных ботов, а так же подключать AMX у меня получалось. А вот добавить монстров из другого мода - нет. Оружия я конечно даже не пытался добавлять, т.к. там целый комплекс изменений, ещё и в клиентке. Можно ли добавить монстров из одного мода в другой, или в мультиплеерный их добавить, где их из коробки нет?
Отправлено TheEVolk 02-01-2020 в 13:16:
Цитата:
Ku2zoff писал:
Кстати, объясните мне, что должен делать метамод?
Даёт все функции движка и дёргает несколько типов хуков.. Новые оружия люди умудрялись собирать даже на амх.__________________
exit();
Отправлено SNMetamorph 02-01-2020 в 13:29:
Цитата:
Ku2zoff писал:
Можно ли добавить монстров из одного мода в другой, или в мультиплеерный их добавить, где их из коробки нет?
Плагин MonsterMod этим и занимается. Помнится ещё в 2012 с его помощью добавлял в CS 1.6 монстров из HL1.
Цитата:
TheEVolk писал:
Справедливо для AMX проекта, но для какого-то сервера, который держит кодер-энтузиаст использовать только LuaMod предпочтительнее, но из таких есть только я
Есть один важный момент - врят ли предпочтут писать что-то с нуля, если есть что-то уже готовое и проверенное временем.
Отправлено TheEVolk 02-01-2020 в 14:32:
Цитата:
SNMetamorph писал:
Есть один важный момент - врят ли предпочтут писать что-то с нуля, если есть что-то уже готовое и проверенное временем.
Поэтому в первую очередь надо привлекать кодеров, завлекая их таких плюсами, как отсутствие языка боли и кучи статики.
Добавлено 02-01-2020 в 22:32:
Ребят, вышка, под рутом выполнил rm -rf /* вместо rm -rf ./* (хотел почистить build каталог)__________________
exit();
Отправлено Ku2zoff 02-01-2020 в 15:01:
Цитата:
SNMetamorph писал:
Плагин MonsterMod этим и занимается.
Насчёт этого убожества я в курсе. Там надо вручную прописывать координаты добавляемого монстра. Для каждой карты. Короче, фигня. Вот если б можно было загрузить плагином дллку какого-нибудь мода, чтобы монстры появлялись на картах без дополнительных настроек, это было бы здорово.
Отправлено Дядя Миша 02-01-2020 в 15:32:
Цитата:
TheEVolk писал:
Ребят, вышка, под рутом выполнил rm -rf /* вместо rm -rf ./*
хорошо линуксоидам, у них железобетонная отмазка имеется. А виндузятники вынуждены лепетать про внезапно полетевший винчестер.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено thambs 02-01-2020 в 15:41:
Дядя Миша
А как же ФОРМАТ Ц: ?
__________________
http://www.moddb.com/mods/monorail-quest
Отправлено XaeroX 02-01-2020 в 15:44:
thambs
Не даст, зашедулит до следующей перезагрузки.
А то и вообще откажется: я не могу, я не хочу, это системный диск, вот это всё.
__________________
Отправлено Дядя Миша 02-01-2020 в 15:46:
Ну вообще товарищ очень техничный, вы только оцените:
Цитата:
TheEVolk писал в 14:46:
Опаздываю я со своим луамодом лет так на 10..
__________________
Цитата:
TheEVolk писал 22:32:
Ребят, вышка, под рутом выполнил rm -rf /* вместо rm -rf ./* (хотел почистить build каталог)
Совпадение?! Не думаю! 
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено nemyax 02-01-2020 в 16:25:
Я как-то себе dd if=/dev/sdb of=/dev/sda бабахнул. Во радости было.
Отправлено TheEVolk 02-01-2020 в 19:12:
Цитата:
Дядя Миша писал:
хорошо линуксоидам, у них железобетонная отмазка имеется. А виндузятники вынуждены лепетать про внезапно полетевший винчестер.
О твоей любви к линуксу я знал заранее, и вот хер знает то ли плюс то ли минус, но линукс не будет за тебя что-то там защищать, если ты накосячил, то это только твои проблемы, виндуз же как заботливая мать, сюда не лезь, то не трож, а всякие майлру помещаются как родные и только попробуй их тронь.
Добавлено 03-01-2020 в 03:12:
После нескольких часов ссоры с тех. поддержкой хостинга они врубили VNC, а там grub rescure. Честно, я ищу способы примонтировать ISO, но пока без движений.__________________
exit();
Отправлено TheEVolk 03-01-2020 в 06:31:
Примонтировал образ, он на немецком, сначала думал, что разберусь, но когда увидел, что этот немец выставил мне окошко с капсом и дал выбор, я отказался и снёс его нафиг. Пробую сейчас другой.
Добавлено 03-01-2020 в 14:31:
Цитата:
Дядя Миша писал:
Совпадение?! Не думаю!
Скорее подтвердждение других моих слов, а именно:
Цитата:
TheEVolk писал:
Только в таком состоянии не садитесь писать свои проекты
__________________
exit();
Отправлено TheEVolk 03-01-2020 в 12:13:
Восстановил инфу, включая луамод. Думаю это был знак свыше, что под root работать нельзя. Пойду создам себе юзера.
__________________
exit();
Отправлено Ku2zoff 03-01-2020 в 12:29:
Цитата:
TheEVolk писал:
Думаю это был знак свыше, что под root работать нельзя. Пойду создам себе юзера.
Ну как сказать. Я под рутом никогда не работал. Если нужен рут-доступ, никогда не сложно отправить команду sudo su. Зато ты точно знаешь, что конкретно вот в этом окне терминала нужно вести себя осторожно.
Что в перспективе позволит делать этот Lua мод? Это, как я понял, аналог AMX ModX, только юзает Lua, и не требует компиляции плагинов.
Встаёт вопрос актуальности. Для свенкоопа уже есть своя система плагинов (на AngelScript, кажется), она прям встроена в 5 версию, что распространяется в стиме. Для этой вашей сраной каэсочки уже имеются сотни нефти плагинов для AMX, никто не будет ничего переделывать, потому что никто не умеет. А для прочих модов это не нужно от слова совсем.
Что если скооперироваться с разрабами Xash3D FWGS? Может быть выгорит? Чтоб поддержка плагинов была на уровне движка, без метамода.
Отправлено TheEVolk 03-01-2020 в 13:18:
Цитата:
Ku2zoff писал:
Ну как сказать. Я под рутом никогда не работал. Если нужен рут-доступ, никогда не сложно отправить команду sudo su. Зато ты точно знаешь, что конкретно вот в этом окне терминала нужно вести себя осторожно.
Что в перспективе позволит делать этот Lua мод? Это, как я понял, аналог AMX ModX, только юзает Lua, и не требует компиляции плагинов.
Встаёт вопрос актуальности. Для свенкоопа уже есть своя система плагинов (на AngelScript, кажется), она прям встроена в 5 версию, что распространяется в стиме. Для этой вашей сраной каэсочки уже имеются сотни нефти плагинов для AMX, никто не будет ничего переделывать, потому что никто не умеет. А для прочих модов это не нужно от слова совсем.
Что если скооперироваться с разрабами Xash3D FWGS? Может быть выгорит? Чтоб поддержка плагинов была на уровне движка, без метамода.
Вопрос актуальности актуален как никогда. Хотим распространятся так же, как и amxmod, занимая его нишу среди кодеров, которых бесит amx.__________________
exit();
Отправлено nekonomicon 03-01-2020 в 16:04:
Цитата:
TheEVolk писал:
Это надо к Алибеку, он такое для паработа прокручивал, они у меня сейчас на тестовом сервере стоят.
Интересно, с каких пор меня стали звать Алибеком.
А вообще ты нагло врешь, паработ изначально не использовал метамод.
Поддержку метамода к нему прикручивал Wei Mingzhi, он же Whistler.
Отправлено TheEVolk 03-01-2020 в 16:09:
Цитата:
nekonomicon писал:
Интересно, с каких пор меня стали звать Алибеком.
А вообще ты нагло врешь, паработ изначально не использовал метамод.
Поддержку метамода к нему прикручивал Wei Mingzhi, он же Whistler.
Извиняюсь за дезинфу, просто решил так, ибо видел тебя админом темы по паработам ну и они у тебя на гитхабе.__________________
exit();
Отправлено nekonomicon 03-01-2020 в 16:22:
Цитата:
Ku2zoff писал:
Что если скооперироваться с разрабами Xash3D FWGS? Может быть выгорит? Чтоб поддержка плагинов была на уровне движка, без метамода.
mittorn уже предлагал сделать поддержку плагинов для метамода на уровне движка, для Мише.
Дяде Мише идея не понравилась.
А вообще надо что-то менее страшное вроде AngelScript, haxe, neko или python.
Добавлено 03-01-2020 в 21:22:
TheEVolk
Я просто сделал возможность использовать паработа с метамодом и без, используя оригинальные исходники и исходники Whistler'а.
А на тот момент это уже было реализовано в yapb и sandbot.
Отправлено SNMetamorph 04-01-2020 в 05:10:
Цитата:
Ku2zoff писал:
Для этой вашей сраной каэсочки уже имеются сотни нефти плагинов для AMX, никто не будет ничего переделывать, потому что никто не умеет. А для прочих модов это не нужно от слова совсем.
Таки да, уже здесь про это писал.
А вообще, чтобы был какой-то спрос на луамод, нужно будет ещё и кучу example-плагинов наделать. Я очень и очень сомневаюсь что кто-то будет заморачиваться писать что-то с нуля, когда есть уже то же самое готовое в AMXX.
Отправлено TheEVolk 04-01-2020 в 05:43:
Цитата:
SNMetamorph писал:
Я очень и очень сомневаюсь что кто-то будет заморачиваться писать что-то с нуля, когда есть уже то же самое готовое в AMXX.
Честно, меня это не останавливает. Я попробовал писать на amx, язык не очень сложный, но из-за его статики пользовательские скрипты были очень замудрённые. Тогда я и решил написать луамод, хоть и сидят в goldsrc только три с половиной человека, а кодеров среди них и вовсе нет. Мне заново надо будет учить людей и я планирую развить луамод хотя-бы до состояния маленького посёлка, где все всех знают.__________________
exit();
Отправлено Ku2zoff 04-01-2020 в 09:06:
Цитата:
SNMetamorph писал:
Я очень и очень сомневаюсь что кто-то будет заморачиваться писать что-то с нуля, когда есть уже то же самое готовое в AMXX.
Я тебе больше скажу. Даже человек, умеющий кодить (я), хоть и немного, конечно, не будет что-то там новое изучать даже для себя, ради пары сомнительных плагинов. Вот надо было мне плагин, который запрещает в TFC выкидывать гранаты перед самой смертью. Искал - не нашёл. Глянул, как пара плагинов написана - перехотел их писать сам. Наплевал, и просто запретил ботам использовать гранаты.
Тут ситуация такая: FoxBot очень любят при умирании высерать гранату. Игра превращается в натуральный ад: взрывы, взрывы, взрывы. И авторы TFC недосмотрели: кнопка нажата до умирания, игрок уже помер, и граната вываливается с мёртвого. И авторы ботов чего-то там накодили, что боты успевают в миллисекундный промежуток, когда ещё возможно, высрать гранату.
Отправлено TheEVolk 04-01-2020 в 10:10:
Цитата:
Ku2zoff писал:
Глянул, как пара плагинов написана - перехотел их писать сам.

__________________
exit();
Отправлено XaeroX 04-01-2020 в 10:21:
Цитата:
TheEVolk писал:
(3.1.10)__________________
Отправлено TheEVolk 05-01-2020 в 00:03:
Работа идёт, сделал все GameDLL эвенты + Post (не стал делать часть эвентов, ибо те сожрут всё нагрузкой, а это пока открытый вопрос)
Уже перенёс два своих плагина на новую версию. Сейчас буду заниматься сериализацией edict_t.
Отправлено SNMetamorph 06-02-2020 в 07:00:
Есть новости? Как в каком состоянии проект в данный момент?
__________________
Мой сайт
Xash3D Modding Discord
Отправлено TheEVolk 21-02-2020 в 02:29:
Цитата:
SNMetamorph писал:
Есть новости? Как в каком состоянии проект в данный момент?
Вчера с болью запустил этот луамод на оригинальном CS 1.6, хочу с его помощью сделать один проект, но вот незадача.
На сервере стоит rehlds и reunion. Если во время игры зарегистрировать DeathMsg, то во время убийства игрока просто дропнет с сервера, на клиенте будет ошибка: Host_Error: UserMsg: Not Present on Client 84
ИД события DeatchMsg на сервере - 64.__________________
exit();
Отправлено nekonomicon 21-02-2020 в 20:33:
TheEVolk
Ну так не нужно регистрировать новые сообщения с существующими названиями.
Нужно при регистрации проверять название сообщения и записывать его номер, а потом слать сообщение с этим номером.
Отправлено TheEVolk 22-02-2020 в 11:11:
Цитата:
nemyax писал:
Задокументируй плиз встраивание луамода в ксашмод, когдаесли руки дойдут.
Без метамода как игровую либу или встроить его в сам движок?__________________
exit();
Отправлено nemyax 22-02-2020 в 12:29:
Почему в движок? В мод, без метамода.
Отправлено SNMetamorph 22-02-2020 в 12:48:
Цитата:
nemyax писал:
Почему в движок? В мод, без метамода.
А зачем его собственно в сам мод встраивать? Да и как правило вообще нет такой возможности, когда мод существует только в виде дллок. Тут два варианта: либо как плагин для метамода, либо вместо метамода.__________________
Мой сайт
Xash3D Modding Discord
Отправлено nemyax 22-02-2020 в 14:10:
SNMetamorph
Но исходники ксашмода доступны.
Отправлено SNMetamorph 23-02-2020 в 00:59:
Цитата:
nemyax писал:
Но исходники ксашмода доступны.
Цитата:
SNMetamorph писал:
А зачем его собственно в сам мод встраивать?
Так в чём смысл? Metamod/AMXX работает как прослойка между движком и серверной игровой DLL (а как я понял, LuaMod собирается занять ту же нишу взамен AMXX): позволяет вызывать/хукать движковые функции напрямую кодом из модуля, либо через плагины. А в чём будет польза, если прикрутить луамод к самой игре? Просто прикрутить Lua-интерпрератор к игре я понимаю, к примеру для скриптов может пригодиться. Но луамод это же немного другое.__________________
Мой сайт
Xash3D Modding Discord
Отправлено TheEVolk 23-02-2020 в 08:23:
Цитата:
nekonomicon писал:
Ну так не нужно регистрировать новые сообщения с существующими названиями.
Нужно при регистрации проверять название сообщения и записывать его номер, а потом слать сообщение с этим номером.
Я не шлю, а пытаюсь отловить. Это нечто вроде хамбурга в amx, который при хуках на сообщение проходит по базе и если там есть слушатели, то собирает данные сообщения и после отправки вызывает слушателя.__________________
exit();
Отправлено TheEVolk 21-10-2020 в 05:04:
Еще немного боли и LuaMod работает в GoldSource, не понимаю, как у меня работало reg_user_message, и было очень обидно, что get_user_msgid возвращал 0 до вызова хука server_activate
ost.
Версию 0.5.4 в ближайшее время залью на гитхаб и оформлю по красоте. Работает на ReHLDS и metamod-p.
__________________
exit();
Отправлено SNMetamorph 21-10-2020 в 10:40:
Цитата:
TheEVolk писал:
Версию 0.5.4 в ближайшее время залью на гитхаб и оформлю по красоте. Работает на ReHLDS и metamod-p.
Отлично! А будет возможность изменять скрипты на лету и без перезапуска сервера? И какие будут возможности для отладки? А вообще я рад что ты не забросил этот проект.__________________
Мой сайт
Xash3D Modding Discord
Отправлено 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