Aller au contenu

Pigeon voyageur [RP]


Messages recommandés

Posté(e) (modifié)

Bonsoir, j'essaye de créer un système de pigeon voyageur pour les messages privé. Pour cela j'ai utilisé un skript de mp basique au quelle j'ai ajouté (à la ligne 18) une ligne pour calculer la distance entre l'envoyeur et le receveur. J'aimerai faire en sorte que une fois la commande effectué et les conditions remplis, le "pigeon" calcul la distance entre ces deux joueurs et qu'il mette un temps d'attente proportionnelle à la distance, par exemple 1 minutes pour 500 blocs de distances. Mes capacité étant limité, je fais appelle à la communauté pour m'aider sur ce problème. Voici mon code :

	option:
	    ChatSend: Envoye a %arg 1% >> %arg 2%
    ChatRecu: Reçu de %sender% >> %arg 2%
    
	command /pigeon [<player>] [<text>]:
    aliase: /p
    trrigger:
        if arg 1 is not set:
            message: "Le pigeon ne sait pas qui il doit contacter"
        if arg 1 is set:
                if offline player-argument is online:
                    send "Ce &4Joueur&r n'est pas disponible pour le moment"
                if arg 2 is not set:
                    message "Ce serai dommage que le pigeon parte pour rien! "
                if arg 2 is set:
                    set {_dist} to distance between {_loc} and {_loc2}
                    send "{@ChatSend}" to player
                    send "{@ChatRecu}" to arg 1
	
Modifié par FoxiZ
Posté(e)
set {_loc1} to location of player
set {_loc2} to location of arg 1
set {_dist} to distance between {_loc1} and {_loc2} #Ça tu l'as mis, c'est bien
set {_temps.a.attendre} to {_dist} * {@multiplicateur} #Il faut mettre la variable multiplicateur en option, comme ça tu changes comme tu veux.
send "Votre pigeon va mettre %{_temps.a.attendre}% secondes à rejoindre %arg 1%."
wait {_temps.a.attendre} seconds
send "%arg 2%" to arg 1

Tu peux faire des tests, normalement je pense que ça devrait fonctionner. Sinon, tu devrais comprendre comment j'ai codé grâce aux commentaires, et tu peux modifier ce morceau de code à ta guise pour qu'il te convienne.

Par ailleurs, si jamais l'arg 1 (destinaire) déconnecte, il ne recevra jamais son message sauf si il se reconnecte entre temps.

Posté(e)
Options:
	ChatSend: Envoyé à %arg 1% >> %arg 2%
	ChatRecu: Reçu de %sender% >> %arg 2%

command /pigeon [<offline player>] [<text>]:
	aliases: /p
	trigger:
		arg 1 isn't set:
			send "Le pigeon ne sait pas qui il doit contacter."
		else:
			arg 1 isn't online:
				send "Ce &4Joueur&r n'est pas disponible pour le moment."
			else:
				arg 1 is player:
					send "Phrase si arg 1 = player"
				else:
					arg 2 isn't set:
						send "Il serait dommage que le pigeon parte pour rien !"
					arg 2 is set:
						set {_l1} to player's location
						set {_l2} to location of arg 1
						set {_d} to rounded distance between {_l1} and {_l2}
						set {_t} to {_d}/8.33
						set {_t} to rounded down {_t}
						loop {_t} times:
							wait 1 second
						arg 1 is online:
							send "{@ChatSend}"
							send "{@ChatRecu}" to arg 1
						else:
							send "Le pigeon n'a pas trouvé de destinataire..."

command /dist <player>:
	trigger:
		player is op:
			set {_l1} to player's location
			set {_l2} to location of arg 1
			send "%rounded distance between {_l1} and {_l2}%"
		else:
			send "&cVous n'avez pas accès à cette commande."

Pense à l'encoder en UTF-8 pour pas avoir de problème avec les accents ?

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.