Top10 - stats

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 387 fois - Téléchargée 26 fois

Contenu du snippet

un !top10 pour irc - facile et tout ca dans les remotes

Source / Exemple :


#KnoxTop
on *:load: {
  mkdir knoxtop
  mkdir knoxtop\mots
  mkdir knoxtop\lettres
  mkdir knoxtop\sourires
  mkdir knoxtop\rang
}
on *:text:*:#: {
  writeini -n $+(knoxtop\rang\,$chan,.ini) $nick rang $calc($readini($+(knoxtop\rang\,$chan,.ini),$nick,rang) + $numtok($1-,32))
  writeini -n $+(knoxtop\mots\,$chan,.ini) $nick mots $calc($readini($+(knoxtop\mots\,$chan,.ini),$nick,mots) + $numtok($1-,32))
  writeini -n $+(knoxtop\lettres\,$chan,.ini) $nick lettres $calc($readini($+(knoxtop\lettres\,$chan,.ini),$nick,lettres) + $len($remove($1-,$chr(32)))) 
  writeini -n $+(knoxtop\sourires\,$chan,.ini) $nick sourires $calc($readini($+(knoxtop\sourires\,$chan,.ini),$nick,sourires) + $regex($1-,/(\:|;)(-)?(P|X|D|\/|\\|\[|\])/ig) + $count($1-,: $+ $chr(40),:- $+ $chr(40),: $+ $chr(41),:- $+ $chr(41),; $+ $chr(40),;- $+ $chr(40),; $+ $chr(41),;- $+ $chr(41)))
  if ($1- = !top10 || ($1 = !top10 && $2- = mots)) {
    msg $chan $knoxtop($chan,mots)
  }
  elseif ($1 = !top10 && $2- = sourires) {
    msg $chan $knoxtop($chan,sourires)
  }
  elseif ($1 = !top10 && $2- = lettres) {
    msg $chan $knoxtop($chan,lettres)
  }
  elseif ($1- = !stat) {
    msg $chan $statlist($chan,$nick)
  }
  elseif ($1 = !stat && $numtok($2-,32) = 1) {
    msg $chan $statlist($chan,$2-)
  }
  elseif ($1- = !rang) {
    msg $chan $ranglist($chan,$nick)
  }
  elseif ($1 = !rang && $numtok($2-,32) = 1) {
    msg $chan $ranglist($chan,$2-)
  }
  elseif ($1 = !aide) {
    notice $nick commandes de knox top; !top10 °mots°lettres°sourires°, !stat °nick°, !rang °nick°
  }
}
on *:join:#: {
  .timer $+ $+($chan,$nick) 0 1 inc % [ $+ [ $chan ] [ $+ . $+ [ $nick ] ] ]
}
on *:part:#: {
  .timer $+ $+($chan,$nick) off
}
on *:quit: {
  var %x = 1
  while ($comchan($nick,%x)) {
    .timer $+ $+($ifmatch,$nick) off
    inc %x
  }
}
on *:kick:#: {
  .timer $+ $+($chan,$nick) off
}
alias knoxtop {
  var %.h = $iif($2 = mots,mots,$iif($2 = lettres,lettres,$iif($2 = sourires,sourires))), %.a = $+(knoxtop\,%.h,\,$1,.ini), %.b = 1, %.c = $readini(%.a,$ini(%.a,%.b),$2), %.d = 1, %.e = $ini(%.a,%.b), %.f = 1
  :loop
  while (%.b <= $ini(%.a,0)) {
    if ($readini(%.a,$ini(%.a,$calc(%.b + 1)),$2) > %.c) {
      var %.c = $ifmatch, %.e = $ini(%.a,$calc(%.b + 1))
    }
    inc %.b
  }
  var %.g = $addtok(%.g,$+($ord(%.f),.,$chr(32),%.e,$chr(40),%.c,$chr(41)),32) 
  writeini -n $+(temp,%.h,.ini) %.e %.h %.c
  remini %.a %.e
  if ($ini(%.a,0) > 0 && %.f < 10) {
    var %.b = 1, %.c = $readini(%.a,$ini(%.a,%.b),$2), %.e = $ini(%.a,%.b)
    inc %.f    
    goto loop
  }
  while (%.d <= $ini($+(temp,%.h,.ini),0)) {
    writeini -n %.a $ini($+(temp,%.h,.ini),%.d) %.h $readini($+(temp,%.h,.ini),$ini($+(temp,%.h,.ini),%.d),%.h)
    inc %.d
  }
  .remove $+(temp,%.h,.ini)
  return $+(Top10,$chr(40),$upper($left($2,1)),$lower($right($2,-1)),$chr(41),:) %.g
}
alias ranglist {
  .remove knoxnicks.txt
  var %.a = $+(knoxtop\rang\,$1,.ini), %.b = 1, %.c = $readini(%.a,$ini(%.a,%.b),rang), %.d = 1, %.e = $ini(%.a,%.b), %.f = 1
  :loop
  while (%.b <= $ini(%.a,0)) {
    if ($readini(%.a,$ini(%.a,$calc(%.b + 1)),rang) > %.c) {
      var %.c = $readini(%.a,$ini(%.a,$calc(%.b + 1)),rang), %.e = $ini(%.a,$calc(%.b + 1))
    }
    inc %.b
  }
  write knoxnicks.txt %.e
  writeini -n temp.ini %.e rang %.c
  remini %.a %.e
  if ($ini(%.a,0) > 0) {
    var %.b = 1, %.c = $readini(%.a,$ini(%.a,%.b),rang), %.e = $ini(%.a,%.b)
    inc %.f    
    goto loop
  }
  while (%.d <= $ini(temp.ini,0)) {
    writeini -n %.a $ini(temp.ini,%.d) rang $readini(temp.ini,$ini(temp.ini,%.d),rang)
    inc %.d
  }
  .remove temp.ini
  var %x = 1
  while (%x <= $lines(sortnicks.txt)) {
    if ($2 = $read(sortnicks.txt,%x)) {
      return $2 votre rang est $chr(35) $+ $readn de $ini(%.a,0) personnes ! bravo Lâche pas :P
    }
    inc %x
  }
  return Knoxtop, n'as aucune information au sujet de $2 sur $1
}
alias statlist {
  if ($readini($+(knoxtop\mots\,$1,.ini),$2,mots)) {
    return $2 $+ : $readini($+(knoxtop\mots\,$1,.ini),$2,mots) mots, $readini($+(knoxtop\lettres\,$1,.ini),$2,lettres) lettres, $readini($+(knoxtop\sourires\,$1,.ini),$2,sourires) sourires, temps passé: $rerang($duration(% [ $+ [ $1 ] [ $+ . $+ [ $2 ] ] ]),sec,$chr(32) $+ seconde,min,$chr(32) $+ minute,hr,$chr(32) $+ heures,jour,$chr(32) $+ jour,wk,$chr(32) $+ semaines) $iif(!% [ $+ [ $1 ] [ $+ . $+ [ $2 ] ] ],0 secondes)
  }
  else {
    return Knoxtop, n'as aucune information au sujet de $2 sur $1
  }
}
#KnoxTop END

Conclusion :


!top10 mots
!top10 lettres
!top10 sourires
!stat nick
!rang nick
!aide

A voir également

Ajouter un commentaire

Commentaires

Messages postés
142
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
8 juin 2006

je viens de remarqué qu'en fait ici ca repond jamais :x
Messages postés
142
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
8 juin 2006

je viens de remarqué qu'en fait ici ca repond jamais :x
Messages postés
142
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
8 juin 2006

ouais bah moi quand j'ecris !stat ben il fait rien du tout.comment ca marche ô/ô,ou bien ca marche pas ?
Messages postés
62
Date d'inscription
vendredi 27 août 2004
Statut
Membre
Dernière intervention
6 octobre 2004

Euh jtrouve sa super le top10 des mots !!! mais y a un pb. .... c que quand on écrit !stat...... sa écrit exemple :
Panther: 665 mots, 2992 lettres, 18 sourires, temps passé: 0 secondes ...... le pb est ...... Le temp passer ??? sa reste toujour a 0 jcomprend pas...
Messages postés
6
Date d'inscription
samedi 19 juillet 2003
Statut
Membre
Dernière intervention
27 octobre 2003

ben il fon pas les stats ca ecri sa =>

/writeini: insufficient parameters (line 10, script1.ini)
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.