Aller au contenu

Messages recommandés

Posté(e)

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
				

 

Posté(e)

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.

Posté(e)
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

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.