Aller au contenu
  • 0

Question

Posté(e)

Bonjour je suis en train de faire un skript de grade mais le problem vient de la command /rankcommand qui est une command qui permet d'autoriser ou non des commands a des grades le probleme c'est que je sais pas comment faire

 

Plz help me !!!

 

Le code :

command /rank <text=help> <text=a> <text=a>:
   trigger:
       if {is.admin.%player%} is true:
           if arg 1 is "set":
               set {grade.%arg 2%} to arg 3
               remove arg 2 from {grade.builder ::*}
               remove arg 2 from {grade.builderpro ::*}
               remove arg 2 from {grade.admindev ::*}
               remove arg 2 from {grade.admin ::*}
               remove arg 2 from {grade.vip ::*}
               remove arg 2 from {grade.vip+ ::*}
               remove arg 2 from {grade.crazyvip ::*}
               remove arg 2 from {grade.pgm ::*}
               remove arg 2 from {grade.modo ::*}
               remove arg 2 from {grade.donateur ::*}
               remove arg 2 from {grade.adminbuilder ::*}
               remove arg 2 from {grade.default ::*}
               wait 1 second
               add arg 2 to {grade.%arg 3% ::*}
               broadcast "&c[Grades] &a%arg 2% &aété promus &c%arg 3% &3par &c%player%"
           if arg 1 is "help":
               send "&9===============Skript de Grade==============="
               send ""
               send "&3/rank set <joueur> <group> &6Definir le grade d'un joueur"
               send ""
               send "&3/rank list all <group> &6Liste des joueurs ayant le grade …"
               send ""
               send "&9===============Coder par PaTaTe_CuItE==============="
           if arg 1 is "list":
               send "&c[Grades] &3Liste des %arg 3% : &a%{grade.%arg 3% ::*}%"
           if arg 1 is "add":
               if arg 2 is "restrictedcommand":
                   add arg 3 to {grade.commandinterdite ::*}
                   send "&c[Grades] &3Vous avez &aajouter &3la command &a%arg 3% &3 dans la liste des commands interdite"

on chat:
   if {grade.%player%} is "admin":
       cancel event
       broadcast "&4[Administrateur] &7%player%: &f%message%"
   if {grade.%player%} is "admindev":
       cancel event
       broadcast "&4[Admin]&2[Developeur] &7%player%: &f%message%"
   if {grade.%player%} is "adminbuilder":
       cancel event
       broadcast "&4[Admin]&9[builder] &7%player%: &f%message%"
   if {grade.%player%} is "builder":
       cancel event
       broadcast "&3[builder] &7%player%: &f%message%"
   if {grade.%player%} is "builderpro":
       cancel event
       broadcast "&9[builder&6+&9] &7%player%: &f%message%"
   if {grade.%player%} is "default":
       cancel event
       broadcast "&7%player%: &7%message%"
   if {grade.%player%} is "vip":
       cancel event
       broadcast "&e[VIP] %player%: &f%message%"
   if {grade.%player%} is "vip+":
       cancel event
       broadcast "&b[VIP+] %player%: &f%message%"
   if {grade.%player%} is "crazyvip":
       cancel event
       broadcast "&a[CrazyVIP] %player%: &f%message%"
   if {grade.%player%} is "modo":
       cancel event
       broadcast "&6[Moderateur] %player%: &f%message%"
   if {grade.%player%} is "guide":
       cancel event
       broadcast "&3[Guide] %player%: &f%message%"
   if {grade.%player%} is "pgm":
       cancel event
       broadcast "&5[PGM] %player%: &f%message%"
   if {grade.%player%} is "donateur":
       cancel event
       broadcast "&d[Donateur] %player%: &f%message%"
command /rankcommand <text=help> <text=group> <text=command>:
   trigger:
       if {grade.%player%} is "admin" or "admindev" or "adminbuilder":
           if arg 1 is "help":
               send "&9===============Skript de Grade (command)==============="
               send ""
               send "&3/rankcommand help &6Voir la page d'aide"
               send ""
               send "&3/rankcommand add <group> <command> &6Ajouter une command a un grade"
               send ""
               send "&3/rankcommand remove <group> <command> &6Supprimer une command d'un grade"
               send ""
               send "&3/rankcommand list <group> &6Voir la liste des commandes du grade"
               send ""
               send "&9===============Coder par PaTaTe_CuItE==============="
           if arg 1 is "add":
               if arg 2 is "admin":
                   add arg 3 to {grade.command.%{admin}% ::*}
               if arg 2 is "admindev":
                   add arg 3 to {grade.command.%{admindev}% ::*}
               if arg 2 is "adminbuilder":
                   add arg 3 to {grade.command.%{adminbuilder}% ::*}
               send "&c[GradesCommandes] &3Vous avez bien ajouter la commande &a/%arg 3% &3au grade &a%arg 2% !"

on command:
   if command is {grade.command.%{grade.%player%}% ::*}:
       if {grade.%player%} is "admin" or "admindev" or "adminbuilder":
           log " "
       else:
           cancel event
           send "&c[ERREUR] &4Vous n’avez pas la permission"

command /test:
   trigger:
       send "ok"

Aucune Erreur presentes juste sa ne fait pas se que je veut
Merci d'avance a ceux ou a celles qui m'aideront





7 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Bonsoir ! Alors ce que tu appel "une commande" est en faite une permission. C'est à dire que si le joueur n'as pas imaginons la permissions "essentials.home" il ne pourras faire la commande "/home". Jusque là ca va ^^ Le truc c'est que pour ajouter une permission a un joueur/grade, il faut un fichier ou un endroit où cette permission puisse être stockée. 2 cas s'imposent alors :

- Sois les variables de skript ({variable.truc}) sont capables d'enregistrer les permissions et de les restituer en temps et en heure quand on le leur demande.

- Sois, je suis désolé de te le dire, il va falloir rentrer dans quelque chose de beaucoup plus complexe comme par exemple une base de données. Je sais qu'il existe un moyen de synchroniser une base de donnée (BDD) MySQL avec skript. Plusieurs addons le permettent mais je peut dire de grosse bêtises et quelqu'un va peut être me contredire ce qui est possible ^^ Mais skript deja lui même inclus un système de permission "If player have permission "machin"". Mettre une variable de permission dans un plugin qui lui même utilise des permissions, je ne suis pas développeur java mais je peux au moins dire que ce n'est pas chose facile, et peut être mais je dis bien peut être impossible et il y a la possibilité que le plugins crash.

 

Je ne veux surtout pas gâcher ton projet, qui est un projet important et qui à l'air bien tu as l'air motivé et c'est positif, mais après je te fais juste voir une facette des choses.

 

Peut être as tu vu un serveur ou un site qui montre que ce genre de chose existe, auquel cas je retire ce que j'ai dit, mais souviens toi que si skript ne prend pas les permissions telles quelles, la solution qu'il te reste est soit la BDD, soit peut être quelqu'un va te donner une solution qui fonctionne ! :D

 

Voilà je suis dispo si tu as des questions,

 

Cordialement,

 

AlexFatta

  • 0
Posté(e)

Alors je n'ai aucune compétences en matière de BDD, je peux me renseigner mais ne promet vraiment rien, ce sont des codes assez complexes mais je vais essayer d'aller te chercher des tutoriels assez simples et clairs si je trouve ca. Sinon je verrai ce que je peux faire mais je ne promet rien ;) Après est ce tu as deja tester ton plugin de grade au niveau des permissions ? Parce que quel est ton problème precisemment ?

 

PS : je vais prendre le train, je serais de retour vers 19h40.

×
×
  • 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.