Lagbar picwin

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 667 fois - Téléchargée 25 fois

Contenu du snippet

En voila une source originale !
Bon, blague a part, j'ai eu envie de faire une petite lagbar personnelle et je me suis dit qu'elle pourrait etre utile à d'autres, qui sait ?
Il peut servir de tuto(sans comment') pour l'utilisation de dégradés, dégradés tres simples a effectuer:
on creée le dégradé au lancement de l'alias dans une @win caché qui nous servira de buffer, puis on drawcopy la portion qui nous interresse, donc pas de resources inutiles perdues :-)
Bref, c'est une lagbar, que l'on peut déplacer, et qui se présente sous la forme d'un alias /lag comportant plusieurs parametres
je les indique
/lag x y w h lag_maximum periode_refresh couleur* couleur_font couleur_texte +c*

x,y,w et h sont la position de la lagbar (x et y) et ses dimensions (w et h)
lag_maximum indique quelle sera la valeur maximum de lag a afficher sur la lagbar (ex 200ms , 500, etc...)
periode_refresh indique la duree separant 2 verification du lag (ex 2 secs)
couleur* et la couleur: plusieurs options
db = degradé 'froid'
df = degradé 'feu'
dv = degrade vert->rouge
dr = degradé 'chaud'
dnb = degradé niveau de gris
c = couleur unie mais qui varie en fonction du lag, de jaune à rouge
nb = de même mais varie en niveau de gris
$rgb(R,G,B) = vous pouvez definir une couleur perso pour la lagbar

couleur_font est la couleur du fond de la lagbar
couleur_texte est devinez... la couleur du text affiché, bravo ! si vous ne mettez rien une couleur du clair au foncé sera choisie, en fonction du lag
Enfin le parametre +c est optionnel, et permet de mettre un cadre noir autour de la lagbar

Dernière chose, le lag donnée est propre a chaque serveur (encore heureux :o)

Source / Exemple :


on *:appactive:if ($window(@lag)) window $iif($appactive,-o,-u) @lag
on *:ctcpreply:lb*: {
  if ($nick == $me && $2 isnum) {
    var %l $2 | tokenize 32 $hget(lag,opt)
    var %d $calc(($ticks -%l)/1000),%b $calc(%d * $3 /$5),%c $calc(255-(%d *255/$5)),%t $calc(255-%c)
    dr $($8,2) 1 0 0 $3-4
    if ($regex($7,dr|dnb|db|df|dv)) deg %b $4
    elseif ($7 == c) dr $rgb(255,%c,0) 1 0 0 %b $4
    elseif ($7 == nb) dr $rgb(%c,%c,%c) 1 0 0 %b $4
    else dr $($7,2) 1 0 0 %b $4
    drawtext -nor @lag $iif($9 != +c && $9,$($v1,2),$rgb(%t,%t,%t)) arial 10 $center(%d) sec
    drawdot @lag
  }
  haltdef
}

menu @lag {
  sclick { if ($hget(lag,lock)) movewin $active $calc($mouse.dx - $window($active).x) $calc($mouse.dy - $window($active).y) }
  $iif($hget(lag,lock),Ancrer,Détacher) la lagbar:hadd -m lag lock $iif($hget(lag,lock),0,1)
  Relancer:/lag_reload
  -
  Couleur barre
  .Degradé Feu:$lag_rep(df).barre
  .Degradé Glace:$lag_rep(db).barre
  .Degradé Chaud:$lag_rep(dr).barre
  .Degradé Vert-rouge:$lag_rep(dv).barre
  .Dégradé de gris:$lag_rep(dnb).barre
  .-
  .Blanc -> noir:$lag_rep(nb).barre
  .Jaune -> rouge:$lag_rep(c).barre
  .-
  .Couleur unie:$lag_rep($q).barre
  Couleur fond:$lag_rep($q).font
  Couleur texte:$lag_rep($q).texte
  -
  Options
  .Période de rafraichissement:$lag_rep($$input(Période de rafraichissement ? (sec),ieoc,Rafraichissement)).re
  .Lag maximum:$lag_rep($calc($$input(Indiquez le lag maximum à afficher ? (msec),ieoc,Lag Maximum) /1000)).max
  -
  Info code:.echo -q $input(Code de la lagbarre active :,ioe,Aide,/lag $+ $chr(32) $hget(lag,opt))
  -
  Fermer:{ .timerlag off | hfree lag | close -@ @lag* }
}

alias lag {
  if (!$8) { echo -a  $+ $color(info) $+ * /lag: paramètres insuffisants | halt }
  elseif ($remove($1-6,$chr(32)) !isnum) { echo -a  $+ $color(info) $+ * /lag: erreur de paramètre | halt }
  close -@ @lag*
  window -poBdh +bL $+ $iif(+c !isin $9-,d) @lag $1-4
  hadd -m lag opt $1-
  if ($regex($7,dr|dnb|db|df|dv)) bdeg
  .timerlag -oi 0 $6 lm
}

alias lagtest {
  if $1 == 1 lag 526 42 200 20 0.08 2 db $rgb(212,208,200) $rgb(0,0,0)
  elseif $1 == 2 lag 526 42 200 20 0.08 2 df $rgb(212,208,200) +c
  elseif $1 == 3 lag 526 44 100 15 0.08 2 dv $rgb(255,255,255) +c
  elseif $1 == 4 lag 526 42 120 30 0.08 2 c $rgb(255,255,255) $rgb(1,0,0) +c
}

alias -l bdeg {
  var %i 0,%p $1 | tokenize 32 $hget(lag,opt)
  window -ph @lagb
  while (%i <= $3) {
    if ($7 == df) {
      var %v $calc(510 -(510 * %i / $3)),%vv $iif(%v > 255,$calc(%v -255),0)
      drawrect -nrf @lagb $rgb($iif(%v > 255,255,%v),%vv,0) 1 %i 0 1 $4
    }
    elseif ($7 == dv) {
      var %v $calc(510 * %i / $3),%vv $iif(%v > 255,$calc(255-(%v -255)),255)
      drawrect -nrf @lagb $rgb($iif(%v > 255,255,%v),%vv,0) 1 %i 0 1 $4
    }
    elseif ($7 == dr) {
      var %c $calc(255-(%i *255/$3))
      drawrect -nrf @lagb $rgb(255,%c,0) 1 %i 0 1 $4
    }
    elseif ($7 == dnb) {
      var %c $calc(255-(%i *255/$3))
      drawrect -nrf @lagb $rgb(%c,%c,%c) 1 %i 0 1 $4
    }
    elseif ($7 == db) {
      var %b $calc(510 * %i / $3),%bb $iif(%b > 255,$calc(255 + (255 - %b)),255)
      drawrect -nrf @lagb $rgb($iif(%b > 255,0,$calc(255 - %b)),%bb,255) 1 %i 0 1 $4
    }
    inc %i
  }
  drawdot @lagb
}

alias -l lag_rep {
  if ($prop == barre) { $rep($1,7) | bdeg }
  elseif ($prop == font) $rep($1,8)
  elseif ($prop == texte) {
    var %p $1 | tokenize 32 $hget(lag,opt)
    if ($9 && $9 != +c) $rep(%p,9)
    elseif ((!$9) || ($9 == +c)) hadd lag opt $instok($1-,%p,9,32)
  }
  elseif ($prop == re) $rep($1,6)
  elseif ($prop == max) $rep($1,5)
}

alias -l center { var %d $1 | tokenize 32 $hget(lag,opt) | return $calc(($3 /2)-($width(%d,arial,10)/2)-10) $calc(($4 /2)-7) %d }
alias -l dr drawrect -rnf @lag $1-
alias -l lm { if ($server) { .ctcpreply $me lb $ticks } | else { clear @lag | drawtext -o @lag 4 arial 11 $center(Déconnecté) } }
alias -l lag_reload { if ($hget(lag,opt)) { tokenize 32 $ifmatch | lag $window(@lag).x $window(@lag).y $window(@lag).w $window(@lag).h $5- } }
alias -l movewin { window $1 $calc($mouse.dx - $2) $calc($mouse.dy - $3) | if ($mouse.key & 1) { .timer 1 0 movewin $1- } }
alias -l deg { drawcopy @lagb 0 0 $1-2 @lag 0 0 }
alias -l rep { hadd lag opt $puttok($hget(lag,opt),$1,$2,32) }
alias -l q return $$input(Indiquez la couleur ? $crlf Format $ $+ rgb(R,G,B),ieoc,Changement de couleur)

Conclusion :


j'ai mis 4 exemples a votre disposition, étudiez l'alias /lagtest pour bien voir la syntaxe a utiliser
pour tester:
/lagtest 1
/lagtest 2
jusqu'a 4 ;-)

Attention, si vous voulez du noir à 100% , mettez comme couleur rgb du $rgb(1,0,0) (pour eviter d'avoir un zero)

A voir également

Ajouter un commentaire

Commentaires

SoldierZ
Messages postés
12
Date d'inscription
jeudi 12 février 2009
Statut
Membre
Dernière intervention
4 mai 2009
-
hummm jlaime ben ta lag barre mais a fais laguer x( loll xD
Foufoune_Palace
Messages postés
19
Date d'inscription
samedi 23 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2006
-
Elle est belle , je te met un 8/10 !
Parce'que tu dis que si on veut du noir à 100% qu'on mette $rgb[...] met tu n'explique pas ou et tout ...
GenerationNoNNoN
Messages postés
10
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
23 juin 2006
-
joli ;)
aurel212
Messages postés
24
Date d'inscription
samedi 13 mai 2006
Statut
Membre
Dernière intervention
31 mai 2007
-
c'est certainement super mais... =
* /lag: paramètres insuffisants
alors jsuis sur ke sa vien de moi, ke jlai pa chargé comme y fau etc... sa march pa pour moi koi
Erwanou
Messages postés
59
Date d'inscription
mardi 23 août 2005
Statut
Membre
Dernière intervention
8 janvier 2006
-
pas mal

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.