$nick(#,N)

Résolu
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006 - 13 juin 2005 à 14:07
cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008 - 16 juin 2005 à 18:27
bonjour

dans le code suivant, mirc me retourne ça : * Invalid format: $nick (line 93, commandes.oow)



(89) alias scan-clones {

(90) var %j 1

(91) var %clones

(92) while ( %j <= $nick(#,0)) {

(93) var %clone.témoin $nick(#,%j)

(94) if ( %clone.témoin !isin %clones ) {

(95) var $+(%,clones.,%j) $clone-chan(%clone.témoin)

(96) echo %clones 9[4[ $+ %j $+ ] $+  : $+(%,clones.,%j) 9]

(97) }

(98) inc %j

(99) }

(100) }



alors que dans ce code là , il ne le fait pas :



(101) alias test {

(102) var %n 1

(103) while ( %n <= $nick(#,0) ) {

(104) echo $nick(#,%n)

(105) inc %n

(106) }

(107) }



quelqu'un peut il me dire d'ou vien l'erreur ( les lignes sont marquées sur le côté en rouge )

15 réponses

MaX_62 Messages postés 879 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 29 juin 2007
13 juin 2005 à 14:24
Déjà tu devrais faire comme ça :


while ($nick($chan,%j)) {
var %clone.temoin $ifmatch
...

Sinon j'vois pas trop :o

-=[MaX_62]=-
3
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006
13 juin 2005 à 14:26
je vai tester on verra bien...
0
World_mIRC Messages postés 141 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 25 juillet 2005
13 juin 2005 à 19:26
En mettant var %clone.témoin = $nick(#,%j) ça marche mais ça affiche ça ...

[[1]
]
[[2]
]
[[3]
]
[[4]
]
[[5]
]
[[6]
]
[[7]
]
[[8]
]
...

C' était le but ???

----------------
Folken
0
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006
13 juin 2005 à 21:03
eu non ms j'ai corriger , voila le nouveau code !

/scan-clones {

var %clone.chan $+(@,clone,.,$chan)

window -bnBg2zk0 +ds %clone.chan

var %j 1

while ($nick(#,%j)) {

var %clone.témoin $ifmatch

var %clones $clone-chan(%clone.témoin)

echo %clone.chan 4[ clones de6 %clone.témoin 4] : %clones

inc %j

}

}



et pour les intéressés : voila $clone-chan pou que e code fonctionne :



clone-chan {

var %i 1

var %nick-cloné $1

var %liste-clone

while ( %i <= $nick($chan,0) ) {

var %clone $nick(#,$calc(%i))

if (( $address(%clone,1) == $address(%nick-cloné,1) ) && ( %nick-cloné != %clone )) {

var %liste-clone %liste-clone 4| 6 $+ %clone

}

inc %i

}

if ( %liste-clone ) { return 7|[10 $address(%nick-cloné,1) 4|| 12clones : $right(%liste-clone,-3) 7]| }

else { return 7|[10 $address(%nick-cloné,1) 7]| }

}
0

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

Posez votre question
World_mIRC Messages postés 141 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 25 juillet 2005
13 juin 2005 à 22:18
Chez moi ça fait tout le monde est un clone a tout le monde
Sauf moi

*** J' aurais plutôt mis $address(...,2) pke les clones n' ont pas tous le même user ID
Format de l' adresse:
[mailto:*!*@host.domain *!*@host.domain]
*** Comme l'a dit MaX_62: while ($nick($chan,%j)) au lieu de while ( %i <= $nick($chan,0) )

*** 4| 6 $+ %clone peut devenir 4|6 %clone
*** $nick(#,$calc(%i)) tu peux m'expliquer l' utilité du $calc() ???
*** var %i 1 | var %nick-cloné $1 | var %liste-clone peut s'ecrir var %i 1, %nick-cloné $1 (avec ou sans les "=")
et le %liste-clone bin je sais pas pk tu le met ^^

et la j' arrete pke je vais manger
PS: Je sais pas si tu voulais qu' on te donne 2/3 trucs a modifier mais bon, je me suis permis

--------------
Folken
0
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006
13 juin 2005 à 22:24
eu ui pr certaines choses j'avai oublier de le changer...

notamment ce que m'avait dit MaX_62



le %liste-clone sert a retourner quelque-chose de différent si il n'y a pas de clones...

le $calc il était la après un bug qui ne venait d'ailleurs pas de là , juste oublier de l'enlever

certaines choses je suis daccord jaurais pu faire plus attention comme le 4|6



par contre , qu'elle est la différence entre var %i = 1 et var %i 1 ???
0
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006
13 juin 2005 à 22:29
clone-chan {

var %i 1

while ( $nick(#,$calc(%i)) ) {

var %clone $nick(#,$calc(%i))

if (( $address(%clone,1) == $address($1,2) ) && ( $1 != %clone )) {

var %liste-clone %liste-clone 4|6 %clone

}

inc %i

}

if ( %liste-clone ) { return 7|[10 $address(%nick-cloné,2) 4|| 12clones : $right(%liste-clone,-3) 7]| }

else { return 7|[10 $address(%nick-cloné,2) 7]| }

}



voila normalement il est déja plus clair non ?
0
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006
13 juin 2005 à 22:46
enfet j'ai essayer avec $address($nick,2) au lieu de $address($nick,1)

avec $address($nick,1) il trouve des clones alors qu'avec $address($nick,2) ce n'est pas le cas...
0
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006
13 juin 2005 à 22:48
dailleur ds ce que jai marqué il y a une erreur : dans le 2è code
clone-chan il reste un %nick.cloné alors que normalement c'est $1
0
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006
13 juin 2005 à 22:52
autre erreur : dans le if

ce n'est pas $address(%clone,1) qu'il faut mettre mais $address(%clone,2)



mais Worl_mIRC ainsi ça me donne en réalité des clones alors qu'ils ne sont justement pas clones...
0
oowaka Messages postés 117 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 24 février 2006
13 juin 2005 à 23:06
je sais d'ou vien le problème entre $address($nick,1) et
$address($nick,2) le server sur lequel jai tester ça retourne des host
cryptés
0
cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008
15 juin 2005 à 23:18
*** Comme l'a dit MaX_62: while ($nick($chan,%j)) au lieu de while ( %i <= $nick($chan,0) )



hum imo j aurais plutot fait comme ca :




%var max =
$nick($chan,0)

while ( %i <= max )



car c est TRES MAL DE METTRE UNE EVALUATION DANS UN WHILE !!!




c est une question d optimisation :p



exemple si tu fais:



alias bench {

var %ticks = $ticks

while( %i != $calc(102121^31515*4542131+151184784^145151^15616515651651) ) {

inc %i

}

echo -a $calc($ticks - %ticks)

}



alias bench2 {

var %ticks = $ticks

var %max =
$calc(102121^31515*4542131+151184784^145151^15616515651651)

while( %i != max ) {
inc %i
}

echo -a $calc($ticks - %ticks)

}



tu verras de suite la difference :)




ensuite pour ton code :



alias scan-clones {

var %j = 1

var %max = $nick($chan,0)

while ( %j <= %max ) {

$clone-chan( $nick($chan,%j),%max )

inc %j

}

}



alias clone-chan {

var %i = 1

while ( %i <= $2) {

var %clone $nick(#,%i)

if ( $address($1,2) isin $address(%clone,2) && (%clone !isin $1 && $1 !isin %clone) ) {

echo -a 7,1 $1 0,est un clone de 11 %clone

}

inc %i

}

}



Voila ca marche, bon y a 1 pti trucs a regler mais c est de l habillage.
0
cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008
15 juin 2005 à 23:30
var %clone =
$nick(#,%i)



*** Désolé pour le petit oubli il est tard jvé dodo :p

.
0
World_mIRC Messages postés 141 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 25 juillet 2005
16 juin 2005 à 12:55
%var max = $nick($chan,0)
while ( %i <= max )

LLooooLL Huitre, je pense pas que ça marche ça

--------------
Folken
0
cs_Huitre Messages postés 290 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 février 2008
16 juin 2005 à 18:27
lol oué mais ct juste un exemple le bench, et il etait adressé a ceux qui savent scripter :D

Vous auriez vite fait de voir les erreurs de frappes :p

Sinon le reste marche ;)



(pis surtout que j avais exam de C le jour d avant donc bon mea culpa ^^)
0
Rejoignez-nous