Aller au contenu

Classement


Contenu populaire

Affichage du contenu avec la meilleure réputation depuis le 06/16/15 dans toutes les zones

  1. 9 points

    Classique

    Version 1.0.1

    250 downloads

    AlertChat va vous permettre d'informer les joueurs de votre serveur lorsque leur chat sera désactivé dans leurs options. En effet, l'expérience de jeu de vos joueurs peut ne pas être convenable si leur chat est désactivé. Ils seront avertis via une alerte adéquate à l'option du chat choisie par le joueur. Si le joueur a choisi de totalement le désactiver, il aura une alerte via un titre sur son écran. Si le joueur a choisi d'activer seulement le chat pour les commandes, il sera averti via un message dans le chat qu'il pourra voir. Pour que AlertChat fonctionne correctement sur votre serveur, il faut que vous possédiez le ou les add-on(s) suivant(s) : Skellett Par respect pour mon travail, merci de ne pas supprimer dans le script la signature que vous pouvez rencontrer sur sa première ligne. Par ailleurs, je décline le droit d'appropriation ou de revente de mon travail, merci de le respecter. N'hésitez pas à laisser un retour à mon travail, sans oublier que l'espace de vote n'est pas adéquat au signalement de bugs.
  2. 8 points

    Classique

    Version 2.2.3 + Installer 1.4

    1242 downloads

    --------------------------------------------------------------------------------------------- L'ancien doit être corrigé, pour du nouveau contenue va falloir attendre car je suis sur du dev de mod actuellement Idée déjà reçu : - Maire - l'arnacoeur - L'ombre Message Update le 30/07/2019 -------------------------------------------------------------------------------------------- /. INTRODUCTION Bonjour, voici un script fait pour la 1.12.2 et ayant pour but de permettre à n'importe quel joueur ayant un serveur de faire une partie de Lg-UHC grandement personnalisable. Le script fait 3600 lignes et contient environ 156 000 caractères. Merci à Faywyrr pour son aide pour tester le plugin ainsi que ses nombreuses bonne idées ^^ Merci à ItsFytz pour m'avoir prêté son compte lors de tests ainsi que pour l'écritures de certains messages Merci à Cormorax pour ses idées I. INSTALLATION Ne marche pas pour avant 1.12.2 Certain hébergeur ont banni des plugins instables si mal utilisés (Skellett pour boxtoplay ), merci de renommer les fichiers bannis pour un bon fonctionnement Ceci n'est pas un plugin en .jar mais un script ! il utilise donc Skript, cette section montre comment l'installer ainsi que tout les plugins (addons) nécessaires. Ce plugin nécessite spigot ou paper-spigot ou Sponge (version compatible avec spigot) ou Atom (cauldron pour 1.12.2) etc... tout ce qui utilise l'API spigot. Donc surtout pas BUKKIT Il vous suffit de juste télécharger l'installer(le .jar) dans le bouton de téléchargement à droite, le mettre dans votre dossier plugins, lancer votre serveur, attendre que celui-ci soit totalement démarré. L'éteindre puis le rallumer et voilà ^^ Vous pouvez ensuite enlever l'installer de votre dossier plugins ALTERNATIVES En premier télécharger tout ces plugins (dans les versions demandés) et mettez les dans le dossier /plugins/ Skript Tuske Skquery-Lime MundoSK Skellett Pour avoir un chat propre, il faut avoir EssentialsX et EssentialsXChat en dernière version : https://ci.ender.zone/job/EssentialsX/ Une fois tout les fichiers .jar dans le dossier, démarrez votre serveur et une fois que celui-ci est totalement charger; éteignez-le. Allez maintenant dans le dossier dans le chemin : /plugins/Skript/scripts/ Vous pouvez supprimer tout les fichiers dedans et mettre à la place le fichier nommé "Lg-UHC.sk" téléchargeable sur cette page. Relancez votre serveur, faite la commande /lg setup et tout est prêt ^^ Vous pouvez maintenant configurer une partie (/lg config), démarrer une partie (/lg start) ou autres (voir /lg help) II. Commandes et permissions : "/lg" ou "/lg help" -> Voir la liste des commandes : lgu.admin pour voir toutes les commandes "/lg setup" -> Lors de l'installation du plugin, initialise les variables : lgu.admin.setup "/lg config" -> Configurer la partie : lgu.admin.config "/lg start" -> démarrer la partie : lgu.admin.start "/lg stop" -> Arrêter la partie : lgu.admin.stop "/lg spectateur" -> Gérer les joueurs ne participant pas : lgu.admin.spec "/lg respawn" -> Faire respawn un joueur sans stuff (Voir dans IV. OPTIONS pour une autre solution) : lgu.admin.respawn "/lg force (mur|pvp|rôles)" -> Forcer un événement "/lg reset" -> Remettre à zéro toutes les variables (ne faire qu'en cas de bug) : lgu.admin.reset Commandes pour joueur : "/lg lg" -> permet aux loups-garous de connaitre les autres loups-garous "/lg roles" permet de voir tout les rôles encore existant dans la partie "/lg info" -> voir les infos de la partie "/lg p" -> Voir son rôle ainsi que sa description III. Vidéo explicative IV. OPTIONS En faisant /lg config dans la partie vous pouvez configurer : - Les rôles - La durée d'un jour - Le chat - Le temps avant la bordure - taille de la bordure de départ - taille de la bordure à la fin - temps avant le pvp - temps avant la révélation des rôles - items de départ - items drop à la mort - la durée d'un jour (le visuel bug pour "extrème") - Paramètre de mort à la déconnexion - Règles - Scénarios Dans le script (Lg-UHC.sk) il existe une option à la ligne 7 (debug) qui si activer (remplacer "false" par "true") permet lors de la mort d'un joueur de pouvoir ressuciter un joueur sans dévoiler son rôle et en gardant le même stuff, très utile si vous jouez avec des joueurs mauvais en survie. V. Règles Les règles sont globalement similaire aux Lg-UHC fait sur youtube, bien que certain rôle ont été nerfs ou créer... VI. Remercient : - ItsFytz pour les messages des rôles - uiytt pour avoir créer le script - Les créateurs des addons VII. Me contacter Je suis disponible sur discord : uiytt#7002 SI VOUS AVEZ DES PROBLÈMES, MERCI DE ME CONTACTER SUR DISCORD pas sur skript-mc, Merci
  3. 8 points
    Désormais, pour vos demandes de skript, vous devrez respecter les règles suivantes : Le titre : Doit être un résumé de la demande et contenir le type de skript en préfixe. Par exemple vous voulez un skript de pet et bien le titre sera : "[Cosmétique] Skript de pet pour un lobby." La demande doit être formulée comme suit : Version de Minecraft : Version de Skript : Type du skript : Description du script en détails (3 lignes ce n'est pas assez détaillé) : Commandes éventuelles avec les permissions : Autres précisions (bout de skript déjà fait, systèmes actuellement utilisés, etc) : Une attention particulière sera portée quant à la rédaction de la demande. Elle doit être bien écrite, sans trop de fautes, bien détaillée et respectueuse des autres membres (un petit bonjour, un merci, etc.) Sanctions : Tout sujet créé ne respectant pas ces règles sera supprimé sans possibilité de recours ou de récupération. À noter que vous serez aussi sanctionné de 21 points d'avertissements. Dérogations : Vous pouvez passer outrepasser les règles de mise en forme uniquement si votre sujet est impeccablement écrit et bien présenté. Voici un exemple de présentation avec ce modèle : Titre du sujet : [Cosmétique] Skript de pet pour un lobby. Sujet : Version de Minecraft : 1.12.2 Version de Skript : 2.3.6 Type du skript : Skript de cosmétique Description du script : Bonjour je souhaiterais un skript qui permettrait aux joueurs sur mon lobby de choisir un pet. En effet, je voudrais qu'à l'aide d'un compas placé dans le 1er slot de la barre d'inventaire, l'utilisateur puisse choisir au travers d'un gui le familier qu'il désire. Il faudrait que les familiers en question soient configurables dans un fichier de configuration. Je voudrais aussi que certains pets soient accessibles uniquement aux vips+ (voir permission) là aussi, la liste de ces familiers devra être configurable dans un fichier yml. Commandes éventuelles avec les permissions : Je n'ai pas besoin de commandes particulières, mais j'ai besoin des permissions suivantes : Une permission lobby.vip donnant accès au choix d'un familier ; Une permission lobby.vip.plus. Autres précisions (bout de skript déjà fait, systèmes actuellement utilisés, etc.) : J'utilise actuellement SkQuery et Umbaska et ça serait top si le skript pouvait marcher avec une base de donnée configurable dans la config. Structure de la table pets : id unique ; uuid du joueur ; son pet actuel ; les pets autorisés (dans ce cas-là, pas besoin de permissions, il suffit d'aller voir dans la base si il a le droit de l'utiliser). Merci de votre aide et bonne journée.
  4. 7 points

    Classique

    Version 2.07

    189 downloads

    Enhanced error output: Read the file and find the mistake ingame! Autocomplete for Skript: Autocomplete for scripts even in subdirectories! Better colors: Can be partially disabled! Backup System: Create a backup of all scripts withhin milliseconds! Update System: Check for Updates of SkriptEnhanced or Addons (not automatically!) Commands: - /skriptenhanced update > Check for Updates - /skriptenhanced backup > Create a backup of all scripts - /skriptenhanced addons > Check for Updates of Addons (Supports over 120 Addons) Permissions: - skript.admin (or OP) Dependencies: - Skript 2.2-dev37c - skript-mirror 0.19.1 - MundoSK 1.8.6-BETA.55 - PrococolLib If there are any bugs: Contact me on Discord Duetro#3513! This does only work with the english language of Skript!
  5. 7 points
    Salut à toi et bienvenue sur ce tutoriel ! Dans ce post je vais te faire découvrir ou t'apprendre les listes. Premièrement, une liste est un "tableau", ou vous renseignez une id et une valeur (donnée). Je vous montrerai : I. Représentation codée d'une liste II. Comment add une donnée à votre tableau III. Comment delete une donnée de votre tableau IV. Comment lister votre tableau V. Conditions de listes VI. Comment générer une entrée aléatoire de votre tableau VIII. Comment supprimer votre tableau IX. Conclusion I. Représentation codée d'une liste. Pour utiliser une liste dans votre code, une liste se présente comme cela: {liste::*} -> Comme une variable, a laquelle on ajoute "::" après la premiere "partie" de variable, qui ici est "liste". Si l'on met une étoile ("*"), toutes vos entrées (chaque ligne du tableau, pour reprendre la représentation) sont concernées. Si l'on met {liste::uneentrée}, alors c'est votre entrée "uneentrée" qui sera concernée. II. Ajout de donnée à un tableau. Premièrement, nous allons ajouter une entrée à notre tableau. Pas besoin d'un effet pour créer ce tableau, il existe a partir du moment ou vous ajoutez une entrée. Exemple : j'ajoute une entrée de type texte à mon tableau (liste): Cela donne ( en ligne d'effet ) : add "Hello" to {mots::*} Donc ici, on créer une nouvelle ligne avec comme valeur "Hello". III. Retirer une donnée d'un tableau Ensuite, nous allons retirer une entrée à notre tableau. Pour retirer cette entrée, nous allons faire: Cela donne (en ligne d'effet ) remove "Hello" from {mots::*} Comme cela, on retire la ligne qui porte la valeur "Hello" dans la liste "mots". IV. Lister notre tableau Ici, en reprenant toujours en encore notre même liste "mots", nous voulons lister, simplement ce tableau. Comment allez vous me dire ? Je vais vous montrer 2 types d'affichage de listes. La première, la plus simple, comme mon ami @imSizk vous l'a sûrrement expliquée, est, l'affichage comme une variable : send "%{mots::*}% Une méthode plus poussée, que j'utilise utilise la notion de loop. Je ne l'ai pas encore expliquée mais ne cherchez pas, lisez juste ce que je vous dit ;) Donc, pour listez correctement notre tableau, on va utiliser le loop. Cela se déroule sous cette forme : loop {mots::*}: send "%loop-index% -> %loop-value%" De cette manière, on va nous dire "numéro de la ligne -> valeur de la ligne" V. Génération aléatoire d'une ligne de la liste Pour générer quelque chose d'aléatoire, il vous suffit d'avoir cet effet : set {_donneealéatoire} to a random element of {mots::*} Ici on met la variable temporaire "donnealéatoire" sur un élément aléatoire de la liste "mots". VI. Conditions de liste Pour les conditions de liste, certains mon posés la question : "C'est bien les listes, mais comment je fais pour savoir si une donnée est déjà mise dans la liste ?". Donc je vais vous répondre ici ! : Pour voir si une donnée est déjà rentrée, une donnée ajoutée à la liste est "mise" dans la liste, donc elle "existe" dans la liste. Pour ce faire voici une condition : if {mots::Hello} is set: send "Hello" Chose très bête hein ^^ Mais vous pouvez remplacer le "Hello" dans la condition par un "%arg-1%" s'il s'agit d'une commande. VII. Supprimer une liste Après tout ça et en chapitre "final" du tutoriel, je vous propose de voir un effet qui vous permettre de remettre à zéro une liste. Voici l'effet concerné : clear {mots::*} L'effet "clear" vous permet de nettoyer votre liste. Et, comme je vous l'ai dit précédemment, une liste sans ligne est une liste nule, donc inexistante, donc elle est supprimée ! VIII. Conclusion Les listes sont, pour moi une des choses les plus importantes dans Skript, vous pouvez ajouter des informations, les récupérer les supprimer, etc... (Je vous invite à voir l'algorithme conçu à l'ajout automatique de données dans une liste en cliquant ici) Merci à vous d'avoir suivi ce tutoriel, n'hésitez pas à mettre un like pour m'encourager à vous faire des tutos complets ! :) Cordialement, Hugo / Azen.
  6. 7 points
  7. 7 points
    @MrBboyIce , avant de parler tu pourrais réfléchir. Mais le truc c'est que plein de gens demande des skripts, mais eux ils n'aident jamais.. Et pour te prouver qu'on n'est pas flemmard: on place: world is "ton monde" add location of block to {placed.blocks::*} set {ignore.locations::%location of event-block%} to true on break: world is "ton monde" add location of block to {broken.blocks::*} add type of block to {broken.type::*} set {ignore.locations::%location of event-block%} to true command /regen: permission: regen.use permission message: &4&oVous n'avez pas la permission d'utiliser cette commande ! trigger: broadcast "&7[&7&oUHC&7] &eRégénération de la map en cour.." loop {broken.blocks::*}: set {_loc} to loop-value set block at {_loc} to {broken.type::%loop-index%} loop {placed.blocks::*}: set {_loc} to loop-value set block at {_loc} to air delete {broken.blocks::*} broadcast "&7[&7&oUHC&7] &eRégénération terminée !" every 180 seconds: make console execute command "/regen" Si je t'ai aidé met un like ;) La prochaine fois réflechie avant de parler.
  8. 6 points

    Classique

    Version 1.0.0

    131 downloads

    Introduction Ce skript permet à des joueurs qui ont envie de faire une survie de charger les chunks dans laquelle se trouve le joueur afin d'avoir moins de latence en jeu. J'ai fait ce skript pour mon serveur car j'avais besoin de générer une map de 10000 par 10000, or les manœuvres vanilla ne marchait presque pas et/ou ne m'intéressais pas. C'est pour cela que j'ai crée ce skript. *Testé sous la version de Minecraft 1.8x et de Skript 2.2-dev25. Commandes /chunk start <rayon de chargement>: Le skript commencera à faire le chargement des chunks progressivement jusqu'à atteindre le cycle souhaité. /chunk stop: Si vous avez lancé le chargement involontairement, vous pouvez l'arrêter avec cette commande. Permissions chunk.use : Permet d'utiliser l'intégralité du skript *Elle est changeable dans les options du skript. Fonctionnement Le fonctionnement est basé sur des calculs numériques. Le joueur se fait téléporter de point en point tout en ayant un paterne prédéfini. Au début, le joueur sera téléporté tant de block en z et commencera à faire la procédure de départ: - Step 1 : 1 chunk vers le bas (+1 à chaque cycle) - Step 2 : 2 chunks vers la gauche (+2 à chaque cycle) - Step 3 : 2 chunks vers le haut (+2 à chaque cycle) - Step 4 : 2 chunks vers la droite (+2 à chaque cycle) - Step 5 : 1 chunks vers le bas (+1 à chaque cycle) Le tout de ces 5 étapes forme un carré qui s'étendra grâce à une boucle en fonction du rayon choisis. Options Prefix: &e&lChunk&6&lLoader &f» &e Pas: 200 Y_coordinate: 120 Postion_native: true Temps_attente: 2 Permission: chunk.use Le préfix est tout simplement les messages relatifs à ce skript. Le pas indique la distance entre chaque tp: - Un gros pas permettra de charger plus de chunks mais lentement. - Un petit pas permettra de charger moins de chunks mais rapidement. (Recommendé: Mettre un temps d'attente plus réduit) La position native est le point où le chargement commencera: - Si vous utilisez Essentials pour la téléportation, il est recommandé de le mettre sur false. - Si il est mis sur true, il prendra votre position où la commande a été exécuté. - Si il est mis sur false, il commencera en x=0 y=120 z=0. Le temps d'attente est la pause qu'il y a entre chaque téléportation en seconde. Mettre une permission est recommandé pour éviter d'avoir des confilts entre d'autres joueurs. *Tout ce qui est dit ici est rappelé dans les options du skript. Tutoriel Si vous êtes un petit peu perdu, voici un tutoriel comment utiliser mon skript. ^^ Installation & Configuration Placer le fichier ChunkLoader.sk dans votre dossier Skript et le répertoire scripts. Pour configurer le skript, vous avez juste à ouvrir le skript et de configurer les options déjà présentes. Dépendance Ce skript ne nécessite d'aucun addon. Vous avez besoin juste de Skript pour le faire fonctionner. Choses à faire - Rendre le skript plus optimisé - Faire un GUI avec paramètres personnalisé - Faire une sécurité en cas de déconnexion du joueur Milestone 10 téléchargements 25 téléchargements 50 téléchargements 100 téléchargements 250 téléchargements Informations complémentaires Si vous voyez des bugs en utilisant ce skript, merci de ne pas mettre de review mais de le partager dans la section commentaire. Si vous avez des idées pour l'améliorer, n'hésitez pas à m'envoyer un message privé sur discord (TxykAuBleu#7951 ) je suis disponible dès que possible mais éviter de me spammer tout de même. Ou encore je suis disponible sur mon serveur discord https://discord.gg/tqnFsyS Mentions: Il est 100% interdit d'upload ce skript, ce skript n'est pas soumis au partage opensource ! Si vous souhaitez apporter une modification / amélioration, vous pouvez uniquement pour votre propre serveur.
  9. 6 points

    Classique

    Version Dev 2.6

    429 downloads

    Pour commencer, Sully est Anticheat fait en Skript pour Minecraft 1.8.x par moi même, il n'était pas censé être public (C'est une version que j'ai pas touché depuis plusieurs semaines) mais finalement j'ai changer d'avis (Plus d'infos sur ça dans le skript). Sully détecte la plus part des cheat de mouvement, et ceux de combat (Pour les Ghost client y'a la Reach et une détection d'Aimassist) qui détecte la majorité des Killaura. Oui, les Packets sont très utilisé dans Sully, la plupart des Checks sont basé sur les packets. Bien sûr, tous les Anticheat ont des faux positifs (False log), mais il est possible de les réduire fortement, c'est ce que j'ai essayer de faire avec Sully. Je ne vais pas faire une liste inutile de ce qui est "détecter" car tous simplement la plupart des cheat de mouvement (par exemple) ce ressemble, exemple: Jetpack et Fly dans les deux cas cela vous permets de voler et les deux sont détecter, mais je vais vous en lister qu'un seul voir aucun mais car il est détecter par une détection de nom différents. Donc voici la liste des noms que j'ai attribué a chaque détection: Si la détection contient * c'est que elle n'est pas fini ou fait des faux positif et donc elle n'autoban/kick pas. seulement des alertes Exemple: Cheat (type) Combat (12): Autoclick (left) Autoclick (right) Analyze (a) (Check de "killaura") Reach (a) Badpacket (a) Badpacket (b) Killaura (a) Killaura (b) AimAssist (a) Keepsprint (Killaura) InvalidRotation (Headless) Velocity* (Cancel) Mouvement (22): Morepackets (a) LessPackets (a) Speed (ground) Speed (bounce) Speed (airdown) Speed (airup) Fly (a) Fly (b) Hover (null) NormalMovement (higher) NormalMovement (lower) NormalMovement (repeated) NormalMovement (step) AbnormalMovement (ground) AbnormalMovement (air) Travel (player tried to teleport himself far away down) FastLadder (player tried to go faster in a ladder) WebSpeed (player tried to move faster in a web (air)) WebSpeed (player tried to move faster in a web (ground)) WebFly (player tried to float above a web) Nofall (player claimed to be on ground while being in air) Nofall (player claimed to be on ground while falling) Addons: https://nofile.io/f/8DyueHrnxZ5/Addons.rar WildSkript SkUtilities skRayFall SkQuery Sketch Alpha 0.4 (0.3 marche peut-être) Skellett ExtraSK
  10. 6 points
    Alors salut tout le monde, on se retrouve pour un nouveau petit tutoriel sur les équipes. J'ai décidé de le faire vu que la création d'équipes en skript avait été souvent demandé et qu'aucun tutoriel n'avait été fait sur le sujet! Donc, voilà nous allons en avoir un maintenant. Les variables: Bon avant toute chose, nous devons commencer par la base et faire une petite révision des variables pour ceux qui sont un peu moins avancés en skript, pour leur permettre de comprendre. Sur Skript, nous avons 3 types de variables, les variables locales, les listes et les variables normales. - Une variable normale est nommé entre les { }. Elle permet de stocker une donnée ex: Un nombre, un joueur, un mot, etc. -Une variable locale se nomme comme la variable normale, mais elle débute par un _ comme ceci {_variable}. Cette variable fait le même travaille qu'une variable normale, sauf qu'elle est est supprimé à la fin de notre code. -Une liste se nomme comme la variable normale, mais elle est suivie de ::* comme ceci {variable::*}. Elle permet de stocker plusieurs données sous forme d'une liste. Le code: Bon, il est temps d'entrer dans le vif du sujet. pour commencer, nous allons exécuter une commande qui permettra aux joueurs de rejoindre le lobby et de leur voir attribuer une équipe automatiquement. Nous commençons par créer une commande: command /tutoteam: # On créer la commande trigger: #Ce que la commande va faire if {team::color::%player%} is not set: # Si le joueur n'est pas dans une équipe teleport player to {lobby} #N'oubliez pas de set {lobby} à une certaine coordonée if size of {team::red::*} is more than size of {team::blue::*}: # Si il y a plus de joueurs dans la team red que la team blue add player to {team::blue::*} # Ajouter le joueur à la team blue set {team::color::%player%} to blue # Mettre le joueur dans la team blue else: # Sinon add player to {team::red::*} # Ajouter le joueur à la team red set {team::color::%player%} to red # Mettre le joueur dans la team red add player to {team::*} # Ajoute le player à la variable qui contient tout les joueurs loop {team::*}: # On loop tout les joueurs qui jouent send message "%player% a rejoint l'équipe %{team::color::%player%}%" to loop-value # On envoie un message à tout les joueurs qui jouent invoke "timertest" # Fonction pour commencer le timer (remplace une commande) Donc avec ce code, lorsqu'un joueur exécute la commande /tutoteam, il sera automatiquement attribué à l'équipe rouge ou bleu. Nous devons par la suite, enlever le joueur de son équipe s'il quitte la partie. on quit: if {team::color::%player%} is set: # Si le joueur est dans une équipe remove player from {team::%{team::color::%player%}%::*} # Enlève le joueur de l'équipe delete {team::color::%player%} # Supprime l'équipe du joueur remove player from {team::*} # Enlève le joueur de la variable qui contient tout les joueurs set {tptospawn::%player%} to true # Set une variable pour dire qu'il doit être tp au spawn lorsqu'il va rejoindre on join: if {tptospawn::%player%} is true: # S'il doit se faire tp au spawn teleport player to spawn # Téléporter au spawn delete {tptospawn::%player%} # Supprime la variable Par la suite, nous devons faire que la partie commence automatiquement à 20 joueurs, donc: sub "timertest": #Notre fonction if size of {team::red::*} + size of {team::blue::*} is more than 19: # Si le nombre de joueurs = 20 et + set {_s} to 11 # Nombres de secondes avant le début du match loop 10 times: # 10 secondes remove 1 from {_s} # On enlève 1 seconde loop {team::*}: # On prend tout les joueurs qui jouent send message "La partie commence dans %{_s}% secondes" to loop-value-2 # On envoie une message à chaque joueur personellement wait 1 second # attendre une seconde en chaque seconde loop {team::red::*}: # Tout les joeurs de l'équipe rouge teleport loop-value to {team::spawn::red} #Teleport au spawn rouge loop {team::blue::*}: # Tout les joueurs de l'équipe bleu teleport loop-value to {team::spawn::blue} # Teleport au spawn bleu Manipuler nos variables: Bon, nous venons tout juste de créer un système d'équipe et de lobby, il ne nous manque plus qu'à voir les variables servent à quoi pour s'assurer que tout est clair pour tout le monde {team::color::%player%} contient la couleur de l'équipe du joueur {team::red::*} contient tout les joueurs de l'équipe rouge {team::blue::*} contient tout les joueurs de l'équipe bleu {team::*} contient tout les joueurs qui jouent J'espère que j'ai été assez clair :) Si jamais vous avez des questions, vous pouvez les mettre dans les commentaires et je vous répondrai dans un cours délai Code final: command /tutoteam: # On créer la commande trigger: #Ce que la commande va faire if {team::color::%player%} is not set: # Si le joueur n'est pas dans une équipe teleport player to {lobby} #N'oubliez pas de set {lobby} à une certaine coordonée if size of {team::red::*} is more than size of {team::blue::*}: # Si il y a plus de joueurs dans la team red que la team blue add player to {team::blue::*} # Ajouter le joueur à la team blue set {team::color::%player%} to blue # Mettre le joueur dans la team blue else: # Sinon add player to {team::red::*} # Ajouter le joueur à la team red set {team::color::%player%} to red # Mettre le joueur dans la team red add player to {team::*} # Ajoute le player à la variable qui contient tout les joueurs loop {team::*}: # On loop tout les joueurs qui jouent send message "%player% a rejoint l'équipe %{team::color::%player%}%" to loop-value # On envoie un message à tout les joueurs qui jouent invoke "timertest" # Fonction pour commencer le timer (remplace une commande) on quit: if {team::color::%player%} is set: # Si le joueur est dans une équipe remove player from {team::%{team::color::%player%}%::*} # Enlève le joueur de l'équipe delete {team::color::%player%} # Supprime l'équipe du joueur remove player from {team::*} # Enlève le joueur de la variable qui contient tout les joueurs set {tptospawn::%player%} to true # Set une variable pour dire qu'il doit être tp au spawn lorsqu'il va rejoindre on join: if {tptospawn::%player%} is true: # S'il doit se faire tp au spawn teleport player to spawn # Téléporter au spawn delete {tptospawn::%player%} # Supprime la variable sub "timertest": #Notre fonction if size of {team::red::*} + size of {team::blue::*} is more than 19: # Si le nombre de joueurs = 20 et + set {_s} to 11 # Nombres de secondes avant le début du match loop 10 times: # 10 secondes remove 1 from {_s} # On enlève 1 seconde loop {team::*}: # On prend tout les joueurs qui jouent send message "La partie commence dans %{_s}% secondes" to loop-value-2 # On envoie une message à chaque joueur personellement wait 1 second # attendre une seconde en chaque seconde loop {team::red::*}: # Tout les joeurs de l'équipe rouge teleport loop-value to {team::spawn::red} #Teleport au spawn rouge loop {team::blue::*}: # Tout les joueurs de l'équipe bleu teleport loop-value to {team::spawn::blue} # Teleport au spawn bleu
  11. 6 points
    Bonjour! Dans Skript, il y a quelques chose qui plutôt pratique, c'est de pouvoir attribuer une variable à un joueur, un uuid, un monde etc... Par exemple la variable {test.%player%} change à chaque joueur. Ou alors {test.%event-block%} change en fonction du bloc Et bien en Java c'est possible ? Dans ce tuto, je ne traiterai pas d'enregistrer ces variables dans des fichiers, ça je ferais peut-être plus tard dans un autre tuto. Ces variables s'appellent des HashMap. Un HashMap est constitué d'une clé (key) et d'une valeur (value). A chaque clé est associée une valeur. Une clé est une variable de n'importe quel type, mais c'est bien souvent un String. Si vous recherchez une variable dans le HashMap qui est identique à la clé, alors vous récupérerez la valeur associé. Les HashMaps permettent aussi d'enregistrer des variables temporairement, sans charger le fichier de sauvegarde à chaque fois car ça bouffe ÉNORMÉMENT de ressources de faire ça. Bon maintenant passons à la pratique! Pour retrouver l'utilité des variables de Skript, les HashMap doivent être déclaré juste après le "public class", avant toute fonction. Les HashMap contiennent deux type de variable, un pour la clé et un pour la valeur. Ces types de variables peuvent être différents ou les même, ce sera déterminé en fonction de ce que vous en ferez. Voila à quoi ressemble un HashMap: HashMap<String, Double> variable; Le String est donc le type de clé et le double est le type de la valeur associée. Voilà maintenant comment déclarer cette variable: public class Exemple extends JavaPlugin implements Listener { static HashMap<String, Double> missions = new HashMap<String, Double>(); @Override public void onEnable() { //CODE } } Vous pouvez changer le "static" en "public static" si vous voulez que cette variable puisse être lu par d'autres classe ou même enlever le "static" si vous n'utilisez pas de fonctions static. Maintenant on va apprendre à mettre et récupérer des infos de cette variable. Dans les exemples suivant, ma variable sera nommé "exemple". Si vous voulez mettre des joueurs ou d'autre choses en clé, je vous conseille de mettre un String, souvent avec le nom. Ça évite de charger des grosses variables comme les Player et les noms ne bougent pas. Voilà comment mettre une clé et une valeur: exemple.put(key, value); Et voici comment récupérer une valeur: exemple.get(key); Pour tester si le HashMap contient une clé: exemple.containsKey(key); Pour tester si le HashMap contient une valeur: exemple.containsValue(value); Pour finir un petit exemple. On enregistre ici une variable contenant un nombre de point d'un joueur. La clé est donc le nom du joueur et la valeur son nombre de points. public class Exemple extends JavaPlugin implements Listener { static HashMap<String, Integer> points = new HashMap<String, Integer>(); @Override public void onEnable() { } @EventHandler public void onJoin(PlayerJoinEvent e) { Integer pts = 1; //Normalement je charge de mon fichier de config mais là c'est un exemple points.put(e.getPlayer().getName(), pts); } } Maintenant imaginons qu'à sa déconnexion je sauvegarde ses points. J'utilise donc: public class Exemple extends JavaPlugin implements Listener { static HashMap<String, Integer> points = new HashMap<String, Integer>(); @Override public void onEnable() { } @EventHandler public void onLeave(PlayerQuitEvent e) { Player p = e.getPlayer(); //Je crée une variable pour raccourcir le code if(points.containsKey(p.getName())) { Integer pts = points.get(p.getName()); //Là j'utilise ma fonction pour sauvegarder les points } } } Voilà! Encore une fois j'espère avoir été assez clair et que ce tuto vous sera utile ? (un p'tit like ça fait toujours plaisir aussi :D) Et je vous invite à me demander sur quel thème voulez vous que mon prochain tuto soit ?
  12. 6 points
    Note : Le Skript School sera une série de tutoriel pour tout le monde. Le début pourra paraître "bof" pour les plus avancés d'entre vous, mais la suite le sera moins. Skripteurs Skripteuses bonjour et bonsoir. Si vous vous trouez sur ce post, c'est que vous voulez débuter en Skript, ce langage large et facile d'utilisation pour coder des plugins Minecraft. Ce tutoriel à pour but de vous aider à débuter, de vous apprendre Skript, mais sachez tout de même que pour se perfectionné, il n'y a rien de mieux que d'étudier des Skript et que lire la documentations. Des TP, plus couramment connus sous le nom de "Travaux Pratiques" (Oui vous savez, ces expériences en SVT, hein), seront présents pour vous faire progresser suite à notre apprentissage. 1. INSTALLATION Figure toi que non ! Skript peut être codé de partout, Notepad++, Sublime Text, et tout autre logiciel d'écriture. Créer donc un nouveau fichier et enregistrez le la racine plugins\skript\script avec un nom de votre choix terminé par .sk Désormais, nous allons voir the command, celle qui permettra de "rafraichir" vos Skripts pour pouvoir les exectuer : sk reload all. Vous pouvez taper cette commande dans la console comme sur le serveur. 2. PREMIER PAS : COMMANDES Premièrement, nous allons nous attaquer aux commandes. Avant toutes choses, les ":" et les tabulations sont obligatoires et doivent être disposés exactement comme je le fais. Pour appeller une commande, il faut d'abord donner à Skript le nom de la commande. command /test: /test sera donc notre commande. A vous de modifier la commande comme vous le désirez. Ensuite, pour ajouter une action lorsque le joueur exécute la commande, il faut écrire ce dernier sous un trigger. Voici un exemple. trigger: send "Ca marche ! :D" Le trigger est obligatoire, ne cherchez pas à comprendre, toute commande doit le comporter, et Send est un effect qui enverra le message désigné au joueur. En résumer, vous devez obtenir quelque chose comme cela. command /test: trigger: send "Ca marche ! :D" Aller hop, un Ctrl+S pour sauvegarder et un sk reload all dans la console pour tester le Skript. 3. ALLER PLUS LOIN AVEC LES COMMANDES Les arguments, c'est le nom que l'on attribue à une récupération de valeur dans la commande. Premièrement, il faut savoir qu'il y a plusieurs types d'arguments. Les textes : Des chaines de caractères Les integer ou les number : Des nombres, simplement. Les player et offlineplayer : Des joueurs Les items : Des blocs ou items. Il en existe plusieurs autres, je vous invite donc à chercher pour les découvrir. Pour en invoquer ? Très simple. command /broadcast <text> [<text>] Les crochets que j'ai mis sur l'argument 2, celui positionné en deuxième, signifie que c'est facultatif. Donc le joueur n'est pas obligé d'entrer une valeur ici. Hors, sur le première argument, je n'ai pas mis de crochets, ce qui explique que la valeur doit être entrée. C'est bien beau d'avoir des arguments, mais on les utilise comment ? La magie. Nous allons faire une commande qui envoie à tous les joueurs deux ou un texte. Essayez de faire le début, c'est assez simple après la lecture de la partie 2. command /broadcast <text>: permission: skript.broadcast trigger: broadcast "%arg1%" En effet j'ai retiré l'argument facultatif. J'ai donc utilisé l'effect broadcast pour envoyer un message à tous les joueurs, mais au lieu de mettre directement un texte j'ai mis des pourcentages et j'ai mis "arg1". C'est ainsi que l'on utilise les arguments. Ce "truc" comme tu l'appelles, c'est la permission nécessaire pour éxecuter la commande. Nous verrons les permissions plus tard, mais je souhaitais vous filer ce petit tuyaux maintenant. Dring, les cours sont finis ! J'espere que ce tutoriel vous aura fais découvrir et apprendre le fonctionnement des commandes. La prochaine fois, nous étudierons quelque chose qui, je pense, vous intéressera davantage. RAPPEL Voici quelques liens qui pourront vous intéresser. Documentation officielle de Skript : ICI skUnity, pour découvrir des addons Skript ainsi que leurs documentations : ICI
  13. 6 points
    Bonjour, aujourd'hui je vais vous apprendre à faire des barres de progression facilement avec un tout petit peu de mathématique. L'utilité d'une barre de progression ? Montrer la progression de tel ou tel objectif sur son maximum Exemple d'utilisation : Barre d’expérience, Barre de chargement [ATTACH=full]3453[/ATTACH] Donc pour créer un barre de progression il va nous falloir 2 éléments indispensables: La valeur "actuelle" et la valeur maximum. Pour faire un exemple on va dire que j'ai un système d'augmentation de level avec un certain nombre d'xp que l'on gagne en tuant des mobs: Je vais avoir une variable {Xp.%player%} et {Level.%player%}. De plus je vais définir le nombre d'xp nécessaire pour augmenter de level : 80 ici. Pour créer ma barre de progression à partir de ces 3 éléments je vais devoir aussi définir l'échelle de ma barre par exemple 10,20,50,75,100.... on va prendre 20 ici. Donc pour comprendre le petit calcule mathématique: C'est simple on va calculer le pourcentage de la valeur actuelle sur la valeur max : set {_1} to ({Xp.%player%}/80) A partir de ce pourcentage on va calculer la valeur qu'il représente sur notre échelle Je m'explique : On va dire que j'ai 5 xp donc {Xp.%player%} = 5 Le calcule: "set {_1} to (5/80)" va donné "{_1} = environ 0.06" 0.06 veut dire que nous avons atteint 6% de l'objectif (80) On va rapporter cette progression 6% sur notre échelle 20 set {_1} to rounded down ({_1} * 20) Le calcule: "set {_1} to rounded down (0.06/20)" va donné "{_1} = environ 1.2" --> 1.2/20 Après avoir cette donnée il ne reste plus qu'a créer la barre: Il va falloir mettre 1 barre verte (1.2 arrondi) et 19 barres rouge set {_total} to "" loop {_1} times: ----> 1 set {_total} to "%{_total}%&a▋" ----> On ajoute une barre verte loop (20 - {_1}) times: ----> 20 - 1 = 19 set {_total} to "%{_total}%&c▋" ----> On ajoute une barre rouge message "&eVotre progression &7[%{_total}%&7] Résultat pour {Xp.%player%} = 5: [ATTACH=full]3455[/ATTACH] Résultat pour {Xp.%player%} = 57: [ATTACH=full]3456[/ATTACH] Code complet avec des options pour plus de facilité : options: Max: 100 Echelle: 20 Logo: ▋ valeur: {Xp.%player%} command /barre: trigger: set {_1} to ({@valeur}/{@Max}) set {_1} to rounded down ({_1} * {@Echelle}) set {_total} to "" loop {_1} times: set {_total} to "%{_total}%&a{@Logo}" loop ({@Echelle} - {_1}) times: set {_total} to "%{_total}%&c{@Logo}" message "&6>> &a{@valeur}&e/&a{@Max} &4- &7[%{_total}%&7]"
  14. 6 points
    j'aimerais tellement qu'il y ais un bouton DisLike rien que pour cliquer dessus quand quelqu'un le mendie !
  15. 5 points
    Bonjour, Je suis donc nouveau sur Skript-mc, j'ai un certain niveau et c'est pour ça que je vais vous faire partager une de mes connaissances qui est assez recherché. Comment pourrait-on créer un fichier .yml ? Tout d'abord, il faut savoir skript tout seul ne permet pas l'édition de fichier .yml C'est pour ça que nous allons utiliser WildSkript. WildSkript permet de : créer/éditer/lire des fichiers. On place alors les expressions qui permettent de créer le fichier la première fois, au démarrage. On vérifie en premier si un dossier du nom de votre skript ou autre est créé. S'il ne l'est pas on le créer. On vérifie ensuite si un fichier config.yml ou autre est créé. S'il ne l'est pas on le créer. ( Ne vous inquiétez pas je vous expliquerais plus en détail après la fin des explications texte. ) Nous créons donc ces fameuses lignes du code du .yml juste en dessous. Ensuite nous établissons des variables qui sont les options que vous avez définis dans votre fichier. Et voilà. Le code donne quoi maintenant ? Immaginons-nous, on voudrait par exemple configurer un message : # _______ _ _ _ # |__ __| | | (_) | | # | |_ _| |_ ___ _ __ _ ___| | # | | | | | __/ _ \| '__| |/ _ \ | # | | |_| | || (_) | | | | __/ | # |_|\__,_|\__\___/|_| |_|\___|_| #========================================================================================# on load: if folder "plugins/message" doesn't exists: #Vérification du dossier send "&e&lLe dossier plugins/message n'existe pas ! " to console send "&aCréation du dossier en cours." to console create folder "plugins/message" #Création du dossier send "&2Dossier créée" to console if file "plugins/message/config.yml" doesn't exists: #Vérification du fichier send "&e&lLe fichier n'existe pas !" to console send "&aCréation de : config.yml.." to console create file "plugins/message/config.yml" #Création du fichier wf "Message: Bonjour je suis kwizzy !" to "plugins/message/config.yml" #wf ( qui vient de wildskript ) permet d'éditer le fichier wait 1 tick set {message} to value "Message" get of "plugins/message/config.yml" #Ici on dit que la variable {message} correspond a Message dans le fichier précédant. else: #Dans tous les autres cas il faut set la(les) variable set {message} to value "Message" get of "plugins/message/config.yml" command /message: trigger: send "%{message}%" /!\ Pour l'instant vous ne pouvez pas mettre de variables dans le fichier /!\
  16. 5 points

    Classique

    Version 1.1.0

    461 downloads

    ►100% Customisable (Bientôt)! La plugin possède un fichier config avec toutes les options pour le customiser à votre guise ! Important: Le fichier config n'est pas encore terminé, le plugin est tout de même customisable à 50%, une partie dans le fichier config (.../plugins/MagicHub/config.yml) et une partie dans le skript (Options:) ! ►Items (Inventaire)! Dans l'inventaire se trouve 5 items principaux : ► Le profil (Informations du joueur) ► L'affichage (Afficher/Cacher des joueurs/amis) ► Le menu principal (Exécute une simple commande afin d'ouvrir votre propre menu de jeu) ► La boutique (Permet d'acheter un rang afin d'accèder à certaines cosmétiques) ► Les cosmétiques (Ouvre le menu des cosmétiques) ► Les gadgets! ► La Garde-Robe (Bientôt)! ► Les particules! ► Les compagions! ► Les auras! ► Les émotions! Ex: ► Les commandes! La commande principale est /magichub ( Aliase: /mh ) : ► setobby: Définir le point d'apparition par défaut du joueur à chaque connexions. ► version: Afficher la version du plugin. ► credit: Afficher les crédit de l'auteur. ► rank: Définir le niveau d'accès aux cosmétiques d'un joueur. ( Iron = Default access, Gold = Vip access, Diamond = Full access ) ► world: Modifier la configuration du monde. ( Assez important, première chose à faire !) ► player: Accèder au paramètre du joueur, modifier son accès à chacune des cosmétiques ! Vous pouvez lui donner l'accès à une cosmétiques, ou bien le lui en enlever ! ► mysteryboxes: Accèder à la configuration des mysteryboxes, en créer, supprimer, donner, retirer... ► lootbox: Définir l'emplacement de lootbox, emplacement du joueur. ► reload: Accèder au paramètre de reload, activation, désactivation du plugin. Il y a également la command /friends ( Aliases: /ami, /amis, /friend ) : - Cette commande permet d'ajouter des amis à votre liste ( Sans requête d'amis ), cela permet notamment de n'afficher que vaut amis dans le menu Affichage ( Voir explication ci-dessus ) ! ►Addons! Important: Fonctionnel uniquement en 1.8.x pour le moment (Bientôt 1.9 & 1.10 et 1.11 plus tard), Java 8 (SkDragon) Nécéssaire, HolographicsDisplay, SkDragon, SkStuff, SkQuery-Lime, SkRayfall, Skript2.2, WildSkript Voici le pack que j'utilise: (NOUVEAU LIEN) http://www.mediafire.com/file/h47mvdzzv6mrz96/MagicHub_-_Pack.zip/file ►Vidéos! Si vous avez des vidéos à proposer, envoyez le ici : https://goo.gl/forms/QWU8blRC8LWzqnIz1 Ma vidéo (Bientôt): ►Fonctions (~ Api - En développement)! MagicHubLoadDefaultInventory(PLAYER*) #Charge l'inventaire par défaut du joueur *! MagicHubOpenMenu("MENU NAME"*, PLAYER**) #Ouvre le menu * au joueur **! #Liste des menus: #- profil #- cosmetics #- display #- shop MagicHubGadgets(PLAYER*, "EFFECT NAME"**) #Fait executer une effet ** au joueur *! #Liste de effets: #- rainbow #- blizard #- discoball #- wave #- drop #- vortex ►Suggestion d'idée! J'ai besoins de vous ! Suggérer vos idées pour faire progresser MagicHub et ajouter une maximum de funs pour les joueurs! Suggérez ici: https://goo.gl/forms/d3NiyqB6Y65yINJI2 - WildSkript > Skript-Yaml ►Liste des suggestions! Aucunes pour le moment ? ►Rapport de bugs! Vous avez trouvé un bug ? Aller rapportez-le moi pour améliorer MagicHub! Rapportez ici: https://goo.gl/forms/l53AfXNZGjR4B9xB3 ►A faire! - Finir le fichier config, - Optimiser, - Compagion: WatchDog, - Vos suggestions approuvés, - Bug patch Ce skript est à votre disposition, vous pouvez le modifier, le partager entre amis, mais il vous est interdit de l'utiliser à des fins lucratives, ainsi que de vous appropriez les mérites ! Tip: Ce skript est soumis à un copyright (CopyRigthFrance.fr), s'appropriez ou revendre se skript pour ètres passible de peines pénales !
  17. 5 points
    Voici une petite portion d'algorithme qui vous permettra de faire un Top (Tri décroissant). L'entrée de l'algorithme : une liste nommée {_liste::*} et dont les index correspondent à des joueurs et les valeurs à leurs scores respectifs. set {_copieliste::*} to {_liste::*} #On fait une copie de la liste pour éviter que cette dernière soit "endommagée" loop X times: #Remplacer X par le TopX (si vous voulez faire un Top5, mettez "loop 5 times:" clear {_maxv} loop {_copieliste::*}: if {_maxv} is not set: set {_maxv} to loop-value-2 set {_maxi} to loop-index-2 else if {_maxv} is smaller than loop-value-2:#Si vous souhaitez faire un "Flop" (Tri Croissant), mettez "is higher than" à la place de "is smaller than" set {_maxv} to loop-value-2 set {_maxi} to loop-index-2 clear {_copieliste::%{_maxi}%} set {_topv::%loop-number%} to {_maxv} set {_topi::%loop-number%} to {_maxi} Vous obtenez en sortie deux listes : la première est {_topv::*} dont les index correspondent à la position dans le top et les valeurs au score correspondant, et la deuxième est {_topi::*} dont les index correspondent également à la position dans le top et les valeurs au joueur correspondant. Pour tester le code :
  18. 5 points
    Salut a tous. Suite a une demande en message privée de @Silass_ qui avais un problème pour faire fonctionner les fonctions, je me suis rendue compte qu'il y avait très peut d'explication sur ce sujet, ou alors des exemples qui ne sont pas fonctionnel. j’étais tomber une fois ( rassurer vous je me suis pas fait mal :D ) sur un bon court tutoriel en anglais mais je ne le retrouve pas, je vais donc essayer de partager avec tous le monde ce que j'en avais compris. Tous d'abord ce que je vais utiliser c'est Skript 2.2 minimum et l'Addon SkQuery ( et oui c'est dans le titre ^^ ). La base d'une fonction: function Nom(t:text)::text: return {_t} ont as d'abord " function " qui commence par dire a Skript /!\ ceci sera une fonction. Nom => c'est le nom de votre fonction, vous pouvez lui donner n'importe quel nom mais éviter les espaces et les accents. text => seras le type de retour de la fonction, cela peut être "player,number,text..." en gros les types que skript peut retournée. return => c'est ce que la fonction va retournée ( ici sa renvoie {_t} car le type de la fonction est "text"). Voici quelque exemples et leur explication. Imaginons une fonction qui permet d'envoyer un message a un joueur pour une commande de give. command /giveme <item>: trigger: if player has permission "sk.grade.vip": if player has permission "sk.kit": if player has permission "sk.give.%{arg-1}%": message "Give Autorisé" else: message "Give refusé" else: message "Give refusé" else: message "Give refusé" ce Skript est volontairement absurde mais c'est pour l'exemple qui va venir ;) que constatons nous du skript ci-dessus ? 1 - ont vérifie plusieurs permission 2 - un message identique reviens "Give refusé" si je veux modifié le texte "Give refusé" il faut que je le modifie trois fois dans ce code et encore ici le Skript et très court, si il était plus long, ont risquerais d'en oublier un, de plus si je fait le même message pour différent kit, et bien il faudrait le modifié a d'autres endroit encore, donc comment faire pour rendre la modification du message "Give refusé" plus simple ? et bien avec une fonction ont peut je reprend le skript ci-dessus et j'ajoute une fonction. function MsgGive(p: player, t: text): if {_t} is "yes": send "Give Autorisé" to {_p} else: send "Give refusé" to {_p} command /giveme <item>: trigger: if player has permission "sk.grade.vip": if player has permission "sk.kit": if player has permission "sk.give.%{arg-1}%": MsgGive(player,"yes") else: MsgGive(player,"no") else: MsgGive(player,"no") else: MsgGive(player,"no") voila si je veux modifier "Give refusé" je peut le faire dans la fonction et ce serras modifié partout dans mon code. bon ok c'est bien beau je vous ais balancer un bout de code mais l'avons nous compris ? au cas ou je vais le détailler ^^ function MsgGive(p: player, t: text): <= vous constaterais la disparition du type de retour, en effet il est possible de faire une fonction qui ne renvoie rien mais qui ce contente d’exécuter ce quelle as dedans. ont a déjà vue plus haut que MsgGive était le nom de la fonction p => est un nom de variable qui aura pour valeur un joueur de type "player" p peut être de n'importe quel nom, c'est a dire qu'ont peut faire aussi ceci function MsgGive(joueur: player, t: text): maintenant le nom de la variable est joueur et aura pour valeur un joueur "player" player étant le type que skript va interpréter t = > et bien comme pour p, mais cette fois ont auras une valeur de type "text" encore une fois, t peut avoir un autre nom comme "msg, texte, ... libreAvotreImagination" p et t étant des noms de variable, nous allons les réutiliser dans la fonction comme une variable temporaire. vous savez les variables {_variable} avec le _ ' tiret du 8 comme certain aime le dire :D ' ce qui donne {_p} et {_t}, qui aurons les valeur que vous aurais mie dans l'appelle de la fonction: MsgGive(player,"no") player étant le joueur qui a taper la commande, "no" étant une valeur texte. --------------------------------------------------------------------------------------------------------------------------- _______ Suite plus tard avec plus d'exemple sur type de retour de la fonction_____________ je finirais plus tard le reste du tutoriel, mais vous avez normalement de quoi commencer a comprendre ;) mais aussi, cela vous permet de me dire quelle sont les parties qui sont difficile a comprend afin que je puisse l'améliorer et rendre plus claire ce que j'ai écrit mais aussi ce qui va suivre ;) bien évidement, j'autorise le Staff a corriger mon écrit qui doit forcément contenir des fautes ( si vous pouviez juste me MP quelle était les fautes histoire de pouvoir m'améliorer en orthographe ;) )
  19. 5 points
    Mise à jour du 09/03/2016 Il est désormais obligatoire d’effectuer des recherches avant de poster une demande d'aide. Les contrevenants s'exposent à un avertissement ou un blâme en cas de récidive (CF Sanctions) Effectuer une recherche sur le forum Documentation skript française Il est obligatoire de préciser l'erreur que vous rencontrez: soit avec un screenshot ou on peut voir toutes les infos ou une copie complète de votre console (Dans un spoiler). Une attention particulière sera porté sur le respect que vous porterez aux membres qui vous aident et la rédaction de vos demandes ; la encore les sanctions tomberons si vous ne respectez pas le règlement. Ceux qui vous aident ne sont soumis à aucune obligation envers vous. Vous n'avez donc aucun droit de leur réclamer un code fonctionnel ou de les forcer à faire le travail à votre place. Si une personne vous donne un bout de code ou des pistes des recherches c'est a vous de creuser pour trouver la solution. Règles précédentes (toujours en vigueurs) Règle d'or : N'attendez pas que l'on vous ponde tout votre code juste parce que vous n'avez pas compris, si vous souhaitez un code plus que de l'aide direction Demande de skripts. Les titres : Les titres du type : "Ça marche pas aidez moi" ou mon "mon skript ne marche plus" sont prohibés vous devez donner des informations claires et précises c'est le but d'un titre. Le code : Utilisez la balise code (insérer code) pour coller les vos codes. Les codes trop long doivent êtres mis entre spoilers. Note : La coloration syntaxique pour Skript est le LUA. Sujets résolus : Les sujet résolus doivent comporter le tag Résolu dans le titre. Les sujets inactifs : À partir de maintenant, les sujets n'ayant eu aucune activité depuis 1 semaine seront supprimés et envoyés vers la section résolus. Et surtout remerciez les skripteurs qui vous ont aidés si vous voulez qu'ils recommencent dans le futur.
  20. 5 points
    Bien le bonjour, Aujourd’hui je vous propose un petit tuto pour utiliser la coloration syntaxique Skript sur sublime text. Rapide topo sur sublime text : Sublime est un IDE qui pour moi fait partis des meilleurs, autant pour sa légèreté, son confort d'utilisation et son extensibilité. Il gère nativement une cinquantaine de langages, et il existe des plug-ins pour tout et n’importe quoi.Petite note Sublime texte est payant à la winrar (un pitit message tous les 50 enregistrements). Essayez-le vous ne serez pas déçus. Vous êtes prêts ? On est partis. Déjà, si ce n'est pas déjà fait installez l'ide : [Hidden Content] Une fois lancé vous suivez les étapes indiquées pour installer package control: [Hidden Content] Le plus dur est fait vous pourrez désormais à l'aide de package control accéder a toute un libraire de plug-in pour a peut près tout. Je laisse l'installation de package control qui donne accès à des centaines de plugins utiles [spoiler=Installation d'un plugin] Pour installer un plug-in : Préférences -> Pakage Control et sélectionnez a l'aide des flèches du clavier et d'entrer "Package control : install package" Patientez quelques secondes un autre fenêtre s'ouvre tapez alors Skript (ou le nom du plug-in que vous voulez) appuyez sur entrer pour valider l'installation et c'est fait vous n'avez plus qu'a ouvrir un .sk Update : Le package n’étant plus disponible sur package control voici comment remédier au problème : Téléchargez le fichier ci-joint Télécharger Sur sublime text dans le menu Préférences -> browse packages Un fois dans le dossier remontez s'en d'un et glissez le zip tel quel dans le dossier Installed packages Redémarrez Sublime text Je vous invite à explorer plus en détail les secrets de cet IDE qui est bourré de fonctionnalités, si vous êtes perdu n'hésitez pas à me demander ou à utiliser google :p
  21. 5 points
    Dans les configs serveur "spigot par exemple" passe le paramètre bungeecord a true afin que l'IP des joueurs soit leur propre IP [Hidden Content] Aexon un ban IP c'est pas un ban de compte Un ban IP bloque tous les comptes meme non banni qui essayerais de ce connecter avec une IP qui aurais été banni
  22. 5 points
    Ajout d'une nouvelles règle sur la modération des sujets n'ayant aucune activité
  23. 5 points
    ouai il a été refusé sans m'en informer... J'ai mis à peu prés 1h30 à coder cette fonction... Bref, mettez cette partie du code tout en haut de votre skript: [spoiler=La Fonction] function ToggleAiles(player: player , particule: text): if {ailes.%{_player}%} isn't set: set {ailes.%{_player}%} to true while {_player} is online: wait 1.5 tick if {ailes.%{_player}%} is true: set {_h} to 2.1 set {_c} to 7 loop 14 times: add -0.1 to {_h} if {_h} is 2: set {_c} to 0.5 set {_loop} to 1 else if {_h} is 1.9: set {_c} to 0.5 set {_loop} to 2 else if {_h} is 1.8 or 1.7: set {_c} to 0.4 set {_loop} to 4 else if {_h} is 1.6: set {_c} to 0.3 set {_loop} to 4 else if {_h} is 1.5: set {_c} to 0.2 set {_loop} to 4 else if {_h} is 1.4: set {_c} to 0.1 set {_loop} to 4 else if {_h} is 1.3: set {_c} to 0.1 set {_loop} to 3 else if {_h} is 1.2: set {_c} to 0.1 set {_loop} to 2 else if {_h} is 1.1: set {_c} to 0.2 set {_loop} to 2 else if {_h} is 1.0: set {_c} to 0.2 set {_loop} to 3 else if {_h} is 0.9: set {_c} to 0.3 set {_loop} to 2 else if {_h} is 0.8: set {_c} to 0.4 set {_loop} to 1 loop 2 times: loop {_loop} times: set {_loc} to location 0.4 behind {_player} set {_yaw} to yaw of {_player} delete {_loc1} delete {_loc2} if {_player}'s horizontal facing is east or west: set {_loc1} to location {_h} above {_c} north {_loc} set {_loc2} to location {_h} above {_c} south {_loc} else: set {_loc1} to location {_h} above {_c} west {_loc} set {_loc2} to location {_h} above {_c} east {_loc} add 0.1 to {_c} loop 2 times: loop all players: show 1 "%{_particule}%" particles at {_loc%loop-value-4%} for loop-player offset by 0 , 0 , 0 else: stop else: delete {ailes.%{_player}%} Puis N'importe ou dans votre skript vous pourrez mettre cette ligne ToggleAiles(player , "FLAME") Vous pouvez changer le player par ce que vous voulez tant que c'est un joueur et "FLAME" par la particule de votre choix: [Hidden Content] Un Petit J'aime ca fait plaisir :)
  24. 5 points
    Bonjour, Aujourd'hui tutoriel sur l'extension PirateSK utilisant le plugin Skript et World Edit. I Première étape : Premièrement faites une sélection avec worldedit. Puis faites ces commandes : //copy //schematic save (Nom de Votre schematic) II Deuxième étape : Dans un fichier skript, définissez un événement ou une commande à exécuter pour placer la schematic. A l'aide de l'effet de PirateSk, nous allons coller le schematic: command /test: trigger: paste schematic "test" at location of player A la place du test, mettez le nom de la schematique voulue. Quelques effets grâce à PirateSK pour les schématics ( Documentation de SkUnity ) : [Hidden Content] Merci à vous d'avoir suivit ce tutoriel. N'oubliez pas de laisser un J'aime, c'est super sympa. Si des bugs ou des questions me parviennent, je répondrai dans ce topic. Si vous avez un problèmes, venez me mp sur le fofo !
  25. 5 points
    Bonjour, En réponse à votre demande, je vous présente Beautiful Tab List, un petit script permettant d'afficher un message personnalisé dans la liste des joueurs (TAB). Configuration: Tous les messages sont éditables, il suffit de modifier la catégorie "options". Commandes et Permissions: /beautifultablist refresh ou /btl refresh Permet de rafraichir la liste de tous les joueurs. permission: skript.beautifultablist Droits: Vous êtes autorisés à utiliser et modifier ce script comme bon vous semble, mais s'il vous plait, ne le republiez pas, donnez plutôt le lien vers ce sujet. De plus, je vous demanderai de bien vouloir me laisser le crédit de la création de ce script. [spoiler=Beautiful Tab List] # SKRIPT - BeautifulTabList # # # # Description: Permet d''afficher un message personnalisé # # dans la liste des joueurs (TAB). # # Auteur: The__V # # Dependances: Skript, WildSkript, SkRayFall # options: tabHeader: "&5Bienvenue sur %server name% %loop-player%" tabFooter: "&7&oEn ligne: &d%amount of players%&7/&5%max players%" refreshLog: "[beautifulTabList] Raffraichissement des tabLists terminé avec succès." refreshNotif: "&7[&b&lBeautifulTabList&r&7] &bRaffraichissement des tabLists terminé avec succès." On Skript Start: execute console command "/beautifultablist refresh" On Join: execute console command "/beautifultablist refresh" On Quit: execute console command "/beautifultablist refresh" command /beautifultablist refresh: aliases: btl description: Permet de rafraichir les tabLists de tous les joueurs. Requis en cas modification des messages. permission: skript.beautifultablist executable by: console and players trigger: loop all players: set tab header to {@tabHeader} and footer to {@tabFooter} for loop-player wait 1 tick log {@refreshLog} if command sender is not console: message {@refreshNotif} to the command sender
×

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.