Mentosh Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Ok ok^^ j'essaye d'apprendre =) je ne mis connais pas encore énormément alors j'aide comme je peu :p Bon soir =)
Goetheus Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 @Snowach Hélas, ça ne fonctionne pas (et ça ne peut pas fonctionner) puisque j'ai besoin de détecter le clic pour continuer :/
Snowach Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Mais qu'est-ce que "détecter le clic" ? Mon code permet de vérifier si l'objet nommé " allo " avec les espaces et tu écris la suite ^^
Mentosh Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 contains " allo ": Qui peux m'expliquer rapidement ? Merci :)
Snowach Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Quand tu mets cette partie dans ton code (je parle de "contains " allo "") bah c'est si le nom de l'item contient " allo ", et la suite du code x)
Mentosh Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Met si l'item s'appel allo ou comment tu lui fait contenir un mot ( ici allo) je comprend pas a quoi sa sert
Goetheus Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Rectification, je n'avais pas Umbaska. Or sur SkUnity il est écrit que les "Clicked item" sont relié à Umbaska... Du coup je suis en train de le mettre, mais ça cause quelques problèmes avec SharpSK... @Mentosh Par exemple, tu as une épée, tu lui donne le nom ALLO, Si l'item s'appelle ALLO, Le joueur fait 20 dégâts de plus de avec.
Snowach Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Il a dit que le code ne fonctionne pas alors j'ai trouvé une alternative, c'est pour ça qu'il est moins "mieux" x)
Mentosh Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Pourquoi pas juste named que contains ?
Snowach Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Pourquoi pas juste named que contains ? Pas c'est ce que j'ai mis dans mon alternative ^^'
Mentosh Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Pas c'est ce que j'ai mis dans mon alternative ^^' Ah donc je commence a comprendre =)
Snowach Posté(e) le 14 juillet 2016 Posté(e) le 14 juillet 2016 Ah donc je commence a comprendre =) Enfin xD Bon j'arrête puisqu'on va en HS (Hors-sujet)... x)
Goetheus Posté(e) le 15 juillet 2016 Posté(e) le 15 juillet 2016 Pour revenir au sujet, l'auteur du topic n'avait pas précisé que la partie L'utilisation avancé des GUIs: nécessitait l'Add-on UMBASKA. Du coup, mon soucis concernant le clicked event est réglé !
XTReMxLogik Posté(e) le 11 mai 2017 Posté(e) le 11 mai 2017 Bonjour, Explication du probleme en "shéma": JOUEUR #1 veux reload, ca ouvre le menu a tous les "op", JOUEUR #2 Lui veux pas reload alors clique sur la laine rouge (ligne 9), JOUEUR #3 Lui n' a plus la laine pour cliquer, donc lui ne peux pas voter a son tours :/ Comment est-ce que je pourrais regler ca ? 1. trigger: 2. open chest with 1 rows named "&7[&cVOTE POUR LE RELOAD&7]" to op 3. format slot 0 of player with paper named "&fVote pour le RELOAD !" to be unstealable 4. format slot 1 of player with light gray glass named " " to be unstealable 5. format slot 2 of player with light gray glass named " " to be unstealable 6. format slot 3 of player with light gray glass named " " to be unstealable 7. format slot 4 of player with light gray glass named " " to be unstealable 8. format slot 5 of player with light gray glass named " " to be unstealable 9. format slot 6 of player with light green wool named "&a&lContinuer &ale reload" to close 10. format slot 7 of player with light gray glass named " " to be unstealable 11. format slot 8 of player with red wool named "&c&lAnnuler &cle reload" to close then run [make player execute command "restart.nope"]
Olyno Posté(e) le 13 mai 2017 Posté(e) le 13 mai 2017 Alors salut tout le monde. J'ai vu sur le forum qu'il existait déjà de nombreux tutoriels sur les GUI, mais je trouve qu'il manque plusieurs informations et que les informations sont plutôt dispersées alors dans ce tutoriel je mettrai tout ce que la communauté a créé et je vais rajouter une petite chose que vous allez surement apprécier ;) La base: Bon alors je vais vous commencer par vous expliquer ce qu'est un gui et comment nous pouvons les utiliser. Premièrement, un gui est un coffre irréel que nous ouvrons à un joueur et nous y ajoutons des items à l'intérieur pour y créer un menu ou n'importe quoi d'autres que vous pouvez penser. Pour nous servir de ces GUI, nous avons besoin de l'addon SKQuery que nous utilisons de cette manière command /gui: trigger: open chest with 5 rows named "hello" to player wait 2 ticks format slot 1 of player with 1 dirt named "Bonjour, mon nom est terre" with lore "&6Je vis|| || ||&9ICI" to be unstealable Bon, décortiquons ce code, dans notre 3e ligne, nous ouvrons un coffre au joueur. Nous devons spécifier le nombre de lignes (Pour un maximum de 6, chaque ligne a 9 cases). Par la suite, nous donnons le nom du gui (Ce nom sera écrit en haut du coffre. Nous pouvons utiliser les codes couleurs) et nous finissons en spécifiant celui qui verra ce coffre Par la suite, nous mettons un délai de 2 ticks, car sans ce délai, les joueurs pourront prendre les items qui se trouvent dans ce coffre à l'aide d'un certain bug. Pour terminer, nous plaçons un item dans le slot 1 (Qui est la 2e case en l’occurrence, car dans l'informatique, nous commençons toujours par le 0 donc le 0 = 1ère case) nous disons dans le coffre de quel joueur et l'item qui sera mis dans cette case. Nous donnons un nom à cet item (Encore une fois les codes de couleurs sont acceptés) et nous lui donnons un lore (Description sous le nom (codes de couleurs acceptés) les || sont utilisés pour passer des lignes). La partie de code où il est écrit "to be unstealable" sert à nous dire ce que fait l'item dans ce coffre Il existe différentes fonctions pour les items - To be unstealable -> Le joueur ne pourra pas prendre l'item - To close -> Fermera le coffre - To close then run "commande" -> Exécutera la commande qui sera mise entre parenthèses (La console) et fermera le gui - To run "commande" -> Exécutera la commande qui sera mise entre parenthèses (La console) Les lambdas Dans un gui, parfois, nous ne voulons pas que ce soit la console qui exécute la commande, mais plutôt le joueur et c'est là que les lambdas viennent en jeu Pour déclarer un lamdas, rien de plus simple, au lieu de faire to close then run "command", nous allons faire to close then run . Exemple[/color][/color] [color=#ff0000][color=#000000][code][/color][/color][/color][/color] [color=#ff0000][color=#000000][color=#ff0000][color=#000000]format slot 0 of player with 1 dirt named "send message hello to owner" to close then run [make player execute command "msg Jean hello"] Ouvrir un GUI dans un GUI Dans un Gui, nous avons aussi parfois envie de faire qu'un item dans le Gui apporte à une autre page. Pour ce faire, nous avons un petit code à mettre dans le second Gui pour que la transition fonctionne. Je vais vous montrer directement un exemple, car une image vaut 1000 mots command /test: trigger: open chest with 2 rows named "joe" to player wait 2 ticks format slot 1 of player with 1 dirt named "coffre" to close then run [make player execute command "g2"] # Le to close then run est très important ! command /g2: trigger: close player's inventory # On doit fermer l'inventaire du joueur wait 2 ticks open chest with 3 rows named "yo" to player # Et le réouvrir par la suite wait 2 ticks format slot 12 of player with 1 sand named "sand" to be unstealable L'utilisation avancé des GUIs: Il existe une autre option pour faire des GUI qui est utilisé moins souvent, mais qui a certains avantages (permet de différencier le clique droit, le clic gauche et le clic du milieu) command /test: trigger: open chest with 1 rows named "Coffre" to player set slot 1 of current inventory of player to a dirt named " allo " with lore " " on inventory click: if inventory name of player's current inventory is "Coffre": if name of clicked item contains " allo ": if "%click type%" contains "LEFT": send message "hello" cancel event Dans ce code, nous ouvrons un coffre au joueur comme dans la première méthode, mais plutôt que de format une case, nous en faisons que de placer un item dans une case sans utiliser la méthode format. De cette façon, le joueur pourra prendre l'item. Par la suite, à l'aide de l'event on inventory click, nous détectons le type de clic (RIGHT, LEFT, MIDDLE) et nous exécutons le code voulu. Cette méthode nous permet de déterminer le type de clic qui a été utilisé pour chaque item et nous donne encore plus d'options pour réaliser nos idées <3 Bien optimiser son code. Parfois, nous avons à remplir un coffre d'un certain objet et en programmation il existe de nombreux moyens d'optimiser son code. Lorsque nous avons à remplir notre coffre d'un certain item, nous n'avons qu'à utiliser ce code command /test: trigger: open chest with 3 rows named "Un coffre" to player wait 2 ticks set {_s} to 0 loop 27 times: format slot {_s} of player with 1 green glass pane named " " to be unstealable add 1 to {_s} Dans ce code, nous mettons une variable à 0 et nous plaçons un bloc à cette case, par la suite nous ajoutons 1 à cette variable et nous plaçons un bloc à cette nouvelle case et ainsi de suite 27 fois. Pour déterminer le nombre de fois nécessaire, vous n'avez qu'à faire nombre de ligne * 9 et vous obtiendrez votre nombre (Dans notre cas 3*9 = 27) Une autre technique pour placer des blocs répétitifs à plusieurs endroits sans avoir à refaire le même code 15x command /test: trigger: open chest with 3 rows named "Coffre" to player wait 2 ticks set {_slots::*} to 2, 3, 4, 5, 20 and 26 loop {_slots::*}: format slot loop-value with 1 red glass pane named " " to be unstealable Dans ce code, nous mettons les slots que nous voulons placer notre bloc dans une liste et par la suite nous regardons les valeurs de cette liste et plaçons un bloc à chacune de ces valeurs. Ces 2 méthodes sont très utiles pour optimiser vos codes ;) Les GUIs animés Nous pouvons aussi créer en skript des GUI qui sont animés. La méthode est un peu plus complexe, mais elle est quand même assez simple et très peu connu (Je crois que presque personne ne la connaît) Je vais commencer par vous montrer le code et vous expliquer ensuite. command /test: trigger: open chest with 3 rows named "coffre" to player wait 2 ticks while "%inventory name of player's current inventory%" is "coffre": format slot 1 of player with dirt named "%{_s}%" to be unstealable add 1 to {_s} wait 2 ticks Dans ce code, nous ouvrons un coffre au joueur et nous partons une boucle while qui regarde à tous les 2 ticks si le nom de l'inventaire du joueur est le nom de l'inventaire que nous lui avons ouvert. Si c'est le cas, nous formatons les slots sinon nous arrêtons le code. À la fin de notre code, le wait 2 ticks représente le temps entre chaque actualisation du GUI. Plus le temps est haut, moins le serveur va lagguer et plus le temps est bas plus l'animation va sembler fluide. Bon, je crois que j'ai pas mal fait le tour des GUI et je ne crois pas que je n'ai rien d'autre à dire. Si vous avez été capable de lire tout ceci, je vous félicite, vous êtes maintenant un maître incontesté des GUI et vous savez absolument tout PS: Si j'ai oublié quelque chose, n'hésitez pas à me le dire dans les commentaires <3 Gros conseil : d'après ce que j'ai pu voir, tu utilise l'addon SkQuery (en fin, il me semble que c'est lui). Celui-ci possède beaucoup de problème par rapport aux gui. Tu aurais dû faire un tutoi sur l'addon TuSke qui est bien plus complet et qui possède presque aucune erreur sur le système de gui.
Olyno Posté(e) le 13 mai 2017 Posté(e) le 13 mai 2017 [quote=XTReMxLogik, post: 94325, member: 5375]Bonjour, Explication du probleme en "shéma": JOUEUR #1 veux reload, ca ouvre le menu a tous les "op", JOUEUR #2 Lui veux pas reload alors clique sur la laine rouge (ligne 9), JOUEUR #3 Lui n' a plus la laine pour cliquer, donc lui ne peux pas voter a son tours :/ Comment est-ce que je pourrais regler ca ? 1. trigger: 2. open chest with 1 rows named "&7[&cVOTE POUR LE RELOAD&7]" to op 3. format slot 0 of player with paper named "&fVote pour le RELOAD !" to be unstealable 4. format slot 1 of player with light gray glass named " " to be unstealable 5. format slot 2 of player with light gray glass named " " to be unstealable 6. format slot 3 of player with light gray glass named " " to be unstealable 7. format slot 4 of player with light gray glass named " " to be unstealable 8. format slot 5 of player with light gray glass named " " to be unstealable 9. format slot 6 of player with light green wool named "&a&lContinuer &ale reload" to close 10. format slot 7 of player with light gray glass named " " to be unstealable 11. format slot 8 of player with red wool named "&c&lAnnuler &cle reload" to close then run [make player execute command "restart.nope"] Utilise l'addon TuSke
XTReMxLogik Posté(e) le 13 mai 2017 Posté(e) le 13 mai 2017 Bonjour, j' ai déja l' addon "TuSKe"...Une autre proposition ?
Olyno Posté(e) le 13 mai 2017 Posté(e) le 13 mai 2017 Bonjour, j' ai déja l' addon "TuSKe"...Une autre proposition ? As-tu modifier le code selon TuSke et non pas selon SkQuery ?
XTReMxLogik Posté(e) le 13 mai 2017 Posté(e) le 13 mai 2017 Je connais le tuto, le problème est que je veux ne pas modifier et ne pas supprimer le problème de suppression du bloc (voir avant)
Vengelis_ Posté(e) le 14 avril 2020 Posté(e) le 14 avril 2020 L'équipe vous annonce que le topique a été verrouillé pour éviter de "déterrer une tombe". Cordialement.
Messages recommandés