Numero de la ligne

Résolu
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008 - 5 juil. 2008 à 10:05
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008 - 19 juil. 2008 à 09:50
bjr
c pour un petit bot
est il possible d'afficher le n° de la ligne d'un fichier.txt (d'une ligne tirée au sort) ?
ex:
le msg # serait :

ligne 25 bla bla bli blo

16 réponses

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
5 juil. 2008 à 10:50
Surement.
J'ai pas bien plus compris, mais ça doit être ça :
Donc c'est toujours $read :

$read(fichier.txt,w,$+(*,mot,*)) retournera la première ligne qui match *mot* et $readn retournera le numero de la ligne

Je suppose que tu n'as percuté ma première phrase a savoir regardé l'aide sur $read.
3
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
5 juil. 2008 à 10:33
/help $read

$read(fichier.txt) retourne une ligne au hasard du fichier
$read(fichier,N) retourne la Nieme ligne du fichier

pour le cas de la ligne au hasard, le numéro de la ligne est retourné par $readn après l'apelle du $read normalement
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
5 juil. 2008 à 10:40
merci WIMS cela je le sais
 me suis mal exprimé surement
le but est de s'avoir a quelle n° de ligne du fichier txt que cela corespond
ex:
blobloblo est la 250 éme ligne du fichier txt
 le msg #  250 blobloblo
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
5 juil. 2008 à 11:33
oui j'ai vu pour $readn
hélas arrive pas a l'utiliser
sur l'aide c'est pas trés clair
0

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

Posez votre question
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
5 juil. 2008 à 11:57
merci wims
j'ai trouver du moins pour une ligne dite (entiérement) car pour une partie de la ligne cla fontionne pas.
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
5 juil. 2008 à 12:19
erreure de ma part le $readn me donne tourjour la ligne 1 alors que cela est une ligne aléatoire


 
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
5 juil. 2008 à 13:32
salut

"merci WIMS cela je le sais
 me suis mal exprimé surement
le but est de s'avoir a quelle n° de ligne du fichier txt que cela corespond
ex:
blobloblo est la 250 éme ligne du fichier txt
 le msg #  250 blobloblo"

donc il ne veu pas chercher le premier mot, au cas qu'il y a 2 ligne qui comencent par le meme mot ça va pas marcher non?
moi je ferai ça

on *:text:*:#:{
  var %l = $lines(le_nom_du_fichier.txt)
  var %i = 0
  while %i < %l {
    inc %i
    if ($1- == $gettok($read(le_nom_du_fichier.txt,%i),1-,32)) {
      msg # %i $1-
    }
  }
}

comme ça il aura le n° de la ligne avec le text (ça si c'est le cas si tu veu tu met l'entete on input ou autre)
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
5 juil. 2008 à 14:17
merci Worldbmt


mais cela bug
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
5 juil. 2008 à 14:27
de rien
mais bug cmt ??

c'est quoi ton code exactement pour savoir le cas mais si non ce que tu demandais c'est ça que j'ai compris alors explique plus stp on pourra plus t'aidé
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
5 juil. 2008 à 14:43
c'est pas un bot quizz que tu essaye de faire par exemple?
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
5 juil. 2008 à 14:43
alias kij { 
   var %qt1 $read(dati.txt)
    set %qq $gettok(%qt,1,47)
  set %rq $gettok(%qt,2,47)
  timerdebut 1 2  /msg $chan�2;�3;1,0 Question : �2;�3;1,9 %qq �3;
blablalblal...........................................
}
 j'ai abbrégé
c'est au niveau du msg que je veux incorporer le n° de la ligne
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
5 juil. 2008 à 15:41
ok j'avais compris le but alors ya plein de bot de quizz ds le site cherche et tu aura des idées mais bon pour ta question
c'est quoi "%qt" ?? c'est pas "%qt1" ??

donc

alias kij {
  var %l = $lines(dati.txt)
  var %i = 0
  while %i < %l {
    inc %i
    var %qt $read(dati.txt,%i)
    set %qq $gettok(%qt,1,47)
    set %rq $gettok(%qt,2,47)
    set %ligne %i
    timerdebut 1 2  /msg $chan�2;�3;1,0 Question : �2;�3;1,9 %qq �3;
    blablalblal...........................................
  }
}
on *:text:*:#:{
  if ($1- == %rq) {
    msg # %ligne $1-
  }
}

j'ai pas testé mais normalment si j'ai pas oublié quelque chose ça doi marcher
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
5 juil. 2008 à 17:09
oui c'est  " %qt "
 par contre cette ligne est en défaut de parametre pourquoi ? " var %qt $read(dati.txt,%i)"
est  quand le bot démare il s'arête plus  (bug) lol
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
5 juil. 2008 à 17:16
oui j'ai vu il manque le = aprés %qt
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
5 juil. 2008 à 17:53
lol wé je t'avais dis j'ai pas testé mais bon dejà ce que tu essaye de faire n'est pas complet comme les autres bot quizz sauf tu n'a pas tout declaré :p mais bon selon ce que tu veu ça devien comme ça si tu veu

alias kij {
  var %qt = $read(dati.txt)
  var %l = $lines(dati.txt)
  var %i = 0
  while %i < %l {
    inc %i
    if (%qt == $gettok($read(dati.txt,%i),1-,47)) {
      set %qq $gettok($read(dati.txt,%i),1,47)
      set %rq $gettok($read(dati.txt,%i),2,47)
      set %ligneq %i
      timerdebut 1 2  /msg # �2;�3;1,0 Question : �2;�3;1,9 %qq �3;
    }
  }
}
on *:text:*:#:{
  if ($1 == !stop) { unset %*q | msg # �2;�3;1,9 quizz est deactivé �2; }
  if ($1 == !quizz) { kij | msg # �2;�3;1,9 quizz est activé �2; }
  if ($1- == %rq) {
    msg # %ligneq $1-
    kij $1-
  }
}

et j'ai testé sur quelque petites question essaye chez toi dans un grand fichier mais il va falloir que tu ajoute que la reponse est composé de combien de lettres et les aides si non c'est dejà present les bots quizz
0
cs_simoi Messages postés 87 Date d'inscription samedi 1 janvier 2005 Statut Membre Dernière intervention 19 juillet 2008
19 juil. 2008 à 09:50
désolé de pas avoir répondu plus vite
merci pour tout
0
Rejoignez-nous