Loading-screens
Загрузочные экраны
Специальным кадром NUI является кадр под названием , который отображается при загрузке FiveM, вместо кадра по умолчанию экран загрузки на стороне клиента или экран загрузки игры после подключения к серверу. loadingScreen
Он указывается аналогично использованию в манифесте ресурса: ui_pageloadscreen
loadscreen 'load.html' file 'load.html'
loadscreen 'https://my-server.example.com/loadscreen/'
Курсор/ввод
Экран загрузки всегда будет сфокусирован как для ввода с помощью мыши, так и для ввода с клавиатуры, однако по умолчанию курсор не отображается по причинам наследия.
Курсор NUI можно включить, добавив в манифест ресурса запись, содержащую экран загрузки:loadscreen_cursor
loadscreen_cursor 'yes'
Передача данных
Серверные скрипты могут задавать пары данных для отправки на экран загрузки клиента с помощью функции в плеере Подключение событие. Эти данные будут переданы на экран загрузки в свойстве.handoverwindow.nuiHandoverData
В дополнение к данным, указанным сервером, также добавляется поле с текущим IP-адресом/портом, используемым для подключение клиент->сервер.serverAddress
Пример
-- Server script
AddEventHandler('playerConnecting', function(_, _, deferrals)
local source = source
deferrals.handover({
name = GetPlayerName(source)
})
end)
<h1 id="namePlaceholder">Welcome, <span></span></h1>
<script type="text/javascript">
window.addEventListener('DOMContentLoaded', () => {
console.log(`You are connecting to ${window.nuiHandoverData.serverAddress}`);
// a thing to note is the use of innerText, not innerHTML: names are user input and could contain bad HTML!
document.querySelector('#namePlaceholder > span').innerText = window.nuiHandoverData.name;
});
</script>
Продолжительность жизни
По умолчанию экран загрузки будет отображаться до тех пор, пока не будет вызван SHUTDOWN_LOADING_SCREEN. Тем не менее, вы также можете вручную управляйте временем выхода, задав директиву в манифесте ресурса.loadscreen_manual_shutdown 'yes'
При этом после запуска скриптов становятся доступными следующие нативные элементы (после загрузки игры и подключения к сети):
Это можно использовать, скажем, для добавления пользовательского эффекта затухания с экрана загрузки в игровое представление или интеграции событий NUI. с пользовательским интерфейсом раннего выбора спауна игры.