Aller au contenu

noftaly

Membre actif
  • Compteur de contenus

    1845
  • Inscription

  • Dernière visite

  • Jours gagnés

    68
  • Crédits

    481 [Faire un don]

Tout ce qui a été posté par noftaly

  1. Salut ! Comme promis, nous voici pour un tutoriel sur Skore. C'est un addon développé par LimeGlass (encore) et qui permet de faire des scoreboards. Bref commençons. I/ Informations II/ Syntaxes III/ Scoreboards statiques IV/ Scoreboards dynamiques V/ Exemples VI/ Fin I/ Informations Skore est un addon qui a presque 1 an tout pile. Il est en version 1.0.0. Vous pouvez le télécharger ici, et télécharger sa dépendance ici. Car oui, Skore a besoin d'une dépendance. C'est TitleManager. Quand vous avez installer ces deux plugins, redémarrez le serveur (pas de reload). Vous pouvez ensuite aller dans la config de Title manager pour désactiver ce dont on ne veux pas, en l'occurence, les scoreboards. Vous allez donc passez enabled a false. (vers la ligne 190). scoreboard: # Toggles this feature enabled: false Si vous voulez vous pouvez aussi désactiver d'autres fonctionnalités, mais ca c'est a vous de voir car elles ne changeront pas notre code. Enfin : pourquoi utiliser Skore et pas d'autres addon. Déjà, il faut savoir que skore ne fonctionne que en 1.12, et n'est plus MàJ par son auteur, qui a même supprimé le repo GitHub du projet. Skore utilise les packets, il ne passe pas par les scoreboards spigot, comme SkRayFall et Skellett le font, ce qui rend les skoreboards plus performants. Ensuite, skore est un addon très simple a utiliser, alors pourquoi ne pas le prendre ? C'est optimisé, performant, simple d'utilisation... Exemple : Voici un exemple de skoreboard (=scoreboard fais avec skore). Mes TPS ne sont pas descendus en dessous de 19.5/19.6. Plutôt cool non ? surtout que jamais vous n'utiliserais ce genre de scoreboard x II/ Syntaxes Voici toutes les syntaxes disponible (elles se trouvent dans plugins/Skore/syntaxes.yml) : (1¦(create|set[up])|2¦(remove|reset|delete)) [a] [([skore] sc|sk)oreboard] (for|to|of) %players% [Skore] [(all [[of] the]|the)] (slot|value|line)[s] %numbers% (of|from|in) skoreboard[s] %players% [Skore] %players%'[s] skoreboard[s] (slot|value|line)[s] %numbers% [Skore] [(all [[of] the]|the)] title[s] (of|from|in) skoreboard[s] %players% [Skore] %players%'[s] skoreboard[s] title[s] %player% (1¦has|2¦does not have) [a] skoreboard La première va permettre de soit créer un scoreboard au joueur, soit en supprimer 1. Les 2 suivantes vont permettre de définir des lignes au scoreboard. La 2 d'après vont définir des titres au scoreboard. La dernière est une condition pour vérifier si le joueur a un scoreboard. III/ Scoreboards statiques Alors, commençons a créer un skoreboard. Déjà, il va falloir créer le skoreboard quand le joueurs rejoint le serveur. On va donc faire on join: setup a skoreboard for player Setup a skoreboard for player est équivalent au "wipe player's sidebar" de SkRayFall. Il permet de créer un scoreboard au joueur. Ensuite on va vérifier si le joueur a un scoreboard de créé. Oui ca peut paraitre bête car on l'a créé une ligne au dessus, mais comme ca si jamais il y a un problème et qu'il ne se créé pas, le serveur ne crashera pas. Donc on rajoute : on join: setup a skoreboard for player if player has a skoreboard: Jusque la très simple. On créé un skoreboard quand le joueur arrive, et si il a réussit a se créer, on fait la suite. Mais on mets quoi dans la suite On va commencer par définir un titre au skoreboard. Il peut faire 32 charactères de long maximum, en comptant les codes couleurs. C'est une limite de Minecraft, pas de skore, donc on ne peux rien y faire Bref voici la syntaxe : set title of skoreboard player to "&aVoici un titre ! &eIl est long" #32 chars max Et voilà ! On peut ensuite ajouter des lignes, qui suivront ce modèle, et qui feront maximum 40 caractère (limite de Minecraft encore une fois... pas de skore) : set slot 1 of skoreboard player to "&aVoici une ligne ! &eElle est longue..." #40 chars max Voici le skoreboard que j'ai donc créé : on join: setup a skoreboard for player if player has a skoreboard: set title of skoreboard player to "&aVoici un titre ! &eIl est long" #32 chars max set slot 1 of skoreboard player to "&aVoici une ligne ! &eElle est longue..." #40 chars max set slot 2 of skoreboard player to "&r" set slot 3 of skoreboard player to "&9&l&nPseudo :" set slot 4 of skoreboard player to " &b%player%" set slot 5 of skoreboard player to "&r " set slot 6 of skoreboard player to "&9&l&nArgent :" set slot 7 of skoreboard player to " &b%player's balance%" set slot 8 of skoreboard player to "&r8 " set slot 9 of skoreboard player to "&r9 " set slot 10 of skoreboard player to "&r10 " set slot 11 of skoreboard player to "&r11 " set slot 12 of skoreboard player to "&r12 " set slot 13 of skoreboard player to "&r13 " set slot 14 of skoreboard player to "&r14 " set slot 15 of skoreboard player to "&r15 " Bon il est moche, jugez pas, mais au moins il fonctionne . A noter : on peut mettre maximum 15 lignes. Bref il y a un problème avec ce skoreboard, c'est qu'il ne se rafraîchit jamais. c'est a dire que la, si le joueur gagne de l'argent, ma ligne 7 ne va pas bouger... Pour remédier a ca, je vais vous montrer comment rendre le scoreboard dynamique. III/ Dynamique On commence pareil : on join: setup a skoreboard for player Mais après on va modifier un peu. Déjà, voyons avec 1 page (je vous montrerai comment faire plusieurs pages après). Déjà, pour l'actualiser, je vais utiliser un while, car il nous faut bien une boucle qui va refresh le scoreboard. Et ensuite je vais mettre mes lignes habituelles : on join: setup a skoreboard for player while player is online: if player has a skoreboard: set title of skoreboard player to "&aVoici un titre ! &eIl est long" #32 chars max set slot 1 of skoreboard player to "&aVoici une ligne ! &eElle est longue..." #40 chars max set slot 2 of skoreboard player to "&r" set slot 3 of skoreboard player to "&9&l&nPseudo :" set slot 4 of skoreboard player to " &b%player%" set slot 5 of skoreboard player to "&r " set slot 6 of skoreboard player to "&9&l&nArgent :" set slot 7 of skoreboard player to " &b%player's balance%" set slot 8 of skoreboard player to "&r " set slot 9 of skoreboard player to "&9&l&nDate :" set slot 10 of skoreboard player to " &b%now%" wait 10 ticks Et voilà ! Comme vous pouvez le voir, j'ai mis que le skoreboard se rafraîchit tous les 10 ticks (= 2 fois par seconde) Vous pouvez mettre moins mais je n'y vois pas de raison de le faire, surtout que ca réduira légèrement vos performances. A savoir : pour la vidéo au dessus, j'avais mis le scoreboard dans un every tick: loop all players: (avec 1 joueur) et mes TPS n'allaient pas en dessous de 19.5 / 19.6. Donc vous pouvez mettre wait 1 tick, mais ca ne servira a rien ^^ car on est pas a 1/20ème de seconde près. Important : il est cependant OBLIGATOIRE d'avoir un wait a la fin du while (la ou je l'ai mis). Sinon votre serveur va crash instantanément. IV/ Exemples Voici un exemple de skoreboard avec plusieurs pages, et 5 secondes d'attentes entre chaque page : on join: setup a skoreboard for player while player is online: if player has a skoreboard: set title of skoreboard player to "Mon serveur !" #----- Premier Skoreboard set slot 1 of skoreboard player to "&r" set slot 2 of skoreboard player to "&9&l&nPseudo :" set slot 3 of skoreboard player to " &b%player%" set slot 4 of skoreboard player to "&r " set slot 5 of skoreboard player to "&9&l&nArgent :" set slot 6 of skoreboard player to " &b%player's balance%" set slot 7 of skoreboard player to "&r " set slot 8 of skoreboard player to "&9&l&nDate :" set slot 9 of skoreboard player to " &b%now%" set slot 10 of skoreboard player to "&r " set slot 11 of skoreboard player to "Page 1/2" wait 5 seconds # ----- On attend 5 secondes set title of skoreboard player to "Mon serveur !" #------ 2ème skoreboard set slot 1 of skoreboard player to "&r" set slot 2 of skoreboard player to "Tes Kills :" set slot 3 of skoreboard player to "&r " set slot 4 of skoreboard player to "Tes morts" set slot 5 of skoreboard player to "&r " set slot 6 of skoreboard player to "Ton meilleur KillStreak" set slot 7 of skoreboard player to "&r " set slot 8 of skoreboard player to "Tes pâtes préférées" set slot 9 of skoreboard player to "&r " set slot 10 of skoreboard player to "&r " set slot 11 of skoreboard player to "Page 2/2" wait 5 seconds # ------- On attend 5 secondes V/ Fin Voilà pour ce tutoriel que j'avais fait il y a déjà 1 an ! J'attendais seulement que l'auteur corrige quelquebugs, mais il ne l'a jamais fait.... Voici donc le seul bug que j'ai pu trouvé a l'heure actuelle : Quand on a un skoreboard avec un certains nombre de lignes, puis qu'on affiche un 2ème skoreboard avec moins de ligne, les dernières lignes du 1er vont être affichées dans le 2ème. Exemple : Si vous avez un skoreboard avec marqué 1: "Ligne 1" 2: "Ligne 2" 3: "Ligne 3" 4: "Page 1" puis un 2ème avec 1: "Ligne 1" 2: "Ligne 2" 3: "Page 2" Alors vous verrez sur la première page "Ligne 1, Ligne 2, Ligne 3, Page 1" et sur la deuxième page : "Ligne 1, Ligne 2, Page 2, Page 1" Pensez à allez voir aussi le tuto de @Salwyn sur skore ! Il l'avait sortit juste avant moi : [Hidden Content] Bref, sur ce : bonne vacances
  2. noftaly

    Skore - L'addon de scoreboard en skript

    Eh ouais !! Un tutoriel...
  3. Hey ! Voici un code que j'avais donné dans le channels #snippets sur discord, et que je mets ici pour toucher une plus grande audience ^^ (et avoir des crédits ) Vous tapez la commande /event <secondes du compte a rebours> puis un compte a rebours va se lancer. Il affichera d'abord le nombre choisis, puis tous les nombres ronds inférieurs, et terminera par un 5, 4, 3, 3, 1 ! Ce qui veut dire que pour cette commande : /event 64, il va ressortir ceci : 64, 60, 50, 40, 30, 20, 10, 5, 4, 3, 2, 1, L'event commence command /event <integer=300>: trigger: set {_timeleft} to arg-1 if {_timeleft} mod 10 != 0: broadcast "Commence dans %{_timeleft}% secondes" while true: if {_timeleft} mod 10 = 0: broadcast "Commence dans %{_timeleft}% secondes" wait 1 second remove 1 from {_timeleft} if {_timeleft} < 10: set {_timeleft} to 5 exit loop wait 5 seconds loop 5 times: broadcast "Commence dans %{_timeleft}% secondes" remove 1 from {_timeleft} wait 1 second broadcast "L'event commence" Je l'utilise pour mon système de GiveAll, et je pense que c'est le plus performant que j'ai pu faire. Attention toutefois, il faut que le nombre de secondes soit plus grand ou égal à 10 ! Sinon ca ne fonctionnera pas
  4. noftaly

    Compte à rebours modulaire et performant

    c'est vrai Et tu aurais au moins pu utiliser une loop
  5. noftaly

    Compte à rebours modulaire et performant

    mdr, en effet x) après si y'a que 2 ou 3 broadcast c'est pas si grave mais pour plus... c'est embêtant
  6. noftaly

    Skore - L'addon de scoreboard en skript

    En Java c'est possible, mais pas avec un plugin il me semble... J'ai seulement vu des mods/clients faire ca après peut être que je me trompe Mais en tout cas c'est sur : pour le moment en skript ce n'est pas possible
  7. noftaly

    Compte à rebours modulaire et performant

    Pourquoi ? C'est quoi les "anciennes méthodes" ?
  8. noftaly

    résolu Problème d'évènement skript 1.14.4

    Derien ! Si tu as encore des problèmes après ta migration hésite pas a redemander
  9. noftaly

    résolu Problème d'évènement skript 1.14.4

    Skript 2.3.4 ne fonctionne pas en 1.14. Les seules versions de skript qui fonctionnent en 1.14 sont les version 2.4-beta qui sont, comme leur nom l'indique, en beta, et donc instables. Sinon je te conseil d'utilise Spigot ou PaperSpigot (PaperSpigot recommandé), car Bukkit est beaucoup plus buggé, et beaucoup de plugin, dont Skript, ne fonctionnent pas avec Bukkit
  10. noftaly

    Compte à rebours modulaire et performant

    Alors c'est vrai, donc la je passe pour un con Ca fait super longtemps que j'utilise mon bout de code et j'arrivais pas a l'opti + Bah écoute, bien joué alors
  11. noftaly

    Skore - L'addon de scoreboard en skript

    Merci beaucoup ! et t'inquiète c'est pas un problème
  12. noftaly

    Skore - L'addon de scoreboard en skript

    Pas de problème ! Et l'animation c'est tout bête, c'est juste une loop qui change le scoreboard a chaque fois
  13. noftaly

    résolu 1.14 - Quels add-ons?

    Pour te répondre plus précisément, peu d'addons supportent la 1.14, et même Skript ne la supporte pas encore... Je creerai demain un poste avec tous les addons qui fonctionnent en 1.14, comme je l'avais fais pour la 1.13
  14. noftaly

    résolu Aide sur un skript de chaises

    En effet, ça a été fix dans la 2.4-alpha-1!
  15. noftaly

    inactif ✖ Système de vente.

    Sinon il y a cette version, qui est la dernière version de skript (2.4-beta4) adaptée en 1.8 [Hidden Content] Et en effet, pour ta demande je te conseillerai de t'orienter vers les GUIs Skript (disponible seulement depuis la dev34 donc il faudra que tu mettes la version que je t'ai conseillée), et la syntaxe que @Lou' t'a donnée : commande /vente: trigger: open chest inventory with 6 row with name "Vente" to player on inventory close: if name of event-inventory is "Vente": # Ton code pour vendre les items
  16. noftaly

    résolu Aide sur un skript de chaises

    essaye en modifiant l'évènement par on right click on any stairs:
  17. noftaly

    Soucis de TP on region enter

    Tu peux pas cancel cet event la ^^
  18. noftaly

    Gestion des permissions

    Il existe déjà un addon : Sk-Perm : [Hidden Content] Compatible Pex et LuckPerms, et bientôt UltraPermissions. En plus il est bien tenu a jour, et compatible 1.8-1.14
  19. noftaly

    Soucis de TP on region enter

    Je pense que rajouter la condition "if entity is not a npc" devrait fonctionner (dispo avec SkRayFall et skript-npc)
  20. noftaly

    résolu (JAVA / SKRIPT) Avis aux plus expérimentés!

    Haha je le ferai avant toi ce topic, uiytt !!
  21. noftaly

    House generator

    "C'est pas incroyable" -uiyyt "C'est putain d'incroyable" -tout le monde Bah écoute, encore un skript de ouf, mais bon avec toi on commence a s'habituer ^^ Les animations c'est vraiment le plus qui le rend encore mieux, même s'il l'était déjà assez. Donc gros gj !!!!
  22. noftaly

    De l'UUID au Pseudo

    function UUIDtoPlayer(t: text) :: offline player: send a request to "[Hidden Content]" set {_response} to the last http response set {_list::*} to split {_response} at "{" set {_list::*} to split "%last element out of {_list::*}%" at """" return "%{_list::4}%" parsed as offline player Pas testé, mais c'est censé fonctionner c'est la version Reqn. Pour les curieux, j'ai aussi rempli la doc : [Hidden Content]
  23. Dommage que les points de crédits ne soient pas rétro-actif 😞 @Vengelis_

    1. noftaly

      noftaly

      Et d'ailleurs pourquoi j'ai plus le grade Ancien ? Quand on est MA on perd l'Ancien ?? c'est un peu dommage je trouve 😅 (surtout que dans mon cas je suis + ancien qu'actif 😂)

    2. Vengelis_

      Vengelis_

      Bah enfaite si c'était rétro-actif, aurait déjà des millions de crédits pour les anciens membres mdr. Et pour ton grade ancien je vais voir ce que je peux faire

    3. noftaly

      noftaly

      C'est pas faux 😂

      et merci 😉

  24. set {_is-owner} to askyblock owner of island at player's location broadcast "%{_is-owner}%" if {_is-owner} is player: message "vrai" else: message "faux" essaye ceci alors, et si ca ne fonctionne pas, dis moi ce que ca a broadcast
  25. Je te conseil de regarder du côté de WolvSk, qui a un support de ASkyBlock Par exemple : if askyblock owner of island at player's location is player: message "vrai" else: message "faux" (Pas testé) Doc : [Hidden Content] Sky Block
×

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.