Aller au contenu

Classement

Contenu populaire

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

  1. Salut ! Je viens de faire un test pour cela et voici ma solution : command /test: trigger: if player have paper: send "vous avez le papier" to player else: give paper to player je vois que tu as utilisé : make the server execute command "/give %player% paper 1 {CustomModelData:8,display:{Name:'[{""text"":""Billet"",""bold"":true}]'}}" mais a la place tu peux utiliser ceci : give player paper named "§lBillet" Pour avoir les codes couleurs de minecraft il y a une page qui est super sur minecraft tools : https://minecraft.tools/fr/color-code.php Bone journée
    1 point
  2. Bonjour à tous, Je rencontre un problème avec mon script Skript qui doit attribuer une permission uniquement le week-end (samedi et dimanche) à tous les joueurs, et la retirer les autres jours. Voici ce que j'ai essayé : every 5 minutes: loop all players: set {_now} to now if {_now} is 'Saturday' or {_now} is 'Sunday': if loop-player does not have permission "shopguiplus.shops.weekend": execute console command "lp user %loop-player% permission set shopguiplus.shops.weekend true" else: if loop-player has permission "shopguiplus.shops.weekend": execute console command "lp user %loop-player% permission unset shopguiplus.shops.weekend" Le souci est que la ligne if {_now} is 'Saturday' or {_now} is 'Sunday': ne fonctionne pas (erreur « can't understand this expression »), je pense que Skript ne reconnaît pas cette syntaxe. Est-ce que quelqu’un saurait comment récupérer correctement le jour de la semaine en Skript, ou une autre méthode pour activer cette permission uniquement le samedi et dimanche ? Merci beaucoup pour votre aide !
    1 point
  3. Introduction Hello les Skripteurs!! 👋 Je vous propose ici un tutoriel complet et un Skript prêt à l’emploi en bas de page. Ce tutoriel concerne une problématique qui manque cruellement de doc claire sur les forums de Skript en général: L’idée m’est venue en aidant un membre (coucou @Mamadoug 😄) qui voulait déclencher un évènement uniquement les week-end. Cependant, Skript ne propose pas d'expression native pour ça. Mais pas de panique, on va utiliser un peu de logique et un algorithme fiable et on va y aller par étape. Contexte Skript propose une expression now pour récupérer la date actuelle, mais il n’existe aucun moyen direct de faire une condition telle que : # output an error: Can't understand this condition: 'now is 'Monday'' if now is "Monday": Cette condition n'est pas comprises par Skript, ce qui est très frustrant quand on veut faire une action selon le jour de la semaine Étape 1 – Comprendre ce qu’on a : l'expression now (Skript Hub - Documentation) Skript implémente l'expression now, qui donne l’instant actuel (avec jour, mois, année, heure, minute). Mais il ne donne pas le jour de la semaine directement comme tu peux le voir dans l'output ci-dessous.... 👉 On a donc besoin de transformer now en quelque chose qu’on peut analyser... du texte par exemple. Étape 2 – Obtenir les composantes de la date La date donnée par now ressemble à ça : 12/07/2025 00:11 On crée une fonction formatDate() qui transforme/découpe ce texte en une liste : [12, 07, 2025, 00, 11] -> [jour, mois, année, heure, minute] set {_date::*} to "%{_d}%" split by "/" Cela nous permet de séparer jour, mois, année, ce qui est indispensable pour la suite. Étape 3 – Ajouter une fonction modulo, absente de Skript... Pour certains calculs, on a besoin d’un reste de division euclidienne, qu’on appelle modulo. Or, Skript ne possède pas de fonction native modulo()... Donc on doit la créer nous-mêmes : # Merci Yghore https://skript-mc.fr/forum/topic/16351-skript-modulo/#findComment-131599 function modulo(n1: number, n2: number) :: number: set {_divise} to round down ({_n1} / {_n2}) set {_multiple} to {_n2} * {_divise} set {_modulo} to ({_n1} - {_multiple}) return {_modulo} Je ne vais pas détailler le fonctionnement du modulo Ici car cela peut faire l'objet d'un autre post. En savoir plus sur le modulo : Modulo (opération) — Wikipédia Cette fonction sera indispensable dans l’étape suivante, lorsqu’on fera un calcul plus avancé sur la date. 😉 ...et merci @Yghore pour le snippet 🙂 Étape 4 – Utiliser les maths : l'algorithme de Zeller Pourquoi ? Puisqu’on n’a pas de fonction pour trouver le jour de la semaine directement dans Skript, on fait comme les anciens : on le calcule mathématiquement à partir de la date.. Ce qui donne cette formule pour notre calendrier géorgien: L'idée de Zeller : On prend le jour (q), le mois (m), et "l’année" (K), et on fait des opérations mathématiques. Ici en fonction de la valeur de h, nous pouvons en déduire du jours de la semaine car cette formule donne le jour de la semaine sous forme d’un nombre de 0 à 6 : Pour chaque valeur de h, interpréter de la manière suivante : 0 : "Saturday" # Samedi 1 : "Sunday" # Dimanche 2 : "Monday" # Lundi 3 : "Tuesday" # Mardi 4 : "Wednesday" # Mercredi 5 : "Thursday" # Jeudi 6 : "Friday" # Vendredi Nous avons heureusement implémenté notre fonction modulo() plus tôt, et cela va nous servir à réécrire cette formule en Skript! Donc la formule énoncée plus haut donnerai quelque chose comme ça: # Uses the Zeller's Congruence algorithm to calculate the day of the week # Ref: https://fr.wikipedia.org/wiki/D%C3%A9termination_du_jour_de_la_semaine if {_month} is "January": set {_month} to 13 set {_year} to {_year} - 1 else if {_month} is "February": set {_month} to 14 set {_year} to {_year} - 1 else: set {_month} to {_month} + 1 set {_k} to modulo({_year}, 100) set {_j} to {_year} / 100 set {_f} to {_day} + (13 * ({_month} + 1)) / 5 + {_k} + {_k} / 4 + {_j} / 4 - (2 * {_j}) set {_f} to modulo({_f}, 7) # à partir de là, {_f} contient notre jour de la semaine de manière numérique Je ne vais pas détailler plus loin, si vous voulez en savoir plus au niveau de la transcription de cette formule mathématique en langage de programmation, voici une ressource qui vous sera utile: Zeller's Congruence | Find the Day for a Date - GeeksforGeeks Étape 5 – On écrit getDayOfTheWeek(d: date) Cette fonction prend la date, applique l’algorithme de Zeller, et retourne une chaîne de caractères : "Monday", "Tuesday", ..., "Sunday" Maintenant, on peut poser une vraie question lisible : if getDayOfTheWeek(now) is "Sunday": Nous avons donc codé cette formule dans la fonction getDayOfTheWeek() qui prend en paramètre une date et qui retourne en fonction de la valeur de h, le jour de la semaine en anglais. Bonus - Une commande pour tester directement Pour finir, j’ai codé une petite commande pratique: Elle permet d’afficher le jour de la semaine actuel, formaté proprement avec l’heure et la date. Commande à utiliser : /now Elle affiche par exemple : Saturday 12/07/2025 00:11 Pratique pour tester rapidement le fonctionnement de la fonction getDayOfTheWeek() ! 😉 Voilà, j’espère que ce tutoriel vous aura été utile et qu’il vous aura permis d’apprendre quelque chose au passage 🙂 Notamment sur comment contourner certaines limites de Skript en s’appuyant sur un peu de logique mathématique (merci Zeller 😄). L’idée était simple à la base, mais demandait une mise en œuvre un peu plus technique, désormais à votre portée ! Le code proposé est plug-and-play, libre à vous de l’adapter à vos besoins (event spécial, message du jour, gestion hebdomadaire, etc...). Et si vous souhaitez aller plus loin (exécution à heure fixe, détection de jours fériés, commandes manuelles...), je serai ravi de vous filer un coup de main ! Bref... Bon dev à tous… et bon week-end... si c’en est un 😉 Ah... et... comme promis... voici le Skript dans son entièreté (ne me remerciez pas): time.sk
    1 point
  4. Salut @Mamadoug, Je te partage ici une solution fonctionnelle en bas de page, que j’ai codée pour répondre précisément à ton besoin: attribuer une permission uniquement le week-end (samedi/dimanche), et la retirer sinon..... 🙂 Comprend d'où venait ton erreur: Le problème rencontré est que Skript ne comprend pas la condition : # output: Can't understand this condition: '{_now} is 'Saturday' or {_now} is 'Sunday'' set {_now} to now if {_now} is 'Saturday' or {_now} is 'Sunday': Skript ne sait ni reconnaître le jour de la semaine, ni interpréter "Saturday" comme une constante magique... Donc il faut calculer nous-mêmes le jour de la semaine à partir de la date ! On va y aller par étapes. Étape 1 – Comprendre ce qu’on a : l'expression now (Skript Hub - Documentation) Skript implémente l'expression now, qui donne l’instant actuel (avec jour, mois, année, heure, minute). Mais il ne donne pas le jour de la semaine directement comme tu peux le voir dans l'output ci-dessous.... 👉 On a donc besoin de transformer now en quelque chose qu’on peut analyser... du texte par exemple. Étape 2 – Obtenir les composantes de la date La date donnée par now ressemble à ça : 12/07/2025 00:11 On crée une fonction formatDate() qui transforme/découpe ce texte en une liste : [12, 07, 2025, 00, 11] -> [jour, mois, année, heure, minute] set {_date::*} to "%{_d}%" split by "/" Cela nous permet de séparer jour, mois, année, ce qui est indispensable pour la suite. Étape 3 – Utiliser les maths : l'algorithme de Zeller Pourquoi ? Puisqu’on n’a pas de fonction pour trouver le jour de la semaine directement dans Skript, on fait comme les anciens : on le calcule mathématiquement à partir de la date.. Ce qui donne cette formule pour notre calendrier géorgien: L'idée de Zeller : On prend le jour (q), le mois (m), et "l’année" (K), et on fait des opérations mathématiques. Ici en fonction de la valeur de h, nous pouvons en déduire du jours de la semaine car cette formule donne le jour de la semaine sous forme d’un nombre de 0 à 6 : Pour chaque valeur de h, interpréter de la manière suivante : 0 : "Saturday" # Samedi 1 : "Sunday" # Dimanche 2 : "Monday" # Lundi 3 : "Tuesday" # Mardi 4 : "Wednesday" # Mercredi 5 : "Thursday" # Jeudi 6 : "Friday" # Vendredi Je ne vais pas détailler plus loin, si tu veux savoir plus au niveau de la transcription de cette formule mathématique en langage de programmation, voici une ressource qui te sera utile: Zeller's Congruence | Find the Day for a Date - GeeksforGeeks Étape 4 – On écrit getDayOfTheWeek(d: date) Cette fonction prend la date, applique l’algorithme de Zeller, et retourne une chaîne de caractères : "Monday", "Tuesday", ..., "Sunday" Maintenant, on peut poser une vraie question lisible : if getDayOfTheWeek(now) is "Sunday": Nous avons donc codé cette formule dans la fonction getDayOfTheWeek() qui prend en paramètre une date et qui retourne en fonction de la valeur de h, le jour de la semaine en anglais. Étape 5 – Créer une fonction isWeekend(date) Comme on veut rendre la chose plus simple à lire et à réutiliser, on crée une fonction dédiée: function isWeekend(d: date) :: boolean: set {_day} to getDayOfTheWeek({_d}) if {_day} is "Saturday": return true else if {_day} is "Sunday": return true else: return false On pourra ensuite écrire: if isWeekend(now) is true: Et ça veut bien dire : si on est samedi ou dimanche 🙂 Étape 6 – Implémenter ces fonctions dans ton code Tu voulais faire une boucle qui ajoute les permissions régulièrement en fonction du jour de la semaine pour tous les joueurs mais plutôt que de vérifier toutes les 5 minutes pour tous les joueurs connectés, on va vérifier au moment où chaque joueur rejoint le serveur 😄 Pourquoi c’est mieux ? Moins de charge serveur : pas de boucle inutile. Pas besoin de timer ou de tâche répétitive. La permission est attribuée dès que le joueur arrive, ce qui suffit dans la plupart des cas. on join: if isWeekend(now) is true: # Donner la permission si le joueur ne l'a pas if player does not have permission "shopguiplus.shops.weekend": execute console command "lp user %player% permission set shopguiplus.shops.weekend true" else: # Retirer la permission si le joueur l'a if player has permission "shopguiplus.shops.weekend": execute console command "lp user %player% permission unset shopguiplus.shops.weekend" Voilà, j’espère que tout ça t’aura été utile et que tu auras appris quelque chose au passage 🙂 notamment sur comment contourner les limites de Skript en utilisant un peu de logique mathématique (merci Zeller 😄). En tout cas, ton idée de départ était bonne, il ne manquait qu’une manière un peu plus technique de l’implémenter. Je te laisse tester tout ça, normalement le code disponible juste en dessous est plug-and-play, et si jamais tu veux aller plus loin (déclenchement à minuit, commande manuelle, etc...), je serai ravi de t’aider à peaufiner. Bonne chance pour ton projet et bon week-end… si c’en est un 😉 Code/Solution ICI: Révéler le code:
    1 point
  5. 1 point
  6. Règlement du forum Skript-MC Nous considérons que ces règles sont lues et approuvées lorsque vous vous inscrivez sur notre communauté. Ce règlement peut éventuellement être amené à être modifié, auquel cas un message sera posté dans ce sujet. 1. Les posts et topics Restez calme et respectueux envers l’équipe du staff et les utilisateurs. Le partage de contenu à caractère illégal, menaçant, discriminatoire (xénophobe, racisme, etc.), pornographique, vulgaire ou harcelant est fortement interdit. Ecrivez dans un français correct, vous avez le temps avant de poster un message. L’abus de langage SMS peut être réprimé. Les pratiques comme le flood, le spam, ou l’envoi de messages sans utilité sont interdites. Les messages trop courts (smileys par exemple) seront effacés. Veuillez respecter les règles de la section dans laquelle vous postez. Évitez le hors-sujet au possible. Les ups (action de faire remonter un topic dans une catégorie en postant un message dans celui-ci) sont autorisés à intervalle de 24 heures. Les titres doivent coller au plus possible au topic. Les titres “aguicheurs” ou mensongers ne sont pas tolérés et seront supprimés. Il est fortement interdit de poster un message qui a pour but de nuire au forum ou à une personne, un utilisateur. La promotion de logiciels de triche (cheats) est interdite. Le forum est un forum francophone. Les posts doivent donc être en français et non pas dans une langue étrangère. 2. Les sections “Aide” et “Demandes de skript” Les topics avec des titres comme “aidez moi!!!”, “probleme svp aide” sont prohibés et seront fermés voire supprimés. Veuillez effectuer des recherches avant de poster, sur le forum ou sur Google. Votre souci a très sûrement déjà été résolu autre part. Détaillez au plus possible vos demandes d’aides et ne vous contentez pas seulement de 5 lignes. Précisez la version de votre plugin Skript et la version de votre serveur. Ne créez pas des tonnes de posts pour le même souci. Si personne ne répond, faites preuve de patience et faites un “up” toutes les 24 heures, sans en abuser. N’attendez pas que l’on vous donne un code tout prêt uniquement car vous n’avez pas compris. Demandez des explications si nécessaire. Les personnes s'étant inscrites dans les dernières 24h et qui ne respectent pas les règlements de catégorie se verront bannies définitivement. Les demande d'aide et de skript doivent figurer de la demande jusqu'à la finalisation de la demande sur le forum. Les réponses du type "viens mp discord pour t'aider" ne sont plus tolérées car les demandes d'aide sur le forum ne sont jamais finalisées ni répondues. 3. La section “Ressources” Faites une présentation soignée, et non pas bâclée. Évitez les couleurs trop vives comme le jaune. Il est très important d’inscrire dans votre présentation : les dépendances du skript (skQuery, WildSkript, etc.), les versions de Minecraft compatibles, les versions de Skript compatibles, des screenshots / captures d’écran de votre création, la liste des commandes détaillées. Ne spammez pas les membres du staff pour que votre ressource soit acceptée rapidement. Les ressources sont vérifiées assez rapidement et dans les plus brefs délais. Ne partagez pas une ressource qui ne vous appartient pas sans l'avis du créateur original. Une lourde sanction sera appliquée à ceux qui copient / collent des skripts qui ne sont pas d’eux. 4. La documentation Nous avons développé une documentation pour que nous puissions vous partager un maximum de connaissance via le site de Skript-MC. Nous exigeons donc qu'un maximum de liens où les syntaxes sont disponibles sur le site de Skript-MC soient utilisés dans vos topics. Pour les Membres Actifs, nous vous demandons de nous aider à compléter la documentation. Il ne sera pas toléré de votre part, le partage d'une autre documentation, si les syntaxes qui sont demandées par un membre, existe déjà sur la documentation de Skript-MC (A savoir qu'on a fait ça par votre demande (la refonte de la doc) alors complétez là avec nous). 5. Les publicités Les personnes s’inscrivant uniquement pour faire de la publicité, même dans une catégorie où cela est toléré seront bannies. Les liens rémunérés (adf.ly, etc.) ne sont pas tolérés sur le forum et seront supprimés. 6. Votre profil Les signatures ne doivent pas être trop grandes ou trop présentes. Veillez à avoir une image de profil qui n’est pas trop “choquante”. Les informations que vous entrez lors de votre inscription restent et resteront confidentielles et protégées. Faites la demande auprès d’un membre du staff si vous voulez les faires retirer de votre profil. Les doubles comptes sont interdits. Si un membre banni se réinscrit sous un autre pseudo, il sera supprimé sans préavis, et le compte précédent sera banni définitivement (si la sanction était temporaire). De même, si vous êtes en situation de double compte, tous les comptes possédés hormis le plus ancien seront supprimés. 7. Autre Ce forum est modéré à priori, les ressources ou certains messages que vous postez dans le forum ne seront pas mis en ligne directement mais lu préalablement par les modérateurs de Skript-Mc. Ceux-ci sont seuls habilités à décider de l’opportunité de publier votre ressource ou votre message. La publication d’un message ou d'une ressource posté ne vous exonère en rien de votre responsabilité concernant son contenu. Les modérateurs du forum se réservent le droit de supprimer les messages à tout moment. Ce forum est modéré à posteriori, les messages que vous postez sont directement publiés sans aucun contrôle préalable. Il est de votre responsabilité de veiller à ce que vos contributions ne portent pas préjudice à autrui et soient conforment à la réglementation du forum en vigueur. Les modérateurs se réservent le droit de retirer toute contribution qu’ils estiment déplacée, inappropriée, contraire aux règlements de catégories, à ce règlement ou susceptible de porter préjudice directement ou non à des tiers ou à un groupe de personnes. Les messages qui ne sont pas en relation avec les thèmes de discussion ou avec l’objet du forum peuvent être supprimés sans préavis par les modérateurs. Les modérateurs du forum se réservent le droit d’exclure du forum, de façon temporaire ou définitive, toute personne dont les contributions sont en contradiction avec les règles mentionnées. N’hésitez pas à contacter le staff en cas de problème avec le forum ou avec un utilisateur en question. Un Discord officiel est disponible à cette adresse. Respecter les règles de celui-ci comme le respect de ce dernier. N’hésitez pas à signaler un message ou une ressource que vous pensez “hors-règles”. Nous la réprimanderons voire la supprimerons dans les plus brefs délais. La liste des sanctions est disponible à cette adresse. En tant que modérateur de ce forum, nous nous réservons le droit de supprimer tout message qui nous semble inapproprié, sans justification. De même, le fait de participer à ce forum implique l'acceptation de ces règles, ainsi que des conditions générales d'utilisations de Skript-Mc. Si vous avez une question sur le fonctionnement du forum, une proposition d'amélioration ou autre chose, n'hésitez pas à laisser un message à l'équipe de Skript-Mc. Nous nous ferons un plaisir de les lire. Cordialement, L'équipe Skript-MC
    1 point
  7. Skript créer de toutes pièces par imSizk Le skript est en pré alpha ce qu'il veut dire qu'il peut y avoir de nombreux bugs, merci de faire parts des bugs. • Commandes admin Permission (swa.admin) /swa setlobbyin <= Set le lobby d'attente /swa setlobbyout <= Set le lobby de votre serveur /swa start <= Pour démarrer (automatique) /swa stop <= Pour stop le SheepWars /swa setrouge <= Set le spawn de l'équipe rouge /swa setbleu <= Set le spawn de l'équipe bleue /swa addjoinsign <= Modifie le panneau visé en panneau pour rejoindre le jeu /swa addleavesign<= Modifie le panneau visé en panneau pour quitter le jeu /swa removejoinsign <= Supprime le panneau qui permet de rejoindre le jeu /swa removeleavesign <= Supprime le panneau qui permet de rejoindre le jeu • Commandes joueur Pas de permissions /sw join <= Rejoindre le skSheepWars /sw leave <= Quitter le skSheepWars • Comment configuré le Skript? => Des options en haut du skript sont a ta disposition! • Ai-je le droit de poster ce skript ou tout simplement de m'en inspirer? => Non pas de le poster mais de le modifier oui :) • Qu'ai-je a faire pour l'activer? => Rien, tu as juste besoin de lancer ton serveur pour l'activer. Et de faire un reload skript. • Si j'ai un problème que faire? => Le dire dans la discussion prévue a cet effet plus bas. • Si j'ai une suggestion pour ce Skript que faire? => L'exposée dans la discussion aussi prévue a cette effet! • Dépendance ► SkQuery ► Umbaska ► WildSkript ► RandomSk ► SkRayFall Pour ce Skript je vous demanderais d'aimer car ça me motive a refaire des skripts comme ça. c:
    1 point
×
×
  • Créer...

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.