Vue d'ensemble – Skript – Plugins Bukkit – Projets – Un bon serveur Minecraft

Cette version de Skript n'est plus maintenue (depuis 2014).

Veuillez télécharger les nouvelles versions de la fourche SkriptLang.

La documentation mise à jour peut être trouvée ici.

Plus de ressources peuvent être trouvées sur Skript Hub et skUnity.

Skript est un plugin qui vous permet de personnaliser la mécanique de Minecraft avec des scripts simples écrits en phrases simples en anglais. Vous pouvez facilement créer des commandes personnalisées complexes, des déclencheurs qui exécutent des effets dans certaines conditions et des scripts qui s'exécutent régulièrement – le tout sans avoir à maîtriser la moindre programmation! Le langage intuitif (espérons-le) a l'avantage que vous n'avez même pas besoin d'apprendre beaucoup pour pouvoir utiliser Skript.

Pour avoir une idée de ce qui est possible avec Skript, envisagez de jeter un coup d'œil sur le forum des scripts où les utilisateurs de ce plug-in partagent les scripts qu'ils ont écrits eux-mêmes, améliorant ainsi leurs serveurs sans passer par un développeur de plug-in. Skript peut également être utilisé pour remplacer des plugins plus petits, ce qui vous permet de raccourcir votre liste de plugins probablement longue. Une liste incomplète des plugins remplaçables est disponible sur le forum des remplaçants.

La dernière version de Skript est la 2.1.1 (11 mars 2014).

Remarquer

Je suis de retour de mon hiatus, mais je ne pourrai probablement pas mettre à jour Skript tant que je ne pourrai pas télécharger une version récente de CraftBukkit pour corriger les nouveaux bogues. De plus, avec l’avenir incertain de Bukkit et l’absence de l’API officielle de Minecraft, je ne sais pas dans quelle mesure je mettrai à jour activement ce plugin.

introduction

Pour écrire un script, vous devez simplement écrire quoi tu veux que Skript fasse quand certaines conditions sont remplies. Il s'agit d'une simple syntaxe 'événement → condition (s) → effet (s)', qui pourrait ressembler à l'exemple suivant:

# Cet exemple informe le joueur quand il extrait de la pierre
sur le mien de pierre:
    envoyer "Vous venez d'extraire de la pierre!" couche supérieure

Chaque script peut contenir de nombreux déclencheurs, chacun commençant par un événement et contenant une liste d'autant de conditions et d'effets que vous le souhaitez. L'événement détermine quand les conditions sont vérifiées et, si toutes sont remplies, les effets sont exécutés dans l'ordre. Jetez un coup d'œil à l'exemple suivant qui contient tout:

# Un simple script de frappe éclair / frappe / marteau de Thor:

# le déclencheur a un événement:
à gauche, cliquez avec une hache en or:
    # une condition:
    le joueur a la permission "thor"
    # et des effets:
    frapper la foudre sur le bloc ciblé
    émission "Craignez le puissant Thor!"

Les commandes personnalisées peuvent être définies de la même manière, par exemple. ce qui suit définit un 'puissant/article'commande qui peut être utilisé comme'/ article 5 épées de diamant de netteté 5 et un gâteau':

commande / item :
    description: Frayez-vous quelques objets
    permission: skript.item
    déclencheur:
        donner un argument au joueur

En outre, Skript contient également des éléments de script plus complexes, tels que des boucles et des instructions conditionnelles, décrits dans la documentation. Skript prend également en charge les variables qui peuvent stocker de manière persistante des informations de manière globale, par joueur, par bloc, etc., et propose un large éventail d’expressions que vous pouvez utiliser dans des conditions, des effets, des messages et des noms de variables.

Une caractéristique notable de Skript est les alias, qui sont les noms des éléments et des blocs de Minecraft. Chaque alias peut comporter plusieurs identifiants et valeurs de données et vous permet d'utiliser le nom de n'importe quel élément ou bloc dans les scripts au lieu de devoir utiliser leurs identifiants comme le font de nombreux plug-ins. En plus de la possibilité de définir des éléments enchantés, vous pouvez créer quelques-unes des commandes '/ item' les plus puissantes pour Bukkit en quelques lignes seulement! (deux exemples de commandes sont inclus dans le téléchargement)

Besoin d'aide pour?

Vous pouvez toujours demander de l'aide sur les forums, même si cela peut être plus rapide pour vous et plus facile pour moi si vous parcourez d'abord les tutoriels et les exemples disponibles.
Si vous obtenez beaucoup d'erreurs "d'erreur d'indentation" ou de "ligne non valide", vous devez lire cette explication pour comprendre en quoi consiste l'indentation.

Tutoriels

Si vous êtes nouveau sur Skript, vous devriez lire le tutoriel de base. Il explique comment écrire un nouveau script étape par étape.
Dans le cas probable où le didacticiel de base était trop court, vous pouvez lire le didacticiel plus exhaustif de DemonPenguin.
Il existe également d'autres didacticiels officiels ainsi que des créations d'utilisateurs sur le forum des didacticiels.

Documentation

Pour en savoir plus sur la rédaction de scripts, veuillez lire la documentation sur mon site Web. Il existe également des listes de tous les événements, conditions, effets, expressions et types possibles, avec des exemples pour chacun d'entre eux.

L'équipe

  • Njol: gestionnaire et programmeur de Skript
  • joeuguce99: aide à la programmation en ajoutant de nouvelles fonctionnalités
  • DemonPenguin: a écrit des tutoriels et modère les forums
  • mazius123: soumet des tonnes de rapports de bugs
  • MegaNarwhal: Fabriqué l'ancienne bannière Skript et une image signature
  • MostFunGuy: Expert en accessoires Skript et Skript. La colle qui tient tout le monde ensemble

Caractéristiques

Syntaxe naturelle
Comme vous l'avez peut-être déjà remarqué, écrire des scripts n'est pas très difficile. Vous pouvez écrire des phrases anglaises (presque) normales et Skript essaiera de les interpréter. Si Skript ne comprend pas quelque chose, vérifiez votre orthographe et / ou consultez la documentation pour savoir comment écrire votre phrase pour que Skript le comprenne.
Commandes personnalisées
Skript peut être utilisé pour définir des commandes personnalisées. Ces commandes peuvent utiliser la syntaxe de Skript, qui permet de créer des commandes très conviviales, telles que l’une des commandes les plus puissantes / item disponibles, et toute autre commande que vous ou d’autres développez. Skript a également un paramètre pour essayer d’interpréter toutes les commandes inconnues comme des effets. Cela permet essentiellement d’utiliser comme commande tous les effets que vous pouvez mettre dans les déclencheurs.
Vous trouverez une courte introduction sur la création de commandes personnalisées sur mon site Web.
S'il vous plaît noter que Skript est ne pas bien adapté pour créer des alias de commandes d'autres plugins ou pour créer une commande qui exécute plusieurs autres commandes. Je suggère d'utiliser Commander ou un autre plugin à cette fin.
Menus d'inventaire
En utilisant SkQuery (un addon pour Skript), vous pouvez créer des menus d'inventaire dynamiques trouvés dans de nombreux plugins populaires. Vous souhaitez afficher quelques éléments qui feront différentes choses, telles que des chaînes et des commandes de console? Cela devient une tâche facile. Les emplacements peuvent être formatés pour ne rien faire, exécuter une commande de console et fermer le menu, ou même exécuter une commande de console et laisser le menu ouvert (utile pour les menus de mise à jour dynamique qui changent en fonction des sélections)
Capacité de formatage / chat Json
Encore une fois, en utilisant SkQuery (un addon pour Skript), vous pouvez complètement personnaliser l’apparence de votre chat: préfixe, suffixe, nom du joueur, message lui-même.
En outre, vous pouvez ajouter le format JSON à votre chat dans le jeu … Vous souhaitez mettre en surbrillance le nom d'un joueur et afficher un emplacement? Un rang? Une classe spécifique qu'ils ont sélectionnée? Voulez-vous cliquer sur le nom de quelqu'un et faire apparaître le menu d'inventaire kick / ban / mute / message? Facile!
Scripts indépendants
Les déclencheurs peuvent être placés dans plusieurs fichiers et chaque fichier est traité indépendamment. Cela signifie que vous pouvez facilement utiliser les déclencheurs créés par d'autres personnes en copiant / collant leurs fichiers dans le répertoire des scripts. Les scripts sont donc comme de petits plugins pour Skript avec l’avantage de pouvoir les éditer facilement.
Vous pouvez trouver des scripts sur les forums et vous pouvez également poster les vôtres. Veuillez lire les directives avant de poster un fichier.
Alias ​​d'objet et de bloc
Les alias aident à rendre la configuration plus conviviale en utilisant des noms complets pour les éléments et les blocs, par exemple. tu peux écrire 'farine d'os' au lieu de '351: 15', ou 'n'importe quelle houe'au lieu de lister tous les types de houe. Les alias prennent en charge les plages de valeurs des données et peuvent même consister en plusieurs types. Vous pouvez facilement définir vos propres alias, par exemple. 'blacklisted = TNT, substrat rocheux, obsidienne, géniteur de monstres, lave, seau de lave'et il y a aussi beaucoup d'alias prédéfinis utiles dans la configuration principale.
La gestion des erreurs
Skript consigne automatiquement les erreurs dans les scripts sur la console, par exemple. s'il ne peut pas comprendre une ligne d'un déclencheur. Cela n'interrompt pas l'opération, mais ignore simplement les parties non valides des scripts, qu'il s'agisse d'un déclencheur complet (par exemple, si l'événement n'est pas valide) ou d'une seule condition (par exemple, s'il existe une faute de frappe dans le nom de la condition). Cela pourrait entraîner un comportement inattendu. Par conséquent, recherchez toujours les erreurs dans la console après avoir modifié quelque chose.
Si vous utilisez le/ skript recharger'commande toutes les erreurs seront envoyées au joueur qui a utilisé la commande (ou imprimées sur la console si la commande a été utilisée à partir de là).
Mise à jour automatique
Skript peut détecter de nouvelles versions et se mettre à jour, soit par une commande (/ mise à jour de skript) ou automatiquement au démarrage du serveur. Vous pouvez activer ou désactiver la vérification automatique, configurer si vous souhaitez uniquement rechercher les mises à jour et choisir de les télécharger également dans le fichier de configuration. Si une nouvelle version est trouvée, tous les joueurs avec la permission 'skript.admin'sera informé de la nouvelle version.
Aussi simple ou aussi compliqué que vous voulez aller
Vous voulez créer un message qui s'affiche après la connexion du lecteur? Bien sûr, facile, 2 lignes, faites en un éclair. Vous souhaitez créer une expérience unique et totalement personnalisée qui émerveillera vos utilisateurs et les étonnera? Bien sûr, c'est plus complexe, mais ça vaut le coup de voir vos utilisateurs époustouflés par la personnalisation de vos créations.
Voir un utilisateur se plaindre que quelque chose ne fonctionne pas correctement? Corrigez le code, rechargez le skript (sans redémarrer le serveur) et regardez-les devenir si confus quant à la façon dont il a déjà été corrigé.
Extensible
Les développeurs Java peuvent ajouter leurs propres conditions, effets et variables à l'aide d'une API fournie.
De nombreux utilisateurs ont complété des addons, et ces addons apportent une quantité IMMENSE de conditions, d'expressions et de déclencheurs. Certains vous donnent accès à des éléments dans des cadres d’objets, d’autres vous permettent de créer des tableaux de bord et d’autre part d’envoyer des ressources aux joueurs.
Ce ne sont que quelques-uns des addons disponibles

Caractéristiques futures

Plus d'événements / effets / conditions / expressions / boucles / etc.
Je cherche toujours des idées;)
Les déclencheurs qui sont exécutés lorsqu'un joueur appuie sur un bouton spécifique, passe sur un plateau de pression prédéfini, etc.
Cela semble génial mais va certainement prendre un certain temps.
Liste complète des fonctionnalités prévues:
https://github.com/Njol/Skript/issues?labels=new+feature&state=open
Sur quoi je travaille actuellement:
https://github.com/Njol/Skript/issues/assigned/Njol?state=open

Les permissions

Skript fonctionne sans plugins d’autorisations, mais il fournit également certaines autorisations si vous en utilisez un:

skript.admin
Donne accès à la / skript commander.
skript.effectcommands
Permet d'utiliser des effets en tant que commandes si les commandes d'effet sont activées dans la configuration.

Vous pouvez également utiliser le ' a / n'a pas la permission "permission.here"'condition dans les scripts pour vérifier si un joueur a / n'a pas une permission donnée. Vous pouvez même créer vos propres autorisations de cette façon, mais vous devriez noter que "mypermissions. *"ne donne pas toutes les autorisations commençant par"mypermissions."(Les autres plugins sont l'exception de cette règle"*"autorisations et toutes les autorisations commençant par"skript.").

Télécharger

Pour installer ou mettre à jour Skript, téléchargez le dernier fichier Skript.jar et enregistrez-le dans le répertoire des plugins de votre serveur. Si vous installez Skript pour la première fois, démarrez et arrêtez votre serveur une fois pour générer les fichiers de configuration et quelques exemples de scripts.

Veuillez lire le journal des modifications lors de la mise à jour et créer une sauvegarde de votre / vos base (s) de données juste pour jouer en toute sécurité.

Vous pouvez également télécharger les derniers aliases-english.sk et aliases-german.sk (mis à jour vers Minecraft 1.7.2).

Le code source peut être trouvé sur github.

Des dons

Si vous aimez le plugin, n'hésitez pas à faire un don 🙂

Changelog

v2.1.1 (11 mars 2014)

Changement principal
Correction de la plupart (sinon de la totalité) des problèmes de base de données.
Merci de créer une copie de sauvegarde de l’ancienne table de variables afin de jouer en toute sécurité.
Une partie du correctif requis pour enregistrer et charger toutes les variables sur le thread du serveur principal, c'est-à-dire que les performances peuvent en souffrir.
Améliorations
Modification du programme de mise à jour pour se conformer aux nouvelles directives Bukkit
Amélioration de la mise à jour automatique de la configuration
Devrait être compatible avec Java 6 à nouveau
Risques d'erreurs réduits grâce à l'amélioration de l'analyse automatique du code
Ajout d'une solution de contournement pour pouvoir supprimer l'outil d'un joueur dans un événement de clic
Solution de contournement ajoutée pour rendre Skript plus compatible avec les mods qui modifient dynamiquement les enums via la réflexion. Si cela est mal fait, Skript ne sera toujours pas compatible avec eux.
Ajout de 1,7 bloc au code
Effets visuels améliorés / fixes
Listes d'expression améliorées
Ajout d'une erreur sur un hook infructueux dans un autre plugin
Amélioration du support des régions
Ajout de l'expression 'moi' qui ne peut être utilisée que dans les commandes d'effet
Amélioration de la génération de documentation
Amélioration des commandes d'effets
Ajout des enchantements 'chance' et 'leurre' maintenant que Bukkit les prend en charge
Des correctifs
Correction des configurations ne fonctionnant qu'avec des onglets. Vous pouvez maintenant utiliser à nouveau n'importe quelle indentation et même utiliser différents types dans un seul fichier.
Correction de quelques problèmes mineurs liés à la configuration
Correction d'erreur signalant ne pas rapporter l'erreur complète
Correction de l'épreuve des plaques de pression pour déclencher également des plaques de pression dorées et en fer
Correction de quelques problèmes avec les fichiers de langue personnalisés
Correction "ni … ni …" ne fonctionne pas comme prévu
Correction de quelques erreurs liées au journal et de certains messages de journal qui n'apparaissaient pas du tout
Correction de ne pas se plaindre de stocker une entité ou d'autres données non sérialisables dans des variables de liste
Correction du piratage d'enregistrement de la commande Bukkit pour qu'il fonctionne également dans la version 1.7.2 R0.4
Correction de la commande d'effet pour utiliser l'anglais
Code lié
Directions légèrement améliorées
Améliorations mineures des performances
Ajout d'un brouillon pour un support solide
Suppression complète de la mise en cache des scripts, car cela n'a jamais fonctionné. Cela pourrait casser des addons.
Ajout de quelques commentaires supplémentaires à l'API

2,1 (17 décembre 2013)

Remarque
cette version inclut deux modifications apportées à la façon dont les variables sont enregistrées; testez donc l'enregistrement et le chargement des variables sur un serveur de test avant de mettre à jour Skript sur votre serveur principal (en particulier si vous utilisez une base de données – mais veillez à configurer le serveur de test pour accéder à une base de données différente!)
ajout du support pour plusieurs bases de données (cela permet également de définir des variables qui ne seront pas du tout sauvegardées)
les variables ne sont plus sauvegardées sous forme de texte mais en binaire
Prise en charge améliorée des plugins de régions:
plugins pris en charge: WorldGuard, Factions, PreciousStones et GriefPrevention
nouvelles expressions: membres / propriétaire (s) de% région%, régions situées à% emplacement%, bloc en% région%, région
nouvel événement: entrée / sortie de région
nouvelle condition:% joueur% est membre / propriétaire de% région%,% région% contient% emplacement%
utiliser des régions dans des scripts tels que 'région "nom de région", ou les enregistrer dans des variables et utiliser les variables à la place
Nouvelles expressions
expérience, index de% text% dans% text%, jointure / scission% text% de / à% text%, longueur de% text%, sous-texte de% text% entre% number% et% number%, premier / dernier% number % caractères de% text%, taille de pile maximale de% item%, ligne% number% de connaissance de% item%
Nouveaux effets
effet de jeu (joue les effets d'entité et de particule), force% entité% à démonter
Corrections et améliorations
Les objets lâchés, les blocs qui tombent et les potions lancées peuvent maintenant avoir des types d'objet (par exemple, saleté qui tombe, flèche lâchée)
les variantes de chevaux (mules, ânes, etc.) peuvent maintenant être distinguées. les couleurs et les décorations ne sont pas encore supportées.
les porcs peuvent maintenant être équipés de selles et les chevaux peuvent être équipés de selles, d'armures et de coffres
possibilité supplémentaire de tirer des projectiles à partir de n'importe quel endroit, pas seulement d'entités
possibilité supplémentaire de changer directement l'identifiant d'un article ou d'un bloc
avertissement ajouté lors de l'utilisation des 'éléments dans var :: *'
possibilité supplémentaire de changer le passager d'un véhicule et vice versa
'sur l'expérience spawn' est maintenant appelé lors de la pêche
le tireur d'un projectile peut maintenant être changé
les biomes peuvent maintenant être changés
ajout d'un avertissement si une valeur est attribuée à une variable qui ne peut pas être enregistrée
"couleur de …" peut maintenant fonctionner avec plus d'éléments (par exemple, le vitrail), mais cela dépend de Bukkit
amélioration de la localisation, principalement en ce qui concerne les pseudonymes
amélioration des expressions changeantes
amélioration de toutes les expressions ayant plusieurs états de temps lorsqu'elles sont utilisées avec des listes d'expressions pour renvoyer la valeur attendue
amélioré l'expression 'parse'
plusieurs petites améliorations à l'analyse
fixe "<%color expressions%>"dans le texte ne fonctionne pas
et de nombreuses corrections de bugs

Le journal des modifications plus ancien peut être trouvé dans les fichiers respectifs.


commentaires

N'utilisez pas les commentaires pour poser des questions, signaler un bogue ou un problème, ni suggérer une nouvelle fonctionnalité, car les commentaires peuvent devenir extrêmement désorganisés très rapidement.
Utilisez plutôt le forum d'aide si vous avez une question, le forum de suggestions pour les demandes de fonctionnalités ou créez un ticket pour soumettre un rapport de bogue.

  • Ensemble de deux pièces arabe Jubba en gros d'usine avec le prix bon marché
    n/a - n/a - Ensemble de deux pièces arabe Jubba en gros d'usine avec le prix bon marché
  • Veste de sport pour hommes Survêtement d'hiver, vêtements de sport, vêtements de Fitness, deux pièces, un ensemble, veste à manches longues pour hommes avec pantalon, jogging sport
    Veste de sport pour hommes Survêtement d'hiver, vêtements de sport, vêtements de Fitness, deux pièces, un ensemble, veste à manches longues pour hommes avec pantalon, jogging sport
  • MAKITA Ensemble composé d'une perceuse-visseuse et d'un taille-herbe Makita - 14 V
    Outillage Outillage électroportatif Perceuse, visseuse, perforateur, burineur, marteau-piqueur Perceuse MAKITA, Ensemble composé d'une perceuse-visseuse et d'un taille-herbe Makita - 14 V Perceuse visseuse DF347D, 2 vitesses, compacte et légère Mandrin auto-serrant 10 mm mono bague Réglage
  • GUGUTREE un ensemble broderie patch d'insigne patchs de dessin animé insignes appliques pour vêtements XW-117
    GUGUTREE un ensemble broderie patch d'insigne patchs de dessin animé insignes appliques pour vêtements XW-117
  • JEOBEST Un ensemble de deux chaises de bar de style scandinave à l'extérieur
    Mobilier d'intérieur Meuble de salle à manger Tabouret de bar JEOBEST, Description 1. le hêtre et les couleurs pures de l'orme, ainsi que le style nordique élégant et élégant, apportent une sensation de détente et de modernité à votre intérieur 2. chaises de salle à manger, chaises longues, chaises de
  • HAGER Serveur SIP d'interphonie IP (RTD110X)
    Outillage ... Divers HAGER, Franco de port pout toute commande supérieure à 200€. Caractéristiques techniques Couleur: blanc Attention ! Il est impératif de vérifier le bon état du colis, aussi bien extérieur qu'intérieur, au moment de la livraison. Toutes les réclamations doivent être faites
  • JEOBEST Un ensemble de deux chaises de bar de style scandinave à l'extérieur couleur
    Mobilier d'intérieur Meuble de salle à manger Tabouret de bar JEOBEST, Description 1. le hêtre et les couleurs pures de l'orme, ainsi que le style nordique élégant et élégant, apportent une sensation de détente et de modernité à votre intérieur 2. chaises de salle à manger, chaises longues,
  • HAGER Serveur SIP d'interphonie IP (RTD110X) - HAGER
    Outillage ... Divers HAGER, Franco de port pout toute commande supérieure à 200€. Caractéristiques techniques Couleur: blanc Attention ! Il est impératif de vérifier le bon état du colis, aussi bien extérieur qu'intérieur, au moment de la livraison. Toutes les réclamations doivent être faites en présence
  • Cambridge audio CAMBRIDGE 851C- DEMANDEZ UN PRIX D'AMI
    Un aspect central des performances exceptionnelles du 851C est un ensemble séduisant de technologies évoluées, celles des convertisseurs numérique à analogique hautes spécifications Analog Devices, par exemple. Avec sa technologie de sur-échantillonnage ATF2 embarquée, le 851C a ce qu’il faut pour améliorer
  • Cambridge audio CAMBRIDGE 851C- DEMANDEZ UN PRIX D'AMI
    Un aspect central des performances exceptionnelles du 851C est un ensemble séduisant de technologies évoluées, celles des convertisseurs numérique à analogique hautes spécifications Analog Devices, par exemple. Avec sa technologie de sur-échantillonnage ATF2 embarquée, le 851C a ce qu’il faut pour améliorer