Étant donné que ce sujet n'a toujours pas été mis en "Résolu", j'en profite pour vous donner les temps réalisé avec la syntaxe "simple" de TuSKe pour les GUIs. (Pareil, aller voir le tutoriel de Syst3ms pour voir ce que j'appelle un gui simple.)
Pour un échantillon de 11 joueurs, et un serveur qui tourne sur mon Macbook Pro avec 2 GO alloué, j'ai fais ceci:
# On notera que la liste {_liste::*} contient 11 textes, et non pas des joueurs ou alors des variables perçues comme joueur hors ligne.
set {_now} to now
loop {_liste::*}:
add loop-value parsed as offline player to {_liste2::*}
set {_nowdiff} to difference between {_now} and now
send "Différence 1: %{_nowdiff}%"
open virtual chest inventory with size 3 named "&lTest" to player
set {_slot} to 0
loop {_liste2::*}:
format gui slot {_slot} of player with loop-value's skull named "%loop-value%"
add 1 to {_slot}
set {_nowdiff} to difference between {_now} and now
send "Différence 2: %{_nowdiff}%"
On obtient comme premier temps de chargement: (qui correspond au temps que Skript met à parse toutes les variables textes en variables offline player.)
Temps 1 : 3,35 secondes.
Et le second temps de chargement: (qui correspond au temps que Skript mets à mettre tous les joueurs dans le GUI.)
Temps 2 : 8,66 secondes. (Soit 5,31 secondes depuis le début du loop pour mettre les têtes dans le GUI.)
À savoir:
quand j'effectue la commande une seconde fois, les temps de chargement sont de:
Temps 1 : 0,02 secondes.
Temps 2 : 0,03 secondes.
Donc on a bien la confirmation des solutions apportées: si on charge les GUIs dès l'arrivée du joueur (sans qu'il fasse la commande), alors les guis seront chargés directement et il n'aura pas d'attente. (À part 0,03 secondes mdr.)
ATTENTION !
Il faut passer obligatoirement par la syntaxe avancée de TuSKe pour faire ceci.
Enfin, quelques trucs à savoir quant à la syntaxe utilisée:
Elle prend du temps à charger pour la 1ère fois, mais après ça va quand on refait la commande/fonction.
Elle prendra toujours très peu de temps à charger, même après que le joueur se soit déconnecté/reconnecté. (Si déjà chargé une fois.)
Elle prendra toujours très peu de temps à charger, même si on effectue un reload du script. (Et même un /sk reload all) (Si déjà chargé une fois.)
(Je ne suis pas sûr de ça) : Cela implique certainement que le GUI est enregistré quelque part dans le serveur... mais aussi les joueurs parsed as offline player. (Parce qu'il faut savoir que parse les joueurs en offline player, ça prend pas loin de la moitié du temps d'execution !)
Le seul moyen que le chargement redevienne long, c'est d'éteindre/redémarrer votre serveur.
Si quelqu'un a des explications quant aux chargement trèèès long puis pas long du tout, je suis preneur ?
(Donc du coup ne mettez pas encore ce sujet en résolu svp x)