Aller au contenu

tutur1004

Modérateur Discord
  • Compteur de contenus

    193
  • Inscription

  • Dernière visite

  • Jours gagnés

    7
  • Crédits

    79 [Faire un don]

tutur1004 a gagné pour la dernière fois le 20 février 2021

tutur1004 a eu le contenu le plus aimé !

Réputation sur la communauté

58 Tu commences à avoir des copains !

1 abonné

À propos de tutur1004

  • Rang
    Loop ∞ times: "Like"

Visiteurs récents du profil

6020 visualisations du profil
  1. Montre un peu plus ton code. Mais j'ai dans l'idée que tu n'as pas suivi pleinement mon explication sur le tuto, j'ai expliqué qu'il existait 2 fonctions, une basique et une "unsafe", comme expliqué si tu souhaites utiliser des variables skript, tu dois définir une variable de type texte avec le contenu de ta requête PUIS ENSUITE l'exécuter avec l'expression "unsafe". Si tu as plus de questions, je t'invite à passer sur le Discord, n'hésite pas à dire ici si la solution fonctionne pour toi. MileKat
  2. Désolé, je n'ai pas la réponse à cette question :/
  3. Je pense que ton problème ce situe plus sur de l'aide en SQL que avec Skript-db, fait un new sujet et MP le moi !
  4. Intéressant, bon à savoir, mais sachant qu'une grande partie des gens code de la 2eme manière, il est en effet peut rentable d'utiliser le check de permission :/. Faire toutes les commandes une par une, c'est pas terrible non plus, ça surcharge skript pour pas grand chose, il n'y a donc pas tellement de solutions pour "bloquer les commandes" c'est dommage.
  5. Skript-db : L'addon qui va vous faire aimer le SQL ! Bonjour, je présente aujourd'hui mon premier tuto sur le Forum, j'espère qu'il servira au plus grand nombre d'entre vous ! Avant de lire ce tuto, il est nécessaire d'avoir de légères bases en SQL, si vous n'en avez pas, pas de panique je tout de même vais aborder les principes de base. Difficultés : ✪✪✪✫✫ Temps d'apprentissage : 30mn si vous connaissez le SQL ~ 2h sinon. Le SQL: Bon, vue que tout le monde ne sait pas forcément ce qu'est le SQL et pour pouvoir toucher un maximum de monde à travers ce tuto je vais en parler un peu ! Le SQL, c'est un langage de programmation, spécialement créé pour l'exploitation de bases de données, c'est pour cette raison qu'on associe toujours "SQL" à "Data Base". En gros, le SQL est le langage qui va vous permettre de gérer votre base de données. Par ailleurs, le SQL permet d'utiliser vos Bases dans plusieurs langages de programmation (PHP, C++, Java, skript !). L'addon Skript-db permet donc d'utiliser le SQL sur skript dans toutes ses mesures. La Base de données: Pour le tuto que je vais aborder, nous allons uniquement traiter de bases de données de type "MySQL", je vous recommande vivement, si vous débutez, d'utiliser une base MySQL avec un accès PYPMyAdmin, qui vous permet d'avoir un panel graphique sur votre base de donnée et une assistance pour la rédaction de vos requêtes SQL (Très pratique pour la suite). Pour expliquer rapidement, la base de données va stocker vos "informations" dans des "tables" organisées en colonnes et classés en plusieurs lignes. Résumé: Vous avez compris, le SQL vous permet d'exploiter des bases de données dans plusieurs programmes de langages différents, par exemple, vous pouvez grâce au SQL, partager des informations entre plusieurs serveur minecraft, ou entre un serveur minecraft et un site web. Skript-db: Voilà enfin le chapitre intéressant ! L'addon est ULTRA basique, mais ULTRA complet. Il permet au contraire des autres addons, d'exécuter n'importe quelle requête de SQL, en seulement 1 ET UNIQUEMENT 1 effect (en vrai il y en a 2 mais ils fonctionnement de la même manière l'un est juste plus complet donc disons 1 seul effect). Donc, comme je l'ai dit il y a 2 effects pour effectuer des requêtes (query) SQL et 2 expressions, l'une pour se connecter une base de donnée et une autre expression pour récupérer vos erreurs SQL. Concrètement nous allons donc utiliser "seulement" l'expression pour se connecter, et l'effect pour les effectuer des requêtes. Ce connecter à votre BDD: Alors déjà, j'aime beaucoup cet addon, car contrairement aux autres addons qui "gèrent" le SQL, il permet de se connecter à plusieurs bases différentes dans le même skript, et surtout de pouvoir les utiliser dans d'autres skript sans les rappeler. C'est magique, non OPTIMISÉ !! Donc sans plus attendre on ce connecte: on load: set {sql} to the database "mysql://%host%:%port%/%database-name%?user=%username%&password=%password%&useSSL=false" # "useSSL", si votre base de donnée est protégée par un certificat SSL, en localhost ignoré le ! {sql}, ça va être la valeur avec laquelle vous aller pouvoir effectuer vos requêtes, ce qui veut dire que si vous voulez plusieurs bases, il suffit d'utiliser des vars différentes ({sql.1} puis {sql.2} ... etc ...). Voilà, rien de compliqué c'est bon vous êtes connecté, une fois cette expression utilisée plus besoin de l'utiliser (Je vous conseil de la mettre dans un "on load")! Effectuer une requête SQL: Et bien, c'est tout l'intérêt de l'addon, alors comme je l'ai dit, il y a 2 effects différents mais qui permettent de faire légèrement la même chose. La différence c'est que l'un permet d'exécuter une requête 'unsafe' stockée dans une variable, et l'autre d'exécuter un texte brut (comprenez sans variables). Vous l'aurez compris, l'effect 'unsafe' permet donc d'exécuter des variable, ce qui est plutôt utile comparé à l'autre. Je ne vais donc montrer que l'effect 'unsafe' dans ce tuto. # Requête sans retour : execute unsafe {_requete} in {sql} # Requête avec retour : execute unsafe {_requete} in {sql} and store the result in {_output::*} Bon voilà, un bon aperçue de l'effect, alors comment l'utiliser ? - Premièrement il faut savoir si vous allez avoir besoin du paramètre de retour ou non, c'est simple, il y a 2 types de requêtes SQL, celles où vous modifiez la BDD, et celles où vous lisez la BDD, dans le cas où vous écrivez, pas besoin de retour, dans l'autre cas il vous faut un retour, évidement. - Ensuite, il vous faut définir la requête {_requete}, c'est simplement une variable text. [spoiler=Application et Exemples] # Petit exercice: un log de chat, pour cela il faut : # Une table avec 2 colonnes : "joueur" et "messsage", avec en bonus "date". # Si vous souhaitez réaliser ce tuto avec moi, je vous passe une ligne SQL. # Vous pouvez la rentrer dans votre console SQL pour générer la table : CREATE TABLE IF NOT EXISTS `chat` ( `joueur` varchar(32) CHARACTER SET utf8 DEFAULT NULL, `message` varchar(64) CHARACTER SET utf8 DEFAULT NULL, `date` varchar(20) CHARACTER SET utf8 NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Table du tuto skript-db par tutur1004'; # Voilà, à présent passons au skript ! # Le but: dès qu'un joueur écrira un message il sera enregistré dans votre base SQL. # À noter que "insert" permet d'ajouter une nouvelle entrée dans votre base, `chat` est le nom de la base. on chat: set {_requete} to "INSERT INTO `chat` (`joueur`, `message`, `date`) VALUES ('%player%', '%message%', '%now%')" execute unsafe {_requete} in {sql} # Maintenant, on va essayer de récupérer avec une commande les x derniers messages d'un joueur (Connecté). # Nous allons utiliser la fonction SQL "SELECT" qui permet de lire une ligne (ou plusieurs) dans une table. command /find-msg <player> <int>: trigger: set {_requete} to "SELECT * from `chat` WHERE `joueur` = '%arg-1%' ORDER BY `message` DESC LIMIT %arg-2%" execute unsafe {_requete} in {sql} and store the result in {_output::*} # {_output::*} contiens maintenant les messages du joueur- # - ainsi que plusieurs fois son pseudo et les différentes dates des différents messages. loop {_output::message::*}: send "Le %{_output::date::%loop-index%}% %arg-1% à dit:" send "%loop-value%" L'exemple vous paraît compliqué ? - Si vous n'avez pas compris le 'insert into', je vous conseille d'apprendre le SQL. - Si vous n'avez pas compris le {_output::*}, je vais vous l'expliquer. Le {_output::*} généré par la requête est classé en fonction des colonnes de votre base. Si on reprend l'exemple, il y a (`joueur`, `message`, `date`) dans notre base. J'ai écrit pour récupérer les messages "loop {_output::message::*}". La variable ce répartie donc en 3 parties. 1) "_output", ça, tout le monde le sait, c'est le nom de la variable. 2) "message", ici, c'est le nom de la colonne qu'on souhaite lire. 3) "*", ici vont défiler les variable que la requête à "SELECT". Un 2ème exemple? Aller: J'ai ensuite utilisé send .. %{_output::date::%loop-index%}% .. -> {_output::date::%loop-index%} 2) "date" le nom de la colonne qu'on souhaite lire, pour pouvoir afficher la date. 3) "%loop-index%", si on suit l'exemple, on a loop les index des messages, Donc nous allons avoir les dates qui correspondent, puisqu'ils ont le même index de variable. Voilà, j'espère avoir suffisamment détaillé le fonctionnement de l'addon, il est assez simple à comprendre et utilisé, vous pourrez le trouver sur le git-hub de btk5h ou sur mon post avec la liste des addons (Maj. en janvier 2018 !) Tutur1004 !
  6. This resource has been removed and is no longer available for download.
  7. tutur1004 submitted a new resource: [plain][Ne pas Valider Merci] SkUltimateChat V3[/plain] - [plain]chat ultime bungee[/plain] Read more about this resource...
  8. Si vous préférez les ressources préfaite, je vous invite à check mon vielle "addon". [Contenu masqué]
  9. Il faut noter qu'on ne dit pas id lettre mais aliasses dans le cas de skript, les "id lettre" sont par exemple "minecraft:stone" Et sa ne génère pas d'erreur le fait de mettre un id, juste une information que skript ne peut pas garantir la validité du skript puisqu'il ne connais pas l'aliases / id. Sinon tuto intéressant dans l'ensemble , il manque juste la partie la plus intéressante, comment définir les data value x) surtout sur les blocs à orientation ^^
  10. tutur1004

    SkAscenseur 3D

    Ha, je vois, je vais fixer ça au plus vite, merci beaucoup pour ton retour ! EDIT: Sera fixé dans la prochaine MAJ, 50% de la to-do list sera réalisée également. EDIT2: Bug corrigé dans la version BETA 2
  11. Ma nouvelle ressource "SkAscenseur 3D" est enfin sortie :D https://skript-mc.fr/forum/resources/1147/
  12. tutur1004

    Buche de côté

    Il suffit que tu ailles voir ton fichier d'alliasses pour trouver l'alliasse en rapport avec toutes les faces de log.
  13. tutur1004

    SkAscenseur 3D

    • SkAscenseur 3D • Aujourd'hui je vous présente un Skript révolutionnaire pour vos serveurs ! • Le But • Le but de ce Skript est de créer des ascenseurs, avec un affichage en 3D, comme de vrais ascenseurs et 100% fonctionnels. • Fonctionnement • Il n'y a pas grand chose à comprendre, il vous suffit de créer un ascenseurs, placer des boutons et voilà, le travail est terminé. Vous pouvez créer autant d’ascenseurs que vous souhaitez, sachez qu'ils ne font presque pas de laggs serveurs et quasiment aucuns non plus côté client, la texture est imposante mais en réalité très optimisée et donc très légère. • L'Utilité ? • x) Bah monter, puis descendre ? :D • Comment configurer un ascenseur • C'est très simple je vous laisse suivre le mini tuto: [spoiler=Liste des étapes] #Étape 1: - Créer un ascenseur: /asc create <name> #Étape 2: - Set le point du Rez de chaussé et de l'étage: /asc edit <name> /asc set rdc - viser le bloc centrale de l'ascenseur /asc set étage - viser n'importe quel block à l'étage (seul la hauteur y compte) /asc set bouton rdc/étage - viser un bouton /asc edit <name> • Installation ? • Placer simplement le fichier .sk dans votre dossier Skript et le répertoire (le dossier) Le fichier .zip, c'est le ressource pack qu'il faut donner à vos joueurs. Soit via le server-pack soit via launcher, soit à la mains x). • Addon's & Version • [spoiler=Liste des addons & Versions !] - SkStuff - Skellett - SkQuery - Spigot 1.9 + - Skript dev25 + Lien des addons à jour disponible [iCI] • Remerciements • - Aucune contribution extérieur pour le moment - L'idée m'est venue des ressources : - Ascenseur de @ConcombreGaming - 『LiftSk 』de @spigotmedisk
  14. WATTHEFUK every 1 tick: set {var1} to "{@panneau-1er-ligne}" set {var2} to "{@panneau-indiquation-haut}" set {var3} to "{@panneau-indiquation-descendre}" Sinon, ton code est cool et me donne une idée de skript, puis-je reprendre ton skript ? (Bien entendus tu sera cité :D ) EDIT: Comme le dit @destroyers633 command /cc: trigger: loop 100 times: message "" xD wtf ? EDIT 2: N'ayant aucuns retours, je me suis tout de même permis de sortir ma ressource, la réalisation en est 100% différentes et l'appartenance in-game 200% différentes : ¯\_(ツ)_/¯ [Contenu masqué]
  15. Alors, attention la 2eme commande donne la permission au OP quelque soit le niveau de permissions octroyé à ces derniers ! @DoctorWhoFR t'aurai pus me citer quand même c'est moi qui te l'ai appris quel ingrat il fait un post dans mon dos
×
×
  • 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.