kalashcriminou Posté(e) le 25 juin 2021 Posté(e) le 25 juin 2021 Version de Minecraft : 1.16.5 Version de Skript : 2.5.3 Description du script : Hello ! J'ai commencé à rédiger un skript de voteban mais il y a quelques points que je n'arrive pas à régler. Par exemple j'aimerais que si aucun argument n'est inséré, on reçoive un message avec "Utilisation : ...", pareil si seul l'arg-2 est inséré ou si le player visé dans la commande est hors-ligne. Aussi si un joueur à la permission voteban.exempt ça empêche de faire un vote. Enfin si possible j'aimerais faire un cooldown à chaque vote type 5 minutes. J'ai essayé de faire les choses citées précédemment par moi même mais je n'y arrive vraiment pas ... Merci d'avance si quelqu'un est disponible et à l'envie de m'aider 😃 Au plaisir ! every second: set {online_players} to number of all players set {ban_treshold} to ceil(60 * {online_players} / 100) command /voteban [<player>] <text>: trigger: if arg-2 is "cancel": if player is op: if {voteban.in_process} is true: set {voteban.in_process} to false broadcast "&cVoteBan » %player% vient d'annuler le vote." set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 else: send "&cVoteban » Aucun vote n'est en cours !" to player else: send "&cPermission insuffisante !" to player if arg-1 is set: if {voteban.in_process} is true: send "&cUn VoteBan est déjà en cours !" to player else: if arg-1 is player: send "%nl%&cVoteBan » Vous ne pouvez pas faire un vote sur vous-même !" to player stop if arg-2 is not "yes" or "no": set {voteban.in_process} to true set {%player%.has_voted} to true send "%nl%&cVoteBan » &e&l%player% &evient de lancer un vote contre &e&l%arg-1% &epour &e&l%arg-2%.%nl%" to all players send "&eSi vous êtes &a&lPOUR &e: &b/voteban yes" to all players add 1 to {player.count} if {player.count} is greater or equal to {ban_treshold}: make console execute command "/tempban 1h %{arg-1}% %{arg-2}%" send "&cBanned" to all players set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 wait 60 seconds set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 send "%nl%&cVoteBan » Vote expiré." else: if arg-2 is "yes": if {%player%.has_voted} is true: send "&cVous avez déjà voté !" to player else: send "%nl%&cVote enregistré." to player add 1 to {player.count} send "%nl%&cVoteBan » &eVotes actuels : &b%{player.count}%&b/&b%{ban_treshold}%" to all players set {%player%.has_voted} to true if {player.count} is greater or equal to {ban_treshold}: make console execute command "/tempban 1h %{arg-1}% %{arg-2}%" set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0
zarco70 Posté(e) le 26 juin 2021 Posté(e) le 26 juin 2021 Bonjour, Voila j'ai un tout petit peu réorganisé le skript pour mieux comprendre. Modifie les messages d'erreurs comme tu le souhaites. every second: set {online_players} to number of all players set {ban_treshold} to ceil(60 * {online_players} / 100) command /voteban [<player>] [<text>]: trigger: if arg-1 is set: if arg-2 is "cancel": if player is op: if {voteban.in_process} is true: set {voteban.in_process} to false broadcast "&cVoteBan » %player% vient d'annuler le vote." set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 stop else: send "&cVoteban » Aucun vote n'est en cours !" to player stop else: send "&cPermission insuffisante !" to player else if arg-2 is "yes": if {%player%.has_voted} is true: send "&cVous avez déjà voté !" to player else: send "%nl%&cVote enregistré." to player add 1 to {player.count} send "%nl%&cVoteBan » &eVotes actuels : &b%{player.count}%&b/&b%{ban_treshold}%" to all players set {%player%.has_voted} to true if {player.count} is greater or equal to {ban_treshold}: make console execute command "/tempban 1h %{arg-1}% %{arg-2}%" set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 stop else if arg-2 isn't "yes" or "no": if {voteban.in_process} is true: send "&cUn VoteBan est déjà en cours !" to player stop else: if arg-1 isn't player: set {voteban.in_process} to true set {%player%.has_voted} to true send "%nl%&cVoteBan » &e&l%player% &evient de lancer un vote contre &e&l%arg-1% &epour &e&l%arg-2%.%nl%" to all players send "&eSi vous êtes &a&lPOUR &e: &b/voteban yes" to all players add 1 to {player.count} if {player.count} is greater or equal to {ban_treshold}: make console execute command "/tempban 1h %{arg-1}% %{arg-2}%" send "&cBanned" to all players set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 wait 60 seconds set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 send "%nl%&cVoteBan » Vote expiré." stop else: send "&cVous ne pouvez pas faire un vote sur vous-même !" stop else: send "&cErreur Syntaxe: &b/voteban <player> <cancel/yes/no/<text>" stop else: send "&cJoueur Hors ligne !" stop Codialement.
kalashcriminou Posté(e) le 27 juin 2021 Auteur Posté(e) le 27 juin 2021 Il y a 15 heures, zarco70 a dit : Bonjour, Voila j'ai un tout petit peu réorganisé le skript pour mieux comprendre. Modifie les messages d'erreurs comme tu le souhaites. every second: set {online_players} to number of all players set {ban_treshold} to ceil(60 * {online_players} / 100) command /voteban [<player>] [<text>]: trigger: if arg-1 is set: if arg-2 is "cancel": if player is op: if {voteban.in_process} is true: set {voteban.in_process} to false broadcast "&cVoteBan » %player% vient d'annuler le vote." set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 stop else: send "&cVoteban » Aucun vote n'est en cours !" to player stop else: send "&cPermission insuffisante !" to player else if arg-2 is "yes": if {%player%.has_voted} is true: send "&cVous avez déjà voté !" to player else: send "%nl%&cVote enregistré." to player add 1 to {player.count} send "%nl%&cVoteBan » &eVotes actuels : &b%{player.count}%&b/&b%{ban_treshold}%" to all players set {%player%.has_voted} to true if {player.count} is greater or equal to {ban_treshold}: make console execute command "/tempban 1h %{arg-1}% %{arg-2}%" set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 stop else if arg-2 isn't "yes" or "no": if {voteban.in_process} is true: send "&cUn VoteBan est déjà en cours !" to player stop else: if arg-1 isn't player: set {voteban.in_process} to true set {%player%.has_voted} to true send "%nl%&cVoteBan » &e&l%player% &evient de lancer un vote contre &e&l%arg-1% &epour &e&l%arg-2%.%nl%" to all players send "&eSi vous êtes &a&lPOUR &e: &b/voteban yes" to all players add 1 to {player.count} if {player.count} is greater or equal to {ban_treshold}: make console execute command "/tempban 1h %{arg-1}% %{arg-2}%" send "&cBanned" to all players set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 wait 60 seconds set {voteban.in_process} to false set {%player%.has_voted} to false set {player.count} to 0 send "%nl%&cVoteBan » Vote expiré." stop else: send "&cVous ne pouvez pas faire un vote sur vous-même !" stop else: send "&cErreur Syntaxe: &b/voteban <player> <cancel/yes/no/<text>" stop else: send "&cJoueur Hors ligne !" stop Codialement. Super, merci beaucoup ! 😃 A la prochaine
Joriis Posté(e) le 27 juin 2021 Posté(e) le 27 juin 2021 Le sujet a été résolu. Il a donc été verrouillé. Cordialement, l'équipe.
Messages recommandés