Aller au contenu

HyperKut

Membre
  • Compteur de contenus

    37
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par HyperKut

  1. J'ai la version 3.0 de SkQuery. Peut-être, je n'en sais rien...
  2. Je l'ai optimisé etc et je pense que le problème vient du fait que tu exécute la commande /start dans un loop all players donc si il y a 2 joueurs la commande est exécuté 2 fois donc le problème vient de là. Merci beaucoup, je testerai dans l'après-midi et je te dirai ce qu'il en est. ÉDIT : Oui, j'utilise Sublime Text que je trouve bien plus performant, et j'ai le thème et le langage Skript installé ;) EDIT 2 : J'ai effectivement 2 erreurs qui ne m'ont pas l'air très graves, les voici : Screen : http://prntscr.com/fffyy4 EDIT 3 : Mis à part l'erreur, tout à l'air de fonctionner correctement, les messages ne sont plus dupliqués.
  3. Bah le message qu'il envoit c'est les noms de tous les joueurs, regarde le screen que j'ai envoyé
  4. Non il envoie le pseudo qu'une seule fois.
  5. Effectivement le broadcast me donne mon pseudo. Par contre, quand il y a deux joueurs connectés, cela me donne les noms des deux joueurs connectés (sur un seul et même joueur). Et ce qui est très etonnant, regarde la disposition des messages, celle-ci est extrêmement bizarre car elle est différente sur 2 joueurs, pourtant le code est le même pour les deux, j'ai simplement rajouté le broadcast que tu m'as donné. Screen : http://prntscr.com/ff7d8p
  6. Oui mais malheureusement mon skript ne serait pas entièrement utilisable... C'est un mystère, je ne sais vraiment pas comment faire pour résoudre ce problème. Il faudrait que quelqu'un teste le code et qu'il me dise si ça lui fait pareil, mais là j'ai tout essayé et je ne vois pas..
  7. Bonjour, merci de ta réponse et merci de t'être penché sur mon code. En ce qui concerne les variables, le problème ne vient pas de là je pense car oui elles sont clear en fin de partie mais le bug des messages survient en cours de partie et pas lors de l'arrêt de celle-ci. Le problème des messages arrive à partir du moment où il y a plus d'un joueur connecté. Quand je test le code en étant tout seul sur le serveur il n'y a aucun bug, les messages apparaissent correctement et ne sont pas dupliqués. Cependant, lorsqu'un deuxième joueur (ou plus) est connecté, les messages s'envoient en dupliqués x2, puis x4 etc et de plus en plus. En ce qui concerne l'ordre des messages, ils sont envoyés dans le bon ordre, et dans le bon temps, mais ils sont dupliqués, cela arrive avec tous les messages. Il n'y a que les messages qui sont répétés, pas de playsound ni rien d'autre. Pour arrêter la partie où elle s'arrête seule grâce à la détection de la réussite de l'objectif, où il faut reload le skript, mais je ferai un système avec une variable pour l'arrêter avec une commande. Je ne sais pas d'où cela peut venir, mais si quelqu'un sait, ça m'arrangerai vraiment. Merci Voici une vidéo explicative pour mieux comprendre mon problème : https://www.youtube.com/watch?v=Q-fEWpw6yQ4
  8. 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
  9. HyperKut

    Problème loop-player

    Ca marche merci ;)
  10. HyperKut

    Problème loop-player

    Effectivement, cela marche à présent ;) Merci !
  11. HyperKut

    Problème loop-player

    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%"
  12. HyperKut

    Problème loop-player

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