Problême de scripting mirc

LordPoun Messages postés 5 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 13 juin 2005 - 13 juin 2005 à 00:10
LordPoun Messages postés 5 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 13 juin 2005 - 13 juin 2005 à 23:26
Bonsoir, j'ai un petit problême, je n'arrive pas a faire ce que je veux :(
Ce que je veux : Qu'une commande inscrive une personne dans un fichier avec un identifiant, et, en même temps, que tout les personne présentes dans le fichier texte soient mise en topic (pour cela il faut les mettres en ligne et retirer l'identifiant).

Voilà ce que j'ai fais avec un ami:

on *:text:!add*:%chan:{ if ($nick isop $chan) {
if ($2 == $null) { notice $nick 4 !add NomDeLaWar | HALT }
if ($read(match2.txt,w, $+(*,$$2,*)) != $null) {
if ($read(joueurs.txt,w, $+(*,$$2 $nick,*)) != $null) { notice $nick 7 T'es déjà add pour cette war ! | HALT }
write joueurs.txt $$2 $nick
var %line = $read(joueurs.txt, w, $+(*,$$2,*))
%line = $remove(%line, $$2)
while $readn != 0 {
var %line2 = $read(joueurs.txt, w, $+(*,$$2,*), $calc($readn + 1))
var %line2 = $remove(%line, $$2)
%line = %line %line2
}
notice $nick 3 Inscription Accepté.
topic %chan $read(match2.txt,w, $+(*,$$2,*)) 12 Joueurs présents : 3 %line | HALT }
notice $nick 4 Cette war n'existe pas... }
}

Le script s'éxécute mais le problême est qu'il n'y a qu'un seul pseudo répété plusieurs fois dans le topic.
Pouvez-vous m'aider svp.

6 réponses

LordPoun Messages postés 5 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 13 juin 2005
13 juin 2005 à 00:11
:| Quelqu'un peut m'expliquer aussi pourquoi ma présentation est devenue ceci ? ^^
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
13 juin 2005 à 01:16
Ton code n'est pas clair je l'est repris et je l'est changé.



on *:text:*:%chan:{

if ($1 == !add) {

if ($nick isop $chan) {

if (!$2) { notice $nick 4 !add NomDeLaWar }

else {

if ($istok(%Match,$2,44)) {

if
($istok(%joueur $+ $2,$nick,44) { notice $nick 7 T'es déjà add pour
cette war ! }

else {

set %joueur $+ $2 $addtok(%joueur $+ $2,$nick,44)

notice $nick 3 Inscription Accepté.

topic %chan War $2 : Joueurs présents : %joueur $+ $2

}

}

else { notice $nick 4 Cette war n'existe pas... }

}

}

}

}



alias addwar {

if ($istok(%Match,$1,44)) { echo -a La War Existe deja. }

else { set %Match $addtok(%Match,$1,44) }

}

alias delwar {

if (!$istok(%Match,$1,44)) { echo -a Cette War existe pas }

else { set %Match $remtok(%Match,$1,44) }

}





Oublie pas que %chan dois exister.

Tu peux ajouter une War avec /addwar war

Tu peux supprimer une War avec /delwar war

Le code :

Lorsque quelqu'un tape !add :

si la war qu'il dis existe et s'il est op, sa lajoute a la war

sinon ca ne fait rien.

J'espere que c'est bon :]
0
LordPoun Messages postés 5 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 13 juin 2005
13 juin 2005 à 16:37
Désolée de répondre si tard mais impossible de me logguer !
Ton code ne fontionne pas, il me di qu'aucune war n'existe, même si elle existe. Ce que je voudrai en faite c'est savoir pourquoi ça :

var %line = $read(joueurs.txt, w, $+(*,$$2,*))
%line = $remove(%line, $$2)
while $readn != 0 {
var %line2 = $read(joueurs.txt, w, $+(*,$$2,*), $calc($readn + 1))
var %line2 = $remove(%line, $$2)
%line = %line %line2
}


ne marche pas. Le reste du code, même si il n'est aps clair pour toi, l'ai pour moi (c'est important de comrpednre ce que l'on fait je trouve) et fontionne trés bien. La fontionne pour ajouter et retiré des war est déja faite a par.

Et pourquoi à chaque fois la présentation de mon message est comme reset et tout est mi a la ligne ? :s
0
LordPoun Messages postés 5 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 13 juin 2005
13 juin 2005 à 21:44
le problême avec ce que tu m'as donné en faite c'est que cela est basé sur des variable, alors que tout mon projet est absé sur des fichiers textes :s
Tout le reste est fait, il ne manque plus que celle là ....
0

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

Posez votre question
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
13 juin 2005 à 23:00
tu definis deux fois var %line je pense que ca viend de la ton erreur
0
LordPoun Messages postés 5 Date d'inscription vendredi 7 janvier 2005 Statut Membre Dernière intervention 13 juin 2005
13 juin 2005 à 23:26
C'est un pote qui a scripté ce passage, je lui ai di aussi mais il ma dis que c'était une façon un peu bizard de scripter masi que cela marchée :s
J'ai tester sa sinon mais sans succés :

var %line = $read(joueurs.txt, w, $+(*,$$2,*))
var %line2 = $remove(%line, $$2)
while $readn != 0 {
var %line3 = $read(joueurs.txt, w, $+(*,$$2,*), $calc($readn + 1))
var %line4 = $remove(%lin3, $$2)
var %line5 = %line2 %line4
}
notice $nick 3 Inscription Accepté.
topic %chan $read(match2.txt,w, $+(*,$$2,*)) 12 Joueurs présents : 3 %line5 | HALT }
0
Rejoignez-nous