Écran de chargement
Dans nanos world il est possible d'ajouter un chargement d'écran personnalisé et dynamique a votre serveur en utilisant WebUI.

Création d'un écran de chargement
Pour cela, vous devez créer un nouveau Package de type loading-screen, et ajouter vos fichiers HTML/CSS/JS dans le dossier racine du Package. Votre fichier HTML principal doit s'appeler index.html. Votre dossier devrait ressembler à cela :
Packages/
└── my-loading-screen/
├── Package.toml
├── index.html
├── style.css
└── ...
Accéder à la progression de chargement/téléchargement
Pour pouvoir afficher des informations dynamiques sur à l'écran, vous pouvez utiliser l'événement UpdateScreen (qui va être appelé toutes les quelques ms) :
L'évènement UpdateScreen
| Paramètre | Description |
|---|---|
message | Affiche l'état actuel (chargement, validation, téléchargement...) |
message_secondary | Affiche le fichier/asset actuel en cours de chargement/téléchargement |
progress_small | Progression du fichier en cours de chargement/téléchargement |
progress_small_total | Taille du fichier en cours de chargement/téléchargement |
progress | Progression actuelle |
progress_total | Progression totale |
current_stage | La valeur numérique représentant l'étape actuelle du chargement (0 = None, 1 = Connecting, 2 = Fetching, 3 = Validating, 4 = Downloading, 5 = LoadingAssets, 6 = LoadingLevel, 7 = LoadingEntities, 8 = CompilingShaders, 9 = Finishing |
Events.Subscribe("UpdateScreen", function(message, message_secondary, progress_small, progress_small_total, progress, progress_total, current_stage) {
// Mettre à jour l'HTML ici
});
Vous pouvez utiliser progress et progress_total pour remplir la barre de chargement principale, et progress_small pour une barre de chargement réduite.
Toujours utiliser progress / progress_total pour récupérer le pourcentage % actuel, car progress_total représente le nombre total de fichiers en cours de téléchargement.
Informations sur le joueur
Aussi, il est possible de récupérer les informations d'un joueur en accédant à une variable globale nommée LoadingScreen :
var LoadingScreen = {
server: {
ip,
port,
name,
description,
},
player: {
nanos_id,
nanos_username,
steam_id,
}
La variable LoadingScreen n'est seulement disponible après la création du navigateur d'écran de chargement.
Arrêter la musique du menu
Il est possible de désactiver la musique du menu intégré en appelant un événement à partir du JS de l'écran de chargement:
Events.Call("StopMenuMusic")
Configurer votre serveur pour utiliser l'écran de chargement
Actuellement, les écrans de chargement ne fonctionnent que sur les Dedicated Servers.
Assurez-vous de configurer le Config.toml de votre serveur avec dedicated_server = true.
Après avoir crée votre package loading-screen, vous devrez configurer votre serveur pour le charger dans votre Config.toml. Dans loading_screen, mettez simplement le nom du dossier de votre Package.
# le package loading-screen à charger (l'écran de chargement sera affiché quand les joueurs rejoindront votre serveur)
loading_screen = "my-loading-screen"
Or start it with --loading_screen "my-loading-screen".