Mi123 Posté(e) le 19 août 2019 Posté(e) le 19 août 2019 Version de Minecraft : 1.12.2Version de Skript : 2. Type du skript : Skript de téléportation en salle admin ou de tp sur le joueur pour régler les tickets Description du script : Bonjour à vous, Je possède un serveur RôlePlay et j'ai un système de salle admin pour gérer les tickets des joueurs. J'aimerais que lorsqu'un joueur fasse la commande /helpop <message> (ça ouvre un ticket) les modérateurs recoivent un message qui leur dit "&8&l[&c&lAIDE&8&l] &a%pseudo% demande : <question> %nl% &8[&aSe téléporter&8] &7| &8[&cTp salle admin&8] &7| &8[&6Return&8]" et que les modérateurs puissent cliquer sur les parties du message pour se téléporter etc PS : Le return permet de téléporter le joueur à la position où il était avant la téléportation en salle admin et pour la tp en salle admin il faut juste qu'il fasse /salle <player> Bien cordialement - Mi123 Code (code par 6moon à la base) : command /question [<text>]: aliases: ask, a, helpop, ticket trigger: if arg 1 isn't set: send "&cPose une question." to player else: set {demande.%{question}%} to player send "&aTa question a bien été envoyée..." to player loop all players: if loop-player has permission "essentials.helpop.receive": send "&7&l[&7&cAIDE&7&l] &2%{demande.%{question}%}% &ademande: %arg 1%" to loop-player
LeCraftDeOuf Posté(e) le 19 août 2019 Posté(e) le 19 août 2019 Salut tien : options: Erreur1: &fUsage : /helpop <message> command /helpop [<text>]: trigger: if arg 1 isn't set: send "{@Erreur1}" stop else: loop all players: loop-player has permission "View.Helpop" send "&8&l[&c&lAIDE&8&l] &a%pseudo% demande : %arg 1%" to loop-player json("%loop-player%", &8[&aSe téléporter&8]"||cmd:/tp %player%|| &7| ||&8[&cTp salle admin&8]||cmd:/TpSalleAdmin %player%|| &7| ||&8[&6Return&8]||cmd:") &8[&aSe téléporter&8] &7| &8[&cTp salle admin&8] &7| &8[&6Return&8]||cmd:/return %player%" command /return [<player>]: trigger: teleport player to {Return.%arg 1%} command /TpSalleAdmin [<player>]: trigger: teleport player to {Salle.Admin.Tp} set {Return.%arg 1%} to location of arg 1 wait 1 seconds teleport arg 1 to {Salle.Admin.Tp} command /setTpSalleAdmin: trigger: send "&7Vous venez de set le spawn de la salle admin" set {Salle.Admin.Tp} to location of player J'ai pas tester dit moi s'y y a un soucis 🙂
Mi123 Posté(e) le 19 août 2019 Auteur Posté(e) le 19 août 2019 Salut, Merci beaucoup du skript, quasiment tous marches, Il y a 3 erreurs (voir ci-dessous) Merci d'avance de votre réponse. Bien cordialement - Mi123
Romitou Posté(e) le 19 août 2019 Posté(e) le 19 août 2019 il y a 35 minutes, Mi123 a dit : Salut, Merci beaucoup du skript, quasiment tous marches, Il y a 3 erreurs (voir ci-dessous) Merci d'avance de votre réponse. Bien cordialement - Mi123 Salut, Je me suis permis de corriger juste une syntaxe de @LeCraftDeOuf. Il te faut cependant json.sk. Voici ton code : options: Erreur1: &fUsage : /helpop <message> command /helpop [<text>]: trigger: if arg 1 isn't set: send "{@Erreur1}" stop else: loop all players: loop-player has permission "View.Helpop" send "&8&l[&c&lAIDE&8&l] &a%player% demande : %arg 1%" to loop-player json("%loop-player%", "&8[&aSe téléporter&8]||cmd:/tp %player%|| &7| ||&8[&cTp salle admin&8]||cmd:/TpSalleAdmin %player%|| &7| ||&8[&6Return&8]||cmd:") command /return [<player>]: trigger: teleport player to {Return.%arg 1%} command /TpSalleAdmin [<player>]: trigger: teleport player to {Salle.Admin.Tp} set {Return.%arg 1%} to location of arg 1 wait 1 seconds teleport arg 1 to {Salle.Admin.Tp} command /setTpSalleAdmin: trigger: send "&7Vous venez de set le spawn de la salle admin" set {Salle.Admin.Tp} to location of player
Mi123 Posté(e) le 19 août 2019 Auteur Posté(e) le 19 août 2019 Salut, Merci beaucoup il n'y plus d'erreur mais je me demandais si c'était possible de pouvoir mettre plusieurs salles admin et que ça tp le joueur dans une non occupée ? Merci d'avance pour votre réponse. Bien cordialement - Mi123
Romitou Posté(e) le 19 août 2019 Posté(e) le 19 août 2019 il y a 1 minute, Mi123 a dit : Salut, Merci beaucoup il n'y plus d'erreur mais je me demandais si c'était possible de pouvoir mettre plusieurs salles admin et que ça tp le joueur dans une non occupée ? Merci d'avance pour votre réponse. Bien cordialement - Mi123 Salut, Je m'occupe de ça si tu n'as eu aucune réponse dès demain soir.
Mi123 Posté(e) le 19 août 2019 Auteur Posté(e) le 19 août 2019 ok merci ^^ Rebonjour, J'ai trouvé un problème, cela me kick pour "illegal characters in chat" quand je clique sur return... Pouvez vous essayer de régler le problème svp Merci d'avance Bien cordialement - Mi123
LeCraftDeOuf Posté(e) le 19 août 2019 Posté(e) le 19 août 2019 Je vais voir se que je peut faire je te fais un bon petit code 😉
Mi123 Posté(e) le 19 août 2019 Auteur Posté(e) le 19 août 2019 ok merci beaucoup Edit: Rebonsoir, J'ai réussi à régler le problème moi même pour le illegal characters in chat ^^ Merci quand même ^^ Bien cordialement - Mi123
LeCraftDeOuf Posté(e) le 19 août 2019 Posté(e) le 19 août 2019 il y a 16 minutes, Mi123 a dit : Rebonsoir, J'ai réussi à régler le problème moi même pour le illegal characters in chat ^^ Merci quand même ^^ Bien cordialement - Mi123 Ok, essaye sa dit moi t'en pense quoi /salleadmin pour voir l'aide. et après /helpop et tu suis 😉
Joriis Posté(e) le 19 août 2019 Posté(e) le 19 août 2019 Salut, Est-ce que tu as trouvé ton bonheur? Bonne soirée 🙂
LeCraftDeOuf Posté(e) le 19 août 2019 Posté(e) le 19 août 2019 Ola ! Je dit essaye sa mais j'envoye pas le code xD options: Erreur1: &fUsage : /helpop <message> command /helpop [<text>]: trigger: if arg 1 isn't set: send "{@Erreur1}" stop else: loop all players: loop-player has permission "View.Helpop" send "&8&l[&c&lAIDE&8&l] &a%player% demande : %arg 1%" to loop-player json("%loop-player%", "&8[&aSe téléporter&8]||cmd:/tp %player%|| &7| ||&8[&cTp salle admin&8]||cmd:/SalleAdmin tp %player%|| &7| ||&8[&6Return&8]||cmd:/salleadmin return %player%") command /salleadmin [<text>] [<player>]: trigger: if arg 1 is "add": set {_distance} to distance between location of target block and location of player if {_distance} is smaller than 5: loop {SalleAdmin::*}: if "%location of target block%" is "%loop-value%": set {_t} to true if {_t} isn't set: set {_loc} to location of target block add 2 to y-coordinate of {_loc} add {_loc} to {SalleAdmin::*} send "&eVous venez d'ajoutez une salle admin." else: send "&cCette salle d'admin existe déjà." else: send "&cVous devez viser le block de spawn de la salle d'admin." else if arg 1 is "remove": set {_distance} to distance between location of target block and location of player if {_distance} is smaller than 5: loop {SalleAdmin::*}: if "%location of target block%" is "%loop-value%": set {_t} to true if {_t} is true: remove location of target block from {SalleAdmin::*} send "&cVous venez de supprimée cette salle admin." else: send "&cCette salle d'admin n'existe pas." else: send "&cVous devez viser le block de spawn de la salle d'admin." else if arg 1 is "list": set {_NumberIndex} to 1 loop {SalleAdmin::*}: send "&6%{_NumberIndex}% &6- %loop-value%" add 1 to {_NumberIndex} else if arg 1 is "Debug": clear {SalleAdmin::*} send "debug effectuer" else if arg 1 is "return": if arg 2 is set: if {Return.%arg 2%} is set: teleport arg 2 to {Return.%arg 2%} wait 10 ticks clear {Return.%arg 2%} clear {SalleAdmin.%{SalleNumber.%arg 2%}%} clear {SalleNumber.%arg 2%} send "&2Salle libérer" else if arg 1 is "tp": if arg 2 is set: loop {SalleAdmin::*}: if {SalleAdmin.%loop-value%} isn't set: set {Return.%arg 2%} to location of arg 2 teleport player to loop-value set {SalleNumber.%arg 2%} to loop-value set {SalleAdmin.%loop-value%} to 1 wait 5 ticks teleport arg 2 to loop-value set {_Ok} to true if {_Ok} isn't set: send "&cAucune salle admin est disponible !" else: send "&c/salleadmin tp <player> &7- Vous teleporte vous et le <player> dans une salle libre." else: send "&2---------------------" send " " send "&3/salleadmin add &7- Ajoute une salle admin où vous vous situez." send "&3/salleadmin remove &7-Retirer une salle admin." send "&3/salleadmin list &7-Afficher tous les coordonnées des salle admin." send " " send "&2---------------------" 2
Lou' Posté(e) le 20 août 2019 Posté(e) le 20 août 2019 Afin d'enlever la dépendance json.sk, je vous conseille fortement de lire ceci : https://skript-mc.fr/forum/topic/13906-les-messages-json-sans-addonsapi/C'est bien plus simple et pratique, puis c'est intégrer dans skript ^^
LeCraftDeOuf Posté(e) le 20 août 2019 Posté(e) le 20 août 2019 Il y a 2 heures, Lou' a dit : Afin d'enlever la dépendance json.sk, je vous conseille fortement de lire ceci : https://skript-mc.fr/forum/topic/13906-les-messages-json-sans-addonsapi/C'est bien plus simple et pratique, puis c'est intégrer dans skript ^^ Oui mais bon je trouve bien plus facile d'utiliser la fonction json, puis ces pas sa qu'y prend le plus de place, après c'est comme il veut 😉
Mi123 Posté(e) le 20 août 2019 Auteur Posté(e) le 20 août 2019 (modifié) Merci LeCraftDeOuf ! j'ai un peu modifié votre code pour éviter que les modérateurs puissent ajouter des salles admin (voir ci dessous) Par contre le système de remove bug, c'est impossible de supprimer une salle admin... le message "Cette salle d'admin n'existe pas." n'arrête pas de s'afficher 😕 Pouvez vous essayer de faire en sorte que les salles ai un nom qui pourrait être enregistré pour supprimer les salles avec /sa remove <nom> Merci d'avance Bien cordialement - Mi123 options: Erreur1: &fUsage : /helpop <message> command /helpop [<text>]: aliases: ask, a, ticket, question trigger: if arg 1 isn't set: send "{@Erreur1}" stop else: message "&aTa question a bien été envoyée..." loop all players: loop-player has permission "essentials.helpop.receive" send "&8&l[&c&lAIDE&8&l] &a%player% demande : %arg 1%" to loop-player json("%loop-player%", "&8[&aSe téléporter&8]||cmd:/tp %player%|| &7| ||&8[&cTp salle admin&8]||cmd:/SalleAdmin tp %player%|| &7| ||&8[&6Return&8]||cmd:/salleadmin return %player%") command /sa [<text>] [<player>]: permission: admin.acc.joiner trigger: if arg 1 is "add": set {_distance} to distance between location of target block and location of player if {_distance} is smaller than 5: loop {SalleAdmin::*}: if "%location of target block%" is "%loop-value%": set {_t} to true if {_t} isn't set: set {_loc} to location of target block add 2 to y-coordinate of {_loc} add {_loc} to {SalleAdmin::*} send "&eVous venez d'ajoutez une salle admin." else: send "&cCette salle d'admin existe déjà." else: send "&cVous devez viser le block de spawn de la salle d'admin." else if arg 1 is "remove": set {_distance} to distance between location of target block and location of player if {_distance} is smaller than 5: loop {SalleAdmin::*}: if "%location of target block%" is "%loop-value%": set {_t} to true if {_t} is true: remove location of target block from {SalleAdmin::*} send "&cVous venez de supprimée cette salle admin." else: send "&cCette salle d'admin n'existe pas." else: send "&cVous devez viser le block de spawn de la salle d'admin." else if arg 1 is "list": set {_NumberIndex} to 1 loop {SalleAdmin::*}: send "&6%{_NumberIndex}% &6- %loop-value%" add 1 to {_NumberIndex} else if arg 1 is "Debug": clear {SalleAdmin::*} send "debug effectuer" else: send "&2---------------------" send " " send "&3/sa add &7- Ajoute une salle admin où vous vous situez." send "&3/sa remove &7-Retirer une salle admin." send "&3/sa list &7-Afficher tous les coordonnées des salle admin." send " " send "&2---------------------" command /salleadmin [<text>] [<player>]: permission: essentials.helpop.receive trigger: if arg 1 is "return": if arg 2 is set: if {Return.%arg 2%} is set: teleport arg 2 to {Return.%arg 2%} wait 10 ticks clear {Return.%arg 2%} clear {SalleAdmin.%{SalleNumber.%arg 2%}%} clear {SalleNumber.%arg 2%} send "&2Salle libérer" else if arg 1 is "tp": if arg 2 is set: loop {SalleAdmin::*}: if {SalleAdmin.%loop-value%} isn't set: set {Return.%arg 2%} to location of arg 2 teleport player to loop-value set {SalleNumber.%arg 2%} to loop-value set {SalleAdmin.%loop-value%} to 1 wait 5 ticks teleport arg 2 to loop-value set {_Ok} to true if {_Ok} isn't set: send "&cAucune salle admin est disponible !" else: send "&c/salleadmin tp <player> &7- Vous teleporte vous et le <player> dans une salle libre." Modifié le 21 août 2019 par Mi123 Modification du texte (simplification)
LeCraftDeOuf Posté(e) le 21 août 2019 Posté(e) le 21 août 2019 Bon tien, c'est pas opti du tous mais sa fonctionne, dit moi si tu as encore des soucis. (J'ai fais en sorte que tu peut faire /as remove 3 et si tu avais un 4, 5, 6, 7, 8 il se transforme en 3, 4, 5, 6, 7. Comme sa sa reste toujours dans le bon ordre (enfin normalement) et j'ai corriger quelque soucis de tp 😉 ) options: Erreur1: &fUsage : /helpop <message> command /helpop [<text>]: aliases: ask, a, ticket, question trigger: if arg 1 isn't set: send "{@Erreur1}" stop else: message "&aTa question a bien été envoyée..." loop all players: loop-player has permission "essentials.helpop.receive" send "&8&l[&c&lAIDE&8&l] &a%player% demande : %arg 1%" to loop-player json("%loop-player%", "&8[&aSe téléporter&8]||cmd:/tp %player%|| &7| ||&8[&cTp salle admin&8]||cmd:/SalleAdmin tp %player%|| &7| ||&8[&6Return&8]||cmd:/salleadmin return %player%") command /sa [<text>] [<text>]: permission: admin.acc.joiner trigger: if arg 1 is "add": set {_distance} to distance between location of target block and location of player if {_distance} is smaller than 5: loop {SalleAdmin::*}: if "%location of target block%" is "%loop-value%": set {_t} to true if {_t} isn't set: set {_loc} to location of target block add 2 to y-coordinate of {_loc} set {_rr} to size of {SalleAdmin::*}+1 add "%{_rr}%|%{_loc}%" to {SalleAdmin::*} send "&eVous venez d'ajoutez une salle admin." else: send "&cCette salle d'admin existe déjà." else: send "&cVous devez viser le block de spawn de la salle d'admin." else if arg 1 is "remove": if arg 2 is set: loop {SalleAdmin::*}: set {_splitMessage::*} to loop-value split at "|" if "%{_splitMessage::1}%" is "%arg 2%": remove loop-value from {SalleAdmin::*} send "&cSuppression effectuer" else if {_splitMessage::1} parsed as number > arg 2 parsed as number: set {_Number} to "%{_splitMessage::1}%" parsed as number remove 1 from {_Number} remove loop-value from {SalleAdmin::*} wait 5 ticks add "%{_Number}%|%{_splitMessage::2}%" to {SalleAdmin::*} else: send "&cUsage : /sa remove <number>. Voir /sa list." else if arg 1 is "list": if {SalleAdmin::*} is set: loop {SalleAdmin::*}: set {_splitMessage::*} to loop-value split at "|" if {SalleAdminocc::%{_splitMessage::1}%} is set: send "&7%{_splitMessage::1}% &7- &6%{_splitMessage::2}% &c( Occuper )" else: send "&7%{_splitMessage::1}% &7- &6%{_splitMessage::2}%" else: send "&cAucune salle admin " else if arg 1 is "Debug": clear {SalleAdmin::*} clear {SalleAdminocc::*} send "debug effectuer" else: send "&2---------------------" send " " send "&3/sa add &7- Ajoute une salle admin où vous vous situez." send "&3/sa remove &7-Retirer une salle admin." send "&3/sa list &7-Afficher tous les coordonnées des salle admin." send " " send "&2---------------------" command /salleadmin [<text>] [<player>]: permission: essentials.helpop.receive trigger: if arg 1 is "return": if arg 2 is set: if {Return.%arg 2%} is set: set {_splitMessage::*} to {Return.%arg 2%} split at "|" replace "x:" and "y:" and "z:" and "," with "" in {_splitMessage::2} set {_splitMessages2::*} to {_splitMessage::2} split at " " set {_loc} to location at ({_splitMessages2::2} parsed as number), ({_splitMessages2::4} parsed as number), ({_splitMessages2::6} parsed as number) of world "Spawn" teleport arg 2 to {_loc} wait 10 ticks clear {Return.%arg 2%} clear {SalleAdminocc::%{_splitMessage::1}%} send "&2Salle libérer" else if arg 1 is "tp": if arg 2 is set: loop {SalleAdmin::*}: set {_splitMessage::*} to loop-value split at "|" if {SalleAdminocc::%{_splitMessage::1}%} isn't set: set {Return.%arg 2%} to "%{_splitMessage::1}%|%location of arg 2%" send "&7Wait " wait 1 second replace "x:" and "y:" and "z:" and "," with "" in {_splitMessage::2} set {_splitMessages2::*} to {_splitMessage::2} split at " " set {_loc} to location at ({_splitMessages2::2} parsed as number), ({_splitMessages2::4} parsed as number), ({_splitMessages2::6} parsed as number) of world "Spawn" teleport player to {_loc} teleport arg 2 to {_loc} set {SalleAdminocc::%{_splitMessage::1}%} to true set {_Ok} to "e" stop if {_Ok} isn't set: send "&cAucune salle admin est disponible !" else: send "&c/salleadmin tp <player> &7- Vous teleporte vous et le <player> dans une salle libre." 1
Mi123 Posté(e) le 21 août 2019 Auteur Posté(e) le 21 août 2019 Bonsoir, Il y a 2 erreurs sur le skript, serait-ce possible de les résourdres
Mi123 Posté(e) le 21 août 2019 Auteur Posté(e) le 21 août 2019 Vous avez une idée de pourquoi ça fait cette erreur ? Il faut un addon ?
LeCraftDeOuf Posté(e) le 21 août 2019 Posté(e) le 21 août 2019 Je serai pas chez moi jusqu'à samedi. J'espère que quelqu'un d'autre t'aidera d'avantages.
Mi123 Posté(e) le 22 août 2019 Auteur Posté(e) le 22 août 2019 J'ai réglé le problème ! (problème avec les mondes) Il n'y a plus d'erreurs. Merci beaucoup à vous !!! Bonne journée ! Bien cordialement - Mi123
LeCraftDeOuf Posté(e) le 23 août 2019 Posté(e) le 23 août 2019 Content de savoir que tu as résolue ton problème ! N'hésite pas en mp si tu as besoin de te donnerai mon discord ☺
Messages recommandés