Effectivement, j'avais pas vu qu'il y avait ça, j'ai voulu mettre en gras, mais ça a posé problème quand j'ai mis en code, je corrige:
loop {salle_abri.%{_player}%::*}:
format slot loop-index of {_player} with loop-value to run [invoke "GUI_salles" from {_player} and loop-index]
Et c'est donc le premier loop-index qui pose problème, car avec:
loop {salle_abri.%{_player}%::*}:
format slot 0 of {_player} with loop-value to run [invoke "GUI_salles" from {_player} and loop-index]
ça marche, mais du coup on ne formate pas les slots un par un, puisqu'on reste sur le premier.
Ensuite pour le premier code:
Il se déclenche suite à la ligne
invoke "GUI_abri" from player
lorsqu'un joueur clique sur une feuille de papier, donc parameter 1 est le joueur. Le invoke "GUI_salles" from {_player} and 54 déclenche un autre sub qui reçoit donc le joueur, et la case qui a été cliqué (ici 54).
Donc ma question est juste de savoir si vous sauriez comment diminuer le nombre de lignes, en remplaçant tous les format slot... par un loop qui traiterait la liste, comme j'ai essayé avec le deuxième code.
EDIT:
Bon, je viens de trouver, il suffisait d'ajouter format slot loop-index parsed as number of {_player} with loop-value to run [invoke "GUI_salles" from {_player} and loop-index]
Désolé pour le post inutile du coup.
EDIT 2: en fait il fonctionne toujours pas, car tous les slots se retrouvent à executer [invoke "GUI_salles" from {_player} and 54] car 54 est la dernière valeur prise par loop-index à la fin du loop. Je suis pas sur d'être très clair, et pas sur non plus qu'il y ait une solution, donc je vais laisser tomber.
Mais merci d'avoir répondu :)