Aller au contenu

Classement


Contenu populaire

Affichage du contenu avec la meilleure réputation depuis le 03/22/19 dans toutes les zones

  1. 2 points

    Version 1.1.1

    14 downloads

    Salut ! Alors aujourd'hui je vous présente un script sans grande prétention, mais qui peut rendre service. Il s'agit de limiter la traite des vaches - car on ne peut traire une vache indéfiniment dans la vraie vie . Parce que je suis souvent limité par les mécanismes de Skript, c'est-à-dire les données que l'on peut manipuler, je me suis dit qu'il serait intéressant de voir ce que l'add-on " Skript Mirror " pouvait offrir - vous savez l'add-on qui vous permet d'utiliser directement du Java dans vos scripts ! J'avoue avoir dû tâtonner, car il n'existe pas encore de tutoriaux mais uniquement une documentation anglaise avec laquelle il faut savoir composer, c'est-à-dire avec un minimum de connaissance Java. Pour les prérequis, il vous faudra Skript Mirror : Skript Mirror - Dernière release : https://github.com/btk5h/skript-mirror/releases Skript Mirror - Documentation : https://skript-mirror.gitbook.io/docs/v/2.x/ La version de Spigot avec laquelle je travaille est là 1.13.2, et la version de Skript la 2.3.6 : Spigot 1.13.2 : https://getbukkit.org/download/spigot Skript 2.3.6 : https://github.com/SkriptLang/Skript/releases Je vous encourage à vous référer autant que possible à la documentation de Bensku et à celle de Skript-MC dont le contenu évolue progressivement : Documentation Bensku : https://skriptlang.github.io/Skript Documentation Skript-MC : https://skript-mc.fr/documentation/skript Note : J'utilise des metadatas (données que l'on peut enregistrer dans une entité ou un bloc) afin de ne pas avoir à sauvegarder de variables. N'hésitez pas à me faire part de vos avis et suggestions ; je suis un peu noob avec Skript Mirror. J'en profite pour vous glisser qu'il serait intéressant d'écrire un jolie tutoriel bien complet sur l'utilisation de Skript Mirror Allez, tchusss ! Ce petit morceau de code pourrait vous être utile : import: org.bukkit.event.player.PlayerInteractEntityEvent org.bukkit.event.player.PlayerBucketEvent org.bukkit.event.player.PlayerBucketEmptyEvent org.bukkit.event.player.PlayerBucketFillEvent on PlayerInteractEntityEvent and PlayerBucketFillEvent and PlayerBucketEmptyEvent: if event.getEventName() is "PlayerBucketEmptyEvent" or "PlayerBucketFillEvent": send "%event.getEventName()%" to event.getPlayer() send "%event.getBlockClicked()%" to event.getPlayer() if event.getEventName() is "PlayerInteractEntityEvent": send "%event.getEventName()%" to event.getPlayer() send "%event.getRightClicked()%" to event.getPlayer()
  2. 2 points
    Ui c vré loul PS : ta musique est cool (Marnik & SMACK)
  3. 2 points
    On en parle que j'ai eu (presque) 20 coeurs en une semaine ? xD
  4. 1 point
    Je met tout juste la moyenne, je n'ai fais que regarder le code Seul truc qui me saute aux yeux : trop d'add-ons à utiliser tue l'add-on... 46 add-ons pour faire marquer 15ko de script... M'enfin bon, je m'y connais pas plus que ça donc bon... Bravo pour le code, sinon. Mais, pour configurer.. (tu as dis que c'était configurable), je n'ai vu aucune option dans le skript :c M'enfin bref, je préfère ne pas trop m'avancer, bravo pour ton script -- [Edit] Vu que c'est un fichier YAML qui se crée, je te met 4 étoiles pour te féliciter ! (Pas 5 car je ne vais pas pouvoir le tester)
  5. 1 point
    Bonjour la communauté de Skript-MC ! Je vais vous rédiger un joli tutoriel pour faire un AutoMessage sur votre Serveur. Tout d'abord, qu'est-ce qu'un AutoMessage ? Un AutoMessage est tout bonnement des messages pré-configurés qui s'envoient de façon aléatoire sur un temps que vous aurez défini. Prêt ? C'est parti ! Commençons par configurer notre AutoMessage on load: clear {AutoMessage::*} add "&eCeci est un message automatique" to {AutoMessage::*} add "&eCeci est un autre message automatique" to {AutoMessage::*} Ce que j'ai fais est très simple. on load: => Au chargement du Skript clear {AutoMessage::*} => On clear la variable, pour pas qu'il y ait 500 phrases dans la liste. add "message" to {AutoMessage::*} => On ajoute à nouveau notre phrase, qui sera mise à chaque "/sk reload all", "/sk reload scripts", "/reload" ou encore un redémarrage Maintenant, qu'on a configuré nos messages automatiques, on va devoir les mettre dans le chat. Mais comment qu'on fait Je vous montre ! every 5 minutes: #Modifiable set {_RandomBroadcast} to a random element out of {AutoMessage::*} broadcast "%{_RandomBroadcast}%" every 5 minutes: => Toutes les 5 minutes Set {_variable} to a random element out of {variable::*} => On set une nouvelle variable qui prendra un élément au hasard dans la liste qu'on a crée au dessus : {AutoMessage::*} broadcast "%{_variable}%" => On rend le message lisible dans le chat avec un broadcast. Notre code final est simple, on regroupe tout ! Vous pouvez mettre n'importe quel message, celui que vous voulez on load: clear {AutoMessage::*} add "&eCeci est un message automatique" to {AutoMessage::*} add "&eCeci est un autre message automatique" to {AutoMessage::*} every 5 minutes: set {_RandomBroadcast} to a random element out of {AutoMessage::*} broadcast "%{_RandomBroadcast}%" Voilà à quoi ressemble notre code final ! Vous pouvez ajouter toutes les phrases que vous voulez, même s'il y en a 60, ça prendra un élément au hasard ! Moi, j'ai (très) légèrement un système un peu plus compliqué. En effet, je possède un système de langue. Si vous voulez explorer les possibilités, je vous met mon code en spoiler, pour les intéressés. PS : c'est grâce à TheHardTrox#8531 que j'ai pu vous poster ce tutoriel. Merci à lui de m'avoir appris ça ! J'espère vraiment que ce tutoriel vous aura plut et qu'il vous aura apprit quelque chose. Le spoiler en dessous, c'est mon propre code d'AutoMessage. Possédant un système de langue, j'ai un système un peu plus avancé. (Pour les curieux...)
  6. 1 point
    Si je l'ai aidé, j'ai bien le droit à un petit like Je suis gentil après tout
  7. 1 point
    Aie ça rage xD
  8. 1 point
    Je crois que c'est un baille du genre : remove 1 diamond sword to player par exemple. Très probable que je dise des conneries.
  9. 1 point
    C'est pas très très très opti vu de près every 10 second: if {anticheat.xray.diamond.ore.%player%}%" > 64: loop all players: loop-player has permission "anticheat.sk": send "&6[AntiCheat] &6%player% &9semble avoir un &cXray &c!! &6Attention !! Peut être faux !" to loop-player if {anticheat.xray.emerald.ore.%player%} > 48: loop all players: loop-player has permission "anticheat.sk": send "&6[AntiCheat] &6%player% &9semble avoir un &cXray &c!! &6Attention !! Peut être faux !" to loop-player if {anticheat.xray.gold.ore.%player%} > 128: loop all players: loop-player has permission "anticheat.sk": send "&6[AntiCheat] &6%player% &9semble avoir un &cXray &c!! &6Attention !! Peut être faux !" to loop-player if {anticheat.xray.fer.ore.%player%} > 192: loop all players: loop-player has permission "anticheat.sk": send "&6[AntiCheat] &6%player% &9semble avoir un &cXray &c!! &6Attention !! Peut être faux !" to loop-player if {anticheat.xray.coal.ore.%player%} > 256: loop all players: loop-player has permission "anticheat.sk": send "&6[AntiCheat] &6%player% &9semble avoir un &cXray &c!! &6Attention !! Peut être faux !" to loop-player Peut se résumer en quelques lignes (car cela revient au même, c'est le même message que tu mentionne ou alors j'ai mal vu x) ) if {anticheat.xray.diamond.ore.%player%} > 64: loop all players: loop-player has permission "anticheat.sk": send "&6[AntiCheat] &6%player% &9semble avoir un &cXray &c!! &6Attention !! Peut être faux !" to loop-player Et aussi l'erreur vient du " en trop sur ta var comme @KneaXy le disait ^^ EDIT : Je n'avais pas vu que c'était pour chaque minerai donc mon intervention n'a pas vraiment servis ... Si tu sais faire les fonctions tu peux l'opti en tout cas ^^
  10. 1 point
    command /prime [<player>] [<number>]: trigger: if arg-1 is set: if arg-2 is set: make player execute command "/wp add %arg-1% %arg-2%" else: message "&eVous devez spécifier un nombre." else: message "&eVous devez mettre le pseudo d'un joueur valide. Voilà @beatbird
  11. 1 point
    on command "/backback": cancel event make player execute command "/backpack open" Met un like, ça fait plaisir
  12. 1 point
    on npc right click: cancel event message "&eLes trades avec les PNJ sont interdits." Met un like si je t'ai aidé, bonne soirée ! J'te conseille 2-3 add-on : Sketch, SkRambled, Umbaska, SkUtilities, TuSKe, SkQuery, SkStuff, Skellett, RandomSK, MundoSK, SharpSK,... C'déjà pas mal lolol
  13. 1 point
    J'avais pas lu en entier, mais c'est à peut près ça je pense XD
  14. 1 point
    version 1.8 version skript 2.1.2
  15. 1 point
    Ah oui en effet je n'avais pas vue les réponses déjà présente x) C'est vraiment ça qui ma choqué quand j'ai ouvert le skript !
  16. 1 point
  17. 1 point
    bah, pour les dégâts j'en sais rien, mais pour les effets.. on walk on stone: #Car c'est drôle la stone non ? apply speed 1 to the player for 2 seconds Ca ne fait pas lag, plutôt que de faire spammer la console Applique un petit effet de wither au pire ;o Pareil : on walk on soul sand: apply wither (ou j sé pa) 1 to the player for ... et genre, imagine le joueur est dans le nether, il marche sur la soul sand Et il retourne sur la netterrack on walk on netherrack: remove speed from the player remove ... from the player
  18. 1 point

    Version 0.1

    34 downloads

    Bonsoir, je suis ici pour vous présenter mon deuxième skript (le premier n'ayant pas été très bien accueilli..) Ce skript vous donne accès a des fonctions de modérations cool comme le /tp, /tph, /staff, /broadcast ou encore /cps. Commandes, screens et permissions. Liste des commandes: [Perm: STAFFCHAT] /staff (Text) : (Sans argument) : Permet de voir la liste des staffs (Avec argument) : Envoi d'un message au staff. [Perm: Modo] /tp (Joueur) : Se téléporter à un joueur. [Perm: Modo] /tph(ou /s) (Joueur) :Téléporter un joueur sur moi. [Perm: Modo] /cps (Joueur) : Effectuer un test de cps de 3 secondes sur un joueur. [Perm: Mod+] /bc (Text) : Envoyer un message au serveur (Sans BungeeCord). Les screens: (/tp et /tph) (staffchat) (/staff) (/broadcast) (/cps) Dépendances. J'ai pas mal d'add-ons sur mon serveur donc je vais en donner quelques-uns (les messages sont cliquables): 1 - Skript (bah oui mdr) 2 - SkQuery 3 - WildSkript 4 - Umbaska 5 - skRayFall Il me semble que c'est tout ^^ Fin. Merci d'avoir porté attention à ce post. Si vous avez un retour positif ou négatif sur le skript, n'hésitez pas (constructif de préférence). Sur ce, Chuss
  19. 1 point
    Coucou Je me suis un peu penché sur le sujet et a posteriori il est dificile en soit de texturer n'importe quel item à partir de Skript. Ce lien pourrait t''intéresser surement et t'apporter plus d'information sur le texturing -> https://skript-mc.fr/forum/topic/14543-custom-item-texture-avec-skript/
  20. 1 point
    Super la signature mais je me suis permis de la modifier. ça peut être mal pris. Cordialement
  21. 1 point
    Dommage que le code ne soit pas organisé, sinon le code fonctionne très bien, et reste utile pour une création rapide de GUIs. Bonne chance pour les prochaines versions !
  22. 1 point
    Sommaire: Base de l'addon Créer un effet Créer une condition Créer une expression Créer un évent Créer un type --------------------------- Avant de continuer, assurez-vous d'avoir suivi au moins les 2 premiers tutoriaux ou vous pourrez être perdus. Créer un évent simple Aujourd'hui on va voir comment créer un évent simple. Dans cette partie on aura pas besoin de créer de nouvelle classe, on va juste enregistrer l'évent « on ... » ainsi que les valeurs dedans (ex : event-player, event-location...). Voici comment enregistrer votre évent : Skript.registerEvent("Nom de votre évent", SimpleEvent.class, ClassBukkitDeVotreEvent.class, "event"); Pour le « Nom de votre évent », vous pouvez mettre ce que vous voulez. Pour ClassBukkitDeVotreEvent.class, il faut remplacer ceci par la classe Bukkit de l'évent. Pour « event », il faut remplacer par le code skript sans le « on ». Par exemple on va recréer l'évent « on join ». Ça nous donne tout simplement : Skript.registerEvent("Join Event", SimpleEvent.class, PlayerJoinEvent.class, "join"); Le problème reste qu'on ne peut toujours pas récupérer les infos. Pour se faire on va enregistrer les « event values ». Encore une fois pas besoin de créer de classe spéciale, on met ce code juste après le Skript.registerEvent(...). Voici à quoi ressemble le bout de code pour enregistrer une valeur d'évenement : EventValues.registerEventValue(ClassBukkitDeVotreEvent.class, Object.class, new Getter<Object, ClassBukkitDeVotreEvent.class>() { public Object get(ClassBukkitDeVotreEvent e) { return null; } }, 0); La première chose à faire est de remplacer tous les ClassBukkitDeVotreEvent par la classe Bukkit qui contient votre événement. Ensuite il faut définir le type d'objet que renvoie la valeur d’événement. Si on remplace tous les Object par Player, on pourra utiliser « event-player » en Skript. Si on remplace tous les Object par Location, on pourra utiliser « event-location » en Skript. Pour finir la dernière chose à changer est le return. Il faut retourner l'objet en question, celui que vous voulez utiliser. Pour cela vous pourrez utiliser la variable e qui sera votre évent. Reprenons notre exemple « on join ». Le code final (avec l'enregistrement + le return du joueur) donnera : Skript.registerEvent("Join Event", SimpleEvent.class, PlayerJoinEvent.class, "join"); EventValues.registerEventValue(PlayerJoinEvent.class, Player.class, new Getter<Player, PlayerJoinEvent.class>() { public Player get(PlayerJoinEvent e) { return e.getPlayer(); } }, 0); Créer un évent complexe Bientôt
  23. 1 point
    Salut tous le monde ! Je vais vous montrer comment récupérer le grade d'un joueur avec PermissionEX et GroupManager ! Récupérer un grade : [spoiler=PermissionsEx] D'abord, il faut créer une fonction : Function RecupGrade(p: player) #On créer une fonction, si vous ne savez pas comment faire, je vous invite à lire le tutoriel de Gauvain : https://skript-mc.fr/forum/threads/tmtcpas-1-les-fonctions-basiques-sans-le-return.7865/ set {_uuid} to {_p}'s uuid #On récupère l'UUID du joueur set {_Grade} to single value "users.%{_uuid}%.group" get of "plugins/PermissionsEx/permissions.yml" # On récupère le grade du joueur replace all "[" with "" in {_Grade} #On enlève les crochets du grade replace all "]" with "" in {_Grade} send "%{_Grade}%" to {_p} #On envoie le résultat au joueur command /RecupGrade <offline player>: #On crée la commande trigger: RecupGrade(arg-1) #On appelle la fonction [spoiler=GroupManager] function RecupGrade(p: player): #On créer une fonction, si vous ne savez pas comment faire, je vous invite à lire le tutoriel de Gauvain : https://skript-mc.fr/forum/threads/tmtcpas-1-les-fonctions-basiques-sans-le-return.7865/ set {_monde} to {_p}'s world #On récupère le monde du joueur set {_a} to value "users.%{_p}%.group" get of "plugins/GroupManager/worlds/%{_monde}%/users.yml" # On récupère le grade du joueur send "%{_a}%" to {_p} #On envoie le message au joueur command /RecupGrade <offline player>: trigger: RecupGrade(arg-1) Récupérer un prefix [spoiler=PermissionsEx] Function RecupPrefix(p: player): set {_uuid} to {_p}'s uuid set {_Grade1} to single value "users.%{_uuid}%.group" get of "plugins/PermissionsEx/permissions.yml" # On récupère le grade du joueur replace all "[" with "" in {_Grade1} replace all "]" with "" in {_Grade1} set {_Grade2} to single value "groups.%{_Grade1}%.options.prefix" get of "plugins/PermissionsEx/permissions.yml" # On récupère le grade du joueur #On récupère le prefix replace all "&" with "§" in {_grade2} #Pour être sur qu'il y ai des couleurs send "%{_Grade2}%" to {_p} J'espère que ce tutoriel vous à été utile et bye ;)
  24. 1 point
    Essay ça ! Je ne l'ai pas testé :/ on world change: loop all worlds: set {_c} to 0 loop all players: if world of loop-value-2 is "%loop-value-1%": add 1 to {_c} set {counter.%loop-value%} to {_c} command /changeworld <text> [<player=%player%>]: trigger: if {counter.%arg-1%} isn't set: message "Aucune Donnée pour ce monde ! Réessayez sinon le monde n'existe pas!" loop all worlds: set {_c} to 0 loop all players: if world of loop-value-2 is "%loop-value-1%": add 1 to {_c} set {counter.%loop-value%} to {_c} else if arg-1 is "Survival": if {counter.%arg-1%} >= 20: message "Le monde est full ! Réessayez plus tard !" else: teleport player in world "%arg-1%" else if arg-1 is "Nether": if {counter.%arg-1%} >= 80: message "Le monde est full ! Réessayez plus tard !" else: teleport player in world "%arg-1%"
  25. 1 point
    J'ai déjà fait un skript similaire. Tu as juste à remplacer le nom du monde par le nom de ton monde. on break: world is "FFA" add location of block to {broken.blocks::*} add type of block to {broken.type::*} set {ignore.locations::%location of event-block%} to true on place: world is "FFA" add location of block to {placed.blocks::*} set {ignore.locations::%location of event-block%} to true command /regen: trigger: 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::*} delete {placed.blocks::*} delete {broken.type::*} delete {ignore.locations::*} on block form: world is "FFA" if event-block is obsidian: add location of event-block to {placed.blocks} loop all blocks in a radius 3 around event-block: if loop-block is cobble stone: add location of loop-block to {placed.blocks::*} N'oublie pas de lâcher un like ;)
×

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.