écriture multicolore

Mauricelepoisson Messages postés 97 Date d'inscription mardi 24 janvier 2006 Statut Membre Dernière intervention 3 mai 2011 - 14 févr. 2010 à 16:30
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 - 18 févr. 2010 à 02:07
Bonjour,

Je n'arrive pas à trouver pourquoi à l'exécution de ce petit alias, une ligne vide s'affiche alors que l'effet escompté est une couleur différente pour chaque lettre composant le mot ou la phrase, je dois oublier un truc quelque part.... :(

multi {
set %textc
set %ct 1
set %cc 1
:deb
if (%cc == 1) { set %textc %textc 1 $+ $mid(%tn,%ct,1) }
if (%cc == 2) { set %textc %textc 2 $+ $mid(%tn,%ct,1) }
if (%cc == 3) { set %textc %textc 3 $+ $mid(%tn,%ct,1) }
if (%cc == 4) { set %textc %textc 4 $+ $mid(%tn,%ct,1) }
if (%cc == 5) { set %textc %textc 5 $+ $mid(%tn,%ct,1) }
if (%cc == 6) { set %textc %textc 6 $+ $mid(%tn,%ct,1) }
if (%cc == 7) { set %textc %textc 7 $+ $mid(%tn,%ct,1) }
if (%cc == 8) { set %textc %textc 8 $+ $mid(%tn,%ct,1) }
if (%cc == 9) { set %textc %textc 9 $+ $mid(%tn,%ct,1) }
if (%cc == 10) { set %textc %textc 10 $+ $mid(%tn,%ct,1) }
if (%cc == 11) { set %textc %textc 11 $+ $mid(%tn,%ct,1) }
if (%cc == 12) { set %textc %textc 12 $+ $mid(%tn,%ct,1) }
if (%cc == 13) { set %textc %textc 13 $+ $mid(%tn,%ct,1) }
set %ct %ct + 1
set %cc %cc + 1
if (%cc == 13) { set %cc 1 }
if (%ct <= $len(%tn)) goto deb
say %textc
}

6 réponses

WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
14 févr. 2010 à 16:38
salut

pas de var %tn

et ajoute un $+ avant la couleur

mais il existe quelque chose plus simple avec $regsubex
0
Mauricelepoisson Messages postés 97 Date d'inscription mardi 24 janvier 2006 Statut Membre Dernière intervention 3 mai 2011
14 févr. 2010 à 19:50
bonsoir,

comment ça pas de var %tn ?
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
14 févr. 2010 à 21:56
bah tu as set tout les variable mais pas de %tn ajouté
donc ajoute var %tn $1- et tu aura la solution
mais il va falloir ajouté "$+" avant les couleurs
donc comme ça

multi { 
  set %textc 
  set %ct 1 
  set %cc 1 
  var %tn $1-
  :deb 
  if (%cc == 1) { set %textc %textc $+ 1 $+ $mid(%tn,%ct,1) } 
  if (%cc == 2) { set %textc %textc $+ 2 $+ $mid(%tn,%ct,1) } 
  if (%cc == 3) { set %textc %textc $+ 3 $+ $mid(%tn,%ct,1) } 
  if (%cc == 4) { set %textc %textc $+ 4 $+ $mid(%tn,%ct,1) } 
  if (%cc == 5) { set %textc %textc $+ 5 $+ $mid(%tn,%ct,1) } 
  if (%cc == 6) { set %textc %textc $+ 6 $+ $mid(%tn,%ct,1) } 
  if (%cc == 7) { set %textc %textc $+ 7 $+ $mid(%tn,%ct,1) } 
  if (%cc == 8) { set %textc %textc $+ 8 $+ $mid(%tn,%ct,1) } 
  if (%cc == 9) { set %textc %textc $+ 9 $+ $mid(%tn,%ct,1) } 
  if (%cc == 10) { set %textc %textc $+ 10 $+ $mid(%tn,%ct,1) } 
  if (%cc == 11) { set %textc %textc $+ 11 $+ $mid(%tn,%ct,1) } 
  if (%cc == 12) { set %textc %textc $+ 12 $+ $mid(%tn,%ct,1) } 
  if (%cc == 13) { set %textc %textc $+ 13 $+ $mid(%tn,%ct,1) } 
  set %ct %ct + 1 
  set %cc %cc + 1 
  if (%cc == 13) { set %cc 1 } 
  if (%ct <= $len(%tn)) goto deb 
  say %textc 
  halt
}


mais je t'ai dis regarde les $regsubex tu peux le faire plus simple avec
0
Mauricelepoisson Messages postés 97 Date d'inscription mardi 24 janvier 2006 Statut Membre Dernière intervention 3 mai 2011
14 févr. 2010 à 22:21
ah oui que je suis bête !!! merci WorldMT ! ça saute aux yeux purée et je ne le voyais pas ! merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mauricelepoisson Messages postés 97 Date d'inscription mardi 24 janvier 2006 Statut Membre Dernière intervention 3 mai 2011
18 févr. 2010 à 00:54
Message amical pour WolrdDMT :-)

Bonsoir,

ça m'a un peu "piqué" d'avoir été aussi aveugle sur le coup de la variable alors après un gros "brainstorming" et l'aide d'un pote "éclairé" voici un travail plus présentable et bien plus efficace que mon précédent code ;-)

multi {
set %multi.b 2
set %multi.n 1
set %multi.x 3
:multi.g
set %multi.c $mid($1-,%multi.n,1) $+  $+ %multi.x
set %multi.b %multi.b $+ %multi.c
inc %multi.n
set %multi.x $iif(%multi.x == 7,2,$calc(%multi.x + 1))
if (%multi.n <= $len($1-)) goto multi.g
say %multi.b
unset %multi.*
}
0
WorldDMT Messages postés 871 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 6 janvier 2012 1
18 févr. 2010 à 02:07
tu as dis que tu as un probleme tu n'a pas demandé d'amelioré le code
il existe la loop while en mIRC et ce code n'est pas tres efficace dsl :p

si tu essayais un truc

tape salut1 mon ami2 ça va5
là tu aura rien que les lettres sans les chiffre :)

si tu veux amelioré bah t'a cas demendé je t'aiderai
0