Aller au contenu

Anarchick

Membre
  • Compteur de contenus

    321
  • Inscription

  • Dernière visite

  • Jours gagnés

    17
  • Crédits

    598 [Faire un don]

Tout ce qui a été posté par Anarchick

  1. Tu es nouveau en Skript ? Pour progresser en Skript il faut que tu es une logique de codage, de connaissance des mécanique de minecraft mais aussi de technique de débogage ! Quand tu rencontre un probleme l'effet > broadcast "1" sera ton meilleur ami pour identifier ou ton code a un problème on projectile hit: broadcast "1 %block at projectile%" if block at projectile is tnt: broadcast "2 tnt" set block at projectile to stone # set block at projectile to air broadcast "3" Tu remarquera que j'ai remplace "air" par "stone" car ça se trouve le code marche très bien mais ce n'est pas le bon bloc qui est transformé et comme l'air est invisible tu ne t'en rend pas compte. J'ai aussi sortie cette effet de la condition pour être sûr de voir qu'elle bloc est impacté par l'événement "on projectile hit". bref test le code au dessus et voilà ta solution: on projectile hit: if block below projectile is tnt: set block below projectile to air
  2. Anarchick

    Optimisation..

    Pareil que le voisin du dessus à la différence que j'utilise pas de variable mais des maths. loop 27 times: # ou loop integer between 0 and 26 format slot ( loop-number + -1) of player with 1 white stained glass pane named " " to close #loop-number commence à 1 donc on retire 1 pour que cela commence à 0 et finisse à 26, simple soustraction mathématique. #Puisque ton ton inventaire est rempli de vitre blanche il faut maintenant placer tes items utiles format slot 11 of player with 1 golden ingot named "&9Vendre" to close then run [make player execute command "/sell.1"] format slot 16 of player with 1 eye of ender named "Téléportation" to close then run [make player execute command "/warp shop"] #Tout ton code se ressemble donc tu fais ça a chaque fois et le tour est joué !
  3. set block at projectile to air
  4. Anarchick

    Problème d'add-ons

    Tous les addons ne sont pas forcement compatibles entre eux selon leurs versions #Umbaska HumHum *tousse* et la version de ton Spigot compte aussi.
  5. Anarchick

    Scoreboard déféctueux!

    avec SkrayFall v1.9.10 [Contenu masqué] test sur un serveur vierge avec seulement Skript, SkrayFall et surrement ProtocolLib (?) on sneak toggle: if player is sneaking: wipe player's sidebar else: set name of sidebar of player to coloured "<green><bold>Statistiques" set id score " " in sidebar of player to 3 with id "%player%_3" set id score "<gold>Kills : <red><bold>✘" in sidebar of player to 2 with id "%player%_2" set id score "<gold>Death : <red><bold>✘" in sidebar of player to 1 with id "%player%_1"
  6. Anarchick

    /report

    C'est galère à lire, optimise en faisant : if "%{grade.staff.%uuid of loop-player%}%" is "<none>" or "false" or "true" or "&4unrank" or "&1&9Builder" or "&l&6Animator" or "&l&4You&l&ftuber": stop ou au lieu de ne faire que des négations fait seulement l'inverse: if {grade.staff.%uuid of loop-player%} is "&l&4Administrator" or "&l&2Chief Moderator" or "&l&1Chief Builder" or "&l&aSuper Moderator" or "&l&8Moderator"
  7. Anarchick

    If gamemode spectator

    Quand j'étais en spigot 1.8 (viaversion 1.8/1.9) avec une version skript antérieur à la 2.2 j'ai aussi eu exactement le même problème avec if player's gamemode is spectactor: pour résoudre ça j'ai tout simplement fais "broadcast gamemode of player" et de mémoire ça m'avait sortit un truc du genre "gamemode.spectate" ensuite ce que j'ai fait c'est tout simplement ceci : if "%player's gamemode%" is "gamemode.spectate": J(espère que ça marchera pour toi comme ça avait marché pour moi à l'époque. (il y avait le même problème avant le support des ArmorStands qui se nommaient les "LivingEntity")
  8. voici un condensé de pas mal de truc possible avec les variables listes (tu trouveras des tuto détaillés sur YouTube): add (random integer between 0 and 10) to {test::*} add "test" to {test::*} broadcast "%{test::*}%" loop {_test::*}: broadcast "%loop-index% - %loop-value%" delete {test::*} set {_lol::%player%::%tool of player%} to name of player's tool loop {_lol::%player%::*}: broadcast "%loop-index% - %loop-value%" delete {_lol::%player%::%loop-index%} add "red" and "pink" and "gold" and "yellow" and "light green" to {_color::*} loop 5 times: broadcast "<%{_color::%loop-number%}%>%loop-number%" loop {_hey::*}: broadcast "%loop-value-1%" loop {_salut::*}: broadcast "%loop-value-1% %loop-index-2% %loop-value-2%"
  9. J'ai juste regardé vite fait et je dirais que l'erreur viens de là : {inv2.%{invnombre2.%player%}%} et {inv.%{invnombre.%player%}%} car tu partage une variable commune à tout tes joueurs, c'est à dire : {inv2.1} à {inv2.36}, remplace par {inv2.%player%.%{invnombre2.%player%}%} et à ta place j'utiliserai des variable liste ! du genre {inv2::%player%::%{invnombre2.%player%}%} ce qui sera beaucoup plus simple pour supprimer un inventaire lors d'un ban ou d'un /clearinventory par exemple.
  10. ceci marche parfaitement car je l'utilise sur mon serveur : give leather chestplate named "Plastron - Flamme" with lore "<WIP>" colored 255, 170, 0 to player ou set slot 0 of player to leather chestplate named "Plastron - Flamme" with lore "<WIP>" colored gold De même pour les GUI ou autre , ma version Spigot 1.9.2 , skript 2.2-fixed
  11. C'est bien une virgule. Est ce que le nom du poulet est bien Vehicle%player% ? (au cas où set name of last spawned chicken to "Vehicle%player%" ne marcherai pas)
  12. Tu peux mélangé du vanilla et du Skript 1 - Récupere le Yaw et Pitch de ton joueur 2 - transforme ce Yaw et Pitch en valeur Vanilla (car oui ils sont légérement différent au niveaux des angles) 3 - execute console commande "/tp @e[name=Vehicle_%player%] ~ ~ ~ %yaw% %pitch%" 4 - push vehicle of player (je présume que c'est ce que tu souhaite faire)
  13. Anarchick

    Max clicks

    il me semble que le "on leftclick" ne peux pas être détecté par le serveur si ton joueur n'a pas d'outil dans la main ou qu'il ne frappe pas un bloc/entité (à confirmer)
  14. enleve tous tes plugins et ne laisse que Skript voir si ça marche
  15. Anarchick

    Loop à l'envers O_o

    Si ça envoie des <none> partout c'est forcement que {report::%{_index}%} n'existe pas (évidement) et ça viens de là : loop {_total} times: set {_index} to {_index} + {_add} remove 2 from {_add} ajoute un send "%{_index}%" et tu verra que la valeur va monter en fleche, met plutôt remove 2 from {_index}
  16. et si tu t'inspirai de ça ... command /particle_circle <number=1> <number=1>: usage: /particle_circle [division] [diametre] trigger: set {_var1} to 0 loop 1+ 360/arg-1 times: set {_px1} to arg-2*cos ({_var1}*3.14/180) set {_pz1} to arg-2*sin ({_var1}*3.14/180) execute console command "/execute @a[name=%player%] ~ ~ ~ /particle fireworksSpark ~%{_px1}% ~1.62 ~%{_pz1}% 0 0 0 1 0 force" add arg-1 to {_var1} #wait a tick
  17. Il existe déjà un système de Top/Flop ici : [Contenu masqué] Mais je vous en propose un autre qui n'a rien à voir et qui est très performant : Ne nécessite pas d'addon possibilité de choisir par exemple "de la place 5 à la place 10" (ex: /top Kill 5 10) Ordre croissant et décroissant (ex: /top Kill 10 5) inverser l'ordre de lecture : la place 1 à la plus haute valeur/ la plus basse valeur (ex: /top Kill 1 10 /top Kill 1 10 f) /top Kill 10 1 est donc l'équivalent de /top Kill 1 10 f command /top <text> [<integer=1>] [<integer=5>] [<text>]: usage: /top <statistique> [debut] [fin] [inverser] trigger: set {_now} to now #---------------------------------------------------------------# # CODE A MODIFIER # # OBJECTIF : RECUPERER LA LISTE DES JOUEURS ET LEUR STATISTIQUE # #---------------------------------------------------------------# set {_players::*} to yml list "list.allplayers" from file "plugins/PlayerStats/SERVEUR.yml" loop {_players::*}: "%loop-value%" is not "SERVEUR" set {_value} to yml value "%arg-1%" from file "plugins/PlayerStats/%loop-value%.yml" parsed as number #----------------------------# # DEBUT DU CODE UTILE # # NE MODIFIER QUE LES TEXTES # #----------------------------# # les 2 lignes en dessous sont 2 sécurités à activer en cas de doute du fonctionnement du code au dessus # set {_value} to {_value} parsed as number # {_value} +1 > {_value} set {_value} to ({_value}*100000 + (random integer between 1 and 99)) set {_list::%{_value}%} to loop-value delete {_value} if arg-4 is not set: send "<gold>Top <white>%arg-1% <gold>a partir de la place <white>%arg-2% <gold>a la place <white>%arg-3%" to player else: send "<gold>Top <white>%arg-1% <gold>a partir de la place <white>%arg-2% <gold>a la place <white>%arg-3% <gray>(Inversé)" to player set {_a} to 1 loop {_list::*}: set {_result::%{_a}%::%loop-index%} to loop-value add 1 to {_a} set {_num} to arg-2 loop (1+ difference between arg-2 and arg-3) times: if arg-4 is not set: set {_i} to ({_a} + {_num}*-1) else: set {_i} to {_num} loop {_result::%{_i}%::*}: send " <gold>%{_num}%- <light green>%loop-value-2% : <white>%(( (loop-index parsed as number) /100000))%" to player remove 1 from {_num} if arg-3 > arg-2: add 2 to {_num} send "Temps de calcul : %difference between {_now} and now%" to player Il n'y a que le début du code à changer, par exemple avec quelque chose comme: #---------------------------------------------------------------# # CODE A MODIFIER # # OBJECTIF : RECUPERER LA LISTE DES JOUEURS ET LEUR STATISTIQUE # #---------------------------------------------------------------# set {_players::*} to all players loop {_players::*}: set {_value} to {%loop-player%.%arg-1%} parsed as number #----------------------------# # DEBUT DU CODE UTILE # # NE MODIFIER QUE LES TEXTES # #----------------------------# En faite tout ce qu'il faut faire c'est définir les variables {_players::*} et {_value} ! Le reste du code va se charger de traiter ces variables * # les 2 lignes en dessous sont 2 sécurités à activer en cas de doute du fonctionnement du code au dessus # set {_value} to {_value} parsed as number # {_value} +1 > {_value} **N’hésitez pas à supprimer le "set {_now} to now" et la dernière ligne de code qui ne sert qu'à montrer la rapidité du code.
  18. Je te propose ça : function Chiffre(n: number) :: text: if round {_n} is divisible by 2: return "pair" else: return "impair" command /chiffre <number>: trigger: if round arg-1 is divisible by 2: broadcast "pair" else: broadcast "impair" ça marche parfaitement pour les nombres à virgule grâce à l’arrondi.
  19. perso tout mon serveur repose sur la différenciation des tnt et pour ce faire j'utilise les metadata du plugin RandomSK (je crois) set metadata value "type" of last shot projectile to "fragmentation" set {_type} to metadata "type" of projectile delete metadata value "type" of projectile
  20. Anarchick

    Regeneration d'une mape

    Salut, je ne conseil pas de faire ça en skript! Exemple: Si ta map fait 300Go (oui j’exagère) tu vas pas tout copier à chaque fois ! Il y a deux/trois plugins qui permettent de reset les map et ceux sans copier l'ensemble du monde, seulement des tout petit fichiers. Personnellement j’utilise "InstantReset" mais il ne marche pas au dessus de la version 1.9.2 et le créateur du plugin ne semble pas vouloir le mettre à jour à mon grand regret ...
  21. la condition ne marche pas non plus si le monde n'est pas chargé dans la RAM , enfin je crois (et pour moi je suis obligé de rajouter le mot "world" pour que ça marche alors que sur d'autres skript trouvé sur internet il ne l'utilisent pas ... en même temps j'utilise des versions très obscure pour skript/addons)
  22. Je sais que le sujet est résolu mais bon je dis quand même la solution du problème initial (à titre informatif) On leaves decay: chance of 50% drop 1 magenta dye at event-location on pick up: wait 1 tick if player's inventory contains magenta dye: remove 1 magenta dye from the player make console execute command "/money give %player% 1000" broadcast "&7-&eChance&7- &a&o %player% as trouvé une &5gemme &a&oil recoit donc 1000$" il suffit de rajouter "wait 1 tick" car l'événement "On pick up" verifie le skript avant de recevoir l'item dans l'inventaire ce qui fait que lorsque le skript s’exécute l'item n'est pas encore dans l'inventaire et donc la condition "if player's inventory contains magenta dye:" est forcement foce et ça explique ton problème de ça marche pour le deuxième et + mais pas pour le premier. Le fait de rajouter wait 1 tick fait que l'item sera déjà ramassé et donc la condition sera vrai cette fois ci. Tous les événements qui peuvent avoir l'effet "cancel event" vérifie le code avant de subir l'event. Ansi il n'est pas possible de placer un "cancel event" juste APRES un "wait 1 tick" j’espère avoir été assez compréhensible :/
  23. c'est un bug de skript avec l'expression if player is in "hub3": tu peux le corrigé en mettant : if player is in world "hub3": ou if player's world is "hub3": ou if "%player's world%" is "hub3":
  24. Anarchick

    Armor Stand

    De base avec la version Skript 2.2-fixes-V9b ( v1.5) je ne crois pas qu'il soit possible d'interagir avec un armor stand (bug qui peut être résolu avec la version Bensku ou une certaine version buggé de Umbaska). De memoire le > send "%clicked entity%" renvoie le message "living-entity". Bon après y a d'autres techniques en utilisant effectivement les addons (mais le code n'est pas très propre)
  25. Anarchick

    Combat tag

    J'ai rien testé mais à vu d’œil je te dirais d'ajouter "Wait 1 tick" après "wait {@combat_time} seconds"
×
×
  • 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.