Aller au contenu

Classement

Contenu populaire

Affichage du contenu avec la meilleure réputation le 20/07/2018 dans toutes les zones

  1. Bonjour ! Je vais dans ce tutoriel, nous allons voir comment utiliser la version 2.0 de vixio pour créer un bot discord. Avant tout, petit rappel sur la création d'un bot: Sommaire : I/ Création d'un bot II/ Lié le bot et discord III/ Créer des commandes pour le bot IV/ Créer des embed V/ Documentations et sources I/ Création d'un bot : Pour commencer, il nous faut un bot. Pour ce faire, allez sur le lien https://discordapp.com/developers/applications/me . Pensez à être connecter avec votre compte sur discord. Une fois dessus, cliquez sur "New app". Ensuite, mettez en : 1) Un nom à votre bot 2) Une icone à votre bot 3) Une description à votre bot Sauvegardez en 4 votre bot. Ici, je vais appeler le bot "TestSkriptMc". Maintenant, créer un utilisateur bot, donc votre bot en lui-même. Pour se faire, descendez en bas de la page et cliquez sur "Create a Bot User" Maintenant, voyons voir les informations qu'on a. Nous avons en : 1 : Le nom d'utilisateur de votre bot 2 : Cliquez sur cette case si vous souhaitez que n'importe qui ajoute votre bot. Ici, vous devez cliquer dessus. 3 : Le token est le code le plus important du bot à ne pas perdre, ni donné. Il s'agit d'un code top secret ! Cliquez sur "click to reveal" au niveau du token pour obtenir votre code secret puis gardez le sous la main. Bravo, vous venez de créer votre bot ! II/ Lié le bot et discord : Maintenant c'est bien beau, mais on en fait quoi de ce bot ? Nous allons donc le lié au serveur discord ! Pour ce faire : 1) Aller sur le lien suivant : https://discordapi.com/permissions.html 2) Choisissez les permissions que doit avoir votre bot. 3) Allez récupérer l'id du bot qui se trouve sur la page de votre bot en haut (client id) et mettez le dans la case adéquate. 4) Cliquez sur le lien et ajoutez le bot sur votre serveur discord. Facile, vous avez déjà fait une grande part du boulot. Maintenant, créer un nouveau skript et présentez de cette manière : options: bot : <nom du bot> token : <son token> on load: login to "{@token}" with name "{@bot}" Remplacer "<nom du bot>" par le nom de votre bot et "<son token>" par son token sauvegarder au préalable. Désormais, le nom du bot sera "{@bot}" NE LAISSEZ PAS LES FLECHES ! VOTRE TOKEN ET LE NOM DE VOTRE BOT NE DOIVENT PAS ETRE ENTRE LES DEUX FLECHES ("<" et ">") !!!! NE PARTAGEZ A PERSONNE VOTRE TOKEN, IL DOIT RESTER SECRET ! Faites un "/sk reload all" et vérifiez que le bot s'est bien connecté à la fois dans la console mais aussi sur votre serveur discord. Si tout s'est bien passé, vous avez votre bot ! III/ Créer des commandes pour le bot : Bien, nous pouvons désormais voir ce que nous apportes la v2 de vixio. En effet, dans celle-ci vous allez pouvoir créer des commandes personnalisés comme avec skript. Je m'explique: avec skript, vous créez une commande de la façon suivante: command /votrecommande <text>: trigger: send "blabla c'est ma commande skript" Et bien avec vixio 2.0, c'est exactement le même principe: discord command /votrecommande <text>: trigger: reply with "blabla c'est ma commande skript" Simple non ? Tout ce qui fonctionne avec skript fonctionnera avec ce système de commande de vixio. IV/ Créer des embed : Les embed sont des données, ou encore valeurs encadrées. Comme : Ceci est bien sûr un exemple de embed xD discord command /votrecommande <text>: trigger: make embed: set author info of embed to author named "L'auteur de mon embed" with no url and icon "%avatar of event-user%" set title of embed to title with text "Le titre de votre embed" set description of embed to "La description de votre embed" set color of embed to green #la couleur de votre embed add split field named "Ma valeur" with value "La valeur de ma valeur" to field of embed set image of embed to "https://www.ludeek.com/wp-content/uploads/2017/11/dessin-licorne.jpg" set footer of embed to footer with text "Le footer de l'embed" set the thumbnail of embed to "https://cdn.discordapp.com/attachments/236641445363056651/405167105760296971/Logov2.jpg" set the timestamp of embed to now #Le timespan de l'embed reply with last embed Voici un exemple basique d'un embed. Vous pouvez personnaliser tout les embed de bien des manières. Voici la liste des parties d'un embed que vous pouvez modifier : V/ Documentations et sources : Toutes les syntax sont disponible au lien suivant : https://olyno.github.io/Vixio/documentation/ (non officiel pour le moment) Le téléchargement de vixio se trouve ici : https://github.com/iBlitzkriegi/Vixio/releases Le lien du support est disponible ici : https://discord.gg/9xQUk2d La page officiel de l'addon : https://forums.skunity.com/resources/vixio-the-best-discord-addon-on-the-market.19/ Pour les syntaxes, elles sont disponibles dans le fichier "plugins/Vixio/Syntaxes.txt"
    2 points
  2. Les listes sont plus pratique pour beaucoup de raison, la raison la plus simple c'est que c'est beaucoup plus simple pour supprimer toute les variables, ça permet aussi de voir tout les joueurs ayant de l'xp, très pratique si par exemple tu voudra faire un classement ^^ Ensuite skript est coder de tel manière que aller chercher un truc dans une liste est plus rapide et prend moins de ressource que une variable normale ? utiliser des listes pour des variables est une bonne habitude à prendre permettant après de faire des trucs plus complexe ?
    1 point
  3. Bah ouais x) bon je te laisse edit ton message, et je te mets pas d'avertissement parce que... voila x)
    1 point
  4. Je m'y connais très bien en liste ^^ Que veut tu savoir ? ? (P.S : vite edit tes messages, tu vas te prendre un truc pour double poste :/)
    1 point
  5. Alors ça n'a pas grand chose a voir mais : Je te conseil d'utiliser pour tes variables des listes : {LVL::%player's UUID%} tu n'es pas obligé mais crois c'est plus opti et plus pratique Ensuite pour ton problème : if {LVL.%player's UUID%} isn't set: set {LVL.%player's UUID%} to "1" if {XP.%player's UUID%} isn't set: set {XP.%player's UUID%} to "0" set {XPLvl.%player's UUID%} to 100 * {LVL.%player's UUID%} tu set ta première variable à "1" or une valeur entre "" sera un texte et un texte ne peut pas être multiplié, pour que ça soit un nombre tu as juste à set tes variable à 0 et à 1 au lieu de "0" et "1".
    1 point
  6. Bonjour à tous, Voila suite au topic : J'ai décidé de vous présenté un petit bout de code. Pour commencer je m'excuse des fautes d'orthographe on a tous ses petits défaut ? La fonction now disponible sur skript permet d'envoyer la date actuelle d'un serveur sous un format particulié : mm/jj/aa hh:min AM ou PM Ici je vous propose donc de récupéré le mois le jours ou l'année. Je sais qu'il existe des variables tel que %hour% mais pour ma part cela na jamais fonctionner (et oui je suis bidon ?) Voici le code : set {date.j.m.now::*} to "%now%" split by "/" parsed as text#la date apparait sous forme de mm/jj/aa hh:mm AM ou PM set {_month} to {date.j.m.now::1} set {_day} to {date.j.m.now::2} set {date.a::*} to {date.now::3} split by " " parsed as text set {_year} to {date.a::1} set {date.h.m::*} to {date.a::2} split by ":" parsed as text set {_hours} to {date.h.m::1} set {_minutes} to {date.h.m::2} set {_matin.ou.aprem} to {date.a::3} Nous allons donc utiliser un outils génialisime j'ai nommer le split Split soit séparer nous permet donc de séparer (lol) une string autrement dit chaîne de caractère selon son "splitter" un caractère défini qui fera office de séparateur. Split stock c'est donné dans un tableau prenons un petit exemple : 07/20/18 10:25 AM Splitons la chaîne de texte par le caractère "/" on obtient donc si vous avez compris : mon.tableau::1 = 07 mon.tableau::2 = 20 mon.tableau::3 = 18 10:25 AM On peut donc récupéré ici le mois soit 07 et le jours 20. Voila vous avez compris les 3 premières lignes du skript ? La suite est pareil on split ducoup 18 10:25 AM avec un " " (espace) on obtient séparément 18 ensuite 10:25 et AM etc etc .... Ici nous détaillons un "now" mais si on set un événement a une date on peux relevé ce que l'on veux sur cette date antérieurs. C'est aussi un exercice pour s’entraîner à récupéré des valeurs un peut partout ? On récupère nos valeurs à l'aide des variables {_year} {_month} ... {_minutes} Voila si vous avez des questions je vous laisse un lien du forum traitant de la question ainsi que la possibilité bien évidement de me contacter en priver ?
    1 point
  7. passe sur ST3 dessus y'a aucun problème, mais c'est cancéreux d'utiliser 4 espace...
    1 point
  8. Umbaska est un mauvais addon qui génère de nombreux bugs, il est donc fort recommander de l'enlever.
    1 point
  9. Le joueur qui a porter plainte est normalement informé mais le joueur qui reçois la plainte ne l'est effectivement pas. Si tu veux qu'il le sois ajoute cette ligne la : send "<red>%player% à porter plainte contre toi !" to arg 2 parsed as player en dessous de la ligne 6 qui est : send "<red>Vous avez fais une plainte !"
    1 point
  10. /. INTRODUCTION Bonjour, J'ai remarqué depuis déjà un certain temps que les joueurs on tendance à utiliser SkQuery pour les GUI bien que celui ci possède de nombreux bug, est moins pratique, offre moins de fonctionnalités et que beaucoup de personnes dans la catégorie "aide" poussent les joueurs à utiliser TuSke. J'imagine que c'est probablement du au faire que en cherchant "GUI Skript" les premiers liens montrent le fonctionnement des GUI avec SkQuery (de même avec 95% des vidéos d'apprentissages de GUI fr). J'ai donc décidé d'essayer de changer cela en créant ce poste dans le but de vous montrer le Sacro-Saint-Graal des GUI Skript, j'ai nommé TuSKe. J'ajouterai aussi un sondage afin de savoir avec quoi vous avez appris à utiliser les GUI afin de connaître pourquoi tant de personnes on commencées en utilisant SkQuery. P.S : Je sais que psyziik a déjà crée un poste semblable mais je compte rendre celui ci plus complet ou en tout cas montrer clairement la différence entre les deux plutôt que faire un tuto. ^^ IMPORTANT Il est très important de savoir que pour Gui on peut utiliser SkQuery sans TuSKe mais pas TuSKe sans SkQuery. I. L'OUVERTURE D'INVENTAIRE Dans SkQuery : open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player wait 1 tick Dans Tuske : open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player Comme vous pouvez le voir, pas grand chose ne change et ce n'est certainement pas ça qui va vous faire passez sur TuSKe mais bon c'est déjà un problème car il arrive souvent d'oublier le wait 1 tick pour SkQuery II. L'AJOUT D'ITEMS Dans SkQuery : format slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable Dans Tuske : make a gui slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." Comme vous pouvez le voir les deux non pas vraiment de différence mais font là même chose, toutefois voici une grosse différence : Imaginons que l'on veuille afficher des item qui fassent exactement la même chose dans 5 slots différent : Dans SkQuery : [spoiler=Code SkQuery] format slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable format slot 1 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable format slot 2 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable format slot 3 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable format slot 4 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable Dans TuSke : [spoiler=Code TuSKe] make a gui slot 0, 1, 2, 3, 4 and 5 of player with 1 dirt named "test" with lore "c'est un lore..." ça peut vous sembler pas grand chose mais quand on fait ça avec une vingtaine d'items, utiliser SkQuery rend votre code très désagréable et moins performant. III. EXÉCUTER DES EFFETS Sachez avant tout que toute les choses faisables dans SkQuery sont faisables dans TuSKe (close, close then run, etc..) mais pas le contraire : Par exemple pour exécuter un loop ou exécuter plusieurs effet avec SkQuery on est obligé de passer par une fonction ou "on inventory click:" ce qui non seulement est moins optimisé, moins pratique (imaginez vous faire 20 fonction avec un gui où il y a 20 items qui font 20 choses différentes :/) et moins compréhensible pour vous et toutes autre personnes qui essayerait de lire votre script. [spoiler=Code SkQuery] on right click on stone: open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player format slot 0 of player with 1 diamond sword named "a" to close then run [a(player)] function a(p: player): loop 5 times: message "test" to {_p} Alors que Tuske: [spoiler=Code TuSKe] on right click on stone: open chest with 3 row named "&8&l[&6&lTEST&8&l]" to player make a gui slot 0 of player with 1 diamond sword named "a" to run: close player's inventory loop 5 times: message "test" to player IV. LES TYPES DE CLIQUES Pour SkQuery on est obligé de passer par le "on inventory click" [spoiler=Code SkQuery] on right click on stone: open virtual chest inventory with size 4 with name "&6&lTest" to player format slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to be unstealable on inventory click: if inventory name of player's current inventory is "&6&lTest": cancel event if clicked slot is 0: if clicked type is right mouse button: message "test" to player Pour Tuske par contre non seulement on peut passer directement par le to run: [spoiler=Code TuSKe] on right click on stone: open virtual chest inventory with size 4 with name "&6&lTest" to player make a gui slot 0 of player with 1 dirt named "test" with lore "c'est un lore..." to run: if clicked type is equal to left mouse button: message "a" to player Mais on peut aussi intégrer la condition dans le "make a gui": [spoiler=Code TuSKe] on right click on stone: open virtual chest inventory with size 4 with name "&6&lTest" to player make a gui slot 0 of player with 1 dirt to close then run player command "/gm 1" using left click V. D'AUTRES FONCTIONNALITÉS Voici quelque petit truc en plus dans Tuske: Supprimer les items d'un slot: unformat the gui slot %numbers% of %players% De tout les slots: unformat all gui slots of %players% Condition pour savoir si le joueur a un GUI: %player% has [a] gui Et condition pour savoir si un slot fait partit d'un GUI: slot %numbers% of %players% is a gui Le as op: make a gui slot 0 of player with 1 dirt to close then run player command "/gm 1" as op VI. LES LOOPS Sur SkQuery ce code vous affichera 10 dans tout les cas: [spoiler=Code SkQuery] on right click on stone: open virtual chest inventory with size 4 with name "&6&lTest" to player set {_s} to 0 loop 10 times: format slot {_s} of player with 1 dirt to run [message "%{_s}%"] add 1 to {_s} Alors que le premier aurait du donner 0, le 2eme 1, etc... Mais pour Tuske: [spoiler=Code TuSKe] on right click on stone: open virtual chest inventory with size 4 with name "&6&lTest" to player set {_s} to 0 loop 10 times: make a gui slot {_s} of player with 1 dirt to run: message "%{_s}%" add 1 to {_s} Tout marche ^^ et croyerz moi les loops peuvent être vraiment utile dans les GUI quand on sait les utiliser. VII. LES GUI AVANCES Bon sachez que pour TuSke ce que je vous ais présenté est la partie dite "simple", il existe des GUI bien plus complexes. Ceux-ci vous permettent par exemple de créer un gui définit par une ID puis ouvrir l'inventaire de cette ID, de connaitre le type d'action du joueur(ex: swap with cursor, pickup half et bien d'autres), de connaitre le type de slot (armor, fuel) et bien plus ^^ . Mais surtout ces GUI sont vraiment vraiment biens plus rapident et prennent moins de ressources :D. Voici le tuto officielle en Anglais. VII. LES BUGS Il faut savoir que SkQuery est connu comme possédant des bugs dans ses GUI et que donc dans de gros GUI il n'est pas si rare d'avoir des résultats inexplicables. Tel que : - loop avec des valeurs qui changent qui ne marche pas - si on met unstelable à un slot dans le GUI, le slot situé à la même position dans l'inventaire du joueur aurra le même effet (pareil avec les to run command) - bug visuel quand on spamclick / dans certain cas il est aussi arrivé de vraiment recevoir l'item (en créa en spamcliquant) ------------------------------------------------------------------------------------- Voilà, c'est la fin de ce poste que je tenais beaucoup à faire ^^ Si vous avez aimé n'hésitez pas à donner un like. Si vous avez des arguments soutenant ou contre ce poste n'hésitez pas à le dire (en restant poli svp) Tuske : https://www.spigotmc.org/resources/tuske.25136/ Documentation GUI TuSke : https://github.com/Tuke-Nuke/TuSKe/wiki/GUI-Manager Merci à psyziik pour son Tuto qui m'a été très utile pour apprendre à utiliser TuSKe : https://skript-mc.fr/forum/threads/«-gestion-avancée-des-guis-avec-tuske-».9050/ P.S : Je sais parfaitement que ce post comportement de très nombreuses fautes mais sachez que cela n'est clairement pas une raison de juger négativement ce poste. EDIT: J'ai appris qu'il existais déjà un poste semblable mais bon impossible de le trouver sur Google. Mais bon voici ce qu'il a écrit, c'est un peu plus complet que mon poste : https://skript-mc.fr/forum/threads/pourquoi-est-ce-que-tuske-skquery-menus.12752/
    1 point
×
×
  • 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.