Aller au contenu

Question

Posté(e) (modifié)

Bien le bonsoir 😉

Je suis actuellement de traiter beaucoup de donner dans des fichiers .yml avec bien sur l'addon Skript-YAML, et le problème c'est que j'aimerai récupérer la racine de la liste (voir exemple de la situation çi-dessous):
 

Demande:     #J'aimerai récupérer l'intégralité des ID et les mettre dans une seule même liste
    ID_n°1:
    - Je vais manger
    - Je vais aller manger
    - Je vais bouffer
    - Je vais m'alimenter sa race
    ID_n°2:
    - Bonjour
    - Salutations

#On s'en fout du contenu c'est un exemple après tout ^^

J'ai essayé de plusieurs manières dont une qui m'avance un peu sur la situation mais qui n'est pas très concluante car il récupère les valeurs avec une loop qui n'est pas opti en plus:
 

set {_n} to 0
loop 5 times:
    add 1 to {_n}
    wait 1 tick
    set {_demandelist::%{_n}%::*} to skript-yaml list "Demande.ID_n°%{_n}%" from "DB"

send "%{_demandelist::*}%" to event-user with "{@bot}"

Est ce qu'il y aurait un moyen pour contourner le problème de double liste ?
Ou à la limite, aurait-il l'existance d'une expression qui permet de récupérer l'intégralité des nodes ? Du genre :

set {_demandelist::*} to skript-yaml list "Demande" from "DB"

#Dans lequel il pourrait contenir:
# 1 - Le numéro de l'ID 
# 2 - La liste des demandes de cet ID

J'espère que je suis clair c'est pas très facile d'expliquer clairement la situation😅
Si vous avez des hésitations/questions de compréhension, j'essayerai d'éclaircir le sujet ^^

(Ouai je sais je ne suis pas à jour mais je m'en fiche 😉 )
Skript : 2.2-dev25
Minecraft : Spigot 1.8.8
Addons:
- SkQuery 3.5.1
- Skript-YAML 1.2.5
- Vixio 2.0.0
- WildSkript 1.8
 

Modifié par bleu40
Ajout des versions des addons

9 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Pour récupéré le root d'une valeur, tu peux utiliser la syntaxe suivante:

set {_mes valeurs::*} to skript-yaml node list "Demande" from "DB"
replace all "Demande." with "" in {_mes valeurs::*}
# {_mes valeurs::*} contient maintenant toutes les demandes numérotés.

 

  • 0
Posté(e)
Il y a 2 heures, AlexLew a dit :

Pour récupéré le root d'une valeur, tu peux utiliser la syntaxe suivante:


set {_mes valeurs::*} to skript-yaml node list "Demande" from "DB"
replace all "Demande." with "" in {_mes valeurs::*}
# {_mes valeurs::*} contient maintenant toutes les demandes numérotés.

 

C'est ce genre de réponse que j'adore lire 😊
Je vais l'essayer se soir et je te tiens au courant ^^
Merci beaucoup 🙃

  • 0
Posté(e)
Il y a 5 heures, AlexLew a dit :

Pour récupéré le root d'une valeur, tu peux utiliser la syntaxe suivante:


set {_mes valeurs::*} to skript-yaml node list "Demande" from "DB"
replace all "Demande." with "" in {_mes valeurs::*}
# {_mes valeurs::*} contient maintenant toutes les demandes numérotés.

 

Alors j'ai essayé et il m'a retourné seulement les ID:

ID_n°2 and ID_n°3

Il faudrait que les contenus de ces id soit dans cette liste ou alors dans une autre et ducoup cette liste sera {_listid::*} et l'autre {_listdemande::*}

  • 0
Posté(e) (modifié)

Je crois avoir réussis avec ce code:

set {_demandelist::*} to skript-yaml node list "Demande" from "DB"
replace all "Demande.ID_n°" with "" in {_demandelist::*}
loop {_demandelist::*}:
	set {_demandelistaft.%loop-value%::*} to skript-yaml list "Demande.ID_n°%loop-value%" from "DB"
	send "ID n°%loop-value%. %{_demandelistaft.%loop-value%::*}%" to event-user with "{@bot}"
stop

Et ducoup j'obtiens en sortie:

2. Je vais manger, Je vais aller manger, Je vais bouffer, Go manger, Je vais manger sa race, Je vais aller me nourrir, Je vais aller dîner and Je vais aller m'alimenter
3. Bonjour and Bien le bonjour

#Au début, les id et ensuite leur contenu ^^

Par contre, je ne suis pas sur que le code soit optimiser 😕

Modifié par bleu40
  • 0
Posté(e)

J'ai réussi à l'optimiser et en rajoutant une ligne de plus qui permet de retourner si un message est similaire à une donnée ^^
En tout cas, merci à tous 😊

  • 0
Posté(e)
il y a 38 minutes, bleu40 a dit :

J'ai réussi à l'optimiser et en rajoutant une ligne de plus qui permet de retourner si un message est similaire à une donnée ^^
En tout cas, merci à tous 😊

Attention aux doubles postes 🙂

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • 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.