PastequeBuild Posté(e) le 3 septembre 2016 Posté(e) le 3 septembre 2016 Bonjour, Cela fait 3 jours que j'ai appris le script. J'ai essayé de faire un système d'équipe et je pense être près de but mais je voudrais en avoir un d'une autre personne pour le comparer avec le miens et voir comment j'aurais pu faire mieux. Alors certain vont dire que c'est très simple,mais moi...je suis débutant et j'ai encore besoin de progresser. Merci beaucoup !!! :)
Skripting Posté(e) le 3 septembre 2016 Posté(e) le 3 septembre 2016 Tout d'abord bonne chance pour la suite et content de voir un nouveau^^ ! Sinon, pourrais-tu nous envoyer ton code pour que l'on puisse t'aider ? 1
PastequeBuild Posté(e) le 3 septembre 2016 Auteur Posté(e) le 3 septembre 2016 Tout d'abord bonne chance pour la suite et content de voir un nouveau^^ ! Sinon, pourrais-tu nous envoyer ton code pour que l'on puisse t'aider ? Merci ! Je t'envoie mon script mais saches qu'il y a pas mal d'erreurs que j'essaie de régler :D variables: {team.add.rouge} = false {team.add.bleu} = false {team.add.blanc} = true {team.joueurs.rouge} = 0 {team.joueurs.bleu} = 0 command /teamjoinrouge: description: Rejoindre l'équipe rouge. permission: team.join.rouge permission message: &cTu n'es pas dans un jeu ! trigger: if {team.add.bleu} is true: send "&cTu dois faire /teamquitbleu avant de passer à l'équipe rouge !" to player else if {team.joueurs.rouge} is greater than 4: send "&7Il y a trop de joueurs &cRouges &7!" to player send "&7Tu seras donc dans l'équipe &9Bleue&7..." to player set {team.add.bleu} to true set {team.add.rouge} to false set {team.add.blanc} to false add 1 to {team.joueurs.bleu} else if {team.add.rouge} is true: send "&cTu es déjà dans l'équipe rouge !" to player else if {team.add.rouge} is false: send "&7Tu rejoint l'équipe &c&oRouge &7!" to player set {team.add.bleu} to false set {team.add.rouge} to true set {team.add.blanc} to false add 1 to {team.joueurs.rouge} command /teamjoinbleu: description: rejoindre l'équipe bleue. permission: team.join.bleu permission message: &cTu n'es pas dans un jeu ! trigger: if {team.add.rouge} is true: send "&cTu dois faire /teamquitrouge avant de passer à l'équipe bleue !" to player else if {team.joueurs.bleu} is greater than 4: send "&7Il y a trop de joueurs &9Bleus &7!" to player send "&7Tu seras donc dans l'équipe &cRouge&7..." to player set {team.add.bleu} to false set {team.add.rouge} to true set {team.add.blanc} to false add 1 to {team.joueurs.rouge} else if {team.add.bleu} is true: send "&cTu es déjà dans l'équipe bleue!" to player else if {team.add.bleu} is false: send "&7Tu rejoint l'équipe &9&oBleue &7!" to player set {team.add.bleu} to true set {team.add.rouge} to false set {team.add.blanc} to false add 1 to {team.joueurs.bleu} command /teamquitrouge: description: Quitter l'équipe rouge. permission: team.quit.rouge permission message: &cTu n'es pas dans un jeu ! trigger: if {team.add.rouge} is false: send "&cTu n'étais pas dans l'équipe rouge !" to player if {team.add.rouge} is true: send "&7Tu as quitté l'équipe &c&oRouge &7!" to player set {team.add.rouge} to false set {team.add.bleu} to false set {team.add.blanc} to true remove 1 from {team.joueurs.rouge} command /teamquitbleu: description: Quitter l'équipe bleue. permission: team.quit.bleu permission message: &cTu n'es pas dans un jeu ! trigger: if {team.add.bleu} is false: send "&cTu n'étais pas dans l'équipe bleue!" to player if {team.add.bleu} is true: send "&7Tu as quitté l'équipe &9&oBleue &7!" to player set {team.add.bleu} to false set {team.add.rouge} to false set {team.add.blanc} to true remove 1 from {team.joueurs.bleu} command /teamlist: description: Voir combien de joueurs il y a par équipes. permission: team.list permission message: Tu n'es pas dans un jeu ! trigger: send "&7Il y a &c&o%{team.joueurs.rouge}% joueur(s) dans la team rouge &7!" to player send "&7Il y a &9&o%{team.joueurs.bleu}% joueur(s) dans la team bleu &7!" to player command /rouge+1: #pour moi description: Rajouter un faux joueur à l'équipe rouge. permission: rouge.+1 permission message: Tu ne peux pas éxecuter cette commande ! trigger: add 1 to {team.joueurs.rouge} send "Rajout d'une personne chez les rouges." to player command /rouge-1: #pour moi description: Enlever un faux joueur à l'équipe rouge. permission: rouge.-1 permission message: Tu ne peux pas éxecuter cette commande ! trigger: remove 1 from {team.joueurs.rouge} send "Une personne enlevée chez les rouges." to player command /bleu+1: #pour moi description: Rajouter un faux joueur à l'équipe bleue. permission: bleu.+1 permission message: Tu ne peux pas éxecuter cette commande ! trigger: add 1 to {team.joueurs.bleu} send "Rajout d'une personne chez les bleus." to player command /bleu-1: #pour moi description: Enlever un faux joueur à l'équipe bleue. permission: bleu.-1 permission message: Tu ne peux pas éxecuter cette commande ! trigger: remove 1 from {team.joueurs.bleu} send "Une personne enlevée chez les bleus." to player command /start: description: Commencer la partie. permission: team.start permission message: Tu n'es pas dans le jeu ! trigger: if {team.joueurs.bleu} is greater than 4: if {team.joueurs.rouge} is greater than 4: send "&7La partie va commencer !" J'ai compris mon erreur principale: les variables {team.add.rouge/bleu} sont en false ou true et quand une personne va faire /teamjoinrouge puis qu'une autre fait /teamjoinbleu, la variable {team.add.rouge} sera mise sur false et la {team.add.bleu} sur true pour tout le monde. Le problème est: Comment faire autrement ? Est-ce que mon idée est complètement fausse ? J'ai aussi un autre problème sur lequel je réfléchis: Je voudrais que les joueurs n'aient pas à faire /start pour commencer le jeu.Je voudrais que tout se fasse automatiquement... Il faudrait remplacer la commande par un évenement mais lequel ? J'ai pensé au "at 12:00" c'est à dire que l'évenement se produit quand il est 12:00 dans le jeu,mais je ne sais pas si cela marcherait...et puis il y a peut-être un moyen plus simple ^^... Il y a ces deux problèmes,mais j'en ai aussi un autre dont je parlerai après (chaque choses en son temps :) ).[/code]
Skripting Posté(e) le 3 septembre 2016 Posté(e) le 3 septembre 2016 Mets d'abord ton code entre les balises ["CODE"]^^ ![/"CODE"] sans les guillemets.
PastequeBuild Posté(e) le 3 septembre 2016 Auteur Posté(e) le 3 septembre 2016 Désolé,je ne savais pas comment faire,voilà :)
Skripting Posté(e) le 3 septembre 2016 Posté(e) le 3 septembre 2016 Très bien je verrai cela demain (je suis sur téléphone actuellement)^^ !
PastequeBuild Posté(e) le 4 septembre 2016 Auteur Posté(e) le 4 septembre 2016 Très bien je verrai cela demain (je suis sur téléphone actuellement)^^ ! Alors ? Qu'en pense-tu ? :p
PastequeBuild Posté(e) le 4 septembre 2016 Auteur Posté(e) le 4 septembre 2016 J'ai hâte de savoir... :)
Gaël Erhlich Posté(e) le 4 septembre 2016 Posté(e) le 4 septembre 2016 Pour régler ton problème, tu peux utiliser des variables avec %player% dedans, genre {ma.variable.%player%}, et ton instruction va être traitée comme si tu avais mis le pseudo du joueur qui tape la commande à la place de %player%. 'fin dans ton cas, il vaudrait mieux une variable liste dans laquelle tu mettrais le pseudo des joueurs de chaque équipe pour pouvoir farfouiller dedans après. Y'a aussi un truc que font beaucoup les gens qui sont pas habitués aux expressions qui désignent pas forcément la même chose en fonction des circonstances (type %player% qui désigne pas toujours le même joueur), c'est la répétition d'un bout de code plusieurs fois, ce qui peut rendre le code plusieurs fois plus lourd, sans que ce soit réellement utile. 'fin moi j'aurais fait à peu près comme ça même si j'aurais encore des trucs à améliorer sauf qu'il est tard : command /team <text> : description: Rejoindre une équipe. permission: team.join permission message: &cTu n'es pas dans un jeu ! trigger: loop {Team.Rouge::*}: #Je cherche si le joueur est déjà chez les rouges. set {_Joueur} to loop-value if {_Joueur} is player: remove player from {Team.Rouge::*} remove 1 from {Team.Joueurs.Rouge} loop {Team.Bleu::*}: #Je cherche si le joueur est déjà chez les bleus. set {_Joueur} to loop-value if {_Joueur} is player: remove player from {Team.Bleu::*} remove 1 from {Team.Joueurs.Bleu} if arg-1 is "rouge" or "bleu": #Je vérifie si le joueur veut bien rejoindre une équipe qui existe. add player to {Team.%arg-1%::*} #Je l'ajoute à la liste. add 1 to {Team.Joueurs.%arg-1%} #J'ajoute 1 au nombre de joueur dans l'équipe qu'il a donnée dans sa commande. send "&eVous rejoignez l'équipe %arg-1%." to player command /teamliste: description: Voir combien de joueurs il y a par équipes. permission: team.list permission message: &cTu n'es pas dans un jeu ! trigger: send "&eEquipe rouge : %{Team.Joueurs.Rouge}% || Equipe bleue : %{Team.Joueurs.Bleu}%" to player command /teamchange <text> <integer> : #<integer> peut être un nombre positif ou négatif. description: Change le nombre de joueurs d'une équipe. permission: team.change permission message: &cTu n'est pas dans un jeu ! trigger: if arg-1 is "rouge" or "bleu": #Je replace la valeur de la variable qui sait combien de joueurs sont dans l'équipe que le joueur a donné dans sa commande par elle-même plus le nombre qu'il a donné. set {Team.Joueurs.%arg-1%} to ({Team.Joueurs.%arg-1%} + arg-2) send "&eL'équipe %arg-1% a maintenant %{Team.Joueurs.%arg-1%}% joueur(s)." to player
PastequeBuild Posté(e) le 5 septembre 2016 Auteur Posté(e) le 5 septembre 2016 Merci infiniment !!! :)
PastequeBuild Posté(e) le 11 septembre 2016 Auteur Posté(e) le 11 septembre 2016 Un autre problème se pose ! Une fois tous les joueurs dans leur équipe,je voudrais qu'il y ait un compte à rebours avant le commencement du jeu avec des "titles". Ces "titles" sont des messages mis au milieu de l'écran. Je vais donc utiliser un "make console execute command "/title blabla..." Je voudrais que ces titles n'apparaissent que pour les joueurs dans l'équipe rouge ou bleue ! Comment faire ? Je vous donne mon code: command /commencer: trigger: if {Team.Joueurs.Rouge} or {Team.Joueurs.Bleu} are smaller than 5: send "&cIl n'y a pas assez de joueurs pour commencer la partie !" to player exit if {Team.Joueurs.Rouge} or {Team.Joueurs.Bleu} are greater than 4: broadcast "CACA" loop all players: if loop-player is in world "Spawn": send "&6La partie de &3&oKill The King &6va commencer !" to loop-player make console execute command: "/msg TRUC message" J'ai utilisé un "msg" pour commande afin de simplifier les choses mais c'est pareil. Je veux que mon TRUC désigne les loop-players qui sont dans le monde "Spawn" ou dans la variable {team.add.rouge} ou {team.add.bleu} (c'est à dire dans une équipe). Je ne sais pas comment faire,voir même si c'est possible... Merci pour votre aide !! :D
Gaël Erhlich Posté(e) le 11 septembre 2016 Posté(e) le 11 septembre 2016 Si tu veux le faire avec des titles, tu utilises juste la syntaxe de la commande huh. loop all players: if loop-player's world is "Spawn": make console execute command: "/title %loop-player% title {Blabla en json}"
PastequeBuild Posté(e) le 11 septembre 2016 Auteur Posté(e) le 11 septembre 2016 Merci mais que veut dire "blabla en json" ? ça ne marche pas
Gaël Erhlich Posté(e) le 11 septembre 2016 Posté(e) le 11 septembre 2016 Cette commande : /title %loop-player% title ["",{"text":"M","bold":true,"color":"dark_gray"},{"text":"oules","color":"dark_gray"},{"text":" + "},{"text":"F","bold":true,"color":"yellow"},{"text":"rites","color":"yellow"},{"text":" = "},{"text":"O","obfuscated":true},{"text":"BE","color":"dark_gray"},{"text":"LGI","color":"yellow"},{"text":"QUE","color":"red"},{"text":"O","obfuscated":true,"color":"white"}] ...donne ça : Tu t'es documenté un minimum avant d'utiliser la commande title ? :c
PastequeBuild Posté(e) le 11 septembre 2016 Auteur Posté(e) le 11 septembre 2016 ça ne marche toujours pas :c if loop-player's world is "Spawn": send "&6La partie de &3&oKill The King &6va commencer !" to loop-player make console execute command: /title %loop-player% title ["",{"text":"M","bold":true,"color":"dark_gray"},{"text":"oules","color":"dark_gray"},{"text":" + "},{"text":"F","bold":true,"color":"yellow"},{"text":"rites","color":"yellow"},{"text":" = "},{"text":"O","obfuscated":true},{"text":"BE","color":"dark_gray"},{"text":"LGI","color":"yellow"},{"text":"QUE","color":"red"},{"text":"O","obfuscated":true,"color":"white"}]
Gaël Erhlich Posté(e) le 11 septembre 2016 Posté(e) le 11 septembre 2016 T'utlises pas la bonne syntaxe. C'est : make console execute command "/say We are in trouble" Et comme marqué dans la doc, il faut doubler les guillemets dans les citations : make console execute command "/title %player% title ["""",{""text"":""M"",""bold"":true,""color"":""dark_gray""},{""text"":""oules"",""color"":""dark_gray""},{""text"":"" + ""},{""text"":""F"",""bold"":true,""color"":""yellow""},{""text"":""rites"",""color"":""yellow""},{""text"":"" = ""},{""text"":""O"",""obfuscated"":true},{""text"":""BE"",""color"":""dark_gray""},{""text"":""LGI"",""color"":""yellow""},{""text"":""QUE"",""color"":""red""},{""text"":""O"",""obfuscated"":true,""color"":""white""}]" Aussi quand tu dis que ça marche pas, il faut dire ce qui marche pas exactement parce que sans ça, c'est plus long de trouver puisqu'on doit réfléchir à chaque ligne, à chaque bloc possible.
Messages recommandés