Aller au contenu

Classement


Contenu populaire

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

  1. 12 points

    Classique

    Version 2.2.3 + Installer 1.4

    2213 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 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
  2. 9 points

    Classique

    Version 1.0.1

    290 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) : 1. 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.
  3. 8 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.
  4. 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.
  5. 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
  6. 6 points

    Classique

    Version 1.0.0

    163 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.
  7. 6 points

    Classique

    Version Dev 2.6

    534 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
  8. 6 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 :
  9. 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 ?
  10. 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
  11. 6 points
    Attention, le titre signifie les profondeurs de Skript. Si vous n'avez pas les bases en Skript, vous pouvez oublier le tutoriel qui va suivre. Il utilise des connaissances un minimum approfondis. Hello ! Bienvenue dans le LPS #1. Aujourd'hui, on commence sur les functions. Un aspect très intéressant de Skript 2.2. Pourquoi ? Car une function peut-être utilisée de manière à optimiser un Skript. La base On va commencer par la base, comment définir une function. Une function doit être défini tout en haut d'un Skript. On va faire une function qui permettra de faire un Whisper (Message privé). Commençons par faire la base de la function. function Whisper(player: player, msg: text) Pour faire simple, Whisper correspond au nom de la function. Player, à la variable local que l'on va utiliser indiquant un joueur et msg à la variable local pour un text. Notre base étant créée, utilisons la ! Le code On va faire en sorte que {_msg} soit envoyé à {_player} Rien de plus simple ! Finissons donc la function function Whisper(player: player, msg: text): send "%{_player}% : %{_msg}%" to {_player} # #! La variable player correspond au joueur et la variable msg au text :D stop Maintenant, il nous faut utiliser cette function. L'utilisation de la function Pour utiliser la function, nous allons indiquer le joueur et le message dans un commande /w. command /w [<player>] [<text>]: trigger: if arg 1 is set: if arg 2 is set: Whisper(arg-1, "%arg-2%") # #! Les textes sont toujours entre guillemets. Le reste on s'en fou un peu :D else: "Syntax incorrecte. &e/w <Joueur> <Texte>" else: "Syntax incorrecte. &e/w <Joueur> <Texte>" [spoiler=Le code en entier que j'ai fait] function Whisper(player: player, msg: text): send "%{_player}% : %{_msg}%" to {_player} # #! La variable player correspond au joueur et la variable msg au text :D stop # #! Comment l'utiliser ? command /w [<player>] [<text>]: trigger: if arg 1 is set: if arg 2 is set: Whisper(arg-1, "%arg-2%") # #! Les textes sont toujours entre guillemets. Le reste on s'en fou un peu :D else: "Syntax incorrecte. &e/w <Joueur> <Texte>" else: "Syntax incorrecte. &e/w <Joueur> <Texte>" Success, votre function est bonne et vous pouvez désormais l'utiliser partout :D Ps : Pour utiliser un uuid, on set une variable
  12. 6 points
    j'aimerais tellement qu'il y ais un bouton DisLike rien que pour cliquer dessus quand quelqu'un le mendie !
  13. 6 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
  14. 5 points

    Classique

    Version 2.2

    48 downloads

    Layrah est un Skript réalisé par Baptiste J.#8847 qui est actuellement en version 2.0 ! Layrah est actuellement fonctionnel en version 1.12.2 et les add-ons nécessaires sont fournis pour cette version. Cependant, il est compatible avec les versions supérieures si vous mettez à jour vos add-ons avec vos propres versions. Si vous veniez à rencontrer quelconque problèmes relatifs à ce Skript, contactez directement Baptiste J.#8847 plutôt que de passer par les commentaires afin d'avoir une assistance plus rapide et certainement plus efficace ! Fonctionnalités (V2) Sanctions appliquées via UUID pour éviter les contournements via changement de pseudonymes (serveurs crackés fortement déconseillé). Customisation de 90% des messages via fichiers de configuration .yml, et commande de rechargement et d'application en jeu (chemin : /plugins/Layrah). [Nouveauté 2.0] Les sanctions peuvent être appliquées correctement sur les joueurs déconnectés. Les sanctions dans le casier d'historique de modération des joueurs peuvent être retirées en une commande, afin de purger un casier d'un utilisateur. Une confirmation est demandée à chaque application de sanction, et suppression de casier, afin d'éviter les erreurs. Les sanctions peuvent être appliquées de manières silencieuses dans le menu de confirmation de votre sanction. Seul vous verrez l'annonce ! [Nouveauté 2.0] Animation activable et désactivable pour les bannissements, avec feux d'artifices, éclair(s) et notification sonore dans les fichiers de configuration .yml. [Nouveauté 2.0] Système de protection de l'espace de discussion, avec censure modifiable (les mots censurés peuvent être ajoutés/retirés en jeu via une commande). Système de désactivation de commandes en étant réduit au silence modifiables (les commandes bloqués peuvent être ajoutées/retirées en jeu via une commande). [Nouveauté 2.0] Messages cliquables et interactifs, pour faciliter les commandes et rendre vos modérateurs plus rapides et efficaces. Affichage des informations des utilisateurs (UUID, IP, position, statut de bannissement, bâillon, etc...). Personnalisation des informations que vous souhaitez voir dans le /whois (fonctionnalité citée juste au dessus), via fichiers de configuration .yml ! [Nouveauté 2.0] Les sanctions (hormis avertissements) ne peuvent être additionnées. Vous ne pouvez pas bannir quelqu'un de banni par exemple. Les sanctions sont enregistrées par numéros, pour être facilement traçables, et avoir les détails. Système de signalements avec délai entre chaque signalement. Les messages reçus par les modérateurs sont interactifs et téléportent ! [Nouveauté 2.0] Système de gestion de l'espace de discussion via la commande /chat. Vous pouvez vider votre t'chat et le bâillonner pour éviter les débordements ! [Nouveauté 2.0] L'intégralité des commandes peuvent être activées/désactivées si vous ne souhaitez pas les utiliser via le fichier de configuration .yml ! [Nouveauté 2.0] Les actions de modération sont enregistrées dans les fichiers de log accessibles au chemin /plugins/Skript/logs/Layrah ! [Nouveauté 2.0] Les sanctions temporelles (bannissement et bâillons) peuvent être définitifs, mais aussi temporaire, et en une seule commande (cf. Commandes) ! [Nouveauté 2.0] Commandes (V2) Recharger les fichiers .yml (/layrah) Information(s) utilisateur(s) - Visualisez les informations en jeu de vos utilisateurs. Syntaxe : /whois <utilisateur>. Signaler un utilisateur - Signaler les comportements inappropriés aux modérateurs du serveur. [Nouveauté 2.0] Syntaxe : /report <utilisateur> <raison>. Bloquer les commandes - Interdisez l'accès à certaines commande lorsque l'utilisateur est réduit au silence. [Nouveauté 2.0] Syntaxe : /command_mute <add / remove / list> [entrée]. Censure de l'espace de discussion (/protection) - Gérer la censure de différents mots dans le t'chat. Syntaxe : /protection <add / remove / list> [entrée]. Bannissement (/ban) - Suspendez un utilisateur de votre serveur et interdisez-lui l'accès à celui-ci, pour la durée que vous souhaitez. Syntaxe : /ban <utilisateur> <durée> <raison> - La durée s'exprime de cette façon : nombre durée (exemple: 1d) - s, m, h, d ou PERMANENT [Nouveauté 2.0] Bâillon (/mute) - Bâillonnez un utilisateur de votre serveur et interdisez-lui l'accès à l'espace de discussion. Syntaxe : /mute <utilisateur> <durée> <raison> - La durée s'exprime de cette façon : nombre durée (exemple: 1d) - s, m, h, d ou PERMANENT [Nouveauté 2.0] Éjection (/kick) - Éjectez les utilisateurs du serveur. Ils pourront se reconnecter juste après. Syntaxe : /kick <utilisateur> <raison>. Avertissement (/warn) - Attribuez des avertissements à vos utilisateurs. Syntaxe : /warn <utilisateur> <raison>. Retrait de suspension (/unban) - Retirer la suspension d'un utilisateur. Syntaxe : /unban <utilisateur> <raison>. Retrait de bâillon (/unmute) - Retirer le bâillon d'un utilisateur. Syntaxe : /unmute <utilisateur> <raison>. Afficher une sanction précise (/sanction) - Afficher les différents détails d'une sanction via le numéro associé à la sanction. Syntaxe : /sanction <numéro de sanction>. Casier (/casier) - Gérer les différentes sanctions du casier d'un utilisateur. Syntaxe : /casier <utilisateur> [numéro de l'entrée à retirer du casier]. Discussion privatisée pour l'équipe (@) - Discutez de façon privée entre les membres de votre équipe. Syntaxe : Entrez votre message dans le t'chat, en commençant celui-ci par le symbole @. Permissions (V2) layrah.* ➟ Accès à l'intégralité des commandes de Layrah. [Nouveauté 2.0] layrah.admin ➟ Accès aux commandes d'administration & de gestion du Skript. layrah.chat ➟ Accès à la commande gestion du t'chat (/chat). [Nouveauté 2.0] layrah.ban ➟ Accès à la commande de bannissement (/ban). layrah.ban.permanent ➟ Accès à la caractéristique "PERMANENT" pour la durée des bannissements. [Nouveauté 2.0] layrah.unban ➟ Accès à la commande de dé-bannissement (/unban). layrah.mute ➟ Accès à la commande d'application de bâillon (/mute). layrah.mute.permanent ➟ Accès à la caractéristique "PERMANENT" pour la durée des bâillons. [Nouveauté 2.0] layrah.unmute ➟ Accès à la commande de retrait de bâillon (/unmute). layrah.kick ➟ Accès à la commande d'éjection (/kick). layrah.warn ➟ Accès à la commande d'avertissement (/warn). layrah.bypass ➟ Permission permettant de ne pas pouvoir recevoir de sanction. layrah.chat.bypass ➟ Permission permettant de pouvoir ignorer la restriction de bâillon global de t'chat. [Nouveauté 2.0] layrah.sanction ➟ Afficher les détails précis d'une sanction (/sanction). layrah.casier.view ➟ Afficher visuellement le casier d'un utilisateur. layrah.casier.purge ➟ Supprimer une sanction d'un casier d'un utilisateur. layrah.notify ➟ Visualiser les notifications de modération (exemple: notifications de censure). layrah.reports.view ➟ Visualiser les notifications relatives aux signalements. [Nouveauté 2.0] layrah.whois ➟ Visualiser les informations d'un utilisateur (/whois). layrah.staffchat ➟ Visualiser l'espace de discussion de l'équipe. Add-ons nécessaires au bon fonctionnement du Skript Skript 2.4.1 (1.12.2) SkQuery 3.6.4 (1.12.2) TuSKe 1.8.2-PikachuPatchv3 (1.12.2) skript-yaml 1.3.2 (1.12.2) Il est conseillé de mettre le dateFormat dans config.sk de Skript de base à dd/MM/yyyy HH:mm ! Quelques images La suite est a découvrir par vous même... Droits d'auteur & formalités Étant donné que les droits d'auteurs de contenus si facilement modifiables sont difficiles à gérer, Layrah peut être utilisé et modifié si vous le souhaitez, vous ne serez en aucun cas inquiété. Néanmoins, il est strictement interdit de s'approprier le Skript, bien que vous pouvez le modifier à votre guise. Il est également interdit de le proposer au téléchargement, même modifié. Aucune aide ne sera fournie en cas de modification du code lui-même (hormis les messages personnalisables) et si le Skript est utilisé hors de la version 1.12.2 et qu'il rencontre un problème majeur. Si vous rencontrez cependant quelconque problème avec ce Skript, vous pouvez me contacter sur Discord Baptiste J.#8847. Si vous trouvez mon Skript utile, fonctionnel, et qu'il vous est pratique, n'hésitez pas à laisser un commentaire après votre téléchargement, avec une note (PS: Merci à noftaly qui m'a passé une fonction d'un de ses anciens code qui m'a fait avancé et optimisé une commande, et merci à @DKSM pour avoir participé à la recherche des problèmes qui ont été corrigés lors de la mise à jour 2.2 de Layrah.)
  15. 5 points

    Classique

    Version 1.0

    313 downloads

    Rentabilisez votre serveur ★ PRÉSENTATION ★ MinePay est un système de micro-paiement en jeu totalement automatisé. Il fonctionne grâce au service de SMS surtaxés proposé par DediPass (https://dedipass.com). Il vous suffit de créer un compte DediPass, puis d'ajouter une offre de micro-paiement et de la relier au Skript MinePay. Les joueurs pourront ensuite utiliser ce service en envoyant un SMS surtaxé et en entrant le code reçu directement en jeu pour confirmer le paiement et recevoir une récompense. Une fois l'argent crédité sur votre compte DediPass, vous pouvez l'envoyer sur un compte en banque ou un compte PayPal. ★ FONCTIONNALITÉS ★ ✔ Paiements instantanés & 100% Automatiques ✔ Simple d'utilisation ✔ Fichier logs avec historique des achats ✔ Récompense configurable ✔ Design clair & élégant ✔ Fonctionnement détaillé pour les joueurs ★ COMMANDES ★ ★ /Pay : Afficher l'offre ● /Pay <code> : Valider un code ● /Minepay : Afficher la page d'aide ● /Minepay history : Voir le nombre de codes que l'on a validés ● /Minepay history <player> : Voir le nombre de codes qu'un joueur a validés ● /Minepay info : Voir les informations concernant MinePay et le système de paiement ★ INSTALLATION ★ Pour commencer, vous devez créer un compte DediPass (https://dedipass.com/fr/signup) Dans "URL du site" mettez par exemple "https://google.fr" 1. Création du service ETAPE 1 : Une fois connecté, cliquez sur "ajouter un service" Sélectionnez "Produit Unique" ETAPE 2 : Site » Sélectionnez "ajouter un site" et mettez ce que bon vous semble (Aucune importance). Nom » Aucune importance, mettez ce que vous voulez. URL d'installation » Aucune importance, vous pouvez mettre "https://google.fr". Code » Entrez un code à 8 caractères. Il vous permettra de tester le service, notez le bien. Paiement » Sélectionnez "redirection" URL de redirection » Aucune importance, vous pouvez mettre "https://google.fr". ETAPE 3 : Cherchez la section "SMS" des pays voulus et choisissez l'offre que vous souhaitez. Le "mot-clé" correspond au mot que les joueurs devront envoyer par SMS au numéro surtaxé pour payer ("HELLO","CODE"...). Notez bien ce code, il vous servira plus tard. ETAPE 4 : Cliquez sur l'onglet "SMS" à droite et notez le numéro de téléphone (il vous servira plus tard) puis passer directement à l'étape suivante. ETAPE FINALE : Allez à "3. Valider la transaction" puis copier une partie du code de droite comme indiqué sur cette image : Collez ensuite ce bout de code dans un document texte quelconque et récupérez les valeurs "private_key" et "public_key" comme indiqué sur cette image : REMARQUE : Comme vous pouvez le voir, les "&" ne font pas parti des clefs. REMARQUE : Gardez bien ces valeurs à portée de mains, elles sont nécessaires pour faire fonctionner MinePay. 2. Installation du service Félicitations ! Vous y êtes presque Il vous suffit maintenant d'installer le skript sur votre serveur et de rentrer les valeurs précédentes dans celui-ci (Clef publique, clef privée, prix du sms, numéro de téléphone surtaxé et code du SMS) Une fois que vous avez configuré le paiement et la récompense, relancez le script (/sk reload minepay) et utilisez le code de test crée précédemment pour vérifier que le service fonctionne bien. Et voilà ! MinePay est installé ★ ADDON ★ SkQuery ★ NOTE ★ Je ne suis en aucun cas responsable de l'utilisation que vous faites de MinePay. Si vous souhaitez vendre autre chose que des cosmétiques, vous devez indiquer que votre serveur n'est pas affilié à Mojang. Vous devez également faire attention au droit de rétraction de 7 jours prévus par la Loi Française. J'ai ajouté à MinePay une condition de non-valabilité de ce droit lors du paiement (ligne n°120) et une impossibilité de remboursement (ligne n°122) pour vous éviter d'éventuels problèmes liés aux paiements. MENTIONS LÉGALES En utilisant MinePay, vous n'avez pas le droit de : ✖ Vendre le script ✖ Vous approprier le script ✖ Décréditer mon pseudo du script Si vous aimez mon travail, merci de le noter et de me faire part de votre avis dans les commentaires
  16. 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 ;) )
  17. 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 /!\
  18. 5 points

    Classique

    Version 1.2.0

    234 downloads

    Fonctionne en 1.8, 1.9, 1.10, 1.11, 1.12 ! [SkCPS] Description : C'est un skript très simple qui permet de calculer ses CPS dans votre hub (par exemple). Pour ça vous avez une épée (item configurable), qui, quand vous faites un clique-droit dessus, lance un compte à rebours (ou pas, c'est dans la config). A l'issue de ce compte à rebours, le joueurs a 10 secondes pour faire son maximum de cliques. À la fin de ces 10 secondes, Le résultat est divisé par 10 (pour avoir un résultat par secondes, et non par 10-secondes) puis lui est annoncé. Ce skript comporte aussi un système de meilleur score, qui est affiché dans le lore de l'épée. Permissions : skcps.play : (configurable) permission pour jouer skcps.give : (configurable) permission pour recevoir l'épée Configuration : Images : Messages du compte à rebours, des cliques et de l'annonce du score Messages quand on établi un nouveau record Nom et lore de l'épée Add-On : SkQuery (et skript) Idées / bugs / To-do list : Je n'ai pas vraiment d'idée, n'hésitez pas a proposer les vôtres ! A noter: Vous pouvez faire ce que vous voulez de ce skript, mais ne vous l'appropriez-pas. Je sais que c'est un skript très simple, très basique, alors ne mettez pas de mauvaises notes en disant "wouai c tro s1mple come skript alor 1 etoil !" svp ^^(PS: Je l'avais déjà codé à mes débuts en skript, et déjà publié sur ce forum (il y a un an), mais je trouvé qu'il faisait un peu"tâche" car il était assez mal codé... C'étais mes tout debuts ^^ Voici une version propre et mieux optimisée)
  19. 5 points
    Salut, Système beaucoup trop utilisé, et passe maintenant entre les émailles du filet pour la pluspart des détections. Ensuite j'ai examiné ton code, et j'ai retrouvé ceci qui m'as extrêmement fait rire : Tu viens clairement placer des variables totalement fake. Si une personne ne s'y connais pas réellement, et souhaite vraiment se baser sur t'es résultats sans avoir examiner le code, bah il se fait totalement couillé vu que du définie des chiffres random. (C'est quand même vachement culotté de ta part). Je pense donc que ton projet était simplement d'essayer de plagier le système de vérification de Vélocité de FunCraft, vu que leurs système fonctionne plutôt bien. Bonne continuation.
  20. 5 points
    Voila je partage un skript ou il y a 12 couleurs d'une même particules pour vous !! Un screen: J’aimerais juste que l'on me cite si vous le republiez du genre:
  21. 5 points
    Bonjours , Bonsoirs, Je vais vous présentez mon premier tutoriel, Celui ci sera utile pour les commandes d'aide ou si vous souhaitez allez plus vite et sans fautes, ainsi qu'avoir un tchat cliquable. I - Les pré-requis : Il vous sera indispensable d'utilisé Skript et son adon skQuery ( lien en bas du tuto ) . Avoir un éditeur de texte skript ( notepad ++ , sublime texte 3 ..ect ) /!\Pour faire apparaitre dans le tchat les messages ci-dessous , la commande de base est /json II - Json Json nous permettra grâce a cet commande de pouvoir avoir plusieurs possibilité dans le tchat Les différente possibilité sont : (1)- Affiché un message dans le tchat (2)- Affiché un message dans le tchat avec une description si notre curseur est positionné dessus (3)- Affiché un message dans le tchat avec plusieur ligne de description si notre curseur est positionné dessus (4)- Affiché une suggestion de commande dans notre barre de tchat si l'on clique dessus ( avec description ) (5)- Executé une commande si l'on clique dessus ( avec description ) (6)- Affiché un texte cliquable pour transmettre vers une page internet ( avec description ) III - Les Skripts : Il faudra toujours commencer par ceci : command json: trigger: (1) : c'est le plus simple sa nous donnera ceci : command json: trigger: send json of "(1) Message afficher" to player (2) : On peut rajouter une petite description tous simplement comme sa : command json: trigger: send json of "(2) Message afficher avec description!" tooltip "Description" to player (3) : et on peut rajouter une petite ligne de description en dessous grâce à new line : command json: trigger: send json of "(3) Message afficher avec description!" tooltip "ligne 1 %new line%This is line 2 ème ligne" to player (4) : On vas passez au chose serieuse , la on a la suggestion en cliquant dessus : command json: trigger: send json of "(4)Message avec la suggestion si tu clic!" suggest "/msg %player% tien par exemple un message" to player Avec description : command json: trigger: send json of "(4)Message avec la suggestion si tu clic avec la description!" tooltip "Ici la description" suggest "/msg %player% tien par exemple un message" to player (5) : Celle-ci est pas si compliquer , sa vas juste lancer un commande déjà préparer : command json: trigger: send json of "(5)Message si on clic ta une commande de lancer!" run "/msg %player% Voila la commande" to player Avec description : command json: trigger: send json of "(5)Message si on clic ta une commande de lancer avec la description!" tooltip "Description" run "/msg %player% Voila la commande" to player (6) : Plus que c'est avec le lien : command json: trigger: send json of "(9)Message avec le lien!" tooltip "Lien vers skript-mc!" open "[Hidden Content]" to player Maintenant vous savez tous sur les commandes json , a vous de réglez comme bon vous souhaites , comme par exemple au lieu de faire /json changé cet commande par help pour avoir un help cliquable . Code en entier avec chaque ligne et description : #Tutoriel produit fait par Tarradon #Commande pour executer les messages dans le tchat /json command json: trigger: #Message sur le tchat send json of "(1) Message afficher" to player #Message sur le tchat avec description send json of "(2) Message afficher avec description!" tooltip "Description" to player #Message sur le tchat avec plusieurs descriptions send json of "(3) Message afficher avec description!" tooltip "ligne 1 %new line%Voila la 2 ème ligne" to player #Suggestion dans la barre d'écriture send json of "(4)Message avec la suggestion si tu clic!" suggest "/msg %player% tien par exemple un message" to player #Suggestion dans la barre d'écriture avec suggestion send json of "(4)Message avec la suggestion si tu clic avec la description!" tooltip "Ici la description" suggest "/msg %player% tien par exemple un message" to player #Lancé une commande directement en cliquand send json of "(5)Message si on clic ta une commande de lancer!" run "/msg %player% Voila la commande" to player #Lancé une commande directement en cliquand avec suggestion send json of "(5)Message si on clic ta une commande de lancer avec la description!" tooltip "Description" run "/msg %player% Voila la commande" to player #Lancé un lien vers une page internet send json of "(9)Message avec le lien!" tooltip "Lien vers skript-mc!" open "[Hidden Content]" to player Cordialement, Tarradon
  22. 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
  23. 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
  24. 5 points
    La manipulation avancée des inventaires (gui) 1/ La création de l'inventaire Dans ce tutoriel, nous allons voir un autre méthode pour placer des items dans un gui, cette méthode nous sera nécessaire pour la suite du tutoriel. Tous simplement au lieu d'utiliser l'effet 'format slot', nous allons utiliser 'set' (Le 'add' est possible d'utilisation mais nous voulons être plus précis dans l'emplacement de l'objet) : on click with a nether star: cancel event wait 0.01 seconds open chest with 1 rows named "&8>> &7Sélection des jeux" to player set slot 4 of current inventory of player to slimeball named "&2>> &aSlime Attack" with lore "&6==============||&70 joueur(s)||||&bClique Gauche &3>> &bPlus d'information sur le jeux||&bClique droit &3>>&b Rejoindre le jeux||&bClique Molette &3>>&b Mettre le jeux aux favoris" Comment vous l'avez sans doute remarquer dans le lore de mon item, nous allons détecter si le joueur fait un clique droit, gauche ou même le clique molette, c'est ce que nous allons voir dans la suite. 2/ Les détection A/ La détection du nom de l'inventaire et du nom de l'item en question Tout d'abord, nous allons détecter le nom de l'inventaire avec un condition 'if', nous avons bien sûr besoin d'un event: on inventory click: Bon maintenant, nous pouvons détecter le nom de l'inventaire et de l'item en question, que voici ci-dessous: if inventory name of player's current inventory is "&8>> &7Sélection des jeux": if name of clicked item contains "&2>> &aSlime Attack": B/ La détection du type de clique: Cette partie du tutoriel est très courte car la détection prend que une ligne par type de clique donc trois au final. Pour le clique gauche: if "%click type%" contains "LEFT": Pour le clique droit: if "%click type%" contains "RIGHT": Pour le clique molette: if "%click type%" contains "MIDDLE": Voilà pour les trois détection des différents cliques. Je vous fourni le code en entier et bien structuré pour votre plus grand plaisir et pour vous facilité la tâche. 3/ Le code entier on click with a nether star: cancel event wait 0.01 seconds open chest with 1 rows named "&8>> &7Sélection des jeux" to player set slot 4 of current inventory of player to slimeball named "&2>> &aSlime Attack" with lore "&6==============||&70 joueur(s)||||&bClique Gauche &3>> &bPlus d'information sur le jeux||&bClique droit &3>>&b Rejoindre le jeux||&bClique Molette &3>>&b Mettre le jeux aux favoris" on inventory click: if inventory name of player's current inventory is "&8>> &7Sélection des jeux": if name of clicked item contains "&2>> &aSlime Attack": if "%click type%" contains "LEFT": #Mettez ici le code correspondant à l'évenement du clique gauche sur un item ! if "%click type%" contains "RIGHT": #Mettez ici le code correspondant à l'évenement du clique droit sur un item ! if "%click type%" contains "MIDDLE": #Mettez ici le code correspondant à l'évenement du clique molette sur un item ! cancel event 3/ Addons Pour faire cela, il vous faut le plugin skript, ses addons SkQuery et Umbaska( (Les dernières versions) et un serveur en 1.8. Pensez à bien rajouter le 'cancel event' comme mis dans le code pour que le joueur ne puisse pas prendre l'item Sur ce j'espère que mon tutoriel vous aura fait plaisir, si vous avez aimé, pensez à mettre un petit j'aime ou encore me suivre sur le forum. Si vous souhaitez que je fasse d'autres tutoriels dites le moi. Encore merci d'avoir pris le temps de lire mon tutoriel et à bientôt pour de nouvelles aventures ! Cordialement, ItsElkios_
  25. 5 points
    Ajout d'une nouvelles règle sur la modération des sujets n'ayant aucune activité
×

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.