Aller au contenu
  • 0

Aide pour requête accepter / refuser


Question

Posté(e)

Version de Minecraft : 1.15.2
Version de Skript : 2.5-alpha3

Addons utilisés:  aucuns

Type du skript : skript propositions de contrats

Description du script :

Bonjour ou bonsoir 🙂

mon skript est assez simple, sert a rédiger un contrat in game, l'envoyer a un joueur et si il l'accepte il sera parmi sa liste de contrats enregistrés.

les commandes sont : 

pour les commandes /contrat

pour rediger un contrat /contrat create player

pour accepter /contrat accept player

refuser /contrat decline player

et pour la liste des contrats enregistrés le joueur fera /contrat list

ah oui et pour en supprimer un /contrat delete 01 ou 02 etc

ce qui fonctionne: envoyer un contrat a une personne et ensuite le contrat apparait dans les listes des deux joueurs, ils peuvent chacun de leurs cotés le supprimer ou non.

l'option accepter et refuser n'est pas encore dispo tout simplement car je ne sais pas trop comment faire, j'ai quelques idées comme une boucle qui attendrait que l'autre joueur execute la commande voulu mais je vous avoue m'être un peu perdu.

si quelqun peut maider dans mon code pour rajouter l'option accepter ou refuser un contrat, ce sera vraiment sympa, merci d'avance a ceux qui m'aideront.

 

 

Command /contrat [<text>] [<player>] [<text>]:
    
    trigger:
        if arg 1 is not set:
            message "&7&l[&aContrat&7&l]&2Liste des commandes:" to player
            message "&a/contrat accept <joueur> &2accepter un contrat" to player
            message "&a/contrat decline <joueur> &2refuser un contrat" to player
            message "&a/contrat create <joueur> <text> &2proposer à un joueur un contrat" to player
            message "&a/contrat list &2liste de vos contrats" to player
            message "&a/contrat delete <numéro> &2supprimer un contrat" to player
            
        if arg 1 is "list":
            message "&7&l[&aContrat&7&l]&2- - - &aliste &2- - -" to player
            if {%player%.count} > 0:
                
                message "&2Contrat 01 - &3%{pseudo.send.1.%player%}%&3:  &f&o%{notif.1.%player%}%" to player
            
                message "&2Contrat 02 - &3%{pseudo.send.2.%player%}%&3:  &f&o%{notif.2.%player%}%" to player
                
                message "&2Contrat 03 - &3%{pseudo.send.3.%player%}%&3:  &f&o%{notif.3.%player%}%" to player
                
                message "&2Contrat 04 - &3%{pseudo.send.4.%player%}%&3:  &f&o%{notif.4.%player%}%" to player
                
                message "&2Contrat 05 - &3%{pseudo.send.5.%player%}%&3:  &f&o%{notif.5.%player%}%" to player
                
                message "&2Contrat 06 - &3%{pseudo.send.6.%player%}%&3:  &f&o%{notif.6.%player%}%" to player
                
                message "&2Contrat 07 - &3%{pseudo.send.7.%player%}%&3:  &f&o%{notif.7.%player%}%" to player
                
                message "&2Contrat 08 - &3%{pseudo.send.8.%player%}%&3:  &f&o%{notif.8.%player%}%" to player
                
                message "&2Contrat 09 - &3%{pseudo.send.9.%player%}%&3:  &f&o%{notif.9.%player%}%" to player
                
                message "&2Contrat 10 - &3%{pseudo.send.10.%player%}%&3:  &f&o%{notif.10.%player%}%" to player
                
                
            else:
                message "&7Vous n'avez aucun contrats enregistrés." to player
            
            
        if arg 1 is "create":
            if arg 2 is set:
                if arg 3 is set:
                    message "&7&l[&aContrat&7&l] &3%player% &7> &eVous" to arg 2
                    
                    message "&f&o%arg 3%" to arg 2
                    
                    message "&7Contrat envoyée à &2%arg 2%" to player
                    
                    
                    add 1 to {%player%.count}
                    add 1 to {%arg 2%.count}
                    if {%player%.count} = 1:
                        set {notif.1.%player%} to true
                        set {pseudo.send.1.%player%} to true
                        set {pseudo.send.1.%player%} to "%arg 2%"
                        set {notif.1.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 1:
                        set {notif.1.%arg 2%} to true
                        set {pseudo.send.1.%arg 2%} to true
                        set {pseudo.send.1.%arg 2%} to "%player%"
                        set {notif.1.%arg 2%} to "%arg 3%"
                    
                    if {%player%.count} = 2:
                        set {notif.2.%player%} to true
                        set {pseudo.send.2.%player%} to true
                        set {pseudo.send.2.%player%} to "%arg 2%"
                        set {notif.2.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 2:
                        set {notif.2.%arg 2%} to true
                        set {pseudo.send.2.%arg 2%} to true
                        set {pseudo.send.2.%arg 2%} to "%player%"
                        set {notif.2.%arg 2%} to "%arg 3%"
                    
                    if {%arg 2%.count} = 3:
                        set {notif.3.%player%} to true
                        set {pseudo.send.3.%player%} to true
                        set {pseudo.send.3.%player%} to "%arg 2%"
                        set {notif.3.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 3:
                        set {notif.3.%arg 2%} to true
                        set {pseudo.send.3.%arg 2%} to true
                        set {pseudo.send.3.%arg 2%} to "%player%"
                        set {notif.3.%arg 2%} to "%arg 3%"
                    
                    if {%arg 2%.count} = 4:
                        set {notif.4.%player%} to true
                        set {pseudo.send.4.%player%} to true
                        set {pseudo.send.4.%player%} to "%arg 2%"
                        set {notif.4.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 4:
                        set {notif.4.%arg 2%} to true
                        set {pseudo.send.4.%arg 2%} to true
                        set {pseudo.send.4.%arg 2%} to "%player%"
                        set {notif.4.%arg 2%} to "%arg 3%"
                    
                    if {%arg 2%.count} = 5:
                        set {notif.5.%player%} to true
                        set {pseudo.send.5.%player%} to true
                        set {pseudo.send.5.%player%} to "%arg 2%"
                        set {notif.5.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 5:
                        set {notif.5.%arg 2%} to true
                        set {pseudo.send.5.%arg 2%} to true
                        set {pseudo.send.5.%arg 2%} to "%player%"
                        set {notif.5.%arg 2%} to "%arg 3%"
                    
                    if {%arg 2%.count} = 6:
                        set {notif.6.%player%} to true
                        set {pseudo.send.6.%player%} to true
                        set {pseudo.send.6.%player%} to "%arg 2%"
                        set {notif.6.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 6:
                        set {notif.6.%arg 2%} to true
                        set {pseudo.send.6.%arg 2%} to true
                        set {pseudo.send.6.%arg 2%} to "%player%"
                        set {notif.6.%arg 2%} to "%arg 3%"
                    
                    if {%arg 2%.count} = 7:
                        set {notif.7.%player%} to true
                        set {pseudo.send.7.%player%} to true
                        set {pseudo.send.7.%player%} to "%arg 2%"
                        set {notif.7.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 7:
                        set {notif.7.%arg 2%} to true
                        set {pseudo.send.7.%arg 2%} to true
                        set {pseudo.send.7.%arg 2%} to "%player%"
                        set {notif.7.%arg 2%} to "%arg 3%"
                        
                    if {%arg 2%.count} = 8:
                        set {notif.8.%player%} to true
                        set {pseudo.send.8.%player%} to true
                        set {pseudo.send.8.%player%} to "%arg 2%"
                        set {notif.8.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 8:
                        set {notif.8.%arg 2%} to true
                        set {pseudo.send.8.%arg 2%} to true
                        set {pseudo.send.8.%arg 2%} to "%player%"
                        set {notif.8.%arg 2%} to "%arg 3%"
                    
                    if {%arg 2%.count} = 9:
                        set {notif.9.%player%} to true
                        set {pseudo.send.9.%player%} to true
                        set {pseudo.send.9.%player%} to "%arg 2%"
                        set {notif.9.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 9:
                        set {notif.9.%arg 2%} to true
                        set {pseudo.send.9.%arg 2%} to true
                        set {pseudo.send.9.%arg 2%} to "%player%"
                        set {notif.9.%arg 2%} to "%arg 3%"
                    
                    if {%arg 2%.count} = 10:
                        set {notif.10.%player%} to true
                        set {pseudo.send.10.%player%} to true
                        set {pseudo.send.10.%player%} to "%arg 2%"
                        set {notif.10.%player%} to "%arg 3%"
                    if {%arg 2%.count} = 10:
                        set {notif.10.%arg 2%} to true
                        set {pseudo.send.10.%arg 2%} to true
                        set {pseudo.send.10.%arg 2%} to "%player%"
                        set {notif.10.%arg 2%} to "%arg 3%"
                        
                
        
        if arg 1 is "delete":
            if arg 2 is not set:
                if arg 3 is "01":
                    message "&7Le contrat 01 a bien été supprimé" to player
                    delete {notif.1.%player%}
                    delete {pseudo.send.1.%player%}
                    remove 1 from {%player%.count}
                
                    
                if arg 3 is "02":
                    delete {notif.2.%player%}
                    delete {pseudo.send.2.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 02 a bien été supprimé" to player
                if arg 3 is "03":
                    delete {notif.3.%player%}
                    delete {pseudo.send.3.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 03 a bien été supprimé" to player
                if arg 3 is "04":
                    delete {notif.4.%player%}
                    delete {pseudo.send.4.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 04 a bien été supprimé" to player
                if arg 3 is "05":
                    delete {notif.5.%player%}
                    delete {pseudo.send.5.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 05 a bien été supprimé" to player
                if arg 3 is "06":
                    delete {notif.6.%player%}
                    delete {pseudo.send.6.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 06 a bien été supprimé" to player
                if arg 3 is "07":
                    delete {notif.7.%player%}
                    delete {pseudo.send.7.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 07 a bien été supprimé" to player
                if arg 3 is "08":
                    delete {notif.8.%player%}
                    delete {pseudo.send.8.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 08 a bien été supprimé" to player
                if arg 3 is "09":
                    delete {notif.9.%player%}
                    delete {pseudo.send.9.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 09 a bien été supprimé" to player
                if arg 3 is "10":
                    delete {notif.10.%player%}
                    delete {pseudo.send.10.%player%}
                    remove 1 from {%player%.count}
                    message "&7Le contrat 10 a bien été supprimé" to player
                
        

 

3 réponses à cette question

Messages recommandés

  • 0
Posté(e) (modifié)

Salut, j'ai vu que ton code n'était pas très optimisé et qu'il y avait beaucoup de répétitions, j'ai donc essayé de le refaire de A à Z tout en gardant tes idées (envoyer une demande de contrat, accepter une demande, refuser une demande, supprimer un contrat, afficher la liste de ses contrats).

Voici ce que ça donne, si tu as une question ou un soucis, envoie moi un message, j'essaierai de t'aider.

(J'ai également ajouté une option pour remettre tous ses contrats à 0.)

on first join:
	set {contrats.nombre.%player%} to 0

command /contrat [<text>] [<player>]:
	aliases: contrats
	permission message: &cVous n'avez pas accès à cette commande.
	permission: contrat.use
	trigger:
		if arg-1 is not set:
			send ""
			send "&e&lCommandes &6&lContrats"
			send "&e» &6/contrat send <player>"
			send "&e» &6/contrat accept <player>"
			send "&e» &6/contrat decline <player>"
			send "&e» &6/contrat remove <player>"
			send "&e» &6/contrat list"
			send ""
		if arg-1 is "help":
			send ""
			send "&e&lCommandes &6&lContrats"
			send "&e» &6/contrat send <player>"
			send "&e» &6/contrat accept <player>"
			send "&e» &6/contrat decline <player>"
			send "&e» &6/contrat remove <player>"
			send "&e» &6/contrat list"
			send ""
		if arg-1 is "send":
			if arg-2 is set:
				if arg-2 is not "%player%":
					if "%{contrats.list.%player%::*}%" contains "%arg-2%":
						send "&c» %arg-2% est déjà dans votre liste de contrats."
					else:
						if "%{contrats.attente.%player%::*}%" contains "%arg-2%":
							send "&e» Vous avez déjà envoyé une demande de contrat à %arg-2%."
						else:
							send "&a» Votre demande de contrat a bien été envoyé à %arg-2%." to player
							send "&e» %player% vous a envoyé une demande de contrat." to arg-2
							add "%arg-2%" to {contrats.attente.%player%::*}
				else:
					send "&c» Vous ne pouvez pas envoyer de demande de contrat à vous-même."
			else:
				send "&c» Vous devez préciser un joueur."
		if arg-1 is "accept":
			if arg-2 is set:
				if arg-2 is not "%player%":
					if "%{contrats.attente.%arg-2%::*}%" contains "%player%":
						send "&a» Vous avez accepté la demande de contrat de %arg-2%." to player
						send "&a» %player% a accepté votre demande de contrat." to arg-2
						remove "%player%" from {contrats.attente.%arg-2%::*}
						add "%arg-2%" to {contrats.list.%player%::*}
						add "%player%" to {contrats.list.%arg-2%::*}
						add 1 to {contrats.nombre.%player%}
						add 1 to {contrats.nombre.%arg-2%}
					else:
						send "&c» %arg-2% ne vous a pas envoyé de demande de contrat."
				else:
					send "&c» Vous ne pouvez pas établir de contrat avec vous-même."
			else:
				send "&c» Vous devez préciser un joueur."
		if arg-1 is "decline":
			if arg-2 is set:
				if arg-2 is not "%player%":
					if "%{contrats.attente.%arg-2%::*}%" contains "%player%":
						send "&a» Vous avez refusé la demande de contrat de %arg-2%." to player
						send "&a» %player% a refusé votre demande de contrat." to arg-2
						remove "%player%" from {contrats.attente.%arg-2%::*}
					else:
						send "&c» %arg-2% ne vous a pas envoyé de demande de contrat."
				else:
					send "&c» Vous ne pouvez pas établir de contrat avec vous-même."
			else:
				send "&c» Vous devez préciser un joueur."
		if arg-1 is "remove" or "delete":
			if arg-2 is set:
				if arg-2 is not "%player%":
					if "%{contrats.list.%player%::*}%" contains "%arg-2%":
						send "&a» Vous avez retiré %arg-2% de vos contrats." to player
						send "&a» %player% vous a retiré de ses contrats." to arg-2
						remove "%arg-2%" from {contrats.list.%player%::*}
						remove "%player%" from {contrats.list.%arg-2%::*}
						remove 1 from {contrats.nombre.%player%}
						remove 1 from {contrats.nombre.%arg-2%}
					else:
						send "&c» Aucun contrat n'existe entre %arg-2% et vous."
				else:
					send "&c» Vous n'avez aucun contrat établit avec vous-même."
			else:
				send "&c» Vous devez préciser un joueur."
		if arg-1 is "list":
			if arg-2 is not set:
				if {contrats.nombre.%player%} = 0:
					send "&c&o» Vous n'avez aucun contrat enregistré. Pour plus d'informations /contrat help."
				if {contrats.nombre.%player%} > 0:
					send "&e&lContrats &6&lEnregistrés"
					loop {contrats.list.%player%::*}:
						message "&e» &6%loop-value%"
			if arg-2 is set:
				if arg-2 is not "%player%":
					if {contrats.nombre.%arg-2%} = 0:
						send "&c&o» %arg-2% n'a aucun contrat enregistré. Pour plus d'informations /contrat help."
					if {contrats.nombre.%arg-2%} > 0:
						send "&e&lContrats &6&lEnregistrés &7&o(%arg-2%)"
						loop {contrats.list.%arg-2%::*}:
							message "&e» &6%loop-value%"
				else:
					if {contrats.nombre.%player%} = 0:
						send "&c&o» Vous n'avez aucun contrat enregistré. Pour plus d'informations /contrat help."
					if {contrats.nombre.%player%} > 0:
						send "&e&lContrats &6&lEnregistrés"
						loop {contrats.list.%player%::*}:
							message "&e» &6%loop-value%"
		if arg-1 is "reset":
			send "&a» Vous n'avez plus aucun contrats."
			set {contrats.nombre.%player%} to 0
			clear {contrats.list.%player%}
			clear {contrats.attente.%player%}
					

 

Modifié par Tom
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.