Le terme qui régit le fonctionnement de Skript est appelé " trigger " que l'on peut traduire par " mécanisme de contrôle". Il s'attache autant à " écouter " ce qui se déroule dans le jeu qu'à executer une certaines sommes d'instructions (les fameux effets). Cela se traduit par deux " outils " :

  • Les événements : Ils " écoutent " ce qui se déroule dans le jeu (placement d'un bloc, clic sur un bouton, etc).
    Il existe une longue liste d'événements adaptés à chaque situation que vous pouvez retrouver ici
  • Les commandes : Elles se bornent à executer les instructions (effets) que vous leur définissez.
Ces deux " outils " peuvent contenir, l'un et l'autre, des conditions et des effets à executer mais pas que :).
En effet, Skript utilise également des expressions (pour formuler des requêtes plus complexes), des boucles (pour les tâches répétitives) et des variables pour le stockage de données.

Comment travailler avec Skript ?

Pour commencer à travailler, vous avez besoin d'un éditeur de texte comme Notepad++ (gratuit) ou Sublime Text (payant).
Une fois que vous avez tapé vos premières lignes de code, vous devez sauvegarder votre fichier avec l'extension ".sk" (ex : mon_premier_skript.sk) puis le placer dans le répertoire scripts de Skript " Skript/scripts/ ". Vous pouvez également créer des dossiers à l'intérieur de ce même répertoire pour classifier vos scripts. Vous êtes libre de nommer vos fichiers comme vous l'entendez mais veillez tout de même à leur donner un nom explicite (parlant) de sorte à les identifier facilement lorsque vous travaillerez à nouveau dessus.

Pour que chaque modification d'un fichier soit pris en compte, vous devez recharger Skript soit par un redémarrage de votre serveur soit par la commande /skript reload.
Si vous avez commis des erreurs dans votre code, elles vous seront signifiées dans les logs de votre serveur mais également dans le jeu.
En règle général Skript est assez clair dans les erreurs qu'il affiche et vous aurez tôt fait de les corriger. Néanmoins, il arrive que vos erreurs soient liées uniquement à un problème de mauvaises formulations ou de fautes d'orthographe auquel cas il est conseillé de s'en remettre aux patterns de la requête que vous tentez de formuler. Une erreur moins courante mais très handicapante est l'absence de l'article " a " ou " an " devant les noms de blocs, d'objets (items) ou d'entités qui requièrent leur présence.

Les patterns

Comme mentionné ci-dessus, les patterns sont indispensables. En effet, formuler une requête à Skript ne s'improvise pas ; il y a une syntaxe propre à chaque requête.
Les débutants, généralement, ne s'y réfèrent pas ou ne les comprennent pas.
Pour bien comprendre leur mode de fonctionnement, un rappel de leur règle (voir description ci-dessous) sera affiché sur chacune des pages les utilisant.

  • %...% => Les éléments entre pourcentage représentent les types (données provenant du jeu) que vous devez utiliser. Parfois, vous avez le choix entre plusieurs types (ex : %entity/location%)
  • (choix 1|choix 2|choix 3) => Les parenthèses " ( ) " indiquent que vous êtes obligé d'utiliser un des termes présents. La barre verticale " | " signifie " ou ". On peut donc traduire les éléments entre parenthèses comme : " choix 1 ou choix 2 ou choix 3 ".
  • [...] => Les éléments entre crochets sont optionnels. Cela signifie que vous n'êtes pas obligé d'utiliser les termes qu'ils contiennent.

Précision sur le fonctionnement des conditions

Il est important de savoir qu'il existe deux écritures possible.
  • La complète : Elle s'apparente à la syntaxe généralement utilisées dans les divers langages de programmation existant, c'est à dire l'utilisation systématique du " if " et des indentations (tabulations). Ce cas de figure réclament également la présence des deux points " : " en fin de ligne.
    C'est ce mode d'écriture qui est privilégié dans cette documentation car il présente une structure arborescente (ce qui en fait un bon repère visuel). Exemple :
                if clicked block is stone:
    	        send "Vous avez cliqué sur un bloc de pierre" to player
    			
  • La courte : On peut l'utiliser pour des conditions simples (c'est à dire sans la présence de " else if" et " else "), Avec ce mode d'écriture, on peut omettre d'utiliser le " if " en début de ligne, les deux points en fin de ligne et les indentations. En somme le fonctionnement contraire de la première forme d'écriture :). Exemple :
                clicked block is stone
                send "Vous avez cliqué sur un bloc de pierre" to player