Aller au contenu
  • 0

Problème loop-player (GUI joueurs connectés)


Question

Posté(e)

Bonjour, j'ai réalisé un GUI montrant tous les joueurs connectés avec leur nom RP qu'ils ont définit précédemment. Le problème c'est que lorsque je veux récupérer le nom du joueur sur lequel j'ai cliqué dans le GUI, il me donne toujours le nom du dernier joueur présent dans le GUI et non celui sur lequel j'ai cliqué (je précise que le problème est le même, même avec juste les pseudos des joueurs), j'ai cherché pendant un long moment comment remédier à cela, mais j'ai pas trouvé... Je précise également qu'il n'y a aucune erreur de code et que tout se déroule très bien

 

Voici le code :

 

sub "accepter-contrat":
   set {_player} to parameter 1
   set {_entity} to parameter 2
   open chest with 5 rows named "&3&lChoisir un joueur" to {_player}
   set {_slot} to 0
   loop all players:
       format slot {_slot} of {_player} with skull of loop-player named "&cNom : &6%{nomrp.%loop-player%}%" with lore "&cMétier : &6%{metier.%loop-player%}%" to run [invoke "selection-joueur" from {_player} and {_entity} and {nomrp.%loop-player%}]
       add 1 to {_slot}

sub "selection-joueur":
   set {_player} to parameter 1
   set {_entity} to parameter 2
   set {_victime} to parameter 3
   send "%{_victime}%" to {_player}

 

Merci d'avance !

  • J'aime 1

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Salut ! Alors, je pense savoir a peu près ce qu'il faut faire. Je vais le faire en 1.8.8. Si c'est une autre version dit moi. La, je lance mon serv de test et j'essaie de faire le skript :)

  • 0
Posté(e)

#Pour le forum SkriptMC
#Aide skript by
#Alexy
on join:
   add player to {nb.player::*}
on quit:
   remove player from {nb.player::*}

command /gui:
   trigger:
       set {_slot} to 0
       wait 2 ticks
       open chest with 6 rows named "Ton nom gui" to player
       wait 2 ticks
       loop {nb.player::*}:
           format slot {_slot} of player with skull of "%loop-value%" parsed as offline player named "Name que tu as dans ton skript" to be unstealable
           add 1 to {_slot}

 

Testé sur mon serveur de test.

Dit moi si tu a des bugs :)

Rqwpi

Tu peut voir la reload faite sans erreurs

  • 0
Posté(e)
#Pour le forum SkriptMC
#Aide skript by
#Alexy
on join:
   add player to {nb.player::*}
on quit:
   remove player from {nb.player::*}

command /gui:
   trigger:
       set {_slot} to 0
       wait 2 ticks
       open chest with 6 rows named "Ton nom gui" to player
       wait 2 ticks
       loop {nb.player::*}:
           format slot {_slot} of player with skull of "%loop-value%" parsed as offline player named "Name que tu as dans ton skript" to be unstealable
           add 1 to {_slot}

 

Testé sur mon serveur de test.

Dit moi si tu a des bugs :)

Rqwpi

Tu peut voir la reload faite sans erreurs

 

Bonjour, merci pour ta réponse.

Cependant, j'ai le même problème (je suis en 1.7.10).

Lorsque je veux récupérer la valeur du loop-value (en parlant de ton code), peu importe sur quel joueur je clique, il m'affiche toujours le nom du dernier joueur qui a rejoins la partie et non pas celui que je veux...

  • 0
Posté(e)

Test ceci:

 

                loop all players:
                   set {_head} to "%loop-player%" parsed as offline player
                   format slot {_slot} of player with skull of {_head} named "&6%{_head}%" to run [make console execute command ""]
                   add 1 to {_slot}

  • 0
Posté(e)
Test ceci:

 

                loop all players:
                   set {_head} to "%loop-player%" parsed as offline player
                   format slot {_slot} of player with skull of {_head} named "&6%{_head}%" to run [make console execute command ""]
                   add 1 to {_slot}

 

Toujours le même problème...

 

EDIT : C'est bon j'ai réussi à régler mon problème seul en utilisant un effet de Tuske (make a gui...) a la place de "format slot"

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.