Aller au contenu

TitiLaPierre

Membre
  • Compteur de contenus

    217
  • Inscription

  • Dernière visite

  • Jours gagnés

    12

Messages posté(e)s par TitiLaPierre

  1. 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

     

  2. 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

     

    • J'aime 1
  3. 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

     

  4. 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
    

     

    • J'aime 1
  5. 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

     

    • J'aime 1
  6. 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.

  7. 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

     

    • J'aime 1
  8. Tutoriel.thumb.png.e63836327061ec3f8d2d45471a9c0f6c.png

    ❑     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

    1. Introduction
    2. Préparation
    3. Paramétrage thème/syntaxe
    4. Thème: Créer une règle
    5. Syntaxe: Basique
    6. Syntaxe: Complexe
    7. 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:

    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)

    Révélation

    Liste des propriétés:

    
    (Reprise de la page officiel et traduction: https://www.sublimetext.com/docs/3/color_schemes.html)
    
    # Global
    
    background - Couleur - Couleur de l'arrière plan par défaut
    foreground - Couleur - Couleur du texte par défaut
    invisibles - Couleur - Couleur des espaces/tabulations lors de la sélection 
    caret - Couleur - Couleur du curseur indiquant la position du texte
    block_caret - ??? A rechercher ???
    line_highlight - Couleur - Couleur à gauche du code indiquant la ligne du curseur
    
    
    # Accents
    
    misspelling - Couleur - Couleur du soulignage des mots mal orthographiés
    fold_marker - ??? A rechercher ???
    minimap_border - ??? A rechercher ???
    accent - ??? A rechercher ???
    
    
    # Diff
    
    line_diff_width - Chiffre - Taille entre le chiffre des lignes et la bordure (Gauche) (entre 1 et 8)
    line_diff_added - Couleur - Couleur d'une ligne (Gauche) quand elle à été ajouté
    line_diff_modified - Couleur - Couleur d'une ligne modifié (Gauche)
    line_diff_deleted - Couleur - Couleur d'une ligne supprimé
    
    
    # Selection
    
    selection - Couleur - Couleur d'arrière plan quand du texte est sélectionné
    selection_foreground - Couleur - Couleur du texte quand il est sélectionné
    selection_border - Couleur - Couleur de la bordure d'un texte sélectionné
    selection_border_width - Chiffre - Taille de la bordure de la sélection (entre 0 et 4)
    inactive_selection - ??? A rechercher ???
    inactive_selection_foreground - ??? A rechercher ???
    selection_corner_style - ??? A rechercher ???
    selection_corner_radius - ??? A rechercher ???
    
    
    # Find
    
    highlight - Couleur - Couleur de la bordure d'une chaine de caractère correspondant à une recherche
    find_highlight - Couleur - Couleur de fond quand un élément est sélectionné par la recherche
    find_highlight_foreground - Couleur - Couleur du texte quand un élément est sélectionné par la recherche
    
    
    # Brackets
    
    brackets_options - ??? A rechercher ??? (underline, stippled_underline, squiggly_underline, foreground, bold, italic, brackets_foreground)
    bracket_contents_options - ??? A rechercher ??? (underline, stippled_underline, squiggly_underline, foreground, bracket_contents_foreground)
    
    
    # Tags
    
    tags_options - ??? A rechercher ??? (underline, stippled_underline, squiggly_underline, foreground, tags_foreground)
    tags_foreground - ??? A rechercher ??? - Couleur
    
    
    # Shadow
    
    shadow - ??? A rechercher ???
    shadow_width - ??? A rechercher ???

     

    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: https://sublimetext.com/https://htmlcolorcodes.com/fr/https://regex101.com/.

    Si vous avez besoin d'aide suite à ce tutoriel, créer un nouveau sujet et mentionner ce tutoriel.

    • J'aime 3
  9. il y a 38 minutes, wyn___ a dit :

    Salut!
    Oui, 

    ma version de TuSKe est : 1.8.2-Pikachu-Patch-3 (ce qu'on m'a conseillé de prendre au lieu de la 1.8.3)
    ma version de ViaVersion est : 2.2.3

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

  10. il y a 3 minutes, wyn___ a dit :
    
    command /test [<player>]:
        trigger:
            set {_ver} to minecraft version of arg-1
            send "&7[&aVERSION&7] - &6Le joueur &b%arg-1% &utulise la version &b%{_ver}%"

    Rien dans la console...

    Cela t'envoie que la commande est inexistante ou alors rien ?

  11. Il y a 8 heures, tyzouuu a dit :

    Version de Minecraft : 1.9.4
    Version de Skript : 2.4.1

    Type du skript : Améliorer le combo en skript

    Description du script :

    Bonjour, j'aimerai améliorer le combo en skript afin de faire un mode de jeu Combo sur mon serveur minecraft, j'ai déjà été voir plusieurs sujet parlant de ce sujet. Mais hélas, il y a une erreur, voici un screen vous montrant l'erreur ainsi qu'un screen vous montrant mon code:

    erreur 1.PNG

    erreur 2.PNG

    Salut !

    Es-tu sur que cette syntaxe existe ?
    Où à tu trouvé ce code ?

  12. à l’instant, wyn___ a dit :

    J'avais supprimé Protocol Support comme un boulet!!

    Je reload le skript, aucune erreur, mais la commande n'existe pas..

    Réenvoie ton code

    Ah tu des erreurs dans la console à l'execution de la commande/au lancement du Skript ?

  13. Il y a 1 heure, wyn___ a dit :

    image.png.7d437de58507929f596a4f1d48147a2a.png

    Edit:

    Code:

    
    command /version [<player>]:
        trigger:
            set {_ver} to minecraft version of arg-1
            send "&7[&aVERSION&7] - &6Le joueur &b%arg-1% &utulise la version &b%{_ver}%"

     

    Salut à toi !

     

    Cet effet requière TuSKe, Protocol Support et ViaVersion comme indiqué sur la documentation de SkriptHub

    https://skripthub.net/docs/?id=2546

  14. Il y a 11 heures, ManagementN3000 a dit :

    D'accord sauf que moi je veux créer mes propres enchantements comme l'utilité du plugin j'ai bien précisé en haut 
    "j'essaye de créer un enchantement personnalisé"

    En gros je veux que quand tu enchantes un item dans se ca Saturated bah que ça te l'affiche quand tu passes ta souris dessus je mettrai une image ^^

     

    Dans ce cas c'est un livre y a marqué Recul II bah moi je veux que ça m'affiche sur mon épee ou pioche Saturated mon enchante personnalisé ^^

    Afficher l’image source

    Salut! Jette un coup d'oeil sur la documentation https://skripthub.net/docs/?id=1283 (set %itemstack% to %itemstack% with custom enchantment %customenchantments%)

    Cela doit fonctionner

  15. il y a 2 minutes, HugoLogo a dit :

    Version de Minecraft : 1.7.10
    Version de Skript : 2.X.X

    Description du script :

    Bonjour, j'ai fait un script pour quand on l'utulise sa fasse en message La personne ...

    mais malheureusement quand je reload le skript il me dit succesfully mais la commande ne fait rien meme sur la console il n'y a absolument rien  :

    Capture.PNG.73ad56062c3a0aa2070fa3b20232a95c.PNGCapture2.PNG.44f8a9b6d415c52c1c44b3b7bbf2c055.PNG

    Voici le skript

    command /me [<text>]:
        trigger:
            loop all players in radius 12 of player's location:
                stop trigger
            if arg 1 is not set:
                message "&7[&c&1Erreur&7] &4Commande demande : &1/me <message>" to player
                stop trigger
            if arg 1 is set:
                broadcast "La personne %arg 1%"

     

    Merci d'avance.

    Salut! Pourquoi avoir mi un stop trigger dans ta boucle ? Cela arrêtera ton script.

    • J'aime 1
  16. Salut, tu peux essayer ça :

    At 18:00:

        {day} is 3

        make console execute command "/crate giveall player Fer"

    At 17:00:

        {day} is 7

        make console execute command "/crate giveall player Event"

    At 00:00;

        add 1 to {day}

        set {day} to 1 if {day} is 8

    Command /setday <int>:

        trigger:

            set {day} to arg 1

     

    Tu as juste à faire /day LE NUMÉRO DU JOUR DE LA SEMAINE (Example: Lundi = 1, Jeudi = 4...)

    (Dsl, je suis sur telephone)

×
×
  • 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.