Aller au contenu
  • 0

Problème Loop-Player


Question

Posté(e) (modifié)

- Minecraft 1.8 & Skript 2.2

Bonjour! Dans le skript de oneshoot suivant, je cherche à faire que touts les joueurs ayant rejoins la partie soient téléportés et aient un timer avant de 120 secondes. Problème: le skript s'effectue bien mais il s'effectue 1 joueur par 1 joueur. Vous me direz que c'est normal car c'est un "loop". Mais je ne sais pas comment faire pour que il s'effectue pour tout les joueurs en même temps... J'ai essayé les fonctions ou bien un else accompagné d'un stop à la fin mais rien de change...
 

				loop all players:
					if {oneshout.stats.joueur.%loop-player%} is set:	
						set {_timer} to 121
						loop 120 times:
							remove 1 from {_timer}
							wait 1 second
							if {_timer} = 120 or 60 or 30, 20, 10, 9, 8, 7, 6, 5, 4:
								broadcast "{@prefix} &fLa partie commence dans &6%{_timer}% &fseconde(s)&7." in world of loop-player
								set action bar of loop-player to "&fDébut dans &6%{_timer}% &fseconde(s)"
							if {_timer} = 3 or 2 or 1:
								send loop-player title "&6OneShoot" with subtitle "&bDébut dans &e%{_timer}%" for 1 second
							if {_timer} = 0:
								send loop-player title "&6OneShoot" with subtitle "&bQue le meilleur gagne !" for 3 seconds
								broadcast "{@prefix} &fTéléportation en cours..." in world of loop-player					
						set {oneshout.game.start} to true
						set {oneshout.manche} to 1
						set {_random} to a random integer between 1 and 12
						wait 0.5 tick
						if {_random} = 1:
							teleport loop-player to {oneshout.tp.1.map}
						if {_random} = 2:
							teleport loop-player to {oneshout.tp.2.map}
						if {_random} = 3:
							teleport loop-player to {oneshout.tp.3.map}
						if {_random} = 4:
							teleport loop-player to {oneshout.tp.4.map}
						if {_random} = 5:
							teleport loop-player to {oneshout.tp.5.map}
						if {_random} = 6:
							teleport loop-player to {oneshout.tp.6.map}
						if {_random} = 7:
							teleport loop-player to {oneshout.tp.7.map}
						if {_random} = 8:
							teleport loop-player to {oneshout.tp.8.map}
						if {_random} = 9:
							teleport loop-player to {oneshout.tp.9.map}
						if {_random} = 10:
							teleport loop-player to {oneshout.tp.10.map}
						if {_random} = 11:
							teleport loop-player to {oneshout.tp.11.map}
						if {_random} = 12:
							teleport loop-player to {oneshout.tp.12.map}
						set {oneshout.nomove} to true
						send loop-player title " " with subtitle "&b3" for 1 seconds
						wait 1 second
						send loop-player title " " with subtitle "&b2" for 1 seconds
						wait 1 second
						send loop-player title " " with subtitle "&b1" for 1 seconds
						wait 1 second
						clear {oneshout.nomove}				
						clear loop-player's inventory
						set slot 1 of loop-player to bow of power 5 and infinity named "&eBow"
						set slot 0 of loop-player to wooden sword named "&bSword"
						set slot 8 of loop-player to arrow named "&aUltimate Arrow"
						send "{@prefix} &fLa partie commence maintenant." to loop-player
						send loop-player title "&bManche 1" with subtitle " " for 3 seconds		


Oui, j'ai déjà essayé les fonctions en mais rien ne change. Peut-être que vu que il y a un timer les loop ne sont pas coordonées ? Mais alors comment je fais..
Je précise que je n'ai aucune erreur. Merci!

Modifié par MajAxe

6 réponses à cette question

Messages recommandés

  • 0
Posté(e)
il y a 1 minute, KaraDev a dit :

si tu veux faire que ton loop s’effectue pour tout le monde en même temps, il faut limiter voir supprimer les "wait"

Merci de ta réponse, mais pour un timer dans ses cas là je fais comment ? je le met à part ? Car là j'ai un timer de 120 secondes et je confirme après mes tests que j'ai un décalage de 120 secondes... mais je ne sais pas comment y remédier...

  • 0
Posté(e)

je pense oui qu'il faudrait le faire appart, peut être mais il te faut loop les joueur quand même, tu peux essayer d'ajouter les joueur loop dans une liste pour ensuite l'utiliser comme des joueurs, je sais que faire quelque chose comme ça:

send "%nl%%nl%&2Début du jour numéro 1%nl%&2---------------------" to {Lg::Alive::*}

c'est possible car je l'ai fais 😉, donc peut être peut-tu faire pareil avec les titles

  • 0
Posté(e)
il y a 39 minutes, KaraDev a dit :

je pense oui qu'il faudrait le faire appart, peut être mais il te faut loop les joueur quand même, tu peux essayer d'ajouter les joueur loop dans une liste pour ensuite l'utiliser comme des joueurs, je sais que faire quelque chose comme ça:


send "%nl%%nl%&2Début du jour numéro 1%nl%&2---------------------" to {Lg::Alive::*}

c'est possible car je l'ai fais 😉, donc peut être peut-tu faire pareil avec les titles

Merci! C'est vrai que je n'y ais pas pensé, mais même si je fais comme le code que tu m'as indiqué je devrais utiliser les wait pour le timer ... 

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.