-
Compteur de contenus
168 -
Inscription
-
Dernière visite
-
Jours gagnés
7 -
Crédits
211 [Faire un don]
Messages posté(e)s par blueblasterz
-
-
-
blueblasterz submitted a new resource:
[plain]Skreen[/plain] - [plain]Créez et visionnez des écrans avec textes et boutons holographiques en jeu[/plain]
Bonjour, bonsoir à tous !Le script que je vous partage aujourd'hui permet de créer et de visionner des écrans, contenant du texte, des boutons, sous forme d'hologrammes, et étant enregistrés en format .txt, donc transférable et éditable relativement facilement à la main.
➤Petite démonstration avec des exemples d'écrans que je vous donnerai à la...
-
Bonjour/bonsoir !
Dans les dernières versions de Skript se trouve une nouvelle fonctionnalité assez utile, permettant d'utiliser le format JSON dans des messages de manière à mon goût très simple et plus pratique qu'avec json.sk.
➤ Qu'est ce qu'un message contentant du 'json' ? Comment en faire via Skript ?
Le json est un format permettant de stocker des données, et n'est pas utilisé que par Minecraft. Dans Minecraft, il permet entre autres d'envoyer des messages en couleur, contenant des commandes cliquables, des infobulles, et autres choses que l'on verra par la suite. Pour l'utiliser directement dans minecraft, il faut se servir de la commande "/tellraw", une commande à la syntaxe très restrictive et compliquée à utiliser.C'est le mode de fonctionnement de l'API json.sk. L'inconvénient est qu'avec ceci, il est difficile (impossible ?) d'envoyer plusieurs formats différents sur la même ligne, par exemple 2 commandes cliquables sur 2 portions de textes différentes dela mêmeligne. De plus cela envoie dans la console le log de la commande tellraw.Il existe aussi une syntaxe contenue dans SkQuery permettant d'envoyer des messages json, pouvant contenir plusieurs formats, mais cette syntaxe reste assez restrictive elle aussi, et nécessite l'addon.➤ La nouvelle méthode
Depuis longtemps il existe dans skript des bouts de codes intégrable directement dans l'effet "message/send", permettant de faire la mise en forme :Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Ils sont très peu utilisés, car il est bien plus simple de se servir de "&4 , &l , &2 , &r , ...". Mais c'est avec des balises de ce type que l'on va intégrer des commandes/tooltip à nos messages.Voici les 4 balises disponibles :Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Et voici quelques exemples d'utilisations et le résultat en jeu:[spoiler=Exemples]Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
[spoiler=Résultats](Après avoir cliqué sur le message)#1[ATTACH=full]7864[/ATTACH]J'ai sauté quelques lignes pour ne pas cacher le texte, mais normalement il n'y a pas de saut de ligne.On remarque que dans les tooltips, le code couleur doit être mit avec le symbole § et non &, si vous écrivez le texte directement. Néanmoins si le texte de la tooltip est stocké dans une variable, alors le caractère & fonctionnera.Exemple :Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
affichera bien Bonsoir en bleu dans la tooltip.#2[ATTACH=full]7867[/ATTACH]et au clic :[ATTACH=full]7868[/ATTACH][spoiler=Résultats]#3[ATTACH=full]7866[/ATTACH]Juste pour montrer qu'il est possible de faire plusieurs commandes dans le même message, sur plusieurs parties de textes différentes. C'est bien sûr aussi possible avec les url.➤ Remarques
● Certaines combinaisons de formatage ne sont pas possibles, si elles sont mises surla même portion de texte:- commande + commande suggérée- commande + url- commande suggérée + url● Ils n'est pas possible d'associer plus d'un format du même type à la même portion de texte. Par exemple, les codes suivants ne fonctionneront que partiellement :Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
● Les caractères < et > écrits dans l'un des formatages le fera boguer. Je n'ai personnellement pas trouvé d'autre moyen que de les remplacer par un caractère unicode comme ➤ ou ▶● Les commandes cliquables et les commandes suggérées ne peuvent pas faire plus de 100 caractères, sinon seuls les 100 premiers caractères seront exécutés.● Placer le symbole § dans une commande cliquable fera kick le client, avec l'erreur "illegal characters in chat". Si vous placez un § dans une commande suggérée, la couleur sera bien appliquée dans le tchat, mais le joueur sera kick s'il exécute la commande, avec la même erreur.● Les urls doivent commencer par "http(s)://", sinon le texte ne sera pas cliquable● Ces formats ne sont pas utilisables avec l'effet broadcastJe rappelle qu'il faut avoir une version assez récente de skript, prenez les
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Voilà, en espérant que ça vous sera utile :)
- 11
- 1
-
Message Json
dans Inactifs
Salut,
Avec les versions les plus récentes de skript par Bensku, tu peux insérer de telles commandes direcment comme ceci :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Je crois que c'est ce que tu veux ;)
-
Aide plugin
dans Inactifs
-> Sauvegarde tes constructions via WorldEdit/McEdit, quelque chose qui te permettra d'importer tes constructions sur un autre monde
-> Créé un nouveau monde superflat en solo, en réglant le preset pour avoir le nombre de couches que tu désires
-> Importe ce monde sur ton serveur via Multiverse
-> Importe tes structures sur ce monde, à la surface
Il y a peut-être moyen de créer le nouveau monde directement via Multiverse, mais je suis pas sûr, à vérifier
Après si tu as vraiment beaucoup de constructions, tu peux utiliser WE directement en jeu pour tout relever, mais ça risque de prendre du temps.
Générateur de monde plat :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Bon courage ;)
-
Il a pas mal d'autres filtres :
- si on cherche un mot ou une chaine de mot précise, on peut les mettre entre guillemets, et google ne sortira que les sites où la chaine précise est présente. Ça peut permettre de réduire drastiquement le nombre de résultats.
- si on veut supprimer tous les résultats contenant un mot précis, on peut le faire précéder d'un tiret du 6, par exemple la recherche "skript de refill -youtube" retirera tous les résultats provenant de youtube.
Il y en a un paquet d'autres, mais ces deux là ainsi que le site:... sont ceux dont je me sers le plus personnellement ;)
Pour ceux que ça intéresse :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
- 1
-
Salut,
Dans la ligne 'send "&aLa partie a commencée !" to loop-value', tu est à l'intérieur d'une loop dans une loop.
Dans la première loop, càd 'loop 31 times:', les loop-value ne seront que des nombres, de 1 à 31. Donc c'est pas es joueurs, tu ne peux pas leurs envoyer de messages.
Dans la 2eme loop, càd 'loop {murdr.playerslist.%arg 2%::*}:', je suppose que cette liste ne comporte que des joueurs, et dans ce cas les loop-value seront des joueurs.
Donc tu dois changer la ligne 'send "&aLa partie a commencée !" to loop-value' en 'send "&aLa partie a commencée !" to loop-value-2'.
Si c'est pas clair ou que t'as d'autres problèmes, n'hésite pas ;)
-
Salut !
Si tu n'as pas du tout de base de skript, va plutôt dans la partie "Demande de Skript" du forum ;)
Sinon pour ce que tu veux faire, tu peux te servir des "Aliases" :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Avec ça, le joueur peut utiliser à la fois "/p add" et "/sb invite"
-
-
On peut faire ça pour retirer la couleur :Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
En effet, tu m'apprend un truc ^^ Néanmoins je suis obligé de retirer le formatage lettre par lettre comme je le fait, car je l'enregistre dans le même temps pour pouvoir "recomposer" le texte avec les X premières lettres ET le code couleur.
-
ta commande n'est pas effectué par un joueurOù Skript trouverai donc le joueur demandé comme dans le code donné par @REDox1248 ?
Car par exemple dans l'évènement "on chat", l'expression %player% représente le joueur ayant dit le message, dans l'évènement "on break", c'est le joueur qui a cassé le bloc, et ainsi de suite : %player% représente le joueur qui a provoqué l'évènement.
Or dans un "every x seconds", même avec 'in world "world"' en plus, l'évènement est lancé à partir de l'horloge interne du serveur, et non à cause d'un joueur en particulier. C'est pourquoi l'expression %player% ne peut pas y être utilisé.
Je pense que tu as mal lu la demande d'aide ainsi que le code fautif :)
[ATTACH=full]5771[/ATTACH]
-
En effet l'évènement 'every x seconds' n'est pas provoqué par un joueur en particulier, tu ne peux donc pas utiliser de '%player%' dans cette évènement. Le plus simple est de loop tout les joueurs comme ceci:
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Je n'ai pas testé, mais normalement ça fonctionne
-
En fait la principale utilisation que je vois, c'est quand on ouvre un GUI avec un nom variable, pour éviter que ce nom dépasse de l'interface. On peut aussi imaginer un item avec une lore coupée pour donner par exemple la première ligne de description d'un item. J'avoue qu'en soit ça n'a pas beaucoup d'utilité, mais je suis sûr que ça servira un jour à quelqu'un ;)Pas mal, mais je vais pas en quoi ça peut servir o_OEt merci @LavaPower :)
-
Bonjour !
Cette 'petite' fonction va vous permettre de tronquer un texte pour qu'il ait une certaine longueur.
Il existe déjà une expression inclue dans Skript permettant de prendre les x premières/dernières lettres d'un texte, mais elle ne prend pas en compte le code couleur.
Par exemple ce texte : "§4§lTexte génial" apparait comme ceci : "Texte génial" dans minecraft. Mais si vous utilisez par exemple 'first 5 characters of "§4§lTexte génial"', vous n'obtiendrez pas "Texte" mais bien "T", car les marques de couleur et mise en page comptent pour 2 lettres chacune. Si par contre vous utilisez ma fonction, le code couleur sera ignoré, et vous obtiendrez bien le texte voulu. Pour utiliser la fonction, il vous suffit d'écrire :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Le dernier argument ("") est ici laissé vide. Si par exemple vous vous servez de cette fonction pour raccourcir le nom d'un joueur, il serai utile de rajouter quelque chose comme "...". Si vous voulez les 10 premières lettres du nom d'un joueur, avec "..." à la fin, il vous faut donc écrire :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Notez que si le texte que vous envoyez est plus court que la limite donnée, le résultat sera le texte d'origine, sans les "..." à la fin.
Voici la fonction, commentée et expliquée :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Je suis conscient que c'est pas très opti, mais boon.
Au passage, vous pourrez voir que le 'wait 1 tick' est mis en commentaire, car pour une raison qui m'échappe, Skript considère que l'on sort de la fonction après ça (j'ai une erreur sur le 'return' si je le décommente). À part ça, tout le code est fonctionnel.
J'espère que ça vous sera utile :)
[spoiler=PS]Rappelez vous que la fonction doit être placé soit tout en haut de votre script, soit dans un autre fichier de script situé au dessus dans l'ordre alphabétique. Personnellement, si je dois utiliser une même fonction dans plusieurs de mes scripts, je la met dans un fichier nommé "+fonctions.sk", comme cela je suis quasi sûr qu'il sera chargé en premier. Sinon je la met juste en dessous des options de mon script. L'essentiel est que la fonction soit chargé avant son utilisation dans votre script
- 2
-
D'accord. Merci pour la vidéo c'est bien plus clair. Mais vu tes réponses j'ai du mal à voir d'où peut venir l'erreur.
Ça ne résolverait pas l'erreur, mais peut être qu'au lieu de passer par un "loop all-players", tu pourrais faire simplement un "broadcast", et pour la commande /playsound, remplacer le "%{_p}%" par "@a" pour viser tout les joueurs en même temps. Tout ceci sans passer par la fonction temprestant() mais bien directement dans le "every 30 seconds". Encore une fois on ne ferai que contourner l'erreur, et ça ne fonctionnerai que pour le temps restant et le manque de joueur. Mais c'est toujours ça, car sinon je ne vois absolument pas où quelque chose est mal fait.
-
Tu peux tenter le bout de code suivant :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
On est obligé de passer par une variable pour modifier quelque chose, car on ne peut pas modifier directement les arguments d'une commande. Dans ma tête ce code colore tout un texte et pas seulement une ligne, mais je suis pas tout à fait sûr, à confirmer.
Sinon tu as la méthode bourrin: tu découpes tout ton message lettre par lettre, et derrière chacune d'elles tu rajoute le code couleur qu'il faut. Mais c'est pas opti du tout. Dis moi quand même si tu veux je tenterai de le faire x)
- 2
-
J'ai parcouru ton code, à première vue rien d'étonnant ou de problématique, mais j'ai pu manquer quelque chose.
Penses-tu bien à supprimer/réinitialiser toutes tes variables à la fin d'une partie ? Si les messages doublent à chaque parties relancées, le problème vient peut-être de là.
Un peu plus de détail sur les messages : ils sont simplement répétés ? est-ce qu'ils sont tous bien à leurs place (ils apparaissent au bon moment, mais en double/quadruple,... Ou alors ils apparaissent de manière aléatoire, au mauvais moment.. ) ? Est-ce que cela arrive avec tout les messages, ou seulement ceux de début/milieu/fin de partie ? Est-ce que les autres instructions sont elles aussi répétées (les playsounds, etc..) ?
Une autre question, comment fait-tu pour régler le problème et relancer une partie normale ? Est-ce qu'il suffit de recharger le skript (avec /sk reload jeu.sk) ? Ou alors il faut carrément relancer le serveur ? À moins que tu n'ai jamais réussi à le régler ? :o
Je vois pas trop d'où peut venir l'erreur actuellement, peut-être qu'avec tes réponses on avancera :)
PS: désolé si ça fait un peu interrogatoire, mais je préfère poser un max de question d'un coup, et dans le tas de réponse il y en a toujours des qui sont utiles ;)
-
Sinon tu peux faire quelque chose comme
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
Normalement, via la commande execute, même les joueurs non-op peuvent faire les commandes op, en tout cas il me semble, à vérifier. Pas d'addon nécessaires.
Le seul soucis de cette méthode, c'est qu'il y aura une ou deux lignes de log dans la console à chaque utilisation, à voir si c'est vraiment gênant.
- 1
-
Système de Claim
dans Inactifs
Dans ce cas là il faut déplacer cette discussion dans la section "Demande de skripts", et trouver un skripteur qui voudra bien te faire un plug-in correspondant à ta demande.
-
Système de Claim
dans Inactifs
Bonjour,
Si tu as besoin d'un skript mais que tu n'as aucune base pour celui-ci, il faut poster une demande de skript dans la section correspondante, et non pas dans la section Aide, dédiée aux problèmes/erreurs dans un skript déjà fait.
De plus dans le cas d'un skript qui à l'air assez commun, ici un simple système de claim, une recherche dans l'onglet "ressources" du site s'impose avant de poster une demande. Voici le résultat d'une recherche simplement avec seulement le mot "claim", le premier résultat (SkTeam) à l'air de correspondre à ta demande. La prochaine fois pense à faire cette recherche avant de poster une demande ;)
J'espère que ça t'aura aidé :)
- 1
-
J'ai en effet fais une erreur, il faut faife : set {_index} to loop-value + {_add}
Sinon évidemment les index s'accumulent et donnent des chiffres aberrants
-
Et est-ce que la balance indique le bon nombre ?
Normalement ce type de scoreboard est vraiment spécifique à chaque joueur, mais quand il s'agit de faire des actions groupées pour plusieurs joueurs en même temps, Skript fait souvent des siennes ...
-
En fait, le code que j'ai réalisé est juste un peu plus optimisé que le tient. Et ce que je te propose de faire, c'est d'enregistrer le grade d'un joueur dans une variable de texte, en plus de lui accorder ses permissions. Le but est donc d'afficher pour tous les joueurs cette variable, comme ça il y a moins de risque d'erreur.
Après ça reste très étrange que TON grade affiché change quand quelqu'un d'autre rejoint le serveur. J'avoue avoir lu ta demande d'aide un peu vite. Reprenons du début.
Ton fondateur a quel grade affiché ?
Tu peux peut-être essayer de remplacer tout les "if" par des "else if" (sauf le premier), comme ça le code s'arrête dès qu'il a trouvé un grade valide.
-
Ça ne résoudrai pas ton problème directement, mais il y a un moyen plus propre d'afficher les grades.
Tu fait une variable {grade::%player's uuid%}. Au moment d'accorder un grade à quelqu'un, après lui avoir accordé les permissions et tous ce qui va avec, tu fais "set {grade::%player's uuid%} to "&cAdministrateur"" ou n'importe quel autre grade. Enfin au moment de faire ton scoreboard, au lieu de faire plein de "if/else if", tu fait simplement :
Contenu masqué
-
Réagissez ou répondez à ce message afin de consulter le contenu masqué.
J'ai pas testé, mais normalement il n'y a pas de soucis.
Au passage, la commande /scoreboard existe déjà dans minecraft, je te conseille donc d'utiliser un autre nom de commande, par exemple /scoreboardrefresh.
Si tu as d'autres problèmes/erreurs, n'hésite pas :)
- 1
InventoryTools
dans Skripts
Posté :
blueblasterz submitted a new resource:
[plain]InventoryTools[/plain] - [plain]Vous en avez assez de ranger vos coffres ? Moi aussi.[/plain]
Read more about this resource...