Version de Minecraft : 1.8.8
Version de Skript : 2.2.
Description du script :
Salut tout le monde,
J'ai un problème avec mon Skript pour le GUI d'amis. Je peux ouvrir le GUI avec la commande /amis, mais je n'arrive pas à y accéder depuis un autre GUI.
Je vais vous mettre tout mon code ci-dessous, je ne sais pas si vous allez pouvoir m'aider, on verra bien.
Merci d'avance.
Ce code c'est le code pour le Skript d'amis, C'est /amis qui est utile pour le GUI mais j'ai mis tout le code au cas au j'avais fait une erreur.
command /friends [<text>] [<player>]:
trigger:
if arg 1 is "add" or "invite":
if arg 2 is set:
if arg 2 isn't player:
if arg 2 is online:
if {friends.%player%::*} contains arg 2:
send "&cErreur: Vous êtes déjà ami avec &9%arg 2%&c !" to player
else:
send "&9[Amis] &fUne demande d'amis a été envoyée à &9%arg 2%&f !" to player
send "&9[Amis] &b%player% &fveut devenir votre ami, acceptez avec /friends accept &9%player%" to arg 2
add player to {wait.%arg 2%::*}
else:
send "&cErreur: &9%arg 2% &cn'est pas connecté au serveur !" to player
else:
send "&cErreur: Vous ne pouvez pas vous ajouter en ami !" to player
else:
send "&cErreur: /friends add <joueur>" to player
if arg 1 is "accept":
if arg 2 is set:
if {friends.%player%::*} contains arg 2:
send "&cErreur: Vous êtes déjà ami avec &9%arg 2%&c !" to player
else:
if {wait.%player%::*} contains arg 2:
send "&9[Amis] &fVous êtes maintenant ami avec &9%arg 2%&f !" to player
send "&9[Amis] &fVous êtes maintenant ami avec &9%player%&f !" to arg 2
add arg 2 to {friends.%player%::*}
add player to {friends.%arg 2%::*}
remove arg 2 from {wait.%player%::*}
else:
send "&cErreur: Cette personne ne vous a pas demandé en ami !" to player
else:
send "&cErreur: /friends accept <joueur>" to player
if arg 1 is "remove" or "delete" or "del":
if arg 2 is set:
if {friends.%player%::*} contains arg 2:
send "&9[Amis] &fVous avez supprimé &9%arg 2% &fde votre liste d'amis !" to player
send "&9[Amis] &9%player% &fvous a supprimé de sa liste d'amis !" to arg 2
remove arg 2 from {friends.%player%::*}
remove player from {friends.%arg 2%::*}
else:
send "&cErreur: Vous n'êtes pas ami avec &9%arg 2%&c !" to player
else:
send "&cErreur: /friends remove <joueur>" to player
command /amis:
trigger:
open chest with 6 rows named "&9>> &cAmis" to player
wait 3 ticks # Attendre que l'inventaire soit bien ouvert
set {_slot} to 0
# Vérifier si des amis sont enregistrés
if {friends.%player%::*} is not set:
# Si pas d'amis, afficher un message dans le slot 13
set slot 13 of player's current inventory to 0166 named "&cVous n'avez aucun ami !" with lore "&7Ajoutez des amis avec /friends add <joueur>"
else:
# Si des amis sont trouvés, les ajouter à l'inventaire
loop {friends.%player%::*}:
format slot {_slot} of player with skull of loop-value named "&9%loop-value%" to run [execute player command "/friendinfo %loop-value%"]
add 1 to {_slot}
# Si aucun ami n'a été ajouté (pas assez de slots), afficher un message dans le slot 13
if {_slot} is 0:
set slot 13 of player's current inventory to 0166 named "&cVous n'avez aucun ami !" with lore "&7Ajoutez des amis avec /friends add <joueur>"
# Gérer les clics dans l'inventaire
on inventory click:
# Vérifier que l'inventaire concerné est bien celui des amis
if name of event-inventory is "&9>> &cAmis":
cancel event # Empêche de déplacer les objets dans l'inventaire
set {_slot} to clicked slot # Le slot cliqué
if {_slot} is 13:
send "&cAucun ami trouvé." to player # Message si aucun ami
else:
# Gérer le clic sur un ami (afficher les infos)
set {_item} to item in {_slot} # Récupérer l'item dans le slot cliqué
set {_friendName} to name of {_item} # Extraire le nom de l'ami (nom d'affichage de l'item)
execute player command "/friendinfo %{_friendName}%" # Afficher les infos de l'ami
send "&aVous avez cliqué sur l'ami %{_friendName}%" to player # Message de confirmation
command /friendinfo [<player>]:
trigger:
if arg 1 is set:
if {friends.%player%::*} contains arg 1:
else:
send "&cErreur : Cette personne n'est pas dans votre liste d'amis !"
else:
send "&cErreur : Vous devez spécifier un joueur !"
Juste ici c'est le code pour exécuter /amis dans un GUI.
command /Parametre:
trigger:
if "%{grade.%uuid of player%}%" is "&4Admin" or "&bSuper-Modérateur" or "&5Développeur" or "&dResponsable":
wait 2 ticks
open chest with 6 rows named "&9>> &cParamètre" to player
wait 1 ticks
play "LEVEL_UP" to player at volume 10
format slot 49 of player with 166 named "&cFérmer" to close
# C'est cette ligne qui nous intéresse.
format slot 23 of player with player's skull named "&cAmis" to close then run [make player execute command "/amis"]