Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COULEUR SYSTEM V4.4


Information sur la source

Catégorie :AddOns Classé sous : addon, couleur, coloration, ecriture Niveau : Expert Date de création : 20/10/2003 Date de mise à jour : 13/03/2006 23:16:44 Vu / téléchargé: 11 904 / 1 402

Note :
7,77 / 10 - par 13 personnes
7,77 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (38)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
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

  • ;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
  • }
;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 !

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

13 août 2004 01:01:03 :
V3.4 : detection des modes chan desormai case sensitive ajout du systeme de coloration pour le pseudo
22 décembre 2004 13:29:33 :
V4.0 : correction d'un bug mineur qui metais un espace de trop entre les deco gauche et le text refonte de la database temporaire, desormai tout en .ini, plus propre dans le remote, reste compatible avec les bases de mes autre addon ajout de /couleurs pour lancer l'addon depuis un script sans bug amsg et ame sensible au mode nocolor de chaque chan V4.1 : quant on modifie une config et qu'on enregistre, ça recharge desormai automatiquement la config activée
11 janvier 2005 17:51:59 :
V4.2 : en passant a la V4 j'avais zaper 3 lignes en rapport avec les options "Modes"
18 mai 2005 14:35:07 :
V4.3 : une erreur de frappe ("b" a la place de "n") fesait ne pas marcher les couleur de fond j'ai aussi rajouter "identique" pour les couleur du pseudo (identique a la premiere lettre) le pseudo est desormais coloriser quel que soit sa position dans la phrase plusieur amélioration du noyau
13 mars 2006 23:16:46 :
V4.4 : correction de bug mineur d'affichage coloration des url supprime le caractère apres le pseudo si il est seul

Commentaires et avis

signaler à un administrateur
Commentaire de thyb le 20/10/2003 21:47:07

bah c bien pour un changement de couleur etc... c asser complet mais bon c pas tres compliquer non plus ... :p

signaler à un administrateur
Commentaire de SornDrixer le 21/10/2003 07:22:36 administrateur CS

Bonne source. Très complet pour un couleur system ! :)
C'est sur que se n'est pas très dur à faire, mais tant que c'est utile :p

signaler à un administrateur
Commentaire de Kerrigan le 28/10/2003 04:00:30

je tire beaucoup mais quand c'est bien je le dis.
c'est bien.

signaler à un administrateur
Commentaire de Kerrigan le 28/12/2003 00:56:16

J'aime bien même bcp :) C Complet. 10/10

signaler à un administrateur
Commentaire de carpediem666fr le 29/12/2003 22:41:54

euh.;... Nix ! le zip !!! i fce po !!!!!!!!!!!!!!!!!

signaler à un administrateur
Commentaire de lexlo34op le 23/03/2004 15:18:05

hello juste une tite question je trouve tres bien fait seulement quand j'ecrit il me met un espace entre la premiere et la 2eme lettres qui m'explique cmt eviter ca merci

;)

signaler à un administrateur
Commentaire de marsu38 le 08/04/2004 12:30:51

Bonjours, j'ai Noname Script 3.81, et lorsque 'ecris, celle me fais ecrire en 2 fois!!
Je ne comprends pas...

Ex :
(12:27:59) (@Marsu) ^^
(12:27:59) (@Marsu) ^^

Donc si vous pouviez m'aide, sa serait cool

Thanks and bye :D

signaler à un administrateur
Commentaire de 0rbital le 15/04/2004 20:26:48

Super bien, bon la pub c bof mais fo vivre

marsu38 &gt; tu dois avoir 2 systeme de couleur ou 2 trucs pour modifier le txt, fo pa.

signaler à un administrateur
Commentaire de Froh le 14/06/2004 00:52:16

Cette derniere version est vraiment ultime, la je vois vraiment pas quelles options rajouter...
A quand la machine a café integrée ?

signaler à un administrateur
Commentaire de loulouxiv77 le 23/07/2004 19:28:53

ta source est très bien, je l'utilise regulierement. Mais comment faire pour que les couleurs se desactivent dans les /me??

signaler à un administrateur
Commentaire de aerith le 29/07/2004 23:04:59

dans le /me,
tu selectionne "me" dans le type, coche "desactiver l'addon" ou metre aucunne couleur puis sauvez comme defaut

signaler à un administrateur
Commentaire de loulouxiv77 le 31/07/2004 16:27:58

j'ai fait comme tu as dit mais sa ne change rien.ou alors je n'ai pas fait comme il faut

signaler à un administrateur
Commentaire de loulouxiv77 le 31/07/2004 16:33:14

si j'ai bien compris, il faut que je selectionne le type me, que je mette desactiver l'addon et que je clique sur sauver comme defaut. c'est ca??

signaler à un administrateur
Commentaire de loulouxiv77 le 01/08/2004 18:30:49

il n'y aurait pas sinon une methode plus simple en suprimant du code ou en en modifiant?

signaler à un administrateur
Commentaire de aerith le 13/08/2004 01:04:42

tu selectionne "me" dans la combobox en haut a droite, tu COCHE "desactiver l'addon", a gauche en bas, puis click sur "sauver comme defaut"
laisse tout le code tranquil

signaler à un administrateur
Commentaire de BenghyBang le 19/10/2004 11:10:57

J'ai le même problème que marsu38 je n'utile pas le même script mais j'aimerai savoir comment désactiver l'éditeur de couleur par défaut pour le remplacer par l'addon?

signaler à un administrateur
Commentaire de aerith le 22/12/2004 13:23:34

si la config du script ne permet pas de desactiver l'addon couleur, alros remplacer le "on input", par "off input"

signaler à un administrateur
Commentaire de lesheriff le 15/04/2005 23:10:18

bonjour a tous! sympas cet addon mais pour la config j'ai marké une fois avoir cliké sur le fichier output.systeme4.mrc ont me dit qu'il me faut
predators-script ...lol bizarre...!

signaler à un administrateur
Commentaire de lesheriff le 15/04/2005 23:12:13

avec koi j'ouvre les mrc puis c koi mrc lol

signaler à un administrateur
Commentaire de lesheriff le 15/04/2005 23:15:08

c bon j'ai trouver :) mais ct tres facile a comprendre je l'avoue mais pas de connection * Unable to resolve server *zob !

signaler à un administrateur
Commentaire de aerith le 21/04/2005 16:13:39

mrc c'est des script pour mirc

charge le en fesant dans ton mirc "alt+R" puis file/load ...