Voiceall simple :)

cs_fyltum Messages postés 407 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 25 août 2005 - 12 janv. 2005 à 15:42
J4Gu4R Messages postés 385 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 3 juillet 2007 - 14 janv. 2005 à 21:52
Alors voila j'ai fait un voiceall rapidement en utilisant $modespl pour
aller plus vite sur les serveurs où il est égal à 12 par exemple. Mais
le problème c'est qu'il ne voice pas tout le monde, il oublie toujours
quelqu'un en bas (des fois 2) et n'utilise pas le maximum de modes ( un
en moins )

Je vois pas du tout d'où vient le problème :(



vpl {

var %i 1 , %modechan $str(v,$modespl)

unset %listv

:debut

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

if ( $nick($chan,%i) !isvo $chan ) { set %listv $addtok(%listv,$nick($chan,%i),32)


if ($numtok(%listv,32) == $modespl) { mode $chan + $+ [ %modechan ] [
%listv ] | unset %listv | goto debut }

}

inc %i

}

}

4 réponses

cs_fyltum Messages postés 407 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 25 août 2005
12 janv. 2005 à 16:10
En fait pour le problème qu'il ne voicait pas certain en bas, je viens
de penser que j'avais oublié un truc, mais les autres problèmes sont
toujours pareil ( il n'utilise pas le maximum de $modespl )



vpl {

var %i 1 , %modechan $str(v,$modespl)

unset %listv

:debut

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

if ( $nick($chan,%i) !isvo $chan ) { set %listv $addtok(%listv,$nick($chan,%i),32)

if ($numtok(%listv,32) == $modespl) {
mode $chan + $+ [ %modechan ] [ %listv ] | unset %listv | goto debut }

}

inc %i

}

mode $chan + $+ $str(v,$numtok(%listv,32)) %listv

}
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 6
12 janv. 2005 à 17:36
ton goto au milieu du while est MEGA-laid ... utilise souit l'un soit l'autre ! (préfère le while c'est plus lisible)
les modespl, je prends l'exemple de wanadoo : le $modespl renvoyé est 3, alors que tu peux appliquer 5 modes à la fois... aucun moyen de prévoir ca a priori
enfin, si t'as un gros chan il faut mettre des timers pour pas partir en excess flood

PaDa
0
cs_fyltum Messages postés 407 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 25 août 2005
12 janv. 2005 à 17:53
Ouais pour Voila/Wanadoo je sais c'est chiant ( c'est 6 modes ) mais je
pense pas qu'il y ait d'autres serveurs où c'est pareil donc pour ne
pas trop ralentir l'alias je mettrais ça dans le "input" qui gere ça.

Autremment pour le goto, on m'a bien dit que c'était nul mais bon là je vois pas trop comment faire autremment :/
0
J4Gu4R Messages postés 385 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 3 juillet 2007
14 janv. 2005 à 21:52
j'connaissais pas mirc quand ya eu les fameux débats sur les :goto mais je sais au moins dans quel camp était PaDa :p

sinon pour ton :debut pourquoi tu utilise pas tout simplement un on * :join. ... avec un .timer
nan ? ou quelque chose dans ce genre d'idée qui fera une boucle sans avoir besoin de :debut

-J4Gu4R-
0