Voila, ben mon script est simple, vous tapez /couleur ou aller directement dans le menu Commandes/Configurer les couleurs et une boite de dialogue vous proposent de choisir la/les couleur(s) de votre texte. Cette version vous permet :
- de choisir 2 couleurs : la première lettre d'une, et le reste d'une autre
- de mettre automatiquement votre texte en gras
- de mettre la première lettre en majuscule
- d'alterner chaque lettre entre les 2 couleurs
- si vous tapez le nom d'un pseudo comme premier mot, il l'écrit comme ca : pseudo> Votre texte (pseudo sera en rouge, et le texte dans votre/vos couleur(s)
Une dernière chose, j'ai regler le problème qu'on pouvait rencontrer parfois, à savoir quand on tapais un chiffre comme 1er mot, maintenant, vous tapez ce-que-vous-voulez sans problème ^^
Je crois que j'ai tout dis. Si malgré tout, vous trouvez une erreur (mais je pense vraiment pas) faites le moi savoir.
MAJ (06/05/04) : 2 petite choses modifiée:
1) Lorsque vous tapez simplement un pseudo qui est dans un channel, il n'affiche plus en rouge pseudo> mais seulement le pseudo ds vos couleurs sans le >
2) Maintenant lorsque l'on tape en alterner les espaces ne compte plus (ex. la petite phrase ) si la couleur du 'a' de 'la' etait en rouge, la couleur de 'p' de 'petite' était aussi en rouge, maintenant plus :-)
Source / Exemple :
dialog couleur {
title "Configuration Couleur"
size -1 -1 186 61
option dbu
box "Configuration", 10, 5 2 103 37
text "1ère couleur :", 50, 10 12 44 8
combo 1, 61 10 41 36, size drop
text "2ème couleur :", 60, 10 25 44 8
combo 2, 61 23 41 36, size drop
button "OK", 30, 5 43 37 12, default ok
button "Annuler", 40, 52 43 37 12, cancel
box "Options", 20, 111 2 70 37
check "Gras", 3, 116 10 50 10
check "1ère lettre majuscule", 4, 116 18 62 10
check "Alterner", 5, 116 25 50 10
button "Enlever tout", 80, 114 42 56 9
text "© Silver Script. Tous droits réservés.", 70, 95 53 89 8
}
on *:dialog:couleur:init:*:{
did -a couleur 1,2 Blanc
did -a couleur 1,2 Noir
did -a couleur 1,2 Bleu
did -a couleur 1,2 Vert
did -a couleur 1,2 Rouge Clair
did -a couleur 1,2 Brun
did -a couleur 1,2 Mauve
did -a couleur 1,2 Orange
did -a couleur 1,2 Jaune
did -a couleur 1,2 Vert Clair
did -a couleur 1,2 Cyan
did -a couleur 1,2 Cyan Clair
did -a couleur 1,2 Bleu Clair
did -a couleur 1,2 Rose
did -a couleur 1,2 Gris
did -a couleur 1,2 Gris Clair
did -c couleur 1 $calc(%fcolor + 1)
did -c couleur 2 $calc(%scolor + 1)
if ( %gras == 1 ) did -c couleur 3
if ( %maj == 1 ) did -c couleur 4
if ( %altern == 1 ) did -c couleur 5
}
on *:dialog:couleur:sclick:30:{
if ( $calc($did(1).sel - 1) < 10 ) { set %fcolor 0 $+ $calc($did(1).sel - 1) }
else { set %fcolor $calc($did(1).sel - 1) }
if ( $calc($did(2).sel - 1) < 10 ) { set %scolor 0 $+ $calc($did(2).sel - 1) }
else { set %scolor $calc($did(2).sel - 1) }
set %gras $did(3).state
set %altern $did(5).state
set %maj $did(4).state
}
on *:dialog:couleur:sclick:80:{
set %fcolor 01
set %scolor 01
set %gras 0
set %maj 0
set %altern 0
dialog -x couleur
}
on *:load:{ dialog -m couleur couleur }
alias couleur { dialog -m couleur couleur }
menu menubar {
Configurer les couleurs: dialog -m couleur couleur
}
menu channel {
Configurer les couleurs: dialog -m couleur couleur
}
on *:input:#:{
if (( %altern == 1 ) && ( $left($1,1) != ! ) && ( $left($1,1) != / )) {
if ( $1 ison $active ) {
var %i 1
var %couleur %scolor
while ( %i <= $len($2-) ) {
var %t = $mid($2-, %i , 1 )
if ( %couleur == $+ %fcolor ) { %couleur = $+ %scolor }
else { %couleur = $+ %fcolor }
var %message = %message $+ %couleur $+ %t $+
inc %i
}
}
else {
var %i 1
var %couleur %scolor
while ( %i <= $len($1-) ) {
var %t = $mid($1-, %i , 1 )
if ( %couleur == $+ %fcolor ) { %couleur = $+ %scolor }
else { %couleur = $+ %fcolor }
if ( %t == $chr(32) ) {
if ( %couleur == $+ %fcolor ) { %couleur = $+ %scolor }
else { %couleur = $+ %fcolor }
}
var %message = %message $+ %couleur $+ %t $+
inc %i
}
}
say $iif( $1 ison $active , 4 $+ $1 $+ > ) $iif( %gras == 1, ) $+ $iif( %maj == 1, $upper( $left(%message,4) ), $left(%message, $iif( %fcolor < 10, 5, 4 )) ) $+ $right(%message, $iif( %fcolor < 10, -5, -4 ))
halt
}
if (( %maj == 0 ) && ( %gras == 0 ) && ( %fcolor == 01 ) && ( %scolor == 01 )) goto fin
if (( $left($1-,1) == / ) || ( $left($1-,1) == ! )) goto fin
var %first.letter.text $left($1,1)
var %rest.of.text $right($1-,-1)
if (( $1 ison $active ) && ( $2 != $null )) { var %first.letter.text $left($2,1) | var %rest.of.text $right($2-,-1) | /say 4 $+ $1 $+ > $iif( %gras == 1, ) $+ $+ %fcolor $+ $iif( %maj == 1, $upper(%first.letter.text), %first.letter.text) $+ $+ %scolor $+ %rest.of.text | halt }
say $iif( %gras == 1, ) $+ $+ %fcolor $+ $iif( %maj == 1, $upper(%first.letter.text), %first.letter.text) $+ $+ %scolor $+ %rest.of.text
halt
:fin
}
on *:input:?:{
if (( %altern == 1 ) && ( $left($1,1) != ! ) && ( $left($1,1) != / )) {
var %i 1
var %couleur %scolor
while ( %i <= $len($1-) ) {
var %t = $mid($1-, %i , 1 )
if ( %couleur == $+ %fcolor ) { %couleur = $+ %scolor }
else { %couleur = $+ %fcolor }
if ( %t == $chr(32) ) {
if ( %couleur == $+ %fcolor ) { %couleur = $+ %scolor }
else { %couleur = $+ %fcolor }
}
var %message = %message $+ %couleur $+ %t $+
inc %i
}
say $iif( %gras == 1, ) $+ $iif( %maj == 1, $upper( $left(%message,4) ), $left(%message, $iif( %fcolor < 10, 5, 4 )) ) $+ $right(%message, $iif( %fcolor < 10, -5, -4 ))
halt
}
if (( %maj == 0 ) && ( %gras == 0 ) && ( %fcolor == 01 ) && ( %scolor == 01 )) goto fin
if (( $left($1-,1) == / ) || ( $left($1-,1) == ! )) goto fin
var %first.letter.text $left($1,1)
var %rest.of.text $right($1-,-1)
say $iif( %gras == 1, ) $+ $+ %fcolor $+ $iif( %maj == 1, $upper(%first.letter.text), %first.letter.text) $+ $+ %scolor $+ %rest.of.text
halt
:fin
}
Conclusion :
Je viens de commencer à apprendre à programmer en irc voila 2 mois maintenant, et à part ce script ci qui peut être utile à tout le monde, les autres sont personnalisés pour moi donc il n'y en a pas, mais si il me venait encore des idées, je vous les ferait paraître bien entendu :-)
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.