Garry's Mod

Garry's Mod

Not enough ratings
[GMOD LUA] Загрузочный URL
By bosinn
Перевод статьи с официальной вики

Источник: https://wiki.facepunch.com/gmod/Loading_URL
   
Award
Favorite
Favorited
Unfavorite
Загрузочный URL
ConVar sv_loadingurl позволяет владельцу сервера определить веб-страницу, которую он будет показывать игрокам при подключении к серверу.
Настраиваем загрузочный URL вашего сервера
Если вы устанавливаете ConVar через консоль, то убедитесь о наличии кавычек вокруг URL. Также "+" должна быть добавлена спереди. Ваша команда должна выглядеть примерно так:
Если вы помещаете ConVar в свой autoexec.cfg конфигурационный файл, обязательно удалите "+", вот так:
Если вы хотите, вы также можете использовать %s или %m в своём URL (скорее всего, в GET переменной) для передачи steam id и имени карты соответственно. Например:
Они могут быть позже извлечены с помощью простого PHP кода
Кастомные загрузочные страницы
Этот раздел не будет подробно описывать создание вашей страницы и предполагает, что вы уже разработали её

Javascript функции

Здесь несколько Javascript функций, которые вызываются непосредственно в Garry's Mod. Чтобы использовать их, просто создайте функцию с таким же именем на своей странице - она будет вызвана, когда произойдет событие, связанное с ней.

/* Вызывается в начале, когда загрузочный экран завершает загрузку всех ассетов. serverName - Имя сервера. Convar: hostname Например: "Garry's Mod Server" serverURL - URL или загрузочный экран. Convar: sv_loadingurl Например: "http://mywebsite.com/myloadingscreen.html" mapName - Название карты, запущенная на сервере. Например: "cs_office" maxPlayers - Максимальное число игроков на сервере. Convar: maxplayers steamID - 64-битный числовой SteamCommunity ID присоединяющегося клиента. Например: 76561198012345678 gamemode - Игровой режим, запущенный в данный момент на сервере. Convar: gamemode Например: "deathrun" */ function GameDetails( servername, serverurl, mapname, maxplayers, steamid, gamemode ) {}

/* Вызывается с самого начала total - Общее число файлов, которые клиент должен загрузить. */ function SetFilesTotal( total ) {}

/* Вызывается, когда клиент начинает загрузку файла. fileName - Полный путь и имя файла, загружаемого клиентом. Этот путь представляет собой расположение ресурса, а не фактическое расположение файла. Например, файл "garrysmod/addons/myAddon/materials/models/bobsModels/car.mdl" будет выглядеть: "materials/models/bobsModels/car.mdl" */ function DownloadingFiles( fileName ) {}

/* Вызывается, когда статус подсоединения клиента изменяется. status - Текущий статус подсоединения. Например: "Sending client info..." */ function SetStatusChanged( status ) {}

/* Вызывается, когда число файлов, оставшихся для загрузки клиентом, изменяется. needed - Число файлов, оставшихся для загрузки клиентом. */ function SetFilesNeeded( needed ) {}

PHP GET параметры

%m и %s будут заменены на текущую карту сервера и на 64-битный числовой SteamCommunity ID соответственно. Это означает, что вы можете захватить их используя $_GET суперглобальную переменную.

Карта - это строка, так что вам не составит труда воспользоваться ею. Однако SteamCommunity ID не является классическим "сокращённым" Steam ID, который часто встречается в игре. Метод преобразования (используя bcmath и bcsub) приведён ниже.

Заметьте: Метод с http://maurits.tv/data/garrysmod/wiki/wiki.garrysmod.com/indexb59e.html - пожалуйста, сообщите, если он не работает.

<?php $authserver = bcsub( $communityid, '76561197960265728' ) & 1; // Получает третье число из steamid $authid = ( bcsub( $communityid, '76561197960265728' ) - $authserver ) / 2; // Соедините префикс "STEAM_" и первое число, которое всегда равное нулю, а также двоеточие с двумя другими числами $steamid = "STEAM_0:{$authserver}:{$authid}"; ?>
Пример
Если вы хотите использовать локальный файл в качестве загрузочного экрана, например, при создании режима игры в качестве загрузочного экрана по умолчанию, вы можете использовать "asset://" префикс. Пример использует стандартный экран загрузки, но любой html файл можно использовать.

sv_loadingurl "asset://garrysmod/html/loading.html"

Нужно уточнить: Мы ищем подтверждение, работает ли это?

Если вы хотите использовать простое изображение в качестве загрузочного экрана, но не имеете веб хостинга, вы можете использовать следующий код в качестве значения sv_loadingurl. Обязательно замените URL-GOES-HERE ссылкой на изображение, которое вы хотите использовать. Оно позволяет использовать URL данных[developer.mozilla.org] для написания HTML для URL.

data:text/html,<style>html,body{padding:0;margin:0;background:#000}</style><img src="URL-GOES-HERE" width="100%" height="100%">
Бесплатный, онлайн и простой в использовании генератор загрузочного экрана, без необходимости программировать что-либо или арендовать веб сервер. https://www.gmod-lsm.com/
Load Seed
Скелет приложения для создания загрузочного экрана. Вы можете использовать его, чтобы быстро начать создавать свой дизайн. Перед началом работы обязательно прочтите ReadMe. https://github.com/glua/load-seed
4 Comments
bosinn  [author] 12 Mar, 2020 @ 5:19am 
Ну, а я тут не причём. Она есть в оригинале, так что..............
AronLoid 11 Mar, 2020 @ 10:19am 
Gmodlsm параша ебаная даже на загруз экран начали сувать ебучую рекламу
bosinn  [author] 9 Mar, 2020 @ 4:43am 
Спасибо
Ад$$кiй_+_Drø⁴ил-â 8 Mar, 2020 @ 8:47pm 
Уважение автору