NKWolf
Messages postés38Date d'inscriptionsamedi 28 août 2004StatutMembreDernière intervention11 janvier 2007
-
6 juin 2005 à 12:10
fjxokt
Messages postés840Date d'inscriptionvendredi 28 janvier 2005StatutMembreDernière intervention25 février 2009
-
6 juin 2005 à 18:54
Bonjour tout le monde
mon titre n'est pas très explicite mais je vais essayer de vous d'écrire mon problème, je débute en scripting et je sèche
donc voilà je cherche à faire un détecteur de mot automatique dont les mot et la réponse attendue sont dans un fichier texte
j'ai donc ajout dans le fichier variables :
%cdw_detect_mot.file script_cdw/detect_mot.txt
qui définit le fichier texte à utiliser
ensuite dans le popup j'ai mit :
Détecteur de mot
.Ajouter un mot:var %mot = $$?="Entrez le mot à détecter:" | var %rep = $$?="Entrez la réponse à envoyer:" | /write %cdw_detect_mot.file %mot \ %rep
ce qui me fait un menu avec une fentre qui s'ouvre et demande le mot puis la réponse à mettre, il sont alors enregistré dans le fichier texte comme ceci :
mot \ réponse
jusque là pas de problème tous ce passe comme prévus, mon problème maintenant est le suivant, comment faire en sorte que si l'un des mot est dit ( par n'importe qui ) la réponse auto associer à ce mot s'affiche ?, je suppose qu'il y'a un système de boucle à faire mais je n'y connais strictement rien à celà
donc si quelqu'un dit par exemple :
salut wolf
le script va chercher dans la liste des mot si il est présent, si oui alors il retourne la réponse associer
voilà, j'espère que vous comprendrez ce que je veut faire et que vous pourrez m'aider
NKWolf
Messages postés38Date d'inscriptionsamedi 28 août 2004StatutMembreDernière intervention11 janvier 2007 6 juin 2005 à 13:31
donc voilà ou j'en suis, j'arrive à ecrire dans mon fichier ini, c'est un bon début loll
donc maintenant je comprend pas comment verifier si l'un des mot dit est présent dans le fichier ini (considérer comme une base de donnée si je comprend bien ) afin d'envoyer la réponse auto
je sais déjà que je doit utilisé l'evenment on *:text:
donc dans mon remote je tape
on *:text:kelkechose:#:{
/msg $nick $readini(script_cdw/dtect.ini, et là je comprend plus, et la non plus)
}
donc je suppose que "kelkechose" doit être définit par une variable pour qu'il puisse verifier si c'est présent dans le ini, ensuite afficher la réponse avec /msg, mais je sèche trop là
pourriez-vous m'aider ?
j'ai regarder un peut sur le site mais quand je voi tte ces source chui completement perdu
NKWolf
Messages postés38Date d'inscriptionsamedi 28 août 2004StatutMembreDernière intervention11 janvier 2007 6 juin 2005 à 15:27
je suis reparti sur la première solution donc si un mot de la liste seulement est dit ( pas dans une phrase )
j'ai modifier mon code en ceci :
on *:text:*:#:{
if($readini(detect.ini,detect_m,$1)){
/msg $chan $v1 }
}
j'ai une erreur qui apparit dans la fenêtre de statut :
* /msg: paramètres insuffisants (ligne 3, script.ini)
IF($READINI(DETECT.INI,DETECT_M,$1)){ Unknown command
NKWolf
Messages postés38Date d'inscriptionsamedi 28 août 2004StatutMembreDernière intervention11 janvier 2007 6 juin 2005 à 18:20
juste une chtite question
voilà donc mon fichier ini
[detect_m]
blablabla=sa marche
pff=kes t'a a souffler ?
donc théoriquement si kelk1 tape pff, avec
on *:text:*:?:{
if ($readini(detect.ini,detect_m,$1)) { msg $nick $v1 }
}
sa doit lui répondre ' kes t'a à souffler ? ' , juste ?
ben je pige pas pkoi veut pas fonctionner, je met le script dans le remote il est au bon endroit ?
est-ce qu'un fichier ini accèpte les espace et caractère spéciaux tel que : @,é,è,ç,à etc... ?, apparament le problème viendrais de $v1 et de msg
j'ai fait /msg ... plutot que msg ...
le résultat est qu'il répond bien en commencant par le pseudo ( $nick ), mais pas la suite donc ( $v1 )
NKWolf
Messages postés38Date d'inscriptionsamedi 28 août 2004StatutMembreDernière intervention11 janvier 2007 6 juin 2005 à 18:44
non la personne ne me le dit pas en privée mais sur le channel, ets-il obligatoire d'être en privée ?
j'ai essayer en fesant ceci :
on *:text:*:#:{
if ($readini(detect.ini,detect_m,$1)) { msg $nick $v1 }
}
# signifiant sur le channel juste ?
par contre je sais que les event ne fonctionne pas sur soit-même, c'est pour sa que j'ai quelqu'un qui fait les test avec moi
la syntaxe a l'air bonne et puisque sa fonctionne chez toi sa devrais fonctionner chez moi aussi j'ai aussi verifier ke l'autre personne tapait bien bien " blablabla " ou " pff ", mais sans succès
est-ce que celà peut être du au faite que j'utilise un mirc 6.16 vierge ?
je suis completement perdu, mais je tiens a vous remercier sinçèrement de l'aide que vous me fournisser je suppose que je doit vous saouler avec mon projet et je vous prie de m'en excuser, mais c'est un projet qui me tiens à coeur