$read et $readn: lire un nick dans un fichier

Signaler
Messages postés
145
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 septembre 2009
-
warenbe
Messages postés
145
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 septembre 2009
-
salut a tous
j'essaye de faire un remote pour mirc qui va chercher si quand quelqu'un rejoins un canal, si son nick est dans une liste il ne se passe rien mais si c pas le cas il y a un notice

donc voila ce que je fais:

on *:JOIN:#yusuketeam:{
$read(nick.txt, s, $nick)
if ($readn==0){ /notice $nick test}}

donc voila il regarde dans le fichier nick.txt si le nick (variable $nick) y est
en theorie d'apres l'aide de mirc le $readn retourne le numero de la ligne du dernier $read , et si il n'y avait pas le mot dans le fichier c 0

donc la je dis que si $readn est = 0 dans ce cas on balance le notice a $nick

mais je sais pas pourquoi ça ne marche pas

quelqu'un a une idée?

6 réponses

Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Salut,
Utilise plutot :
on 1:join:#salon:{
if ($nick == $read(liste.txt,w,$nick)) { /notice $nick Tu est dans la liste ! | halt }
else { notice $nick Tu n'est pas dans la lsite | halt }
}
Messages postés
145
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 septembre 2009

merci pour tout ça marche :)
Messages postés
230
Date d'inscription
samedi 6 septembre 2003
Statut
Membre
Dernière intervention
13 mai 2004

Message pour juki_webmaster au lieu de donner le code directement explique le car ca apprendra aux autres de pas faire l'erreur.
C'est tout

8-)
Messages postés
11
Date d'inscription
jeudi 26 février 2004
Statut
Membre
Dernière intervention
12 septembre 2004

je sais que je suis un debutant, mais qu'est ce qu'il se serait passé si les nick speciaux (certainement ses amis) avaient eu le droit un level user différent ? Cela aurait peut etre ete plus simple de faire une notice pour les users level 1 et rien pour les autres.
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Vesparo, le probléme c'est que je comprend pas moi meme pourqoui j'ai ouvert le fichier en mode 'w' lol.
$read(liste.txt,w,$nick) : va chercher dans le fichier 'liste.txt' le mot PRECIS qui est l'identifieur $nick qui correcpond à l'evenement, devrez envoyer TRUE si il trouve , FALSE si il trouve pas .
$read(liste.txt,w,*a*) devrez chercher dans le fichier 'liste.txt' tout les lignes qui possede un caractére 'a' , c'est pourqoui 'a' et sous des 'joker'.
Parcontre je sais pas si c'est bien expliqué lol.
Messages postés
145
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 septembre 2009

bien je m'en remet encore une fois a vous

voila un remote:
on *:TEXT:!own*:#warenbe:{
/var %nbligne
/var %nbown
if ($nick == $read(own.txt,w,$nick)){ %nbligne=$readn+1
%nbown=$read(own.txt,%nbligne)+1
/write -l%nbligne own.txt %nbown
/echo ecriture reussie
}
else { /write own.txt $nick
/write own.txt 1
/echo ajout du nick et mise a 1 du nombre OWN
}
}

je veux que quand on tape !own sur un canal (en l'occurence #warenbe canal de test) le remote regarde si le nick est present. j'ai donc repris le code precedant . puis j'ai ajouté $readn apres pour savoir la ligne ou est situé le nick. j'ajoute 1 a la variable qui contient le numeri de la ligne.
cette ligne contient une valeur que je stoque dans une autre variable puis j'incremente de 1 et je la reecris au meme endroit

et si le nick existe pas je l'ajoute et je met 1 a la ligne suivante

mais ça ne marche pas
quand je tape !own mirc me dit: ecriture reussie

mais il ecrit rien dans own.txt
au contraire il efface meme la premiere ligne apparement :/

expliquez moi mon erreur si vous la voyez car pour moi ça devrait marcher

ps: les { et } des if sont super mal geré par mirc c une horreur