Aller au contenu
  • 0

On command & arguments


Question

Posté(e)

Minecraft: 1.11.2

skript: dev29

 

Bonjour, que quand j'execute la commande /warn, cela vérifie si le joueur est bien connecté et exécute une action. Je précise bien sur que ce n'est qu'un rajout de la commande /warn qui est dans un plugins.

 

J'ai donc pour code:

on command "/warn":
   set {_arg1} to argument-1
   if {_arg1} isn't online:
       set {warn.deco.%uuid of player-arg%} to 1

 

Mais vous vous doutez bien que sa ne marche pas. C'est donc pourquoi je vient vous demander de l'aide !

 

Merci :)

Messages recommandés

  • 0
Posté(e)

C'est peut être a cause de ça, ca ne reconnais pas l'argument. Désolé, je ne suis pas plus expérimenté, je ne peut t'aidé à par te dire de faire ou prend un skript de warn :/

 

Sorry !

  • 0
Posté(e)

on command "/warn":    <-- pas d'argument attendue
   set {_arg1} to argument-1   <---- donc l'argument existe pas
   if {_arg1} isn't online:     <------ [<text>]  ?  non c'est [<player>] qui pourais être online
       set {warn.deco.%uuid of player-arg%} to 1

 

il existe " command sender " pour détecter si c'est une commande exécuter par la console ou un joueur.

 

maintenant un peut de logique, comment un joueur pourrais exécuter la commande si il est pas connecté ???

  • 0
Posté(e)

C'est l'argument qui n'est pas online, pas le joueur qui exécute la commande.

 

Je ne connaissait pas command sender, peut-tu m'expliquer un peu comment sa marche avec des arguments ?

  • 0
Posté(e)

attend, tu pourrais nous expliquer ce que fait la commande /warn et ce que sa retourne ?

car la j'ai peur que tu nous demande quelque chose qui ne peut pas être fait comme tu nous la montrer.

  • 0
Posté(e)

La commande /warn met un warn à un joueur, c'est une commande d'un plugin. J'aimerai que lorsque le staff fait /warn et que le joueur est déco, sa met la variable {warn.deco.%uuid of player-arg%} à 1

  • 0
Posté(e)

ha donc pas possible comme ça, il faut hook le plugin du warn pour réceptionné ce qui ce passe entre le serveur et le plugin warn.

 

Skript est incapable de récupérer les interaction entre le serveur et les plugins si ont ne lui apprend pas " #Addon ".

et encore, si le plugin warn dispose d'une API qui permettrais a d'autre plugin de réceptionné les interaction.

 

la tous ce que tu vas pouvoir récupérer comme ça, c'est ( celui qui exécute la commande )

  • 0
Posté(e)

Ou alors il peut récupérer les arguments sous forme de variable,

set {_args} to arguments

Puis vérifier si la variable est nulle (Et donc qu'il n'y a pas d'argument),

et sinon, il récupère le premier texte coupé par des espace (Je sais plus comment on fait cette ligne, mais c'est un truc en anglais qui dit "Coupe moi tout les textes séparés par un espaces bla bla bla)

Et puis il peut donc récupérer le PREMIER argument, puis vérifier si celui-ci est online (Pense bien à récupérer l'argument-1 sous une autre variable temporaire, en la parsant à un joueur offline, sinon ça ne marchera pas !)

 

Code pas fini

set {_args} to arguments
if {_args} isn't set:
   #pas d'argument
else:
   set {_listargs::*} to (Un truc comme "{_args} separated with " ". -  En vrai je sais même pas s'il faut faire une variable de liste, et encore moins si il faut mettre ça sur la même ligne ou faire un truc genre "add {_args} separated with " "" mais va voir sur SkUnity, tu devrais trouver l'expression. Et si quelqu'un peut finir le code pour le monsieur, ça serait parfait ;))

  • 0
Posté(e)
Minecraft: 1.11.2

skript: dev29

 

Bonjour, que quand j'execute la commande /warn, cela vérifie si le joueur est bien connecté et exécute une action. Je précise bien sur que ce n'est qu'un rajout de la commande /warn qui est dans un plugins.

 

J'ai donc pour code:

on command "/warn":
   set {_arg1} to argument-1
   if {_arg1} isn't online:
       set {warn.deco.%uuid of player-arg%} to 1

 

Mais vous vous doutez bien que sa ne marche pas. C'est donc pourquoi je vient vous demander de l'aide !

 

Merci :)

 

Tu dois faire ça:

command /warn [<offline player>]:
   set {_arg1} to argument-1
   if {_arg1} isn't online:
       set {warn.deco.%uuid of player-arg%} to 1

  • 0
Posté(e)

salut ceci a été tester sur serveur 1.8.8 et 1.10.2

sur le 1.8.8 aucune réaction alors qu'en 1.10.2 tous fonctionne très bien, version de skript 2.2-dev29

j'ai crue comprendre que le fork de bensku étais pas compatible 1.8 donc c'est peut être la raison pour lequel le "on command" déconne avec la 1.8.

 

voici le code :

on command "/warn":
   broadcast "Executeur : %executor% || Commande : /%command% || Arguments : %arguments%"
   set {_args::*} to arguments split at " "
   message "ARG1 -> %{_args::1}%"
   loop {_args::*}:
       message "ARG%loop-index% : %loop-value%"

  • J'aime 1
  • Merci 1
×
×
  • 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.