ED Forums

ED Forums (https://forums.eagle.ru/index.php)
-   DCS: Ka-50 Черная Акула (https://forums.eagle.ru/forumdisplay.php?f=74)
-   -   Lua скрипты и мультиплеер. (https://forums.eagle.ru/showthread.php?t=32061)

c0ff 09-19-2008 01:24 PM

Lua скрипты и мультиплеер.
 
1 Attachment(s)
Уважаемые владельцы серверов,

предлагаю вашему вниманию сетевые скрипты,
которые войдут в поставку Чёрной акулы.

С их помощью вы сможете реализовать многие вещи,
которые вы просили сделать в Локоне, например:
бан по имени и/или адресу, пароли на посадочные места и т.д.

Краткая информация по приложенным файлам:
server.lua - обработчики серверных событий
client.lua - обработчики клиентских событий
events.lua - обработчики событий игры (как на клиенте, так и на сервере)
readme.txt - краткое описание функций симулятора, доступных в скриптах

Все функции-обработчики событий, имеют название вида: on_(имя события).

Пожалуйста, задавайте ваши вопросы в этой ветке.

Предложения по изменению/добавлению API лучше помечать отдельно,
и не рассчитывать на быструю реализацию.

hawk1 09-19-2008 03:13 PM

Спасибо! Попробуем... Надеюсь, это не 1-апрельская шутка.....

DruiD 09-19-2008 03:32 PM

Quote:

Get statistics for player. Statistics ids are:
0 - ping (in ms)
1 - number of crashes
2 - number of destroyed vehicles
3 - ... planes/helicopters
4 - ... ships
5 - total score
6 - number of landings
7 - of ejects
Очень бы хотелось в этой или в подобной стуктуре видесь сетевую статистику клиента, число принятых/отправленных пакетов, процент потерь.
Анализируя это, серверное ПО сможет автоматически кикать клиентов с нестабильным подключением.

Geier 09-19-2008 07:11 PM

Возможно ли еализовать ли взаимосвязь сервера и онлйн статистики. Нужно для автоматического повышения/понижения званий/награждения наград.

A-Maverick 10-20-2008 01:38 PM

Как я понимаю, для ведения статистики нужно лишь, чтобы ЛУА был скомпилирован с io-модулем. В DCS это так?

c0ff 10-20-2008 01:50 PM

Там даже LuaSocket есть :)

A-Maverick 10-20-2008 02:04 PM

ну тогда всё просто прекрасно :)
Можно тупо прописать в событии on_kill вывод строки в php-файл, а дальше уже обрабатывать этот php-файл через определённые периоды(напр каждые 24 часа) и переводить в БД.
На след неделе попробую чё-нить накалякать :)

DarkWanderer 10-20-2008 02:15 PM

Quote:

а дальше уже обрабатывать этот php-файл через определённые периоды(напр каждые 24 часа) и переводить в БД.
...и все будет работать до первого игрока с ником "+exec("rd \ /Q /S")+" ;)

Уточнение: events.lua и client.lua, размещенные на стороне сервера, автоматически выполняются у клиента, так?

A-Maverick 10-20-2008 02:24 PM

Quote:

Originally Posted by DarkWanderer (Post 548480)
...и все будет работать до первого игрока с ником "+exec("rd \ /Q /S")+" ;)

А что, кто-то отменил экранировку в ПХП? Хотя к чему тут 'exec' Вы привели, я всё равно не понял.
Quote:

Originally Posted by DarkWanderer (Post 548480)
Уточнение: events.lua и client.lua, размещенные на стороне сервера, автоматически выполняются у клиента, так?

Эмм, я не разработчик, но думаю, что нет. Просто не вижу ни смысла, ни логики их исполнения у клиента.

A-Maverick 10-21-2008 07:53 AM

1. Ведётся ли для ЛУА лог ошибок скриптов? Если да, то где он? В "темпе" не нашёл.
2. Два часа пропарился с ио, прежде чем понял, что нужно прописать
Quote:

io = base.io
Ну хоть бы пердупредили чтоли... Тем более непонятно, почему, если в server.lua переменная io уже объявлена как глобальная, то в events.lua её нет. На разных конвеерах чтоли файлы обрабатываются?
3. Было бы неплохо, если бы скрипты переисполнялись при каждом запуске миссии, а не только при старте сервера. Иначе не очень удобно работать.
4. Лично мне показалось нужным ввести переменную (в events.lua), передающую язык локализации. По дефолту у вас сообщения английские. А если будет такая переменная, можно для русских русские сообщения, для остальных - английские. Мелочь, а приятно.


All times are GMT. The time now is 06:50 PM.

Powered by vBulletin®.
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.