Aller au contenu
  • 0

Kits.yml aide


Question

Posté(e)

Bonsoir, j'ai un gros problème !

Donc, voilà je fait présentement un skript, alors j'aimerai que nous pourrions modifier les kits directement sur un kits.yml

 

J'ai suivi le tutoriel de @PsYZiiK mais je m'arrête à la car je ne comprend pas vraiment:

 

on load:
   if folder "plugins/CrazyBattle" doesn't exists: 
       create folder "plugins/CrazyBattle"
   if file "plugins/CrazyBattle/Kits.yml" doesn't exists:
       create file "plugins/CrazyBattle/Kits.yml"

 

J'aimerai un trucs qui ressemble à ça :

Liste des kits:
 Guerrier:
   Permission: crazybattle.guerrier
      Items:
      - 1 iron sword
      - 2 golden apple
      - 1 bow
      - 64 arrows

 

Juste savoir le bout de code et recevoir une explication pas trop dûr, merci à vous !

17 réponses à cette question

Messages recommandés

  • 0
Posté(e)
function WF(object: text): # On crée une fonction pour écrire dans le fichier plus rapidement !
   WF {_object} to "plugins/CrazyBattle/Kits.yml" # On écrira l'argument de la fonction dans le fichier YML !

on script load: # Au rechargement du script !
   if file "plugins/CrazyBattle/Kits.yml" does not exists: # Si le dossier "CrazyBattle" ainsi que le fichier "Kits.yml" n'existent pas (on peut vérifier les deux d'un coup) !
       create file "plugins/CrazyBattle/Kits.yml" # On crée le dossier ainsi que le fichier.
       wait 0.5 tick # Nécessaire pour laisser le temps au fichier de se crée
       WF("Kits:") # On appelle notre fonction pour écrire dans le fichier YML ! Par préférence, ne pas mettre d'espace !
       WF("  Guerrier:") # De même...
       WF("    Permission: 'CrazyBattle.Guerrier'") # Si tu veux insérer un texte, ou même un nombre, il doit toujours être entre apostrophes ! A part les booléens !
       WF("    Items:")
       WF("    - 1 iron sword")
       WF("    - 2 golden apple")
       WF("    - 1 bow")
       WF("    - 64 rows")

funtion Value(value: text) :: text: # On crée une fonction qui permettra de lire et récupérer les valeurs du fichier !
   set {_result} to single value {_value} get of "plugins/CrazyBattle/Kits.yml" # On récupère la valeur !
   return {_result} # ...et on la renvoie !

command /guerrier: # Pour exemple, je vais créer une commande pour récupérer le Kit du fichier YML !
   trigger:
       if player does not have permission (Value("Kits.Guerrier.Permission")): # On récupère commme ceci la value du fichier ! On regarde par la suite si le joueur a la permission ou pas !
           send "&cErreur : Vous n'avez pas la permission !" # On dit au joueur qu'il n'a pas la permission !
       else: # Sinon...
           set {_items::*} to value list "Kits.Guerrier.Items" get of "plugins/CrazyBattle/Kits.yml" # On récupère les items du fichier YML !
           wait 0.5 tick # On attend un peu...
           clear player's inventory # On nettoie l'inventaire du joueur !
           wait 0.5 tick
           loop {_items::*}: # On loop la liste qui contient les items !
               give ("%loop-value%" parsed as an item) to player # On parse nos items et on les donne au joueur^^ !

# END !

  • 0
Posté(e)
Il a oublié le "c" à "function" (erreur 1 et 2) et pour la derrière il faut que tu nous donne ton script

Non car les deux dernières erreurs sont en relation avec la première, donc si on corrige la première, les autres seront corrigées de même.

 

Et comme tu l'as dis, j'ai oublié à "c" à funtion. Merci beaucoup j'avais fait le code sur téléphone de mémoire donc ça m'a pris un peu de temps et j'ai pas vu :c !

  • 0
Posté(e)
function WF(object: text): # On crée une fonction pour écrire dans le fichier plus rapidement !
   WF {_object} to "plugins/CrazyBattle/Kits.yml" # On écrira l'argument de la fonction dans le fichier YML !

on script load: # Au rechargement du script !
   if file "plugins/CrazyBattle/Kits.yml" does not exists: # Si le dossier "CrazyBattle" ainsi que le fichier "Kits.yml" n'existent pas (on peut vérifier les deux d'un coup) !
       create file "plugins/CrazyBattle/Kits.yml" # On crée le dossier ainsi que le fichier.
       wait 0.5 tick # Nécessaire pour laisser le temps au fichier de se crée
       WF("Kits:") # On appelle notre fonction pour écrire dans le fichier YML ! Par préférence, ne pas mettre d'espace !
       WF("  Guerrier:") # De même...
       WF("    Permission: 'CrazyBattle.Guerrier'") # Si tu veux insérer un texte, ou même un nombre, il doit toujours être entre apostrophes ! A part les booléens !
       WF("    Items:")
       WF("    - 1 iron sword")
       WF("    - 2 golden apple")
       WF("    - 1 bow")
       WF("    - 64 arrows")

function Value(value: text) :: text: # On crée une fonction qui permettra de lire et récupérer les valeurs du fichier !
   set {_result} to single value {_value} get of "plugins/CrazyBattle/Kits.yml" # On récupère la valeur !
   return {_result} # ...et on la renvoie !

command /guerrier: # Pour exemple, je vais créer une commande pour récupérer le Kit du fichier YML !
   trigger:
       if player does not have permission (Value("Kits.Guerrier.Permission")): # On récupère commme ceci la value du fichier ! On regarde par la suite si le joueur a la permission ou pas !
           send "&cErreur : Vous n'avez pas la permission !" # On dit au joueur qu'il n'a pas la permission !
       else: # Sinon...
           set {_items::*} to value list "Kits.Guerrier.Items" get of "plugins/CrazyBattle/Kits.yml" # On récupère les items du fichier YML !
           wait 0.5 tick # On attend un peu...
           clear player's inventory # On nettoie l'inventaire du joueur !
           wait 0.5 tick
           loop {_items::*}: # On loop la liste qui contient les items !
               give ("%loop-value%" parsed as an item) to player # On parse nos items et on les donne au joueur^^ !
               send "{@Prefix}&2 Vous avez reçus le kit Guerrier !"

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