Aller au contenu
  • 0

Problème loop-player


Question

Posté(e)

Bonjour, j'ai un problème avec mon skript,

Lorsque je loop tous les joueurs dans la partie, les messages sont envoyés uniquement à UN SEUL joueur et non pas à tous les joueurs, pourtant, les deux joueurs ont la permission citée dans le skript.

Je précise qu'il n'y a aucune erreur dans le skript.

 

Code :

 

               if {timer} is true:
                   loop all players:
                       if loop-player has permission "www.game":
                           send "&6[WWM] &cIl n'y a pas assez de joueurs pour commencer une partie." to loop-player
                           send "&6&lAméricains : &a%{nb.americain}% joueur(s)" to loop-player
                           send "&6&lAllemands : &a%{nb.allemand}% joueur(s)" to loop-player
                           send "&6&lIl faut au minimum &33 joueurs &6&lde chaque côté" to loop-player
                           make console execute command "/playsound random.successful_hit %loop-player%"
                           wait 10 seconds
                           make console execute command "/start"
                       stop

 

Merci d'avance !

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)

C'est normal, tu as mis un "stop", il va donc loop un seul joueur, puis s'arrêter et ne jamais loop les autres...

Retire le ou décale le d'une tabulation (ou de 4 espaces) vers la gauche, il n'y aura plus de problèmes ;)

 

 

4rno

  • 0
Posté(e)

Salut, du coup fait ça:

 

                if {timer} is true:
                   loop all players:
                       if loop-player has permission "www.game":
                           send "&6[WWM] &cIl n'y a pas assez de joueurs pour commencer une partie." to loop-player
                           send "&6&lAméricains : &a%{nb.americain}% joueur(s)" to loop-player
                           send "&6&lAllemands : &a%{nb.allemand}% joueur(s)" to loop-player
                           send "&6&lIl faut au minimum &33 joueurs &6&lde chaque côté" to loop-player
                           make console execute command "/playsound random.successful_hit %loop-player%"
                           wait 10 seconds
                           make console execute command "/start"
                       else:
                           stop

 

En espérant d'avoir aidé :)

Lache un like, c'est gratuit et ça fit plaiz

  • 0
Posté(e)
C'est normal, tu as mis un "stop", il va donc loop un seul joueur, puis s'arrêter et ne jamais loop les autres...

Retire le ou décale le d'une tabulation (ou de 4 espaces) vers la gauche, il n'y aura plus de problèmes ;)

 

 

4rno

 

Je viens de le faire, je n'ai toujours aucune erreur. Le problème à présent est que les messages ne sont pas envoyés en même temps aux joueurs, ils sont envoyés 1 par 1. C'est à dire que quand un joueur a fini de recevoir les messages, ça les envoie à un autre joueur qui a la perm et ainsi de suite.

 

Code actuel :

 

command /test:
   trigger:
       loop all players:
           if loop-player has permission "www.game":
               send "&6[WWM] &cIl n'y a pas assez de joueurs pour commencer une partie" to loop-player
               send "&6&lAméricains : &a%{nb.americain}% joueur(s)" to loop-player
               send "&6&lAllemands : &a%{nb.allemand}% joueur(s)" to loop-player
               send "&6&lIl faut au minimum &33 joueurs &6&lde chaque côté" to loop-player
               make console execute command "/playsound random.successful_hit %loop-player%"

  • 0
Posté(e)
Salut, du coup fait ça:

 

                if {timer} is true:
                   loop all players:
                       if loop-player has permission "www.game":
                           send "&6[WWM] &cIl n'y a pas assez de joueurs pour commencer une partie." to loop-player
                           send "&6&lAméricains : &a%{nb.americain}% joueur(s)" to loop-player
                           send "&6&lAllemands : &a%{nb.allemand}% joueur(s)" to loop-player
                           send "&6&lIl faut au minimum &33 joueurs &6&lde chaque côté" to loop-player
                           make console execute command "/playsound random.successful_hit %loop-player%"
                           wait 10 seconds
                           make console execute command "/start"
                       else:
                           stop

 

En espérant d'avoir aidé :)

Lache un like, c'est gratuit et ça fit plaiz

 

 

Effectivement, cela marche à présent ;)

Merci !

  • 0
Posté(e)

Qu'est ce qu'un "loop" premièrement car il y a visiblement un faux sens de ta part.

 

Le loop va éxécuter le code le suivant pour chaque éléments du loop. Si tu mets un délai par exemple la première et duexième boucle ne seront pas coordonnées.

 

Si tu veux que rien ne passe si ta conditions n'est pas vérifié ne mets rien:

if {timer} is true:
                   loop all players:
                       if loop-player has permission "www.game":
                           send "&6[WWM] &cIl n'y a pas assez de joueurs pour commencer une partie." to loop-player
                           send "&6&lAméricains : &a%{nb.americain}% joueur(s)" to loop-player
                           send "&6&lAllemands : &a%{nb.allemand}% joueur(s)" to loop-player
                           send "&6&lIl faut au minimum &33 joueurs &6&lde chaque côté" to loop-player
                           make console execute command "/playsound random.successful_hit %loop-player%"
                           wait 10 seconds
                           make console execute command "/start"

Passe par une fonction pour que les messages apparaissent en même temps pour tout le monde.

Ce qui donne:

function messages(p :player):
 send "&6[WWM] &cIl n'y a pas assez de joueurs pour commencer une partie." to {_p}
 send "&6&lAméricains : &a%{nb.americain}% joueur(s)" to {_p}
 send "&6&lAllemands : &a%{nb.allemand}% joueur(s)" to {_p}
 send "&6&lIl faut au minimum &33 joueurs &6&lde chaque côté" to {_p}
 make console execute command "/playsound random.successful_hit %{_p}%"
 wait 10 seconds
 make console execute command "/start"

if {timer} is true:
 loop all players:
   if loop-player has permission "www.game":
     messages(loop-player)                   

En espérant t'avoir aidé.

  • 0
Posté(e)
Qu'est ce qu'un "loop" premièrement car il y a visiblement un faux sens de ta part.

 

Le loop va éxécuter le code le suivant pour chaque éléments du loop. Si tu mets un délai par exemple la première et duexième boucle ne seront pas coordonnées.

 

Si tu veux que rien ne passe si ta conditions n'est pas vérifié ne mets rien:

if {timer} is true:
                   loop all players:
                       if loop-player has permission "www.game":
                           send "&6[WWM] &cIl n'y a pas assez de joueurs pour commencer une partie." to loop-player
                           send "&6&lAméricains : &a%{nb.americain}% joueur(s)" to loop-player
                           send "&6&lAllemands : &a%{nb.allemand}% joueur(s)" to loop-player
                           send "&6&lIl faut au minimum &33 joueurs &6&lde chaque côté" to loop-player
                           make console execute command "/playsound random.successful_hit %loop-player%"
                           wait 10 seconds
                           make console execute command "/start"

Passe par une fonction pour que les messages apparaissent en même temps pour tout le monde.

Ce qui donne:

function messages(p :player):
 send "&6[WWM] &cIl n'y a pas assez de joueurs pour commencer une partie." to {_p}
 send "&6&lAméricains : &a%{nb.americain}% joueur(s)" to {_p}
 send "&6&lAllemands : &a%{nb.allemand}% joueur(s)" to {_p}
 send "&6&lIl faut au minimum &33 joueurs &6&lde chaque côté" to {_p}
 make console execute command "/playsound random.successful_hit %{_p}%"
 wait 10 seconds
 make console execute command "/start"

if {timer} is true:
 loop all players:
   if loop-player has permission "www.game":
     messages(loop-player)                   

En espérant t'avoir aidé.

 

Ca marche merci ;)

×
×
  • 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.