Aller au contenu
  • 0

Choix des indexs


Question

Posté(e)

Bonjour/Bonsoir,

 

Je cherche un moyen de faire "un choix d'index". Je m'explique : je souhaiterais faire un système où lorsque un joueur dit par exemple "ca va ?" dans le chat, ca lui dit "oui merci" et que s'il dit "test", ca lui met "ahah" par exemple.

 

set {_questions::*} to value list "Test.Questions" get of "plugins/Test/Dialogue_File.yml"
set {_answers::*} to value list "Test.Answers" get of "plugins/Test/Dialogue_File.yml"
loop {_questions::*}:
   If message contain {_questions::%loop-index-1%}:
       broadcast "%{_answers::%loop-index-1%}%"

 

C'est ce que j'ai tenter mais lorsqu'il s'agit de mettre ceci, il m'affiche une erreur :

 

set {_questions::*} to value list "Test.Questions" get of "plugins/Test/Dialogue_File.yml"
set {_answers::*} to value list "Test.Answers" get of "plugins/Test/Dialogue_File.yml"
loop {_questions::*}:
   If message contain {_questions::%loop-index-2%}:
       broadcast "%{_answers::%loop-index-2%}%"

 

Erreur :

 

'::%loop-index-2%}%"' is not a valid item data (test.sk, line 143: If message contain "%{_questions::%loop-index-2%}%":')

 

Pour le fichier de configuration :

 

1497475451-hmmm.png

 

Merci d'avance à celui ou celle qui trouvera la solution.

12 réponses à cette question

Messages recommandés

  • 0
Posté(e)
Salut ! Essaie dans l'ordre inverse:

 

    If {_questions::%loop-index-1%} contain message :

 

Je viens de tester ta méthode mais elle ne fonctionne pas :'( Je ne reçois pas le message de réponse :

 

broadcast "%{_answers::%loop-index-1%}%"

 

Mais merci de ton aide

  • 0
Posté(e)

J'ai fais un code qui fonctionne il ne te reste plus qu'à le modifier:

 

command /addrep <text> <text>:
   trigger:
       add arg 1 to {replist::*}
       set {rep.%arg 1%} to arg 2
       send "%arg 2%"

on chat:
   loop {replist::*}:
       if loop-value is message:
           broadcast "%{rep.%message%}%"

  • 0
Posté(e)
J'ai fais un code qui fonctionne il ne te reste plus qu'à le modifier:

 

command /addrep <text> <text>:
   trigger:
       add arg 1 to {replist::*}
       set {rep.%arg 1%} to arg 2
       send "%arg 2%"

on chat:
   loop {replist::*}:
       if loop-value is message:
           broadcast "%{rep.%message%}%"

 

Ton code fonctionne bien, je viens de le tester. Le soucis est que si le joueur met un message du genre "bla bla bla <message>", la réponse ne sera pas dite...

J'ai tenter de changer ton code mais ça ne fonctionne plus si je le change xD

if loop-value contain message:

 

J'essaye de le faire avec les fichiers yml. Soucis, ton code ne contient pas les fichiers yml :'(

J'ai rajouté une partie de mon code en haut au cas où pour comprendre comment les valeurs passent du fichiers yml à la liste.

Ce que je cherche, c'est principalement la raison de l'erreur ci-dessus. Je ne cherche pas à refaire mon code xD

 

Merci tout de même de ton aide xD

  • 0
Posté(e)
Ok mais je te montrais seulement le fonctionnement :)

ibterverti le loop value et le message comme ça :

If message contains loop-value:

 

J'ai interverti mais ton code ne fonctionne pas :(

  • 0
Posté(e)
Bonjour/Bonsoir,

 

Je cherche un moyen de faire "un choix d'index". Je m'explique : je souhaiterais faire un système où lorsque un joueur dit par exemple "ca va ?" dans le chat, ca lui dit "oui merci" et que s'il dit "test", ca lui met "ahah" par exemple.

 

set {_questions::*} to value list "Test.Questions" get of "plugins/Test/Dialogue_File.yml"
set {_answers::*} to value list "Test.Answers" get of "plugins/Test/Dialogue_File.yml"
loop {_questions::*}:
   If message contain {_questions::%loop-index-1%}:
       broadcast "%{_answers::%loop-index-1%}%"

 

C'est ce que j'ai tenter mais lorsqu'il s'agit de mettre ceci, il m'affiche une erreur :

 

set {_questions::*} to value list "Test.Questions" get of "plugins/Test/Dialogue_File.yml"
set {_answers::*} to value list "Test.Answers" get of "plugins/Test/Dialogue_File.yml"
loop {_questions::*}:
   If message contain {_questions::%loop-index-2%}:
       broadcast "%{_answers::%loop-index-2%}%"

 

Erreur :

 

'::%loop-index-2%}%"' is not a valid item data (test.sk, line 143: If message contain "%{_questions::%loop-index-2%}%":')

 

Pour le fichier de configuration :

 

1497475451-hmmm.png

 

Merci d'avance à celui ou celle qui trouvera la solution.

Pourquoi loop-value-2 si il n'y a qu'un loop ? Essaye ce code sinon :

set {_questions::*} to value list "Test.Questions" get of "plugins/Test/Dialogue_File.yml"
set {_answers::*} to value list "Test.Answers" get of "plugins/Test/Dialogue_File.yml"
loop {_questions::*}:
   loop {_answers::*}:
       if message contain loop-value-1:
           broadcast "%loop-value-2%"

PS: si tu as beaucoup de joueurs et que tu récupère à chaque fois les questions/réponses dans un fichier YML ça risque de faire lag... Je te conseille de récupérer les questions/réponses dans un on load ou une commande

  • 0
Posté(e)
Pourquoi loop-value-2 si il n'y a qu'un loop ? Essaye ce code sinon :

set {_questions::*} to value list "Test.Questions" get of "plugins/Test/Dialogue_File.yml"
set {_answers::*} to value list "Test.Answers" get of "plugins/Test/Dialogue_File.yml"
loop {_questions::*}:
   loop {_answers::*}:
       if message contain loop-value-1:
           broadcast "%loop-value-2%"

PS: si tu as beaucoup de joueurs et que tu récupère à chaque fois les questions/réponses dans un fichier YML ça risque de faire lag... Je te conseille de récupérer les questions/réponses dans un on load ou une commande

 

Merci de ton ps, je ferais attention. Mais je n'ai pas mis de "loop-value" ? Il s'agit du code de KyloRen3600, c'est pas le miens xD Le miens il est tout en haut de cette conversation xD

Le "if message contain loop-value-1:" ne fonctionne pas, j'ai déjà tester :(

  • 0
Posté(e)

Euh je disais loop-index-2 x) et oui c'est bien toi qui a mis ça pourtant il n'y a que 1 loop :

If message contain {_questions::%loop-index-2%}:

Sinon qu'est ce qui ne marche pas ?

Essaye ça :

set {_questions::*} to value list "Test.Questions" get of "plugins/Test/Dialogue_File.yml"
set {_answers::*} to value list "Test.Answers" get of "plugins/Test/Dialogue_File.yml"
loop {_questions::*}:
   if message contain loop-value:
       loop {_answers::*}:
           if loop-index-1 is loop-index-2:
               broadcast "%loop-value-2%"

  • 0
Posté(e)
Euh je disais loop-index-2 x) et oui c'est bien toi qui a mis ça pourtant il n'y a que 1 loop :

 

Sinon qu'est ce qui ne marche pas ?

Essaye ça :

set {_questions::*} to value list "Test.Questions" get of "plugins/Test/Dialogue_File.yml"
set {_answers::*} to value list "Test.Answers" get of "plugins/Test/Dialogue_File.yml"
loop {_questions::*}:
   if message contain loop-value:
       loop {_answers::*}:
           if loop-index-1 is loop-index-2:
               broadcast "%loop-value-2%"

 

wtf, es-tu sûr d'avoir bien compris ma demande ? En gros, là, si j'utilise ton code, si genre le joueur dit "test", ca va lui afficher "yolo" uniquement ? Parce que il me semble que avec ton code, ca va dire toutes les values de la 2nd liste et non pas l'index correspondant.

  • 0
Posté(e)
if loop-index-1 is loop-index-2:

Ca va pas tout dire :/ et les indexs correspondant par exemple si c'est l'index 1 pour le premier, le 2eme ça sera quoi ?

  • 0
Posté(e)
Ca va pas tout dire :/ et les indexs correspondant par exemple si c'est l'index 1 pour le premier, le 2eme ça sera quoi ?

 

Je check ça

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