Aleatoire $read,w,*text*

Résolu
cs_Mattis Messages postés 26 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 16 nov. 2005 à 22:50
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008 - 17 nov. 2005 à 18:03
J'ai fait ce code qui permet de prendre une phrase aleatoire dans un fichier :



On *:TEXT:!Aleatoire:#Mountyhall: {



/msg $chan $read(E:\compil\PROGRAMMATION\mircfr\mircfr\logs\irc.jeux.fr/#Mountyhall.log)



}



J'aimerais maintenant qu'il prennent avec un mots precis, mais tjrs en aleatoire, j'ai trouver :



On *:TEXT:*:#Mountyhall: {



If (($1 == !Aleatoire) && ($2- != $null)) {



/msg $chan $read(E:\compil\PROGRAMMATION\mircfr\mircfr\logs\irc.jeux.fr/#Mountyhall.log,w,* $2- *)



}

}



Le probleme c'est que la phrase correspondant au mot apres la commande
reste tjrs la meme ... je n'arrive pas à avoir de l'aleatoire sur un
mot précis.



Merci d'avance de votre aide.

6 réponses

cs_Mattis Messages postés 26 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 3 août 2008
16 nov. 2005 à 23:57
J'ai trouver, merci beaucoup :



On *:TEXT:*:#Mountyhall: {

If ($1 == !Aleatoire) {



/msg $chan $read(#Mountyhall.log,w,*quit*,$rand(0,$lines(versions.txt)))



}



}
3
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008
16 nov. 2005 à 23:22
$read(filename, [ntswr], [matchtext], [N])



tu mets bien ton $read(fichier.log,w,*truc*, N )

mais tu va faire varier N, entre 0 et le nombre de lignes du fichier.
Comme ça il ne retournera pas toujours la même phrase...(c'est pas ce
qu'il y a de mieu en aléatoire mais bon ^^ )

ça donne :

$read(fichier.log,w,*truc*, $r(0, $lines(fichier.log) )



malheureusement, ça peut donner aussi l'avant dernière ligne, et qu'il
n'y ait pas le mot, donc à ce moment là, t'es obligé de recommencé le
recherche.



Autre méthode, avec les windows. tu mets ton fichier dans une window,
puis tu cherches ce que tu veux, et tu prends une réponse au hasard.
----------------------------------
Signature des parents :
0
cs_Mattis Messages postés 26 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 3 août 2008
16 nov. 2005 à 23:50
Voilà où j'en suit :



On *:TEXT:*:#Mountyhall: {

If (($1 == !Aleatoire)) {



/msg $chan $read(#Mountyhall.log,w,*quit*, $rand(0, $lines(#Mountyhall.log))



}

}



Ca ne fonctionne pas, je comprend pas, le fichier existe pourtant ...
0
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008
17 nov. 2005 à 13:16
Ouais à part que c'est faux :/

tu prend un nombre entre 0 et le nombre de lignes de version.txt au lieu du nombre de ligne du fichier en question...

si ça te convient quand même, autant pour toi :/


------------------------------
Signature des parents :
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Mattis Messages postés 26 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 3 août 2008
17 nov. 2005 à 16:12
Nan, t'inquiete pas, j'avais mis version.txt pour que la ligne de
direction du fichier soit moin longue, j'ai ensuite remplacer
version.txt par le vrai emplacement de mon fichier.



Le vrai probleme dans le code que tu m'avais donner était une
parenthese qui manquait apres le (0,$lines(versions.txt)). Et c'est
tres peu de chose par rapport à l'aide que tu m'a apporter ;).



Merci encore.
0
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008
17 nov. 2005 à 18:03
Ah oui effectivement :) désolé...


-------------------------
Signature des parents :
0
Rejoignez-nous