fjxokt
Messages postés840Date d'inscriptionvendredi 28 janvier 2005StatutMembreDernière intervention25 février 2009
-
27 juin 2005 à 14:28
cs_tofu
Messages postés1726Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention13 juin 2009
-
12 juil. 2005 à 07:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
puis le but d'un sniper ce n'est pas de pouvoir le reutilisé plus tard dans un autre script qui lui aura peut-etre besoin d'etre optimisé ?
skotmarud
Messages postés116Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention26 janvier 2008 29 juin 2005 à 06:04
tofu je sais tres bien pour le while -_- mais tu peux quand meme essayer le code, je l'ai essayer sur un chan de 400 personnes le seul truc qui ralenti c'est l'affichage de mirc (pour ma part)
j'avais pour idée de faire un /names comme sur irssi sous mirc :
--------------------------
[@nick ] [nickb ] [nicke ]
[+vnick] [nickc ] [nickf ]
[nicka ] [nickd ] [nickg ]
--------------------------
pour ceux qui connaissent..
pour le 40 c'est une moyenne que j'ai fait en raison que si on msg la nick list ça ne depasse pas le maximum de caracteres qu'on puisse envoyer dans un packet (en une fois)
cs_tofu
Messages postés1726Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention13 juin 20091 27 juin 2005 à 19:32
au lieu de mettre un replace à la fin, mets direct un chr 160 ds ton instok personne fera la diff ek un chr 32..
et heu un iff imbriqué dans un while qui est lui même imbriqué dans un while, niveau optimisation on peut pas faire pire... j'ose même pas tester la rapidité d'exécution..
niveau principe, pourquoi 40 et pas 20 ou 30? pk pas essayer de faire un tableau ascii avec les pseudos dedans ça serait mettre la barre un peu plus haut déjà que de faire une aliase de base de ce genre..
COOLMAN002
Messages postés969Date d'inscriptionlundi 16 juin 2003StatutMembreDernière intervention 1 juillet 20121 27 juin 2005 à 19:13
Skotmarud, a ta place j'aurai carrément recupéré les données via la raw de /NAMES, et renvoyé ce que tu voulais, fin bon :)
Je note pas.
cs_wims
Messages postés2466Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention 1 août 20101 27 juin 2005 à 18:37
Franchement proposer ca en snippet j'trouve ca abuser surtout que c'est plutot mal fait. j'aurais fait :
alias n {
var %a 1
var %b $nick($chan,%a)
while (%b) { set %c $addtok(%c,$ifmatch,32) | inc %a }
echo -a %c
unset %c
}
Ca retourne aussi tout les nick d'un salon en echo :)
MaX_62
Messages postés879Date d'inscriptionvendredi 22 octobre 2004StatutMembreDernière intervention29 juin 2007 27 juin 2005 à 18:20
La variable globale ? %a, puisque tu l'as déclarée avec /set, et pas /var...
le temps d'éxécution ? bah oui, ton script est très, très lent...
skotmarud
Messages postés116Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention26 janvier 2008 27 juin 2005 à 15:53
max 62 au fait "des variables globales" t'en a vu combient ?
et :'D
"bonjour le temps d'éxécution !!!"
bon j'arrete, je vais m'enerver pour rien :')
skotmarud
Messages postés116Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention26 janvier 2008 27 juin 2005 à 15:46
pour le 1/10 c'est abusé..(mdr quand meme quoi, faut vraiment etre bas)
bref, MaX_62 la simple raison de ne pas mettre d'identifieur dans un while c'est pour la rapidité, et je vois pas en quoi l'optimisation puisse avoir un sens dans un code aussi petit...
Donc calopsfr lui a lu le code au lieu de le survoler c'est deja pas mal. passons..
ce code guette le nb de nick, echo tout les 40 nick, ensuite s'il reste ou qu'il n'y a pas 40 nick il boucle sur le nombre de nick restant ou present et les echo. Le principe est extremement simple, mais le codé ne l'etait pas (pour moi) et j'ai bien aimer se casse tete, si apres ça vous plait ou non.. passez votre chemin.
pour les autres voyez le principe, pas l'utilité
calopsfr
Messages postés137Date d'inscriptionmardi 4 novembre 2003StatutMembreDernière intervention22 août 2005 27 juin 2005 à 15:27
FJXOKT j'ia tyrouvé à quoi servent ses calculs ^^ tous les 40 nicks, il passe à la ligne suivante
sinon, je trouve pas que le code est très utile...
MaX_62
Messages postés879Date d'inscriptionvendredi 22 octobre 2004StatutMembreDernière intervention29 juin 2007 27 juin 2005 à 15:08
while (%u <= $iif(%i = %t, $calc($nick($chan,0)-((%t -1)*40)), 40))
pas d'identifieurs dans une while et surtout pas $iif !! bonjour le temps d'éxécution !!!
des variables globales dans un code comme ça c'est abusé j'trouve...
T'aurais pu faire un $alias avec /return et avec le channel configurable... car la tu peux faire cette commande :
/raw NAMES #CHAN
c'est mieux j'trouve :p
C'est pas pour te décourager mais j'espère que cette source sera désactivée...
fjxokt
Messages postés840Date d'inscriptionvendredi 28 janvier 2005StatutMembreDernière intervention25 février 20091 27 juin 2005 à 14:28
alias names { var %i = $nick($chan,0) | while (%i) { var %nick = %nick $nick($chan,%i) | dec %i } | echo -a %nick }
faudrai que tu m'explique de quelle manière tu procèdes pour faire la meme chose que le code ci-dessus (a quoi servent tes calculs ?)
12 juil. 2005 à 07:38
var %p: 1, %p^ $numtok(%ù,32), %i = $1
while %p: <= %p^ { mode $active $+($left(%i,1),$str($right(%i,1),$modespl)) $gettok(%ù,%p: $+ - $+ $calc(%p: + $calc($modespl -1)),32) | inc %p: $modespl }
12 juil. 2005 à 06:20
11 juil. 2005 à 15:23
11 juil. 2005 à 12:52
exemple /mass -o
alias mass {
var %i 1, %z 1, %t = $ceil($calc($nick($chan,0)/5))
while (%i <= %t) { unset %a
var %u 1, %n $iif(%i = %t, $calc($nick($chan,0)-((%t -1)*5)), 5) | while (%u <= %n) {
if ($nick($chan,%z) !$me) { var %a $instok(%a,$nick($chan,%z),0,46) }
inc %u | inc %z
}
mode # $+($mid($1,1,1),$str($mid($1,2,1),5)) $replace(%a,$chr(46),$chr(32)) | inc %i
}
}
30 juin 2005 à 13:59
Snippet :)
30 juin 2005 à 13:56
`J0r`- H4B-BoT2GaY H4B-CeLeNiK-Bnc H4B-Garox H4B-J0r`BnC H4B-JStaline06 H4B-n3o H4B-NeoBlaster H4B-Saint H4B[Die_Master] H4B`clemssonBNC H4B|Style`Serv NemoFF\ Q [-BW-ViP-] [Be-Superstars] [ounRox] [Style`2] [Style`3] [Style`4] [Style`] [Style`Spr] ArKanis H4B-ProtecT H4B-Vip n00k-` SlaKeR`aMetz [-Crock-Fm-] [Anti|To] [Banzzai] [Cup-O]admin [Cup-O]ard`aw [Cup-O]News [Cup-O]Servers [Cup-O]Site [Cup-O]Sponsors [LEG]Dar-ko|Hs alfex ALFEX-1337 Bibite\OuT
Crack_Rat E-CoPaTTe FaTaLiTy FH[M]sAd-Ou-NeT FiC gT|HerMi GuZni`aw Hilo|Fr0x iz`8nc juSt1 Kn1GhT KrIsK4 Kust m0nstR- master`zzzzZZzz mayO`Aw namevac neWave|G37u NGFX|naWaK`oN NoG-__-aw NoK_SlipStoNe oYe\Spade_-Ts PAnteRs|bnc PaQubo pul|knolz Replay-Clk-Bnc SA|Vinz`Abs The-OuF TiM\ VarTa Xarox Z-A|Clem`H-2|30
> 62 MS pour lister 72 personnes....
puis le but d'un sniper ce n'est pas de pouvoir le reutilisé plus tard dans un autre script qui lui aura peut-etre besoin d'etre optimisé ?
29 juin 2005 à 06:04
j'avais pour idée de faire un /names comme sur irssi sous mirc :
--------------------------
[@nick ] [nickb ] [nicke ]
[+vnick] [nickc ] [nickf ]
[nicka ] [nickd ] [nickg ]
--------------------------
pour ceux qui connaissent..
pour le 40 c'est une moyenne que j'ai fait en raison que si on msg la nick list ça ne depasse pas le maximum de caracteres qu'on puisse envoyer dans un packet (en une fois)
27 juin 2005 à 19:32
et heu un iff imbriqué dans un while qui est lui même imbriqué dans un while, niveau optimisation on peut pas faire pire... j'ose même pas tester la rapidité d'exécution..
niveau principe, pourquoi 40 et pas 20 ou 30? pk pas essayer de faire un tableau ascii avec les pseudos dedans ça serait mettre la barre un peu plus haut déjà que de faire une aliase de base de ce genre..
27 juin 2005 à 19:13
Je note pas.
27 juin 2005 à 18:37
alias n {
var %a 1
var %b $nick($chan,%a)
while (%b) { set %c $addtok(%c,$ifmatch,32) | inc %a }
echo -a %c
unset %c
}
Ca retourne aussi tout les nick d'un salon en echo :)
27 juin 2005 à 18:20
le temps d'éxécution ? bah oui, ton script est très, très lent...
27 juin 2005 à 15:53
et :'D
"bonjour le temps d'éxécution !!!"
bon j'arrete, je vais m'enerver pour rien :')
27 juin 2005 à 15:46
bref, MaX_62 la simple raison de ne pas mettre d'identifieur dans un while c'est pour la rapidité, et je vois pas en quoi l'optimisation puisse avoir un sens dans un code aussi petit...
Donc calopsfr lui a lu le code au lieu de le survoler c'est deja pas mal. passons..
ce code guette le nb de nick, echo tout les 40 nick, ensuite s'il reste ou qu'il n'y a pas 40 nick il boucle sur le nombre de nick restant ou present et les echo. Le principe est extremement simple, mais le codé ne l'etait pas (pour moi) et j'ai bien aimer se casse tete, si apres ça vous plait ou non.. passez votre chemin.
pour les autres voyez le principe, pas l'utilité
27 juin 2005 à 15:27
sinon, je trouve pas que le code est très utile...
27 juin 2005 à 15:08
pas d'identifieurs dans une while et surtout pas $iif !! bonjour le temps d'éxécution !!!
des variables globales dans un code comme ça c'est abusé j'trouve...
T'aurais pu faire un $alias avec /return et avec le channel configurable... car la tu peux faire cette commande :
/raw NAMES #CHAN
c'est mieux j'trouve :p
C'est pas pour te décourager mais j'espère que cette source sera désactivée...
27 juin 2005 à 14:28
faudrai que tu m'explique de quelle manière tu procèdes pour faire la meme chose que le code ci-dessus (a quoi servent tes calculs ?)
à quand une section snippets...