Вывод информации в MOTD-окне |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Вывод информации в MOTD-окне |
Safety1st |
28.11.2013, 14:37
Сообщение
|
MOTD - аббревиатура от 'Message Of The Day'.
Для показа игроку MOTD-окна служит натива: Код show_motd( player, const message[], const title[]="" ) • player - число: индекс игрока, которому нужно показать MOTD, для показа всем используем индекс 0;• message - содержимое для окна; это может быть текст, имя файла на сервере или URL; • title - заголовок окна. если он не указан, в качестве заголовка будет использоваться имя сервера (hostname). Способы вывода информации в MOTD-окне: 1. Формирование текста в плагине и показ игроку либо вывод текста из файла Примеры: Формирование в плагине: Код new szMotdTpl[] = "Простой текст с именем игрока^nПривет, %s!" new szMotdText[128], szName[32] get_user_name( id, szName, charsmax(szName) ) formatex( szMotdText, charsmax(szMotdText), szMotdTpl, szName ) show_motd( id, szMotdText, "Welcome to server" ) Код static const szMotdTpl[] = "<html><head><meta http-equiv=^"Content-Type^" content=^"text/html; charset=utf-8^">\ </head><body style='overflow:auto;overflow-x:hidden'><p align=^"center^">\ <font color=^"Lime^" size=^"5^">Добро пожаловать, %s!</font></p></body></html>" static szMotdText[300], szName[32] get_user_name( id, szName, charsmax(szName) ) formatex( szMotdText, charsmax(szMotdText), szMotdTpl, szName ) show_motd( id, szMotdText, "Welcome to server" ) Показ файла: Код show_motd( id, "blabla.txt", "Welcome to server" ) Код static const szMotdFile[] = "blabla.txt" show_motd( id, szMotdFile, "Welcome to server" ) 2. Показ игроку MOTD, открывающегося по ссылке с внешнего сайта - show_motd( index, url, title ) Примеры: Код show_motd( id, "http://example.ru/file.htm", "Welcome to server" ) Код static const szUrl[] = "http://example.ru/file.htm" show_motd( id, szUrl, "Welcome to server" ) Сравнение способов Вариант 1: минус: длина текста ограничена 1536-ю символами (стили можно подключать внешним CSS-файлом, экономия!) плюс: (иногда критично) без наличия базы может вывести актуальную инфу по игроку (текущий ник, фраги и т.д.) плюс: (иногда критично) не требует использования внешнего сайта Вариант 2: плюс: нет ограничения на длину текста плюс: только здесь доступны динамические страницы (php и всё такое) плюс: можно делать интерактивные страницы (например, клик по позиции игрока в top15 открывает детальную инфу по нему) плюс: можно различать старые/новые билды по user-agent'у (соответственно, клиентам с поддержкой скриптов показывать более функциональные окна) плюс: можно выводить мессагу на время загрузки окна минус: (иногда) требует доступа к общей базе по игрокам. Обычно базу предоставляет хостер, но не всегда возможен доступ к ней извне. Наверное, в этом случае игровым сервером используется сторонняя база сайта для обхода ограничения Также используется комбинация этих вариантов: игроку показывается файл, вызывающий редирект на страницу, размещённую уже на внешнем сайте. Это оправдано применять для дефолтного motd.txt сервера и для плагинов с закрытым исходным кодом, поведение которых не изменить. Пример файла-перенаправления Код <html><head><meta http-equiv="refresh" content="0; url=http://example.ru/file.htm"></head></html> Прокрутка на билдах ниже 6xxx У игроков с пираток не самых последних билдов, на компьютере которых установлен Internet Explorer 10 и выше, в MOTD может не работать полоса прокрутки. Для исправления ситуации необходимо: 1. убрать директиву<!DOCTYPE>, задающую тип документа, чтобы 'заставить' IE отображать страницу в режиме IE 5, т.н. режиме Quirks. Важно помнить, что IE 10 и выше в этом случае всё же поддерживает все стандарты (в частности, HTML5 и CSS3), а IE 9 и ниже - только те, что поддерживал IE 5.5. Поэтому для лучшей совместимости рекомендуется в MOTD-страницах не использовать возможности, существующие только в HTML5 и CSS3. 2. добавить в документ вторую, 'внутреннюю' полосу прокрутки с помощью параметра к тэгу body (необходимо только для IE10): Код <body style='overflow:auto;overflow-x:hidden'> Назначение этих же свойств через CSS: Код body { overflow:auto; overflow-x:hidden; } Тщательное тестирование с различными версиями IE не проводилось, только с IE 11 и 9. Другие гайды: • как узнать адрес картинки в MOTD • подсчёт посещений сервера TODO: • тэги bgsound и audio
Отредактировал: Safety1st, - 23.7.2014, 17:22
|
|
Поблагодарили 8 раз
|
|
serfreeman1337 |
28.11.2013, 15:16
Сообщение
|
С помощью 1ого варианта еще можно выводить содержимое файла на сервере в MOTD окно.
Например, следующий код выведет SQL данные в MOTD окно: Код show_motd(id,"addons\amxmodx\configs\sql.cfg")
Отредактировал: serfreeman1337, - 29.4.2014, 16:11
|
|
|
|
exec1337 |
28.11.2013, 15:28
Сообщение
|
Вариант 2:
плюс: всегда рабочие кнопки прокрутки и т.д. плюс: можно выводить мессагу на время загрузки окна плюс: удобство настройки самого окна (html-файла) |
|
|
|
Safety1st |
28.11.2013, 15:29
Сообщение
|
serfreeman1337, спасибо, добавил.
|
|
|
|
exec1337 |
28.11.2013, 15:29
Сообщение
|
плюс: нет проблем с кодировкой (всякие там буквы я корректно отображаются)
|
|
|
|
Safety1st |
28.11.2013, 15:32
Сообщение
|
Вариант 2: плюс: всегда рабочие кнопки прокрутки и т.д. Не уверен) Что мешает добавить нужный код в вариант 1? там всего 1 строчка. плюс: можно выводить мессагу на время загрузки окна Принимается! плюс: удобство настройки самого окна (html-файла) Поясните подробнее? |
|
|
|
sweet |
28.11.2013, 15:34
Сообщение
|
2 вариант
Safety1st, не всегда можно прокручивать страницу вниз (не знаю от чего зависит). |
|
|
|
Safety1st |
28.11.2013, 15:37
Сообщение
|
плюс: нет проблем с кодировкой (всякие там буквы я корректно отображаются) Хм... Может в быдлоплагинах только такие траблы? Ситуацию 'плагин/сайт пытается вывести в одном окне 2 текста с различными кодировками я не считаю': это не поддерживаемая реализация. -- Добавил к варианту 2: Цитата плюс: только здесь доступны динамические страницы (php и всё такое) 2 вариант ?? Safety1st, не всегда можно прокручивать страницу вниз (не знаю от чего зависит). Ну так правьте тэг body на: Код <body style='overflow:auto;overflow-x:hidden'> и прокручивайте) |
|
Поблагодарили 1 раз
|
|
Fred Perry |
28.11.2013, 17:10
Сообщение
|
|
А js не выводит после стим обнов?
Гнилой фашистской нечисти
Загоним пулю в лоб, Отродью человечества Сколотим крепкий гроб! |
|
|
counterstrikec4 |
28.11.2013, 17:28
Сообщение
|
Цитата Цитата(exec1337 @ 28.11.2013, 17:28) * плюс: удобство настройки самого окна (html-файла) Поясните подробнее? Наверно он имел введу удобство вёрстки и правки в html, motd окна. |
|
|
|
Fred Perry |
28.11.2013, 17:40
Сообщение
|
|
Ну размеры не только вертикальные, а и горизонтальные можно устанавливать.
Гнилой фашистской нечисти
Загоним пулю в лоб, Отродью человечества Сколотим крепкий гроб! |
|
|
FFA |
29.11.2013, 15:24
Сообщение
|
|
|
|
|
Safety1st |
29.11.2013, 15:26
Сообщение
|
Ну размеры не только вертикальные, а и горизонтальные можно устанавливать. В обновлённой Steam кс можно создавать окна нужного размера. Имелось ввиду сравнение способов. Не хотите же вы сказать, что управлять размером окон можно только способом 2? ;) |
|
|
|
FFA |
29.11.2013, 15:34
Сообщение
|
|
Не конечно там и там можно.
|
|
|
Safety1st |
1.12.2013, 22:25
Сообщение
|
Видимо, теперь перечислены все отличия. Получается, при наличии сайта обычно лучше пользоваться им (способом 2), даже если url идёт на обычный html-файл.
|
|
|
|
HoHoL |
1.12.2013, 22:28
Сообщение
|
|
Возможно вывести отображение top15 по сылке с внешнего сайта. Речь идет о том , что делая в стиле таблицы , все пункты топа распространить на 15 человек нереально не вырезав нечего .
Так вот возможно ли это ? |
|
|
Safety1st |
1.12.2013, 22:33
Сообщение
|
При выводе с сайта ограничения на размер нет.
|
|
|
|
HoHoL |
7.12.2013, 15:46
Сообщение
|
|
|
|
|
Safety1st |
7.12.2013, 16:10
Сообщение
|
|
|
Safety1st |
17.12.2013, 5:53
Сообщение
|
Ещё вспомнил про вариант 2:
- плюс: можно делать интерактивные страницы (например, клик по позиции игрока в top15 открывает детальную инфу по нему) |
|
Поблагодарили 1 раз
|
|