Safarival Posté(e) le 28 octobre 2017 Posté(e) le 28 octobre 2017 Bonjour, Comme dit dans le titre mon but est de créer un menu de modération, j'ai déja fait un skript qui marche très bien (qui m'affiche la liste des joueurs connecté et déconnecté de mon serveur) et je voudrais donc que lorceque l'on click sur l'une des tête des joueurs cela m'affiche un nouveau menu avec la possibilité de le ban, kick ... Mais que sa garde bien en tête que c'est le joueur sur lequel nous avons clicker. Voici mon skirpt: command /list [<int>]: trigger: wait 3 ticks set {_listpage} to size of {listplayer::*} set {_needpage} to 1 while {_listpage} >= 45: remove 44 from {_listpage} add 1 to {_needpage} if arg <= {_needpage}: arg-1 is not 0 open chest with 6 rows named "&6 Page %arg-1%/%{_needpage}%" to player wait 3 ticks if arg-1 >= 2: format slot 46 of player with paper named "&e&lPage Précédente" to run [make player execute command "/list %arg - 1%"] if arg-1 < {_needpage}: format slot 52 of player with empty map named "&e&lPage Suivante" with lore " " to run [make player execute command "/list %arg + 1%"] set {_vartemp::*} to {listplayer::*} loop {_needpage} times: #On va loop toutes les pages loop {_vartemp::*}: #On loop les joueurs if size of {_page.%loop-number-1%::*} < 45: add loop-value-2 to {_page.%loop-number-1%::*} remove loop-value-2 from {_vartemp::*} set {_slot} to 0 loop {_page.%arg-1%::*}: format slot {_slot} of player with skull of "%loop-value%" parsed as offline player named "&6%loop-value%" with lore "&bSur le serveur depuis &7: &3%{temps.day.%loop-value%}% Jours &3%{temps.hour.%loop-value%}% Heures &3%{temps.min.%loop-value%}% Min %{temps.sec.%loop-value%}% Sec" to run [make player execute command "/b %loop-value%/%player%"] add 1 to {_slot} else: send "&cCette Page n'existe pas." PS: Merci d'avance poour vos réponse.
Tominous Posté(e) le 28 octobre 2017 Posté(e) le 28 octobre 2017 Salut, tu peux rajouter à la fin de format slot {_slot}... : to run [make player execute command "/verif %loom-value% Sa va faire que quand tu clique sur la tête du joueur sa fait la commande /verif (le joueur clické)
Safarival Posté(e) le 28 octobre 2017 Auteur Posté(e) le 28 octobre 2017 Merci pour cette réponse rapide tout d'abordj'ai 2 question 1ère question: Ducoup il faut que je créer la command /vérif avec un nouveau menu gui ? 2ème question: c'est pas plutôt %loop-value% au lieu de %loom-value% :p ?
Tominous Posté(e) le 28 octobre 2017 Posté(e) le 28 octobre 2017 Derien, et pour répondre à tes questions : - Oui il fait que tu fasse un autre menu GUI avec la commande que tu veux (change le /verif en se que tu veux) car je ne sais pas comment faire autrement. Par contre n'oublie pas de faire un "wait 2 tick" avant le "open chest with..." dans le menu de modération si tu fais "to close then run..." quand on clique sur la tête d'un joueur. - Et oui je me suis mal relu c'est %loop-value% ! +1 like si je t'ai aidé :)
Safarival Posté(e) le 28 octobre 2017 Auteur Posté(e) le 28 octobre 2017 Désoler je n'est pas compris : Par contre n'oublie pas de faire un "wait 2 tick" avant le "open chest with..." dans le menu de modération si tu fais "to close then run..." quand on clique sur la tête d'un joueur. De plus lorce que je créer la command / verif (Je vais changer le nom plus tard) sa m'ouvre bien un nouveau gui mais quand je click sur ban sa me mais vous ne pouvez pas ban ce joueur. J'ai pourtant pris un joueur non op et moi je suis op (je pense que sa veut me ban moi donc j'ai du mal faire mon script): command /list [<int>]: trigger: wait 3 ticks set {_listpage} to size of {listplayer::*} set {_needpage} to 1 while {_listpage} >= 45: remove 44 from {_listpage} add 1 to {_needpage} if arg <= {_needpage}: arg-1 is not 0 open chest with 6 rows named "&6 Page %arg-1%/%{_needpage}%" to player wait 3 ticks if arg-1 >= 2: format slot 46 of player with paper named "&e&lPage Précédente" to run [make player execute command "/list %arg - 1%"] if arg-1 < {_needpage}: format slot 52 of player with empty map named "&e&lPage Suivante" with lore " " to run [make player execute command "/list %arg + 1%"] set {_vartemp::*} to {listplayer::*} loop {_needpage} times: #On va loop toutes les pages loop {_vartemp::*}: #On loop les joueurs if size of {_page.%loop-number-1%::*} < 45: add loop-value-2 to {_page.%loop-number-1%::*} remove loop-value-2 from {_vartemp::*} set {_slot} to 0 loop {_page.%arg-1%::*}: format slot {_slot} of player with skull of "%loop-value%" parsed as offline player named "&6%loop-value%" with lore "&bSur le serveur depuis &7: &3%{temps.day.%loop-value%}% Jours &3%{temps.hour.%loop-value%}% Heures &3%{temps.min.%loop-value%}% Min %{temps.sec.%loop-value%}% Sec" to run [make player execute command "/verif %loop-value%"] add 1 to {_slot} else: send "&cCette Page n'existe pas." command /verif: trigger: wait 3 ticks open chest with 1 rows named "&4Action" to player wait 3 ticks format slot 0 of player with dirt named "&eBan" to run [make player execute command "/ban %player%"]
Tominous Posté(e) le 28 octobre 2017 Posté(e) le 28 octobre 2017 Voilà le code normalement sa marche command /verif [<player>] trigger: if arg 1 isn't set: send "Spécifie un joueur" else: wait 2 tick open chest with 1 row named "Verif de %arg 1% wait 2 tick format slot 0 of player with dirt named "Bannir %arg 1% ?" to close then run [execute player command "/ban %arg 1%"] Ducoup change les noms des Menus et des items comme tu veux avec de la couleur et tout, et dis-moi si y'a des erreurs
Safarival Posté(e) le 28 octobre 2017 Auteur Posté(e) le 28 octobre 2017 Pour ce qui est des erreurs tu a oublier les ":" a la première ligne (command /verif [<player>]:) et tu a également oublier de mettre ceci (") après "Verif de %arg 1%. Et pour ce qui es du jeu sa ne marche pas car il me dise de préciser le nom d'un joueur. or cela devrait ce préciser automatiquement lorsque l'on Click sur la tête d'un joueur. PS: Merci de m'aider.
Tominous Posté(e) le 28 octobre 2017 Posté(e) le 28 octobre 2017 Dsl je suis sur portable et envoi un screen des erreurs stp
Safarival Posté(e) le 28 octobre 2017 Auteur Posté(e) le 28 octobre 2017 ba il n'y a plus d’erreur puisque je te les ai corriger... Seul problème c'est que sa ne sélectionne pas le joueur sur lequel je Click dans le menu mais sa c'est parce que le code fournis ne doit pas être le bon ... Et je viens de découvrir que peut importe la tête sur la quelle je clic et bien sa me dit voulez vous ban (pseudo nom pas de la personne sélectionner mais le pseudo de la dernière personne qui c'est connecté sur le serveur).
Shelk Posté(e) le 28 octobre 2017 Posté(e) le 28 octobre 2017 function Verif(executor: player, p: player): wait 2 ticks open chest with 1 rows named "&bActions sur ce joueur" to {_executor} wait 2 ticks format slot 0 of {_executor} with dirt named "&cBan trop méchant" to close then run [make {_executor} execute "/ban %{_p}%"] format slot 4 of {_executor} with skull of {_p} named "&c%{_p}%" to be unstealable command /list [<int>]: trigger: wait 3 ticks set {_listpage} to size of {listplayer::*} set {_needpage} to 1 while {_listpage} >= 45: remove 44 from {_listpage} add 1 to {_needpage} if arg <= {_needpage}: arg-1 is not 0 open chest with 6 rows named "&6 Page %arg-1%/%{_needpage}%" to player wait 3 ticks if arg-1 >= 2: format slot 46 of player with paper named "&e&lPage Précédente" to run [make player execute command "/list %arg - 1%"] if arg-1 < {_needpage}: format slot 52 of player with empty map named "&e&lPage Suivante" with lore " " to run [make player execute command "/list %arg + 1%"] set {_vartemp::*} to {listplayer::*} loop {_needpage} times: #On va loop toutes les pages loop {_vartemp::*}: #On loop les joueurs if size of {_page.%loop-number-1%::*} < 45: add loop-value-2 to {_page.%loop-number-1%::*} remove loop-value-2 from {_vartemp::*} set {_slot} to 0 loop {_page.%arg-1%::*}: format slot {_slot} of player with skull of "%loop-value%" parsed as offline player named "&6%loop-value%" with lore "&bSur le serveur depuis &7: &3%{temps.day.%loop-value%}% Jours &3%{temps.hour.%loop-value%}% Heures &3%{temps.min.%loop-value%}% Min %{temps.sec.%loop-value%}% Sec" to close then run [Verif(player, loop-value)] add 1 to {_slot} else: send "&cCette Page n'existe pas." En gros dans la fonction en haut tu fais ton menu qu'il y aura quand tu cliques sur une tête mais tu remplaces celui qui fait la commande (player) par {_executor} et la tête cliquée par {_p} ça devrait marcher ^^
Safarival Posté(e) le 28 octobre 2017 Auteur Posté(e) le 28 octobre 2017 Merci de ton skript il n'y a aucune erreur seulement voilà lorsque je click sur un joueur (dans la liste de tout les joueurs du serveur) cela m’affiche toujours la possibilité de ban le joueur comme prévue, mais sa m'affiche enfaîte le pseudo du joueur qui c'est connecté en dernier sur le serveur POUR LA PREMIÈRE FOIS. A tu une idée pourquoi ? PS : Merci du temps que tu a mis a faire ce skript.
KyloRen3600 Posté(e) le 29 octobre 2017 Posté(e) le 29 octobre 2017 Salut ! Je suis pas le pro des gui mais il vaut mieux utiliser Tuske ;) Sinon tu peux essayer de passer par un on inventory click meme si c est pas le meilleur système :p
Safarival Posté(e) le 30 octobre 2017 Auteur Posté(e) le 30 octobre 2017 Salut, Merci de ta réponse mais je veut rester sur mon skript et un on inventory click ne va pas régler mon problème. Bonne soirée et merci quand même :)
KyloRen3600 Posté(e) le 30 octobre 2017 Posté(e) le 30 octobre 2017 Justement si, tu renomes les tête avec les noms des joueurs puis: On inventory click: Verif (name of event-item, player) Il faut juste mettre la condition pour verifier les nom du gui et je ne l ai pas en tete
Safarival Posté(e) le 30 octobre 2017 Auteur Posté(e) le 30 octobre 2017 Merci a toi mais si la condition dont tu me parle c'est ça : On inventory click: if player is holding ender chest named "&6Page {_listpage}": Verif (name of event-item, player) et bien sa me mais une erreur : Can't understand this condition/effect: verif (name of event-item, player) (Adtest.sk, line 16: Verif (name of event-item, player)')
KyloRen3600 Posté(e) le 30 octobre 2017 Posté(e) le 30 octobre 2017 Il faut la fonction de Shelk et il ne faut pas d espace entre "verif" et "("
Tominous Posté(e) le 30 octobre 2017 Posté(e) le 30 octobre 2017 J'ai fait sa et j'ai testé, quand tu fais "/list 1" sa ouvre un gui avec la tête de tous les joueurs connectés, et quand tu clique sur un joueur sa ouvre un gui avec une dirt pour le ban quand tu clique dessus : command /list [<int>]: trigger: wait 2 tick set {_listpage} to size of {listplayer::*} set {_needpage} to 1 while {_listpage} >= 45: remove 44 from {_listpage} add 1 to {_needpage} if arg <= {_needpage}: arg-1 is not 0 open chest with 6 rows named "&6 Page %arg-1%/%{_needpage}%" to player wait 3 ticks if arg-1 >= 2: format slot 46 of player with paper named "&e&lPage Précédente" to run [make player execute command "/list %arg - 1%"] if arg-1 < {_needpage}: format slot 52 of player with empty map named "&e&lPage Suivante" with lore " " to run [make player execute command "/list %arg + 1%"] set {_vartemp::*} to {listplayer::*} loop {_needpage} times: #On va loop toutes les pages loop {_vartemp::*}: #On loop les joueurs if size of {_page.%loop-number-1%::*} < 45: add loop-value-2 to {_page.%loop-number-1%::*} remove loop-value-2 from {_vartemp::*} set {_slot} to 0 loop all players: format slot {_slot} of player with skull of loop-player named "&6%loop-player%" with lore "&bSur le serveur depuis &7: &3%{temps.day.%loop-player%}% Jours &3%{temps.hour.%loop-player%}% Heures &3%{temps.min.%loop-player%}% Min %{temps.sec.%loop-player%}% Sec" to close then run [make player execute command "/verif %loop-player%"] add 1 to {_slot} else: send "&cCette Page n'existe pas." command /verif [<player>]: trigger: if arg 1 isn't set: send "&cSpécifie un joueur" else: wait 2 tick open chest with 1 row named "&eVerif de %arg 1%" to player wait 2 tick format slot 0 of player with dirt named "&6Bannir %arg 1% ?" to close then run [execute player command "/ban %arg 1%"] 1
Safarival Posté(e) le 30 octobre 2017 Auteur Posté(e) le 30 octobre 2017 Merci a tous pour vos réponses et pour le temp que vous avez mis pour m'aider. Et gros merci a toi Tominous pour ton skript très construit et surtout qui MARCHE ! Je mais ce sujet en résolu ;) PS : Pour ce qui vont lire ce skript plus tard sacher que au final ce skript ne marchais pas j'ai donc relancer cette discution. 1
Tominous Posté(e) le 30 octobre 2017 Posté(e) le 30 octobre 2017 Merci à toi @Safarival, et n'oublie pas le petit like sa fait toujours plaisir :) 1
Safarival Posté(e) le 30 octobre 2017 Auteur Posté(e) le 30 octobre 2017 A oui éffectivement je te fait sa :)
Safarival Posté(e) le 31 octobre 2017 Auteur Posté(e) le 31 octobre 2017 Mauvaise nouvelle tout ce passait bien avec le skript, et la un autre pote c'est connecté pour test le truc et mtn seul mon pseudo a moi s'affiche sur tout les pseudos (Dans le gui nommer "list page 1 chaque pseudo est bien marquer mais c'est quand je Click ensuite sur n'importe quelle pseudo sa m’en mène dans le nouveau gui pour bannir et c'est la que sa affiche que mon pseudo"). (Personne n'a toucher au skript) alors désoler pour ce faut espoir mais si vous pouvez trouver la solution sa serrait cool svp ? Je re met le skript que j'ai utiliser : command /list [<int>]: trigger: wait 2 tick set {_listpage} to size of {listplayer::*} set {_needpage} to 1 while {_listpage} >= 45: remove 44 from {_listpage} add 1 to {_needpage} if arg <= {_needpage}: arg-1 is not 0 open chest with 6 rows named "&6 Page %arg-1%/%{_needpage}%" to player wait 3 ticks if arg-1 >= 2: format slot 46 of player with paper named "&e&lPage Précédente" to run [make player execute command "/list %arg - 1%"] if arg-1 < {_needpage}: format slot 52 of player with empty map named "&e&lPage Suivante" with lore " " to run [make player execute command "/list %arg + 1%"] set {_vartemp::*} to {listplayer::*} loop {_needpage} times: #On va loop toutes les pages loop {_vartemp::*}: #On loop les joueurs if size of {_page.%loop-number-1%::*} < 45: add loop-value-2 to {_page.%loop-number-1%::*} remove loop-value-2 from {_vartemp::*} set {_slot} to 0 loop all players: format slot {_slot} of player with skull of loop-value named "&6%loop-value%" with lore "&bSur le serveur depuis &7: &3%{temps.day.%loop-value%}% Jours &3%{temps.hour.%loop-value%}% Heures &3%{temps.min.%loop-value%}% Min %{temps.sec.%loop-value%}% Sec" to close then run [make player execute command "/verif %loop-value%"] add 1 to {_slot} else: send "&cCette Page n'existe pas." command /verif [<player>]: trigger: if arg 1 isn't set: send "&cSpécifie un joueur" else: wait 2 tick open chest with 1 row named "&eVerif de %arg 1%" to player wait 2 tick format slot 0 of player with dirt named "&6Bannir %arg 1% ?" to close then run [execute player command "/ban %arg 1%"]
Tominous Posté(e) le 1 novembre 2017 Posté(e) le 1 novembre 2017 Up ! Je regarde demain matin je peux pas ce soir
Messages recommandés