FoxiZ Posté(e) le 11 juillet 2018 Posté(e) le 11 juillet 2018 (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é le 11 juillet 2018 par FoxiZ
Wafoux Posté(e) le 12 juillet 2018 Posté(e) le 12 juillet 2018 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.
Random Posté(e) le 12 juillet 2018 Posté(e) le 12 juillet 2018 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 ?
FoxiZ Posté(e) le 12 juillet 2018 Auteur Posté(e) le 12 juillet 2018 Merci pour les propositions, je test ça tout de suite.
Yghore Posté(e) le 15 juillet 2018 Posté(e) le 15 juillet 2018 Je te conseille de ne pas utilise le wait avec des temps trop long ^^
Random Posté(e) le 17 juillet 2018 Posté(e) le 17 juillet 2018 (modifié) Je crois qu'on ne peut pas mettre de variable après le wait de toute façon Modifié le 17 juillet 2018 par Random
Messages recommandés