Ten poradnik wyjaśnia, jak usunąć most z ekranu ładowania serwera FiveM
poprzez utworzenie lub modyfikację zasobu ekranu ładowania.
Wymagania wstępne
- Dostęp do serwera FiveM z uprawnieniami do modyfikacji zasobów
- Podstawowa znajomość HTML/CSS
- Edytor tekstu, taki jak Notepad++ (lub domyślny notatnik systemu Windows)
Metoda 1: Utwórz nowy zasób ekranu ładowania
Krok 1: Utwórz strukturę zasobu
loadingscreen/ ├── fxmanifest.lua ├── index.html └── style.css
Krok 2: Skonfiguruj fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
author 'YourName'
description 'Custom Loading Screen - Bridge Disabled'
version '1.0.0'
loadscreen 'index.html'
loadscreen_cursor 'yes'
files {
'index.html',
'style.css'
}
Krok 3: Utwórz index.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="loading-container">
<h1>Server Name</h1>
<div class="progress-bar">
<div class="progress-fill"></div>
</div>
</div>
<script>
// Disable bridge overlay
window.addEventListener('DOMContentLoaded', () => {
const bridge = document.querySelector('.bridge-overlay');
if (bridge) bridge.remove();
});
// Handle loading progress
window.addEventListener('message', (e) => {
if (e.data.eventName === 'loadProgress') {
const fill = document.querySelector('.progress-fill');
fill.style.width = e.data.loadFraction * 100 + '%';
}
});
</script>
</body>
</html>
Krok 4: Dodaj do server.cfg
ensure loadingscreen
Metoda 2: Modyfikacja istniejącego ekranu ładowania
Krok 1: Zlokalizuj bieżący zasób ekranu ładowania Sprawdzać server.cfg dla linii zaczynających się od ensure Lub start zawierających “loading” lub “loadscreen”
Krok 2: Dodaj kod usuwający most Wstaw do istniejącego pliku HTML przed zamykającym </body> znacznikiem:
<script>
// Remove bridge on load
document.addEventListener('DOMContentLoaded', function() {
const bridgeElements = document.querySelectorAll(
'.bridge-overlay, #bridge, [class*="bridge"]'
);
bridgeElements.forEach(el => el.style.display = 'none');
});
// Backup removal for dynamically loaded elements
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
mutation.addedNodes.forEach((node) => {
if (node.nodeType === 1 &&
(node.classList?.contains('bridge-overlay') ||
node.id === 'bridge')) {
node.remove();
}
});
});
});
observer.observe(document.body, {
childList: true,
subtree: true
});
</script>
Metoda nadpisania CSS
Dodaj do pliku CSS ekranu ładowania:
.bridge-overlay,
#bridge,
[class*="bridge-"] {
display: none !important;
visibility: hidden !important;
opacity: 0 !important;
}
Rozwiązywanie problemów
Most nadal widoczny:
- Wyczyść pamięć podręczną serwera: Usuń
cache/folder - Sprawdź kolejność ładowania zasobów w
server.cfg - Sprawdź konsolę przeglądarki (F12) pod kątem błędów JavaScript
Ekran ładowania nie pojawia się:
- Potwierdź
loadscreendyrektywa w fxmanifest.lua - Sprawdź, czy ścieżki plików są dokładnie zgodne (wielkość liter ma znaczenie)
- Sprawdź konsolę serwera pod kątem błędów zasobów
Uwagi techniczne
- Ekrany ładowania FiveM działają w CEF (Chromium Embedded Framework)
- Element mostu jest zazwyczaj wstrzykiwany przez domyślne mechanizmy ładowania
- MutationObserver zapewnia usunięcie dynamicznie dodawanych elementów
Niepewności
- Dokładne nazwy klas elementu mostu mogą się różnić między wersjami FiveM
- Niektóre niestandardowe frameworki mogą używać innych implementacji nakładek
Podsumowanie: Usuń nakładkę mostu FiveM, tworząc niestandardowy zasób ekranu ładowania z JavaScript, który celuje i usuwa elementy mostu przy ładowaniu strony.
