Aller au contenu

TitiLaPierre

Membre
  • Compteur de contenus

    217
  • Inscription

  • Dernière visite

  • Jours gagnés

    12
  • Crédits

    547 [Faire un don]

Tout ce qui a été posté par TitiLaPierre

  1. Salut ! Si je ne me trompe pas, SkQuery ne supporte plus la création de recette de fabrication. Je te laisse regarder du côté de l'addon SkBee qui fourni se support : [Contenu masqué]
  2. Salut ! Ces erreurs ne proviennent pas de mon code.
  3. En effet, dans événement "every x", on ne retrouve pas de joueur comme on pourrait l'avoir dans un "on join" ou dans une commande car l'événement n'est pas rattaché à un joueur. Ce que l'on peut faire, c'est une boucle qui va récupérer chaque joueur du serveur et leur envoyer le title. On aurait donc : loop all players: send title "Redémarrage du serveur" with subtitle "On va vous déconnecter" to loop-player for 5 seconds À noter que en Skript certains effets/expressions supportent des arguments contenant plusieurs élément. Dans notre cas, voici le pattern d'utilisation de l'effet pour envoyer un title: send title %string% [with subtitle %string%] [to %players%] [for %timespan%] [with fade[(-| )]in %timespan%] [(and|with) fade[(-| )]out %timespan%] On peut ici indiquer plusieurs joueurs : [to %players%] donc, directement faire: send title "Redémarrage du serveur" with subtitle "On va vous déconnecter" to all players for 5 seconds
  4. Salut ! Pour la première commande, la ligne ajoute une permission qui permet de bypass la commande. Si tu es opérateur sur le serveur, tu as toutes les permissions et n'est donc pas affecté par le cooldown. Si tu veux que même les opérateurs soit affectés au cooldown, tu peux simplement supprimer cette ligne. cooldown bypass: bypass.cooldown # Facultatif: Si le joueur à cette permission, il ne sera pas affecté par le cooldown. Pour la seconde commande, c'est dû a un oubli de ma part. Voici le code corrigé : command /mycommand: trigger: if difference between now and {cooldown::mycommand::%player%} >= 10 seconds: # Si la durée entre maintenant et la dernière fois que le joueur à fait la commande est supérieur à 10 seconde -> si le cooldown est dépassé. clear {cooldown::mycommand::%player%} if {cooldown::mycommand::%player%} is not set: set {cooldown::mycommand::%player%} to now # Il manquait cette ligne send "Tu as exécuté la commande" to player else: send "Tu dois patienter 10 secondes avant de pouvoir refaire cette commande" to player
  5. Salut ! Skript à déjà par défaut une fonctionnalité pour faire des commandes à cooldown. Voici le format qu'une commande avec cooldown peut prendre command /mycommand: cooldown: 10 seconds # La durée du cooldown cooldown message: &cTu dois patienter 10 secondes avant de pouvoir refaire la commande. # Le message à afficher si le joueur essaye de faire la commande alors que le cooldown est toujours présent cooldown bypass: bypass.cooldown # Facultatif: Si le joueur à cette permission, il ne sera pas affecté par le cooldown. trigger: send "Tu as exécuté la commande" to player Autrement, tu peux recoder toi même un système de cooldown comme ceci : command /mycommand: trigger: if difference between now and {cooldown::mycommand::%player%} >= 10 seconds: # Si la durée entre maintenant et la dernière fois que le joueur à fait la commande est supérieur à 10 seconde -> si le cooldown est dépassé. clear {cooldown::mycommand::%player%} if {cooldown::mycommand::%player%} is not set: send "Tu as exécuté la commande" to player else: send "Tu dois patienter 10 secondes avant de pouvoir refaire cette commande" to player
  6. Salut ! Voici un poti code qui pourrait te plaire command /canswim <player> <boolean>: permission: canswim.change trigger: if arg-2 is true: clear {swimRestriction::%player%} send "&aLe joueur %player% peut maintenant nager." to player else: set {swimRestriction::%player%} to true send "&cLe joueur %player% ne peut maintenant plus nager." to player swimRestriction(player) on join: swimRestriction(player) function swimRestriction(p: player): while {swimRestriction::%{_p}%} is true: if {_p} is offline: stop if {_p} is in water: if {_waterTime} is not set: set {_waterTime} to now if difference between {_waterTime} and now >= 5 seconds: apply blindness 1 to {_p} for 2 seconds apply weakness 1 to {_p} for 2 seconds apply nausea 1 to {_p} for 2 seconds if block at head location of {_p} is water: if y-pos of {_lastPosition} < y-pos of {_p}: set yaw of {_lastPosition} to yaw of {_p} set pitch of {_lastPosition} to pitch of {_p} teleport {_p} to {_lastPosition} send action bar "&cAttention! En restant dans l'eau, vous êtes vulnérable." to {_p} else: send action bar "&eAttention! En restant dans l'eau, vous êtes vulnérable." to {_p} else: clear {_waterTime} set {_lastPosition} to {_p}'s location wait a second
  7. Salut ! Tu peux simplement utiliser l'expression : highest [(solid|non-air)] block at %location% highest [(solid|non-air)] block at %location%highest [(solid|non-air)] block at %location%highest [(solid|non-air)] block at %location%highest [(solid|non-air)] block at %location%highest [(solid|non-air)] block at %location%highest [(solid|non-air)] block at %locatiCela donnerait un code qui ressemblerait à cela : command /top: trigger: teleport player to block over highest solid block at player send "&dPouf !" to player
  8. Salut! Peux-tu envoyer le code que tu utilises (Celui sans le on inventory).
  9. Salut! Cette version de Skript est vieille de 7 ans. Néanmoins, une fork de Skript continue de supporter la 1.8.x Je te laisse essayer avec cette version: [Contenu masqué] Utilise ceci pour ton errreur: give arg-2 of glass named "&fCaveBlock" to arg-1
  10. Pourquoi ne pas directement utiliser sous cette forme au lieu de passer par un on inventory click: make gui slot 0 with dirt: # </> Le code de ton on inventory click Je suppose que quand tu définis les slots de ton GUI, le prix que tu indiques dans le lore est un integer et le vendeur un offline player.
  11. Salut! Premièrement, aucune version de Skript nommé "2014" existe Si tu souhaites faire ce que tu veux, il faut prendre la dernière version disponible sur le github de Skript (Voir ici) et utiliser la version +1.16 de Spigot (Ou de préférence PaperSpigot) Je crois que tu auras aussi besoin de l'addon Skellett (Essaye d'abord sans) Si toutes les conditions si-dessus sont respectés, tu peux utiliser ce code: Command /me [<string>]: trigger: if arg 1 is not set: send "Erreur, veuillez indiquer une action" else: send "<##c2a2da>%player%: %arg 1%" to all players in radius of 5 around player
  12. ❑ Pourquoi créer sa propre coloration syntaxique ? Créer sa propre coloration syntaxique rend votre code plus lisible. Cela facilite donc sa compréhension (Pour vous et pour les autres). Cela permet de différencier différentes parties de votre code (Textes, chiffres, conditions...), et pour finir, c'est je pense bien plus jolie qu'un code seulement en blanc. ❑ Sommaire Introduction Préparation Paramétrage thème/syntaxe Thème: Créer une règle Syntaxe: Basique Syntaxe: Complexe Fin ❑ 1 - Introduction C'est mon premier tutoriel donc soyez indulgents si des explications manquent. Conseillez-moi en répondant a ce sujet ! Quelques pré-requis pour suivre ce tutoriel: Sublime Text 3 (Sans blagues) - (Télécharger) Une connaissance de base des syntaxes de JSON Une connaissance de base des syntaxes du YML/YAML Une connaissance des Regex Liens pratiques: Générateur de couleurs (Accéder) Test de Regex (Accéder) De quoi sera constitué notre coloration syntaxique ? Un Thème, constitué de règles qui appliqueront des propriétés (Couleurs du texte, de l'arrière plan) à des identifiants (Voir ci-dessous) Une Syntaxe, permet l'envoie d'identifiant pour coloré le texte (Utilise des Regexs) En JSON, quelque soit son type, la valeur d'une propriété devra être mit en chaîne de caractère (Exemple: "valeur", "5", "#eeeeee"...). ❑ 2 - Préparation Pour commencer, nous allons créer nos fichiers nécessaires. Sur Windows [%appdata%.\Sublime Text 3\Packages] (Si vous utilisez un répertoire personnalisé, accéder à ce répertoire) Sur MacOS [~/Library/Application Support/Sublime Text 3/Packages] Sur Linux [~/.config/sublime-text-3/Packages] Créez-y un dossier nommé [User] et accédez-y. Vous choisirez un nom pour votre thème (Remplacez tout les [<nom>] dans ce tutoriel par le votre) Créez-y un fichier nommé [<nom>.sublime-color-scheme] (Le thème) Créez-y un fichier nommé [<nom>.sublime-syntax] (La syntaxe) Ouvrez ces deux fichiers ❑ 3 - Paramétrage thème/syntaxe Commençons par le thème ! (<nom>.sublime-color-scheme). Utilisation de: JSON // Ceci est un commentaire, retirez les commentaires avant de commencer { "name": "<nom>", // Donnons lui un nom "globals": { "parametre_1": "valeur_1", // Voici le format à respecter "parametre_2": "valeur_2", // Vous trouverez la liste des propriétés plus bas dans le tutoriel :) "background": "#14151F", // Exemple d'utilisation (Hexadecimal) "foreground": "white", // Exemple d'utilisation (Nom de la couleur) "selection": "rgb(187, 188, 199)" // Exemple d'utilisation (RGB) }, } Liste des propriétés (Page Officiel) Liste des propriétés traduites : (Incomplet) La configuration du thème est maintenant terminé ! Configurons la syntaxe ! (<nom>.sublime-syntax). Utilisation de: YAML # Ceci est un commentaire, retirez-les avant de faire le tuto # Laissez tout ce qui est ici (Sauf les commentaires), c'est important ! %YAML 1.2 --- name: Skript # Mettez le nom du language de programmation (Donc Skript) file_extensions: - sk # Listez les extensions scope: default.text # Identifiant par défault du code La configuration du thème est maintenant terminé ! Pour activer le thème, il vous suffit d'aller dans [Preferences > Color Sheme... > <nom>] Pour utiliser la syntaxe, il vous suffit d'ouvrir un fichier avec une des extensions indiquées dans file_extensions ❑ 4 - Thème: Créer une règle Créons maintenant notre première règle de notre thème (<nom>.sublime-color-scheme) { "name": "<nom>", "globals": { // Configuration }, "rules": // C'est ici que c'est important [ { "name": "THE_NAME_I_WANT", // Mettez le nom de votre choix "scope": "id", // Mettez un identifiant UNIQUE (exemple: skript.number, skript.green...) // Propriétés (Liste en dessous) }, { // Exemple 1 "name": "True", "scope": "boolean.true", "foreground": "#3EE709", "font_style": "bold" }, { // Exemple 2 "name": "Effects", "scope": "skript.effects", "foreground": "darkblue" } ] } Liste des propriétés traduites: (Incomplet) foreground - Couleur - Couleur du texte background - Couleur - Couleur de l'arrière plan foreground_adjust - ??? A rechercher ??? selection_foreground - ??? A rechercher ??? font_style - Style - bold et/ou italic (Si vous souhaitez mettre les deux, indiquez "bold italic") ❑ 5 - Syntaxe: Basique Pour créer une syntaxe, suivez le modèle ci-dessous: %YAML 1.2 --- name: Skript file_extensions: - sk scope: default.text contexts: main: - match: "REGEX" # Regex scope: "IDENTIFIANT" # Identifiant (Relié à celui du thème) - match: "REGEX_2" # Regex scope: "IDENTIFIANT_2" # Identifiant (Relié à celui du thème) # Exemples - match: "true" scope: "boolean.true" - match: "([0-9]*)" scope: "skript.numbers" ❑ 6 - Syntaxe: Complexe Vous vous posez peut-être la question de comment faire pour faire des sortes de "balises de texte". Voici la réponse: %YAML 1.2 --- name: Skript file_extensions: - sk scope: default.text contexts: main: - match: "\"" push: # Cela s'apparente à une boucle infini (Ou presque) - meta_scope: "text" # Identifiant - match: "\"" # Si le caractère est " pop: true # Sortir de la boucle - match: "test" # Attention: Ce qui est en dehors de la boucle ne pourra pas être "match" si celle si est toujours active. Vous pouvez donc les mettre dans cette boucle scope: "id.test" # Si un résultat est "test" utiliser l'identifiant "id.test" sur "test" Plus d'informations sur les syntaxes sur le site officiel. ❑ 7 - Conclusion Vous pouvez trouver l'exemple que j'ai réalisé: (En développement) Si vous avez des suggestions pour améliorer ce tutoriel, faites m'en part ! N'hésitez pas à partagez vos créations ! Citations: [Contenu masqué], [Contenu masqué], [Contenu masqué]. Si vous avez besoin d'aide suite à ce tutoriel, créer un nouveau sujet et mentionner ce tutoriel.
  13. TitiLaPierre

    inactif ✖ Version Checker

    Pas d'erreur en provenance d'un plugin (Skript, TuSKe, ProtocolSupport ou ViaVersion) au démarrage (Si tu le souhaites, tu peux m'envoyer ton fichier log de la console)
  14. TitiLaPierre

    inactif ✖ Version Checker

    Envoie un screen de ton /plugins
  15. TitiLaPierre

    inactif ✖ Version Checker

    Essaye ça : on join: send "Vous jouez en %mc version of player%!"
  16. TitiLaPierre

    inactif ✖ Version Checker

    Essaye avec d'autre syntaxe (Du genre broadcast "%minecraft version of player%")
  17. TitiLaPierre

    inactif ✖ Version Checker

    Tu as bien relancé ton script (Le bon fichier)
  18. TitiLaPierre

    inactif ✖ Version Checker

    Cela t'envoie que la commande est inexistante ou alors rien ?
  19. Salut ! Es-tu sur que cette syntaxe existe ? Où à tu trouvé ce code ?
  20. TitiLaPierre

    inactif ✖ Version Checker

    Réenvoie ton code Ah tu des erreurs dans la console à l'execution de la commande/au lancement du Skript ?
  21. TitiLaPierre

    inactif ✖ Version Checker

    Salut à toi ! Cet effet requière TuSKe, Protocol Support et ViaVersion comme indiqué sur la documentation de SkriptHub [Contenu masqué]
  22. Salut! Jette un coup d'oeil sur la documentation [Contenu masqué] (set %itemstack% to %itemstack% with custom enchantment %customenchantments%) Cela doit fonctionner
  23. TitiLaPierre

    résolu ✔ Probleme /me

    Salut! Pourquoi avoir mi un stop trigger dans ta boucle ? Cela arrêtera ton script.
×
×
  • 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.