Nicklist

Signaler
Messages postés
12
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
15 juillet 2005
-
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009
-
petite question : ya tu moyen de savoir dans la nicklist combien de personne ont (ex. la couleur rouge )?

la seule chose que jai reussi a faire c de savoir la couleur du nick avec $cnick



la raison c que je fait un stat , mais pour les reguliers mon serveur
me retourne les couleurs avec le raw357, mais autant que possible je ne
voudrais pas m'en servir


Destroy

12 réponses

Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
$cnick(N/pseudo, M)

Retourne le Nième pseudo dans la liste des couleurs des pseudonymes ou
si le pseudo est spécifié, retourne la Nième position de l'item dans la
liste qui correspond au pseudo. Si le pseudo ne correspond à aucun
item, il retourne zéro.



Propriétés : color, modes, levels, method, anymode, nomode, ignore, op, voice, protect, notify, idle



Pour obtenir la couleur du pseudo, vous pouvez utiliser
$cnick(pseudo).color. Si 'pseudo' ne correspond à aucun item dans la
liste, il retourne la couleur 'Normal Text', ou si M = 1, retourne la
couleur 'Listbox text". M est optionnel.



$cnick(pseudo).color retournera la couleur du pseudo ( 4 pour rouge par ex )
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

faudrait donc faire une boucle while en utilisant $nick($chan,0) pour maximum et $nick($chan,%variable) pour obtenir chaque nick
var %t 1, %max $nick($chan,0)
while %t <= %max {
;pseudo = $nick($chan,%t)
...
inc %t
}
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Euh faudra faire attention car si le nick a un @ devant son pseudo il faut faire $cnick(@pseudo).color j'crois
Messages postés
216
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
16 mars 2006

Sur les gros salons, il vaut mieux éviter de faire une boucle sur les nicks. En fait, dès qu'il est possible dans un script d'éviter de boucler, il faut le faire. Alors il faut se débrouiller autrement ;-)

2 approches :

1) Soit ta coloration des nicks tu l'effectues sur le statut de ce dernier (op, helper, voice, regular), [exemple bleu pour op, vert pour helper, rose pour voice et noir pour regular] >> nombre de nicks :

- bleu : $nick(#channel,0,o)
- vert : $nick(#channel,0,h)
- rose : $nick(#channel,0,v)
- noir : $nick(#channel,0,r)

2) Soit ta coloration des nicks tu l'effectues sur un masque [exemple tous les nicks ayant "guest" en ident sont en rouge] >> nombre de nick rouges :
$ialchan([mailto:*!guest@*,#channel,0 *!guest@*,#channel,0])

Voila ;-)
Messages postés
12
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
15 juillet 2005

ma coloration des nick est deja faite par un raw357, qui divise les reguliers en 3 parties, homme, femme , ou couple et associe une couleur pour chaque. donc un petit quelque chose qui pourrait compter le nombre de nick rouge, bleu ou noir
,
en autant possible j'aimerais ne pas avoir a me servir du raw
dsl jme suis p-e mal expliquer

Raw 357:*avatar* {
If ($3 == 1) {
Haltdef
.cnick -anm2 $1 13
}
; Elseif ($3 == 2) {
; Haltdef
; .cnick -anm2 $1 12
; }
Elseif ($3 == 4) {
Haltdef
.cnick -anm2 $1 7
}
}
Messages postés
216
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
16 mars 2006

Tu es sur quel serveur? Je ne connaissais pas le raw 357.
Pour l'obtenir tu es bien obligé de toute façon d'envoyer une commande au serveur (genre /whois ou /who)?

C'est sur que si ta coloration se fait sur des critères bien spécifiques, tu n'auras pas d'autres choix que de boucler sur les nicks du channel, un peu comme le propose Arkanis, et faire le décompte de tes trois catégories.
Messages postés
12
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
15 juillet 2005

genre quelque chose du style IF ($cnick == .color4 ) {calcul le nombre de nick qui sont rouge dans la nick list}
Messages postés
12
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
15 juillet 2005

bon voici ou j'en suis rendu, jai reussi a sortir qui a quelle couleur dans la nick list, mais la le resultat je ne c pas quoi faire avec (comment le traiter) ca me sort le nick avec la couleur approprie, le nick j'en ai pas de besoin mais ye la pour reference pour l'instant.


var %nikcol 1
while %nikcol <= $nick($active,0) {
if ( $cnick($nick($active,%nikcol)).color = 13 ) { echo -s $cnick($nick($active,%nikcol)).color $+ $chr(32) $+ $nick($active,%nikcol) }
elseif ( $cnick($nick($active,%nikcol)).color = 7 ) { echo -s $cnick($nick($active,%nikcol)).color }
elseif ( $cnick($nick($active,%nikcol)).color = 1 ) { echo -s $cnick($nick($active,%nikcol)).color }
inc %nikcol
}

donc a la place du echo ca me prendrait quelque chose qui va compter combien de couleur 13,7 et 1 il y a ex couleur 13 25, couleur 7 12.
Messages postés
12
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
15 juillet 2005

barjo que je suis j'ai trouver , donc ce week end ma poster ca complet
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

while %nikcol <= $nick($active,0) {
utilise le %max comme je te l'avais fait :)
sinon il calcule le maximum de personnes sur le chan à chaque passage, ça fait rammer
pour ta question tu peux utiliser des hash tables ou des variables => /hinc ou /inc
Messages postés
12
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
15 juillet 2005

dsl RCA la chu melanger , dois je imbriquer ton while dans le mien ou completement refaire ? totalement perdu
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

modifie juste le début du while :
var %nikcol 1, %max $nick($active,0)
while %nikcol <= %max {
if ( $cnick($nick($active,%nikcol)).color = 13 ) { echo -s $cnick($nick($active,%nikcol)).color $+ $chr(32) $+ $nick($active,%nikcol) }
elseif ( $cnick($nick($active,%nikcol)).color = 7 ) { echo -s $cnick($nick($active,%nikcol)).color }
elseif ( $cnick($nick($active,%nikcol)).color = 1 ) { echo -s $cnick($nick($active,%nikcol)).color }
inc %nikcol
}


sinon moi c'est ArKanis :p
RCA c'est mon clan, j'ai pris ça parce que "ArKanis" c'était malheureusement déjà pris :(
on peut changer de nick au fait ?