Aller au contenu

Nyu

Membre
  • Compteur de contenus

    18
  • Inscription

  • Dernière visite

  • Jours gagnés

    3

Tout ce qui a été posté par Nyu

  1. 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
  2. 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:
  3. Hello, Je pense avoir ce que tu recherches ! Qu'en dis-tu ? itemrank.sk
  4. Hello @Fayikauz, Et bien voilà, je trouve ton code très intéressant, je te propose ma version inspiré de la tienne (en espérant avoir répondu à tes attentes) ! 😊 Passe une bonne soirée et amuses toi bien ! handcuff.sk
  5. Nyu

    Boussole HUD

    Cela me rappelle cette ressources qui fonctionnait très bien DirectionalArrows - API / IDE - Skript-MC Content de voir cette techno se mettre à jour ! Cela fonctionne très bien !
  6. Salut @Bode, Si tu veux tu peux utiliser Umbaska mais à tes risques et périls comme l'a dit @Shykuzo... Pour envoyer un joueur sur un autre serveur avec l'addon Umbaska, c'est cette ligne de code qu'il te faut. send player to "<nom du serveur>" Dans ton cas, ce serait un script comme ça qu'il te faudrait: Si tu as d'autre question n'hésite pas, 😊 Passe une bonne journée !
  7. Code corrigé... loginV2.sk
  8. Je pense que tu vas pouvoir t'amuser un petit peu avec ça 😉 *** Fichier Supprimé *** Tu en fais ce que tu veux.
  9. Nyu

    Création de command

    Mince j'ai presque oublié de traiter ce message... Alors voilà, cette ligne de log signifie que tu n'as pas bien respecté la syntaxe des tabulations dans ton code (ou bien alors tu as oublié un « : » quelque part). [12:13:04 ERROR]: indentation error: expected 2 spaces, but found 4 spaces (dev 2.sk, line 13: send "yeeesss"') Ce rapport d'erreur te dit qu'il voit 4 espaces alors que celui-ci s'attendait à en voir 2 dans le fichier dev 2.sk à la ligne n°13. Cette ligne comporte « send "yeeesss"' ». → Tout d'abord, fais très attention avec l'utilisation des guillemets (= quotes), tu as mis une apostrophe (« ' ») en trop ! → Ensuite vérifie bien le nombre de tabulations que tu as mis (généralement, la règle d'or c'est « Je tab quand il y a les ":" » pour soumettre le code à la ligne du dessus...) → Enfin tu ne peux pas utiliser les espaces en guise de tabulation (Rappel: 4 espaces = 1 tabulation) quand tu utilises les tabulations (C'est super confus mais j'espère que tu comprendras, sinon demande moi de t'expliquer plus en détail !) Voili-Voilou, Encore désolé pour cet oubli :3 Bonne soirée à tous.
  10. Nyu

    Création de command

    Bonsoir @CreepyGeek, Pour pouvoir créer ta commande skript, il faut que tu règles certains problèmes de syntaxe dans ton code. # Ton code erroné se présente ici. command /test: executable by: console aliases: /t, /admin # ← L'Erreur se trouve ICI sur cette ligne ! trigger: send "Ca marche !" En effet, pour ce qui est des aliases, tu ne dois pas mettre de "/" avant la commande souhaité. Ce qui donne cette correction: # Ton code corrigé se présente ici. command /test [<text>]: # ← Cette petite partie permet d'executer la commande même s'il y a un argument. executable by: console # Tu devras changer cette ligne par «executable: console and players» si tu veux que la commande sois executable par un joueur. aliases: t, admin # ← On a retiré les barres obliques ("/") des commandes trigger: send "Ca marche !" to sender # ← N'oublie pas aussi de dire a qui tu souhaite envoyer cela! (mais c'était plutôt facultatif ici...) Et bien voilà, ta commande fonctionne de mon côté a merveille ! Je te laisse tester de ton côté et n'hésite surtout pas à nous poser des questions 😉 Que ce soit sur les commandes ou bien encore d'autres fonctionnalités de Skript, je suis disponible sur le discord de Skript-MC pour te donner des conseils (Nyu!#0497) Bien à toi, Nyu!
  11. Nyu

    DirectionalArrows

    Je n'ai eu aucun problème pour faire fonctionner ton skript avec le mien, très simple d'utilisation, très pratique... Gros GG à toi! 😉
  12. Bonsoir @Capouhccino, Excellent choix de Skript, je te soutient à 100% ! C'est pourquoi ce soir je vais te donner une petite ligne de code que te changera. 😉 Alors voilà, sur Skript tu as une expression qui te permet d'office de savoir si un joueur (ou n'importe quoi d'autre) est entre deux points (un peu comme WorldGuard avec les régions...) %location% is within %location% to %location% (Il me semble que tu vas devoir installer SkQuery qui est un addon disponible sur spigot juste ici → https://www.spigotmc.org/resources/skquery-1-9-1-16.36631/) Je te propose de d'abord créer une petite hache qui te permettra de définir plus facilement tes zones... # ## Cette commande te permettra de te donner la hache de sélection ## # command /amongus [<text=wand>]: aliases: au trigger: if arg 1 is "wand" or "hache" or "setlocation" or "setup" or "define" or "setloc": if sender has permission "Administrateur": # ou bien alors la permission que tu souhaite if sender is a player: # on empêche la console de faire la commande ! loop all items in the inventory of player: # on recherche s'il n'y a pas déjà un hache de sélection dans l'inventaire du joueur (ça sert a rien d'en avoir 2 :D) if loop-item is golden axe of unbreaking 10 named "&eSélectionner&7: &cCafetaria": stop trigger # si la hache est trouvée, alors le skript ne calcule plus ce qu'il y a dans les lignes suivantes if loop-item is golden axe of unbreaking 10 named "&eSélectionner&7: &cWeapons": stop trigger if loop-item is golden axe of unbreaking 10 named "&eSélectionner&7: &cStorage": stop trigger give 1 golden axe of unbreaking 10 named "&eSélectionner&7: &cCafetaria" to player send "&b» &6Veuillez sélectionner vos zones&6, puis &ndroppez la hache&r&6 pour en sélectionner un autre." to sender # Il et toujours important de mettre des messages d'erreurs else: send "&b» &cERREUR: La console ne peut executer cette commande!" to sender # pour que le joueur sache comment utiliser la commande else: send "&7» &cERREUR: Vous n'avez pas la permission de faire cela!" to sender # ; (Je ne vais pas te cacher que j'en ai assez des skripts sans messages d'erreurs, c'est mon pêché mignon !) # ## Ici on peut set la position n°2 en faisant un clique droit comme le plugin worldedit ## # on leftclick: if player's tool is a golden axe of unbreaking 10 named "&eSélectionner&7: &cCafetaria": # on verifie que le joueur ai bien une hache de sélection dansles mains if event-block's location is set: # on verifie qu'il tape un bloc et non pas de l'air cancel event # on annule le clique gauche pour ne rien casser set {_temploc} to event-block's location # Je préfère comparer variable avec variable personnelement if {zone::cafetaria::1} is not {_temploc}: # On verifie que tu n'as pas au préalable déjà sélectionné ce bloc (sinon...) send "&b» &aVous avez sélectionné la &bpos1 &ade la zone &cCafetaria&a!" to player # Message de confirmation set {zone::cafetaria::1} to event-block's location # On enregistre le bloc dans une variable "liste" (c'est très pratique pour stocker n'importe quoi...) send "&b» &7(%{zone::cafetaria::1}%&7)" to player else: # (...sinon) On le supprimera de la selection send "&b» &cVous avez désélectionné la &bpos1 &cde la zone Cafetaria&c!" to player send "&b» &7(%{zone::cafetaria::1}%&7)" to player clear {zone::cafetaria::1} # supprimé avec cette ligne if player's tool is a diamond axe of unbreaking 10 named "&eSélectionner&7: &cWeapons": # pour chaque paragraphe, c'est la même chose mais avec un zone différente, si tu en ajoute pensa a modifier le nom de la hache if event-block's location is set: cancel event set {_temploc} to event-block's location if {zone::weapons::1} is not {_temploc}: # ainsi que les variables {zone::weapons::1} {zone::storage::1} {zone::parc::1} {zone::electricity::1} etc send "&b» &aVous avez sélectionné la &bpos1 &ade la zone &cWeapons&a!" to player set {zone::weapons::1} to event-block's location send "&b» &7(%{zone::weapons::1}%&7)" to player else: send "&b» &cVous avez désélectionné la &bpos1 &cde la zone &cWeapons&c!" to player send "&b» &7(%{zone::weapons::1}%&7)" to player clear {zone::weapons::1} if player's tool is a diamond axe of unbreaking 10 named "&eSélectionner&7: &cStorage": if event-block's location is set: cancel event set {_temploc} to event-block's location if {zone::storage::1} is not {_temploc}: send "&b» &aVous avez sélectionné la &bpos1 &ade la zone &cStorage&a!" to player set {zone::storage::1} to event-block's location send "&b» &7(%{zone::storage::1}%&7)" to player else: send "&b» &cVous avez désélectionné la &bpos1 &cde la zone &cStorage&c!" to player send "&b» &7(%{zone::storage::1}%&7)" to player clear {zone::storage::1} # ## Ici on peut set la position n°2 en faisant un clique droit comme le plugin worldedit ## # on rightclick: if player's tool is a golden axe of unbreaking 10 named "&eSélectionner&7: &cCafetaria": # ici c'est la même chose qu'au dessus... petite nuance, le nom des variable "{zone::cafetaria::2}" se terminent par ::2 pour dire que c'est la position 2 if event-block's location is set: cancel event set {_temploc} to event-block's location if {zone::cafetaria::2} is not {_temploc}: send "&b» &aVous avez sélectionné la &bpos2 &ade la zone &cCafetaria&a!" to player set {zone::cafetaria::2} to event-block's location send "&b» &7(%{zone::cafetaria::2}%&7)" to player else: send "&b» &cVous avez désélectionné la &bpos2 &cde la zone Cafetaria&c!" to player send "&b» &7(%{zone::cafetaria::2}%&7)" to player clear {zone::cafetaria::2} if player's tool is a diamond axe of unbreaking 10 named "&eSélectionner&7: &cWeapons": if event-block's location is set: cancel event set {_temploc} to event-block's location if {zone::weapons::2} is not {_temploc}: send "&b» &aVous avez sélectionné la &bpos2 &ade la zone &cWeapons&a!" to player set {zone::weapons::2} to event-block's location send "&b» &7(%{zone::weapons::2}%&7)" to player else: send "&b» &cVous avez désélectionné la &bpos2 &cde la zone &cWeapons&c!" to player send "&b» &7(%{zone::weapons::2}%&7)" to player clear {zone::weapons::2} if player's tool is a diamond axe of unbreaking 10 named "&eSélectionner&7: &cStorage": if event-block's location is set: cancel event set {_temploc} to event-block's location if {zone::storage::2} is not {_temploc}: send "&b» &aVous avez sélectionné la &bpos2 &ade la zone &cStorage&a!" to player set {zone::storage::2} to event-block's location send "&b» &7(%{zone::storage::2}%&7)" to player else: send "&b» &cVous avez désélectionné la &bpos2 &cde la zone &cStorage&c!" to player send "&b» &7(%{zone::storage::2}%&7)" to player clear {zone::storage::2} # ## Cette partie te permet de switch de zone en droppant ta hache ;) ## # on drop: if event-item is a golden axe of unbreaking 10 named "&eSélectionner&7: &cCafetaria": # on cherche la hache dans ton inventaire cancel event # on annule le drop wait 1 tick # le wait est obligatoire pour laisser le temps au serveur de supprimer ton item pour le remplacer ... remove golden axe of unbreaking 10 named "&eSélectionner&7: &cCafetaria" from player's inventory # on la supprime set player's tool to golden axe of unbreaking 10 named "&eSélectionner&7: &cWeapons" # on en mets une autre (il y a surement un moyen de renomer les items mais je ne sais pas faire :p) else: # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Sinon if event-item is a golden axe of unbreaking 10 named "&eSélectionner&7: &cWeapons": # ainsi de suite, on recherche l'item cancel event wait 1 tick remove golden axe of unbreaking 10 named "&eSélectionner&7: &cWeapons" from player's inventory # on supprime l'ancienne set player's tool to golden axe of unbreaking 10 named "&eSélectionner&7: &cStorage" # pour en mettre une nouvelle dans ta main else: if event-item is a golden axe of unbreaking 10 named "&eSélectionner&7: &cStorage": # etc, et ça a l'infinie cancel event wait 1 tick remove golden axe of unbreaking 10 named "&eSélectionner&7: &cStorage" from player's inventory set player's tool to golden axe of unbreaking 10 named "&eSélectionner&7: &cCafetaria" else: stop trigger # Enfin on fini avec ceci pour drop normalement car tu ne tiens pas la hache dans les mains ici # ## Code by Nyu! pour @Capouhccino ## # Enfin, avec ta toute nouvelle hache, tu peux vérifier si un joueur se trouve dans la zone demandé... Exemples: # exemple: » if player is within {zone::cafetaria::1} to {zone::cafetaria::2} « ← On verifie si le joueur se trouve dans la sélection avec cette condition. # Pour chaque joueur, il te suffira de faire un loop: every seconds: # toutes les secondes, l'action bar s'actualisera loop all players: # (Alors, ce genre de loop a utiliser avec modération = peut faire laguer avec trop de joueur (genre 70)) if loop-player is within {zone::cafetaria::1} to {zone::cafetaria::2}: # on cherche le joueur dans cafetaria set action bar of loop-player to "&7--- &cCafetaria&r &7---" # s'il y est, alors action bar ! else: # sinon if loop-player is within {zone::weapons::1} to {zone::weapons::2}: # on cherche ailleurs set action bar of loop-player to "&7--- &cWeapons&r &7---" else: if loop-player is within {zone::storage::1} to {zone::storage::2}: # et ainsi de suite set action bar of loop-player to "&7--- &cStorage&r &7---" # ## Code by Nyu! pour @Capouhccino ## # Voilà, ce sera tout pour moi, a moins que tu n'es des question alors j'y répondrais volontiers ! Vraiment n'hésite surtout pas! 😋 Bonne soirée à toi @Capouhccino en espérant avoir régler ton problème. Nyu! PS: Il y a peut-être des erreurs d'inattention niveau syntaxe (j'avoue que je n'ai pas testé mes codes), je m'en excuse d'avance.
  13. Bonjour @Skylyxx, Merci beaucoup pour ta réponse! Le skript marche parfaitement bien et donne la distance peut importe l'axe Y, c'est plus que ce qu'il ne fallait. 😉 Bonne journée à toi et à bientôt peut-être! PS: Je vais tenter de mettre le sujet en résolu mais je ne suis pas sûr de mon coup car ceci est mon premier message sur le forum ...
  14. Version de Minecraft : 1.9.4 Version de Skript : 2.5.0 Addons utilisés: Skore, SkQuery, ... Type du skript : Skript de localisation / Utilitaire Description du script : » Bonsoir à tous. Alors voilà, j'ai tenté de reproduire en skript les flèches que l'on peut apercevoir dans les games d'UHC pour localiser son allié ou bien sa base qui se trouvent généralement dans les scoreboards ou les action bars (comme dans l'image ci-joint). Je ne sais pour l'instant qu'afficher la distance entre le point (que je veux faire pointer) et le joueur mais pour ce qui est de la flèche, c'est une autre histoire... Je cherche donc une expression pour utiliser le «pitch» et le «yaw» du joueur afin de pouvoir détecter l'angle dans lequel se trouve la base ou bien l'allié. (Oui... je sais je sais, c'est très flou dit comme ça...) Je ne vois pas du tout comment faire et je ne sais pas s'il existe un moyen de faire plus simple, c'est pour cela que je fais appel à vous. Merci pour votre attention, dans l'attente de vos retours. 😉
×
×
  • 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.