j'ai établi un long Skript où il y a démarrage d'une partie.
Les messages sont envoyés aux joueurs connectés, et cela fonctionne très bien les messages sont reçus en même temps par tous les joueurs.
Cependant, lorsque le Skript recommence en boucle plus de deux fois, les joueurs reçoivent encore les messages mais ceux-ci sont dupliqués x2, puis x4 et cela fait bug tout le serveur.
Je voudrai que le Skript reparte du début (c'est déjà fait), MAIS que les joueurs reçoivent les message x1 et pas dupliqué je ne sais pas combien de fois.
J'ai tout essayé, et je n'arrive pas à corriger ce problème.
NB : Le Skript ne contient aucune erreur de code et il se charge correctement.
Merci d'avance.
Code :
function nbinsuffisant(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 "/start2"
stop
function deserteur(p: player):
send "&6[WWM] &cVos compatriotes se battent pour leur nation ! Rejoignez-les dès que possible !" to {_p}
stop
function timer(p: player):
set {freeze.%{_p}%} to true
clear {score.allemand}
clear {score.americain}
set {score.allemand} to 0
set {score.americain} to 0
send "&6&lDébut du combat dans :" to {_p}
wait 1 second
send "&c&l5" to {_p}
make console execute command "/playsound random.successful_hit %{_p}%"
wait 1 second
send "&c&l4" to {_p}
make console execute command "/playsound random.successful_hit %{_p}%"
wait 1 second
send "&6&l3" to {_p}
make console execute command "/playsound random.successful_hit %{_p}%"
wait 1 second
send "&6&l2" to {_p}
make console execute command "/playsound random.successful_hit %{_p}%"
wait 1 second
send "&a&l1" to {_p}
make console execute command "/playsound random.successful_hit %{_p}%"
wait 1 second
send "&3&lALLEZ-Y !" to {_p}
make console execute command "/playsound records.ward %{_p}%"
make console execute command "/playsound records.11 %{_p}%"
set {freeze.%{_p}%} to false
set {timer} to false
set {start} to true
wait 2 seconds
make console execute command "/start2"
stop
function victoireamerique(p: player):
set {freeze.%{_p}%} to true
send "&a&lScore : &3&lAllemagne : &c%{score.allemand}% point(s)" to {_p}
send " &3&lAmérique : &c%{score.americain}% point(s)" to {_p}
send "&6&lLes &3Américains &6ont gagné !" to {_p}
if {americain.%{_p}%::*} is true:
make console execute command "/playsound records.mall %{_p}%"
make console execute "/money give %{_p}% 250"
send "&a&lVous avez gagné le combat ! Vous remportez &3250 $" to {_p}
wait 13 seconds
set {freeze.%{_p}%} to false
clear {score.americain}
clear {score.allemand}
clear {_p}'s inventory
set {americain.%{_p}%::*} to false
set {allemand.%{_p}%::*} to false
make console execute command "/pex user %{_p}% group set Deserteur"
make console execute command "/spawn %{_p}%"
clear {nb.americain}
clear {nb.allemand}
set {freeze.%{_p}%} to false
set {start} to false
set {paix} to true
make console execute command "/start2"
else:
if {allemand.%{_p}%::*} is true:
make console execute command "/playsound records.cat %{_p}%"
send "&c&lVous avez perdu le combat... Vous serez plus fort la prochaine fois !" to {_p}
wait 13 seconds
set {freeze.%{_p}%} to false
clear {score.americain}
clear {score.allemand}
clear {_p}'s inventory
set {americain.%{_p}%::*} to false
set {allemand.%{_p}%::*} to false
make console execute command "/pex user %{_p}% group set Deserteur"
make console execute command "/spawn %{_p}%"
clear {nb.americain}
clear {nb.allemand}
set {freeze.%{_p}%} to false
set {start} to false
set {paix} to true
make console execute command "/start2"
stop
function victoireallemagne(p: player):
set {freeze.%{_p}%} to true
send "&a&lScore : &3&lAllemagne : &c%{score.allemand}% point(s)" to {_p}
send " &3&lAmérique : &c%{score.americain}% point(s)" to {_p}
send "&6&lLes &3Allemands &6ont gagné !" to {_p}
if {allemand.%{_p}%::*} is true:
make console execute command "/playsound records.mall %{_p}%"
make console execute "/money give %{_p}% 250"
send "&a&lVous avez gagné le combat ! Vous remportez &3250 $" to {_p}
wait 13 seconds
set {freeze.%{_p}%} to false
clear {score.americain}
clear {score.allemand}
clear {_p}'s inventory
set {americain.%{_p}%::*} to false
set {allemand.%{_p}%::*} to false
make console execute command "/pex user %{_p}% group set Deserteur"
make console execute command "/spawn %{_p}%"
clear {nb.americain}
clear {nb.allemand}
set {freeze.%{_p}%} to false
set {start} to false
set {paix} to true
make console execute command "/start2"
else:
if {americain.%{_p}%::*} is true:
make console execute command "/playsound records.cat %{_p}%"
send "&c&lVous avez perdu le combat... Vous serez plus fort la prochaine fois !" to {_p}
wait 13 seconds
set {freeze.%{_p}%} to false
clear {score.americain}
clear {score.allemand}
clear {_p}'s inventory
set {americain.%{_p}%::*} to false
set {allemand.%{_p}%::*} to false
make console execute command "/pex user %{_p}% group set Deserteur"
make console execute command "/spawn %{_p}%"
clear {nb.americain}
clear {nb.allemand}
set {freeze.%{_p}%} to false
set {start} to false
set {paix} to true
make console execute command "/start2"
stop
function enattente(p: player):
wait 5 seconds
send "nope" to {_p}
make console execute command "/start2"
stop
function erreur(p: player):
send "&cErreur, démmarage de la partie impossible" to {_p}
wait 60 seconds
make console execute command "/start2"
stop
function tempsrestant(p: player):
send "&a&lScore : &3&lAllemagne : &c%{score.allemand}% point(s)" to {_p}
send " &3&lAmérique : &c%{score.americain}% point(s)" to {_p}
make console execute command "/playsound random.successful_hit %{_p}%"
every 30 seconds:
loop all players:
if {start} is true:
tempsrestant(loop-player)
command /start2:
trigger:
if {paix} is not set:
set {paix} to true
if {paix} is true:
send "&6[WWM] &3Entrée en période de paix, reprise du combat dans &c3 minutes" to all players
make console execute command "/playsound random.successful_hit %all players%"
wait 5 seconds
send "&6[WWM] &3Reprise du combat dans &c1 minute" to all players
make console execute command "/playsound random.successful_hit %all players%"
wait 10 seconds
send "&6[WWM] &3Fin de la période de paix, reprise du combat !" to all players
make console execute command "/playsound random.successful_hit %all players%"
set {timer} to true
set {paix} to false
make console execute command "/start2"
stop
else:
if {timer} is true:
loop all players:
set {nb.americain} to {nb.americain} parsed as an integer
set {nb.allemand} to {nb.allemand} parsed as an integer
if {nb.americain} >= 1:
if {nb.allemand} >= 1:
if loop-player has permission "wwm.game":
timer(loop-player)
stop
else:
deserteur(loop-player)
else:
nbinsuffisant(loop-player)
else:
nbinsuffisant(loop-player)
stop
else:
if {start} is true:
if {score.americain} >= 60:
loop all players:
if loop-player has permission "wwm.game":
victoireamerique(loop-player)
stop
else:
if {score.allemand} >= 60:
loop all players:
if loop-player has permission "wwm.game":
victoireallemagne(loop-player)
stop
else:
loop all players:
if loop-player has permission "wwm.game":
enattente(loop-player)
else:
wait 5 seconds
make console execute command "/start2"
stop
else:
loop all players:
erreur(loop-player)
stop
command /start:
trigger:
if player has permission "wwm.moderation":
make console execute command "/start2"
else:
send "&6[WWM] &cVous n'avez pas la permission d'accéder à cette commande"
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.
Question
HyperKut
Bonjour,
j'ai établi un long Skript où il y a démarrage d'une partie.
Les messages sont envoyés aux joueurs connectés, et cela fonctionne très bien les messages sont reçus en même temps par tous les joueurs.
Cependant, lorsque le Skript recommence en boucle plus de deux fois, les joueurs reçoivent encore les messages mais ceux-ci sont dupliqués x2, puis x4 et cela fait bug tout le serveur.
Je voudrai que le Skript reparte du début (c'est déjà fait), MAIS que les joueurs reçoivent les message x1 et pas dupliqué je ne sais pas combien de fois.
J'ai tout essayé, et je n'arrive pas à corriger ce problème.
NB : Le Skript ne contient aucune erreur de code et il se charge correctement.
Merci d'avance.
Code :
function nbinsuffisant(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 "/start2" stop function deserteur(p: player): send "&6[WWM] &cVos compatriotes se battent pour leur nation ! Rejoignez-les dès que possible !" to {_p} stop function timer(p: player): set {freeze.%{_p}%} to true clear {score.allemand} clear {score.americain} set {score.allemand} to 0 set {score.americain} to 0 send "&6&lDébut du combat dans :" to {_p} wait 1 second send "&c&l5" to {_p} make console execute command "/playsound random.successful_hit %{_p}%" wait 1 second send "&c&l4" to {_p} make console execute command "/playsound random.successful_hit %{_p}%" wait 1 second send "&6&l3" to {_p} make console execute command "/playsound random.successful_hit %{_p}%" wait 1 second send "&6&l2" to {_p} make console execute command "/playsound random.successful_hit %{_p}%" wait 1 second send "&a&l1" to {_p} make console execute command "/playsound random.successful_hit %{_p}%" wait 1 second send "&3&lALLEZ-Y !" to {_p} make console execute command "/playsound records.ward %{_p}%" make console execute command "/playsound records.11 %{_p}%" set {freeze.%{_p}%} to false set {timer} to false set {start} to true wait 2 seconds make console execute command "/start2" stop function victoireamerique(p: player): set {freeze.%{_p}%} to true send "&a&lScore : &3&lAllemagne : &c%{score.allemand}% point(s)" to {_p} send " &3&lAmérique : &c%{score.americain}% point(s)" to {_p} send "&6&lLes &3Américains &6ont gagné !" to {_p} if {americain.%{_p}%::*} is true: make console execute command "/playsound records.mall %{_p}%" make console execute "/money give %{_p}% 250" send "&a&lVous avez gagné le combat ! Vous remportez &3250 $" to {_p} wait 13 seconds set {freeze.%{_p}%} to false clear {score.americain} clear {score.allemand} clear {_p}'s inventory set {americain.%{_p}%::*} to false set {allemand.%{_p}%::*} to false make console execute command "/pex user %{_p}% group set Deserteur" make console execute command "/spawn %{_p}%" clear {nb.americain} clear {nb.allemand} set {freeze.%{_p}%} to false set {start} to false set {paix} to true make console execute command "/start2" else: if {allemand.%{_p}%::*} is true: make console execute command "/playsound records.cat %{_p}%" send "&c&lVous avez perdu le combat... Vous serez plus fort la prochaine fois !" to {_p} wait 13 seconds set {freeze.%{_p}%} to false clear {score.americain} clear {score.allemand} clear {_p}'s inventory set {americain.%{_p}%::*} to false set {allemand.%{_p}%::*} to false make console execute command "/pex user %{_p}% group set Deserteur" make console execute command "/spawn %{_p}%" clear {nb.americain} clear {nb.allemand} set {freeze.%{_p}%} to false set {start} to false set {paix} to true make console execute command "/start2" stop function victoireallemagne(p: player): set {freeze.%{_p}%} to true send "&a&lScore : &3&lAllemagne : &c%{score.allemand}% point(s)" to {_p} send " &3&lAmérique : &c%{score.americain}% point(s)" to {_p} send "&6&lLes &3Allemands &6ont gagné !" to {_p} if {allemand.%{_p}%::*} is true: make console execute command "/playsound records.mall %{_p}%" make console execute "/money give %{_p}% 250" send "&a&lVous avez gagné le combat ! Vous remportez &3250 $" to {_p} wait 13 seconds set {freeze.%{_p}%} to false clear {score.americain} clear {score.allemand} clear {_p}'s inventory set {americain.%{_p}%::*} to false set {allemand.%{_p}%::*} to false make console execute command "/pex user %{_p}% group set Deserteur" make console execute command "/spawn %{_p}%" clear {nb.americain} clear {nb.allemand} set {freeze.%{_p}%} to false set {start} to false set {paix} to true make console execute command "/start2" else: if {americain.%{_p}%::*} is true: make console execute command "/playsound records.cat %{_p}%" send "&c&lVous avez perdu le combat... Vous serez plus fort la prochaine fois !" to {_p} wait 13 seconds set {freeze.%{_p}%} to false clear {score.americain} clear {score.allemand} clear {_p}'s inventory set {americain.%{_p}%::*} to false set {allemand.%{_p}%::*} to false make console execute command "/pex user %{_p}% group set Deserteur" make console execute command "/spawn %{_p}%" clear {nb.americain} clear {nb.allemand} set {freeze.%{_p}%} to false set {start} to false set {paix} to true make console execute command "/start2" stop function enattente(p: player): wait 5 seconds send "nope" to {_p} make console execute command "/start2" stop function erreur(p: player): send "&cErreur, démmarage de la partie impossible" to {_p} wait 60 seconds make console execute command "/start2" stop function tempsrestant(p: player): send "&a&lScore : &3&lAllemagne : &c%{score.allemand}% point(s)" to {_p} send " &3&lAmérique : &c%{score.americain}% point(s)" to {_p} make console execute command "/playsound random.successful_hit %{_p}%" every 30 seconds: loop all players: if {start} is true: tempsrestant(loop-player) command /start2: trigger: if {paix} is not set: set {paix} to true if {paix} is true: send "&6[WWM] &3Entrée en période de paix, reprise du combat dans &c3 minutes" to all players make console execute command "/playsound random.successful_hit %all players%" wait 5 seconds send "&6[WWM] &3Reprise du combat dans &c1 minute" to all players make console execute command "/playsound random.successful_hit %all players%" wait 10 seconds send "&6[WWM] &3Fin de la période de paix, reprise du combat !" to all players make console execute command "/playsound random.successful_hit %all players%" set {timer} to true set {paix} to false make console execute command "/start2" stop else: if {timer} is true: loop all players: set {nb.americain} to {nb.americain} parsed as an integer set {nb.allemand} to {nb.allemand} parsed as an integer if {nb.americain} >= 1: if {nb.allemand} >= 1: if loop-player has permission "wwm.game": timer(loop-player) stop else: deserteur(loop-player) else: nbinsuffisant(loop-player) else: nbinsuffisant(loop-player) stop else: if {start} is true: if {score.americain} >= 60: loop all players: if loop-player has permission "wwm.game": victoireamerique(loop-player) stop else: if {score.allemand} >= 60: loop all players: if loop-player has permission "wwm.game": victoireallemagne(loop-player) stop else: loop all players: if loop-player has permission "wwm.game": enattente(loop-player) else: wait 5 seconds make console execute command "/start2" stop else: loop all players: erreur(loop-player) stop command /start: trigger: if player has permission "wwm.moderation": make console execute command "/start2" else: send "&6[WWM] &cVous n'avez pas la permission d'accéder à cette commande"Vidéo du problème :
https://www.youtube.com/watch?v=Q-fEWpw6yQ4
25 réponses à cette question
Messages recommandés