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 :
Vidéo du problème :
https://www.youtube.com/watch?v=Q-fEWpw6yQ4
25 réponses à cette question
Messages recommandés