Couleur System V4.4 par aerith "contact@aerith.biz"
pour une utilisation partielle ou complete dans un script me prevenir svp
cette addon vous permet de configurer vos couleurs :
-text : couleur, gras, souligne, inverse, majuscule
-deco : gauche, droite, activable ou non
-1ere lettre : couleur, gras, souligne, inverse, majuscule
-pseudo : couleur, gras, souligne, inverse, majuscule, carractere de liason
-url : même coloration que les pseudo
-detection automatique de la configuration (mode auto)
-possibilité de forcer une configuration une seul fois (mode temp), ou toujour (mode manu)
-detection des modes pour chaque chan lors de masse commandes
-desactivation si la premiere lettre de la phrase est par exemple / ou ! (configurable)
-mode no-color sur le serveur (configurable)
-tout desactiver
-tout cela en msg, me, notice, amsg ou ame et sauvegardable
la config des couleurs reagit sur un masque configurer pour changer de couleur en fonction des chans,
serveurs, pv...
Source / Exemple :
;Couleur System V4.4 par aerith "contact@aerith.biz"
;pour une utilisation partielle ou complete dans un script me prevenir svp
;##########FENETRE##########
alias couleurs if (!$dialog(couleur)) dialog -m couleur couleur
;##########MENU##########
menu * {
-
Couleur: /couleurs
}
;##########CONFIG##########
dialog couleur {
title "Couleur System V4.4"
size $cl(r,fenetre,x) $cl(r,fenetre,y) 210 222
option dbu
box "Couleur ecriture", 1, 2 2 132 33
text " Text :", 10, 5 10 30 10
combo 11, 35 10 30 150, result drop
text " Fond :", 12, 69 10 30 10
combo 13, 101 10 30 150, result drop
check "gras", 14, 5 21 30 10
check "souligne", 15, 37 21 30 10
check "inverser", 16, 69 21 30 10
check "maj", 17, 101 21 30 10
box "Deco gauche", 2, 2 35 65 23
check "activer", 20, 5 43 27 10
edit "", 21, 35 43 30 10, autohs
box "Deco droite", 3, 66 35 68 23
check "activer", 30, 70 43 27 10
edit "", 31, 101 43 30 10, autohs
box "Couleur 1ere Lettre", 4, 2 58 132 33
text " Text :", 40, 5 67 30 10
combo 41, 35 66 30 150, result drop
text " Fond :", 42, 69 66 30 10
combo 43, 101 66 30 150, result drop
check "gras", 44, 5 78 30 10
check "souligne", 45, 37 78 30 10
check "inverser", 46, 69 78 30 10
check "maj", 47, 101 78 30 10
box "Couleur pseudo", 54, 2 91 132 46
text "Separateur", 55, 4 99 94 10
edit "", 56, 100 98 30 10, autohs center
check "gras", 57, 4 124 30 10
check "souligné", 58, 36 124 30 10
check "inverser", 59, 68 124 30 10
check "maj", 60, 100 124 30 10
check "desactiver l'addon", 61, 6 166 60 10
text " Text :", 62, 4 111 30 10
combo 63, 34 111 30 150, result drop
text " Fond :", 64, 68 111 30 10
combo 65, 100 111 30 150, result drop
box "Option", 5, 2 137 132 42
text "desactive si la 1ere lettre de la phrase :", 50, 6 146 100 10
edit "", 51, 106 146 25 10, autohs center
text "mode no-color sur le serveur du chan :", 52, 6 156 100 10
edit "", 53, 106 156 25 10, autohs center
box "Modes", 100, 2 179 132 41
text "commande pour le mode manuel :", 101, 4 187 90 10
edit "", 102, 99 187 30 10, autohs center
text "<mode> pour le mode, <config> pour la config", 103, 4 197 125 10
check "Message", 104, 4 207 35 10
edit "", 105, 39 207 90 10, autohs center
box "Action", 7, 136 2 72 33
text "Type :", 70, 139 10 25 10
combo 71, 171 10 34 50, size drop
text "commande :", 72, 139 21 30 10
edit "", 73, 171 21 34 10, autohs center
text "Nom", 80, 137 38 20 10
edit "", 81, 160 38 48 10, autohs center
text "Masque", 82, 137 48 20 10
edit "", 83, 160 48 48 10, autohs center
list 84, 137 60 71 99, size hsbar vsbar
button "Ajouter", 85, 137 161 35 10
button "Supprimer", 86, 137 172 35 10
button "Monter", 87, 173 161 35 10
button "Descendre", 88, 173 172 35 10
button "Afficher l'aide", 89, 137 194 71 10
button "Quitter", 90, 137 205 35 15, cancel
button "Sauver comme defaut", 91, 137 183 71 10
button "Prendre", 92, 173 205 35 15, ok
}
;##initialisation##
on *:dialog:couleur:init:*:{
did -a couleur 11,13,41,43,63,65 Blanc
did -a couleur 11,13,41,43,63,65 Noir
did -a couleur 11,13,41,43,63,65 Bleu foncé
did -a couleur 11,13,41,43,63,65 Vert foncé
did -a couleur 11,13,41,43,63,65 Rouge
did -a couleur 11,13,41,43,63,65 Brun
did -a couleur 11,13,41,43,63,65 Violet
did -a couleur 11,13,41,43,63,65 Orange
did -a couleur 11,13,41,43,63,65 Jaune
did -a couleur 11,13,41,43,63,65 Vert clair
did -a couleur 11,13,41,43,63,65 Vert anglais
did -a couleur 11,13,41,43,63,65 Bleu ciel
did -a couleur 11,13,41,43,63,65 Bleu clair
did -a couleur 11,13,41,43,63,65 Rose
did -a couleur 11,13,41,43,63,65 Gris foncé
did -a couleur 11,13,41,43,63,65 Gris clair
did -a couleur 11,13,41,43,63,65 aucun
did -a couleur 41,43,63,65 identique
did -c couleur 11 $calc($cl(r,couleur,txt) + 1)
did -c couleur 13 $calc($cl(r,couleur,fnd) + 1)
if ($cl(r,couleur,gra) == 1) did -c couleur 14
if ($cl(r,couleur,sou) == 1) did -c couleur 15
if ($cl(r,couleur,inv) == 1) did -c couleur 16
if ($cl(r,couleur,maj) == 1) did -c couleur 17
if ($cl(r,gauche,actif) == 1) did -c couleur 20
if ($cl(r,gauche,text)) did -a couleur 21 $cl(r,gauche,text)
if ($cl(r,droite,actif) == 1) did -c couleur 30
if ($cl(r,droite,text)) did -a couleur 31 $cl(r,droite,text)
did -c couleur 41 $calc($cl(r,lettre,txt) + 1)
did -c couleur 43 $calc($cl(r,lettre,fnd) + 1)
if ($cl(r,lettre,gra) == 1) did -c couleur 44
if ($cl(r,lettre,sou) == 1) did -c couleur 45
if ($cl(r,lettre,inv) == 1) did -c couleur 46
if ($cl(r,lettre,maj) == 1) did -c couleur 47
if ($cl(r,config,strip)) did -a couleur 51 $cl(r,config,strip)
if ($cl(r,config,nocolor)) did -a couleur 53 $cl(r,config,nocolor)
did -c couleur 63 $calc($cl(r,pseudo,txt) + 1)
did -c couleur 65 $calc($cl(r,pseudo,fnd) + 1)
if ($cl(r,pseudo,car)) did -a couleur 56 $cl(r,pseudo,car)
if ($cl(r,pseudo,gra) == 1) did -c couleur 57
if ($cl(r,pseudo,sou) == 1) did -c couleur 58
if ($cl(r,pseudo,inv) == 1) did -c couleur 59
if ($cl(r,pseudo,maj) == 1) did -c couleur 60
if ($cl(r,config,desactive)) did -a couleur 61 $cl(r,config,desactive)
if ($cl(r,config,cmd)) did -a couleur 102 $cl(r,config,cmd)
if ($cl(r,config,mode) == 1) did -c couleur 104
if ($cl(r,config,cmode)) did -a couleur 105 $cl(r,config,cmode)
did -a couleur 71 msg
did -a couleur 71 me
did -a couleur 71 notice
did -a couleur 71 amsg
did -a couleur 71 ame
did -c couleur 71 1
did -b couleur 73
couleur.affiche msg
}
;##commande manuelle##
on *:dialog:couleur:edit:102: {
cl w config cmd $did(102)
}
;##afficher les modes##
on *:dialog:couleur:sclick:104: {
cl w config mode $did(104).state
}
;##couleur mode##
on *:dialog:couleur:edit:105: {
cl w config cmode $did(105)
}
;##type action##
on *:dialog:couleur:*:71: {
couleur.affiche $did(71).seltext
if ($did(71).seltext == msg) did -rb couleur 73
else did -era couleur 73 $cl(r,config,$did(71).seltext)
}
;##commande perso##
on *:dialog:couleur:edit:73: {
if ($did(71).seltext != msg) cl w config $did(71).seltext $did(73)
}
;##ajoute une config##
on *:dialog:couleur:sclick:85: {
if (!$did(81)) $iif($?!="veuillez spécifier un nom de config",halt,halt)
if ($cv($did(71).seltext,r,$did(81),nom)) $iif($?!="remplacer $did(81) ?",$null,halt)
couleur.ecrit $did(71).seltext $did(81)
couleur.affiche $did(71).seltext
couleur.aloue $cl(r,config,config)
}
;##supprime une config##
on *:dialog:couleur:sclick:86: {
if ($did(84).seltext == defaut) $iif($?!="impossible de suprimer la configuration par defaut",halt,halt)
if (!$did(84).seltext) $iif($?!="selectioner d'abord une config dans la liste",halt,halt)
if ($cv($did(71).seltext,r,$did(84).seltext,nom)) $iif($?!="supprimer $did(84).seltext ?",$null,halt)
cv $did(71).seltext d $did(84).seltext
couleur.affiche $did(71).seltext
}
;##monter la config##
on *:dialog:couleur:sclick:87: {
if (!$did(84).seltext) $iif($?!="selectioner d'abord une config dans la liste",halt,halt)
if ($did(84).seltext == defaut) $iif($?!="deplacement interdi",halt,halt)
var %i = $cv($did(71).seltext,r,listcmds,list)
var %t = $findtok(%i,$did(84).seltext,1,32)
if (%t == 1) $iif($?!="la config est toute en haut de la liste",halt,halt)
cv $did(71).seltext w listcmds list $instok($deltok(%i,%t,32),$did(84).seltext,$calc(%t - 1),32)
couleur.affiche $did(71).seltext
did -c couleur 84 %t
}
;##descendre la config##
on *:dialog:couleur:sclick:88: {
if (!$did(84).seltext) $iif($?!="selectioner d'abord une config dans la liste",halt,halt)
if ($did(84).seltext == defaut) $iif($?!="deplacement interdi",halt,halt)
var %i = $cv($did(71).seltext,r,listcmds,list)
var %t = $findtok(%i,$did(84).seltext,1,32)
if (%t == $numtok(%i,32)) $iif($?!="la config est toute en bas de la liste",halt,halt)
cv $did(71).seltext w listcmds list $instok($deltok(%i,%t,32),$did(84).seltext,$calc(%t + 1),32)
couleur.affiche $did(71).seltext
did -c couleur 84 $calc(%t + 2)
}
;##affiche l'aide##
on *:dialog:couleur:sclick:89: {
run $scriptdiraide.txt
}
;##sauvegarde du par defaut##
on *:dialog:couleur:sclick:91: {
$iif($?!="confirmer defaut",$null,halt)
couleur.ecrit $did(71).seltext defaut
couleur.affiche $did(71).seltext
}
;##prendre la config##
on *:dialog:couleur:sclick:92: {
if (!$did(84).seltext) $iif($?!="selectioner d'abord une config dans la liste",halt,halt)
cl w config config $did(71).seltext $did(84).seltext
cl w config manuel on $cl(r,config,config)
couleur.aloue $cl(r,config,config)
echo -a $replace($cl(r,config,cmode),<mode>,Mode Manu,<config>,$cl(r,config,config))
}
;##affiche la config##
on *:dialog:couleur:dclick:84: {
var %m = $did(71).seltext
var %s = $did(84).seltext
did -c couleur 11 $calc($cv(%m,r,%s,couleur.couleur1) + 1)
did -c couleur 13 $calc($cv(%m,r,%s,couleur.couleur2) + 1)
if ($cv(%m,r,%s,couleur.gra) == 1) did -c couleur 14
else did -u couleur 14
if ($cv(%m,r,%s,couleur.sou) == 1) did -c couleur 15
else did -u couleur 15
if ($cv(%m,r,%s,couleur.inv) == 1) did -c couleur 16
else did -u couleur 16
if ($cv(%m,r,%s,couleur.maj) == 1) did -c couleur 17
else did -u couleur 17
if ($cv(%m,r,%s,couleur.gauche) == 1) did -c couleur 20
else did -u couleur 20
did -ra couleur 21 $crp($cv(%m,r,%s,couleur.gauche.text))
if ($cv(%m,r,%s,couleur.droite) == 1) did -c couleur 30
else did -u couleur 30
did -ra couleur 31 $crp($cv(%m,r,%s,couleur.droite.text))
did -c couleur 41 $calc($cv(%m,r,%s,couleur.lettre.couleur1) + 1)
did -c couleur 43 $calc($cv(%m,r,%s,couleur.lettre.couleur2) + 1)
if ($cv(%m,r,%s,couleur.lettre.gra) == 1) did -c couleur 44
else did -u couleur 44
if ($cv(%m,r,%s,couleur.lettre.sou) == 1) did -c couleur 45
else did -u couleur 45
if ($cv(%m,r,%s,couleur.lettre.inv) == 1) did -c couleur 46
else did -u couleur 46
if ($cv(%m,r,%s,couleur.lettre.maj) == 1) did -c couleur 47
else did -u couleur 47
did -ra couleur 51 $cv(%m,r,%s,couleur.strip)
did -ra couleur 53 $cv(%m,r,%s,couleur.nocolor)
did -c couleur 63 $calc($cv(%m,r,%s,couleur.pseudo.couleur1) + 1)
did -c couleur 65 $calc($cv(%m,r,%s,couleur.pseudo.couleur2) + 1)
did -ra couleur 56 $cv(%m,r,%s,couleur.pseudo)
if ($cv(%m,r,%s,couleur.pseudo.gra) == 1) did -c couleur 57
else did -u couleur 57
if ($cv(%m,r,%s,couleur.pseudo.sou) == 1) did -c couleur 58
else did -u couleur 58
if ($cv(%m,r,%s,couleur.pseudo.inv) == 1) did -c couleur 59
else did -u couleur 59
if ($cv(%m,r,%s,couleur.pseudo.maj) == 1) did -c couleur 60
else did -u couleur 60
if ($cv(%m,r,%s,couleur.desactive) == 1) did -c couleur 61
else did -u couleur 61
did -ra couleur 81 $cv(%m,r,%s,nom)
did -ra couleur 83 $cv(%m,r,%s,couleur.masque)
}
;##retien la position##
on *:dialog:couleur:close:*: {
cl w fenetre x $dialog(couleur).x
cl w fenetre y $dialog(couleur).y
}
;##########ALIAS##########
;##retourne une variable##
alias -l cv {
var %rep = $+(",$scriptdir,$1,.ini,")
if ($2 == d) remini %rep $3-
elseif ($2 == r) return $crp($readini(%rep,$3,$4))
elseif ($2 == w) writeini -n %rep $3 $4 $cp($5-)
}
alias -l cl {
var %rep = $+(",$scriptdir,couleur.ini,")
if ($1 == r) return $crp($readini(%rep,$2,$3))
elseif ($1 == w) {
if ($4) writeini -n %rep $2 $3 $cp($4-)
else remini %rep $2 $3
}
}
;##affiche dans le dialogue##
alias -l couleur.affiche {
var %rep = $+(",$scriptdir,$1,.ini,")
var %l = $cv($1,r,listcmds,list)
var %a = 1
while (%a <= $ini(%rep,0)) {
var %i = $ini(%rep,%a)
if ((%i != listcmds) && (%i != defaut) && (!$findtok(%l,%i,1,32))) var %l = %l %i
inc %a 1
}
did -ra couleur 84 defaut
if (%l) {
var %a = 1
while (%a <= $numtok(%l,32)) {
if (!$cv($1,r,$gettok(%l,%a,32),nom)) var %l = $deltok(%l,%a,32)
else did -za couleur 84 $gettok(%l,%a,32)
inc %a 1
}
cv $1 w listcmds list %l
}
;##remember position##
cl w fenetre x $dialog(couleur).x
cl w fenetre y $dialog(couleur).y
}
;##recherche de la config en suivant les regles de priorités##
alias -l couleur.find {
var %rep = $scriptdir $+ $1 $+ .ini
var %l = $cv($1,r,listcmds,list)
var %a = 1
while (%a <= $numtok(%l,32)) {
var %m = $gettok(%l,%a,32)
var %t = $cv($1,r,%m,couleur.masque)
if ((%t) && (%t iswm $2-)) break
inc %a 1
}
if (%a > $numtok(%l,32)) {
var %a = 1
while (%a <= $numtok(%l,32)) {
var %m = $gettok(%l,%a,32)
var %t = $cv($1,r,%m,couleur.masque)
if ((%t) && (%t iswm $3)) break
inc %a 1
}
}
if (%a > $numtok(%l,32)) var %m = defaut
return %m
}
;##set les variables##
alias -l couleur.aloue {
cl w couleur txt $cv($1,r,$2,couleur.couleur1)
cl w couleur fnd $cv($1,r,$2,couleur.couleur2)
cl w couleur gra $cv($1,r,$2,couleur.gra)
cl w couleur sou $cv($1,r,$2,couleur.sou)
cl w couleur inv $cv($1,r,$2,couleur.inv)
cl w couleur maj $cv($1,r,$2,couleur.maj)
cl w gauche actif $cv($1,r,$2,couleur.gauche)
cl w gauche text $crp($cv($1,r,$2,couleur.gauche.text))
cl w droite actif $cv($1,r,$2,couleur.droite)
cl w droite text $crp($cv($1,r,$2,couleur.droite.text))
cl w lettre txt $cv($1,r,$2,couleur.lettre.couleur1)
cl w lettre fnd $cv($1,r,$2,couleur.lettre.couleur2)
cl w lettre gra $cv($1,r,$2,couleur.lettre.gra)
cl w lettre sou $cv($1,r,$2,couleur.lettre.sou)
cl w lettre inv $cv($1,r,$2,couleur.lettre.inv)
cl w lettre maj $cv($1,r,$2,couleur.lettre.maj)
cl w config strip $cv($1,r,$2,couleur.strip)
cl w config nocolor $cv($1,r,$2,couleur.nocolor)
cl w config desactive $cv($1,r,$2,couleur.desactive)
cl w pseudo txt $cv($1,r,$2,couleur.pseudo.couleur1)
cl w pseudo fnd $cv($1,r,$2,couleur.pseudo.couleur2)
cl w pseudo car $cv($1,r,$2,couleur.pseudo)
cl w pseudo gra $cv($1,r,$2,couleur.pseudo.gra)
cl w pseudo sou $cv($1,r,$2,couleur.pseudo.sou)
cl w pseudo inv $cv($1,r,$2,couleur.pseudo.inv)
cl w pseudo maj $cv($1,r,$2,couleur.pseudo.maj)
}
;##ecrit dans la database##
alias -l couleur.ecrit {
cv $1 w $2 nom $2
if ($did(couleur,83)) cv $1 w $2 couleur.masque $did(couleur,83)
else cv $1 d $2 couleur.masque
cv $1 w $2 couleur.couleur1 $calc($did(couleur,11).sel - 1)
cv $1 w $2 couleur.couleur2 $calc($did(couleur,13).sel - 1)
cv $1 w $2 couleur.gra $did(couleur,14).state
cv $1 w $2 couleur.sou $did(couleur,15).state
cv $1 w $2 couleur.inv $did(couleur,16).state
cv $1 w $2 couleur.maj $did(couleur,17).state
cv $1 w $2 couleur.gauche $did(couleur,20).state
if ($did(couleur,21)) cv $1 w $2 couleur.gauche.text $did(couleur,21)
else cv $1 d $2 couleur.gauche.text
cv $1 w $2 couleur.droite $did(couleur,30).state
if ($did(couleur,31)) cv $1 w $2 couleur.droite.text $did(couleur,31)
else cv $1 d $2 couleur.droite.text
cv $1 w $2 couleur.lettre.couleur1 $calc($did(couleur,41).sel - 1)
cv $1 w $2 couleur.lettre.couleur2 $calc($did(couleur,43).sel - 1)
cv $1 w $2 couleur.lettre.gra $did(couleur,44).state
cv $1 w $2 couleur.lettre.sou $did(couleur,45).state
cv $1 w $2 couleur.lettre.inv $did(couleur,46).state
cv $1 w $2 couleur.lettre.maj $did(couleur,47).state
if ($did(couleur,51)) cv $1 w $2 couleur.strip $did(couleur,51)
else cv $1 d $2 couleur.strip
if ($did(couleur,53)) cv $1 w $2 couleur.nocolor $did(couleur,53)
else cv $1 d $2 couleur.nocolor
cv $1 w $2 couleur.pseudo.couleur1 $calc($did(couleur,63).sel - 1)
cv $1 w $2 couleur.pseudo.couleur2 $calc($did(couleur,65).sel - 1)
if ($did(couleur,56)) cv $1 w $2 couleur.pseudo $did(couleur,56)
else cv $1 d $2 couleur.pseudo
cv $1 w $2 couleur.pseudo.gra $did(couleur,57).state
cv $1 w $2 couleur.pseudo.sou $did(couleur,58).state
cv $1 w $2 couleur.pseudo.inv $did(couleur,59).state
cv $1 w $2 couleur.pseudo.maj $did(couleur,60).state
cv $1 w $2 couleur.desactive $did(couleur,61).state
else cv $1 d $2 couleur.desactive
}
;##permet de lire les caracteres speciaux dans la database##
alias -l cp return $replace($1-,,&o,,&b,,&u,,&c,,&r)
alias -l crp return $replace($1-,&o,,&b,,&u,,&c,,&r,)
;##########INSTALLATION##########
on *:load: {
if (!$cl(r,fenetre,x)) cl w fenetre x -1
if (!$cl(r,fenetre,y)) cl w fenetre y -1
if (!$cl(r,config,manuel)) cl w config manuel off
if (!$cl(r,config,cmd)) cl w config cmd /couleur
if (!$cl(r,config,me)) cl w config me /me
if (!$cl(r,config,notice)) cl w config notice /n
if (!$cl(r,config,amsg)) cl w config amsg /amsg
if (!$cl(r,config,ame)) cl w config ame /ame
if (!$cl(r,config,mode)) cl w config mode 1
if (!$cl(r,config,cmode)) cl w config cmode 7(Couleur) 4[<mode>] 2config <config> activée
couleur.aloue msg defaut
dialog -m couleur couleur
}
;##########PUB##########
ctcp *:VERSION:*:{
ctcpreply $nick VERSION 12 addon : 4 $+ Couleur System V4.4 12 $+ crée par 13 $+ A $+ 6 $+ erith
}
;##########NOYAU##########
on *:input:*: {
if (!$server) goto fin
;mode manuel
if ($1 == $cl(r,config,cmd)) {
if (!$2) {
if ($gettok($cl(r,config,manuel),1,32) == on) {
cl w config config $gettok($cl(r,config,manuel),2-3,32)
couleur.aloue $cl(r,config,config)
cl w config manuel off
echo -a $replace($cl(r,config,cmode),<mode>,Mode Auto,<config>,$cl(r,config,config))
goto fin2
}
}
elseif ($2 == -s) {
if ($cv($iif($4,$4,msg),r,$3,nom)) {
cl w config manuel say $cl(r,config,config) $cl(r,config,manuel)
cl w config config $iif($4,$4,msg) $3
couleur.aloue $cl(r,config,config)
echo -a $replace($cl(r,config,cmode),<mode>,Mode Temp,<config>,$cl(r,config,config))
goto fin2
}
}
elseif ($cv($iif($3,$3,msg),r,$2,nom)) {
cl w config config $iif($3,$3,msg) $2
cl w config manuel on $cl(r,config,config)
couleur.aloue $cl(r,config,config)
echo -a $replace($cl(r,config,cmode),<mode>,Mode Manu,<config>,$cl(r,config,config))
goto fin2
}
}
;desactivation de l'addon et recherche le type
if ($1 == $cl(r,config,me)) {
if (($left($2,1) isin $cl(r,config,strip) ) || ($cl(r,config,desactive) == 1)) goto fin
else var %type = me
}
elseif ($1 == $cl(r,config,notice)) {
if (($left($3,1) isin $cl(r,config,strip) ) || ($cl(r,config,desactive) == 1)) goto fin
else var %type = notice
}
elseif ($1 == $cl(r,config,amsg)) {
if (($left($2,1) isin $cl(r,config,strip) ) || ($cl(r,config,desactive) == 1)) goto fin
else var %type = amsg
}
elseif ($1 == $cl(r,config,ame)) {
if (($left($2,1) isin $cl(r,config,strip) ) || ($cl(r,config,desactive) == 1)) goto fin
else var %type = ame
}
else {
if (($left($1,1) isin $cl(r,config,strip) ) || ($cl(r,config,desactive) == 1)) goto fin
else var %type = msg
}
;set les variables en fonction de la fenetre active
;$cl(r,config,config) et $cl(r,config,config) permettent de ne pas faire des operations inutile si la config n'a pas a changé
if ($cl(r,config,manuel) == off) {
var %a = %type $couleur.find(%type,$iif($address($active,5),$address($active,5),$active),$network $+ $server)
if (%a != $cl(r,config,config)) {
cl w config config %a
couleur.aloue $cl(r,config,config)
if ($cl(r,config,mode) == 1) echo -a $replace($cl(r,config,cmode),<mode>,Mode Auto,<config>,$cl(r,config,config))
}
}
;sauvegarde la chaine q travailler et qui sera envoyer
if ((%type == me) || (%type == amsg) || (%type == ame)) var %out = $2-
elseif (%type == notice) var %out = $3-
else var %out = $1-
var %out = $chr(32) $+ %out
;creation de la couleur du text
var %cg = $iif($cl(r,couleur,gra) == 1,)
var %cs = $iif($cl(r,couleur,sou) == 1,)
var %ci = $iif($cl(r,couleur,inv) == 1,)
set %couleur $iif($cl(r,couleur,txt) < 16, $+ $cl(r,couleur,txt) $+ $iif($cl(r,couleur,fnd) < 16,$chr(44) $+ $cl(r,couleur,fnd))) $+ %cg $+ %cs $+ %ci
;creation de la couleur premiere lettre
var %clg = $iif($cl(r,lettre,gra) == 1,)
var %cls = $iif($cl(r,lettre,sou) == 1,)
var %cli = $iif($cl(r,lettre,inv) == 1,)
cl w lettre outtxt $iif($cl(r,lettre,txt) == 17,$cl(r,couleur,txt),$cl(r,lettre,txt))
cl w lettre outfnd $iif($cl(r,lettre,fnd) == 17,$cl(r,couleur,fnd),$cl(r,lettre,fnd))
cl w lettre out $iif($cl(r,lettre,outtxt) < 16, $+ $cl(r,lettre,outtxt) $+ $iif($cl(r,lettre,outfnd) < 16,$chr(44) $+ $cl(r,lettre,outfnd))) $+ %clg $+ %cls $+ %cli
;creation du pseudo
var %cpg = $iif($cl(r,pseudo,gra) == 1,)
var %cps = $iif($cl(r,pseudo,sou) == 1,)
var %cpi = $iif($cl(r,pseudo,inv) == 1,)
cl w pseudo outtxt $iif($cl(r,pseudo,txt) == 17,$cl(r,lettre,outtxt),$cl(r,pseudo,txt))
cl w pseudo outfnd $iif($cl(r,pseudo,fnd) == 17,$cl(r,lettre,outfnd),$cl(r,pseudo,fnd))
cl w pseudo out $iif($cl(r,pseudo,outtxt) < 16, $+ $cl(r,pseudo,outtxt) $+ $iif($cl(r,pseudo,outfnd) < 16,$chr(44) $+ $cl(r,pseudo,outfnd))) $+ %cpg $+ %cps $+ %cpi
var %i = 1
while (%i <= $numtok(%out,32)) {
if ($gettok(%out,%i,32) ison $active) %out = $replace(%out,$gettok(%out,%i,32),$cl(r,pseudo,out) $+ $gettok(%out,%i,32) $+ $cl(r,pseudo,out) $+ %couleur)
;coloration url
if ((http:// isin $gettok(%out,%i,32)) || (www. isin $gettok(%out,%i,32))) %out = $replace(%out,$gettok(%out,%i,32),$cl(r,pseudo,out) $+ $+ $gettok(%out,%i,32) $+ $+ $cl(r,pseudo,out) $+ %couleur)
inc %i 1
}
if (($strip($gettok(%out,1,32)) ison $active) || (http:// isin $gettok(%out,1,32)) || (www. isin $gettok(%out,1,32))) {
%out = $gettok(%out,1,32) $iif($gettok(%out,2,32),$cl(r,pseudo,car),) $gettok(%out,2-,32)
;creation premiere lettre
if (($left($gettok(%out,3,32),1) !isnum) && ($mid($gettok(%out,3,32),2,1) !isnum)) {
%out = $gettok(%out,1-2,32) $replace($gettok(%out,3,32),$gettok(%out,3,32),$cl(r,lettre,out) $+ $iif($cl(r,lettre,maj) == 1,$upper($left($gettok(%out,3,32),1)),$left($gettok(%out,3,32),1)) $+ %couleur $+ $right($gettok(%out,3,32),-1))) $gettok(%out,4-,32)
}
else var %out = %couleur $+ %out
}
else {
;creation premiere lettre
if (($left($gettok(%out,1,32),1) !isnum) && ($mid($gettok(%out,1,32),2,1) !isnum)) {
%out = $replace($gettok(%out,1,32),$gettok(%out,1,32),$cl(r,lettre,out) $+ $iif($cl(r,lettre,maj) == 1,$upper($left($gettok(%out,1,32),1)),$left($gettok(%out,1,32),1)) $+ %couleur $+ $right($gettok(%out,1,32),-1))) $gettok(%out,2-,32)
}
else var %out = %couleur $+ %out
}
;creation des decos
if ($cl(r,gauche,actif) == 1) var %out = $cl(r,gauche,text) %out
if ($cl(r,droite,actif) == 1) var %out = %out $+ $cl(r,droite,text)
;supprime les couleurs si interdite sur le chan
if ((%type isin amsg ame) && ($me ison $active) && ($right($cl(r,config,nocolor),1) isincs $chan($active).mode)) var %out $strip(%out, co)
;affiche le resultat
if (%type == me) describe $active %out
elseif (%type == notice) notice $2 %out
elseif (%type == amsg) {
var %a = 1
while (%a <= $chan(0)) {
if ($right($cl(r,config,nocolor),1) isincs $chan(%a).mode) msg $chan(%a) $strip(%out)
else msg $chan(%a) %out
inc %a 1
}
}
elseif (%type == ame) {
var %a = 1
while (%a <= $chan(0)) {
if ($right($cl(r,config,nocolor),1) isincs $chan(%a).mode) describe $chan(%a) $strip(%out)
else describe $chan(%a) %out
inc %a 1
}
}
else msg $active %out
;remet ancienne config si mode couleur say
if ($gettok($cl(r,config,manuel),1,32) == say) {
cl w config config $gettok($cl(r,config,manuel),2-3,32)
cl w config manuel $gettok($cl(r,config,manuel),4-,32)
couleur.aloue $cl(r,config,config)
}
;quit l'addon
:fin2
halt
:fin
}
Conclusion :
Dans le zip il y a un exemple.
Cette addon couleur n'a aucun équivalent !
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.