Ca m'enerve -____-

Résolu
calopsfr Messages postés 137 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 22 août 2005 - 29 nov. 2004 à 13:17
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 - 30 nov. 2004 à 20:22
dites,c 'est peut etre tres conce que je demande, mais j'ai toujours eu un probleme avec les $left, $right et $mid... quand j'y met une variable comme indice, exemple :

var %pl2 $mid($1-,%b,1)


... alors chuis ptet bete mais je vois pas par quoi je peux remplacer mon %b...

9 réponses

cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
30 nov. 2004 à 07:26
Comme quoi le mIRC Script est bizarre defois :
au lieu de faire /var %var valeur, fait /var %var = valeur, car mIRC n'apprécie pas toujours se que tu as fais, et c'est ca qui coincait.

on *:input:#: {
  if ($left($1,1) isin :!.) { msg $chan $1- | halt }
  elseif ($left($1,1) == /) { $1- | halt }
  else {
    var %b = 0
    var %txt2 = $replace($1-,$chr(32),_)
    var %len = $len($1-)
    while (%b < %len) {
      inc %b
      var %pl2 = $mid(%txt2,%b,1)
      var %txt = %txt $+  $+ $iif(. isin $calc(%b / 2),11,8) $+ ,1 $+ %pl2
    }
    msg $chan $replace(%txt,_,$chr(32))
    halt
  }
}


Cordialement, Sorn_Drixer
-
:question) Mon site : Sorn-Creation
3
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
29 nov. 2004 à 16:43
Bonjour,

Que veux-tu faire exactement ?

$mid($1-,%b,1)
Si on remplace %b par X (X étant un nombre), ca va retourner le Xième caractère du mot.
Exemple :
$mid(test,3,1) va retourner s, car c'est la 3ème lettre du mot test.

En utilisant bien $mid, on peut très souvent se passer d'un $left ou d'un $right

Cordialement, Sorn_Drixer
-
:question) Mon site : Sorn-Creation
0
calopsfr Messages postés 137 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 22 août 2005
29 nov. 2004 à 17:36
je sais merci ^^

justement, je veux récupérer le %beme caractère du mot, or ca ne marche pas... et je sais tres bien que je peux me apsser de $left ou de $right, je dis juste que j'ia le meme probleme avec : la variable %b ne passe pas (n'importe quelle autre d'ailleurs)... voici le message d'erreur -____-
* Invalid format: $mid (line 9, script.ini)

bien sur, ca marche en mettant un nombre concret à la place de %b...

ah aussi un truc bien bizarre... quand je mets - $+ %b (qui revient à -X), ca marche... enfin bon je ne cherche pas ca, donc faudrait voir à trouver le probleme
0
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
29 nov. 2004 à 20:57
C'est bizarre.
Si tu pouvais nous donner ton alias, ou une partie du code dans lequel tu testes ca, on pourrait peut-être voir où ca coince. (à moins que tu testes directement en echo ?)

Cordialement, Sorn_Drixer
-
:question) Mon site : Sorn-Creation
0

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

Posez votre question
calopsfr Messages postés 137 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 22 août 2005
29 nov. 2004 à 21:35
ok, je donne mon script (c'est un systeme tout bete d'alternance des couleurs, ilf aut recuperer letre par lettre pour faire cette alternance)
on *:input:#: {
  if ($left($1,1) isin :!.) { msg $chan $1- | halt }
  elseif ($left($1,1) == /) { $1- | halt }
  else {
    var %b 0
    var %txt2 $replace($1-,$chr(32),_)
    var %len $len($1-)
    while (%b < %len) {
      inc %b
      var %pl2 $mid(%txt2,- $+ %b,1)
      var %txt %txt $+  $+ $iif(. isin $calc(%b / 2),11,8) $+ ,1 $+ %pl2
    }
    msg $chan $replace(%txt,_,$chr(32))
    halt
  }
}


remarde : ce script la fait ecrire en couleurs alternées sur du noir mais... à l'envers... si je pouvais trouver l'alias qui inverse els elttres d'un texte ca m'eviterait de le refaire en attendant de trouver le bug à ca ^^
0
calopsfr Messages postés 137 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 22 août 2005
30 nov. 2004 à 12:28
O___O... lol, c'est vrai c'est bin bizarre ^^... n'empeche je vois pas en quoi ca le dérange, enfin bon on va pas le contrarier... merci bien ^^
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
30 nov. 2004 à 14:01
en fait dès qu'il y a une virgule dans un /var, le top est de mettre un = : mIRC est un peu bizarre mais pas tant que ca, en effet il ne sait pas si tu déclares une autre variable locale ou si c'est la suite de ton code. le "=" lui dit de traiter les fonctions au mieux en gros (enfin le parenthèsage) ...
ex :
comment savoir si /var %b $read( %fichier , %ligne ) 5
veut dire : mettre dans %b la valeur $read(%fichier,%ligne) puis un 5
ou alors
mettre dans %b la valeur $read(%fichier et dans une autre variable %ligne mettre la valeur ") 5"
ca a l'air assez stupide, et ca n'a aucun intérêt de mal fermer une fonction si ce n'est avoir des msg d'erreurs, mais ca se comprend si tu te mets a la place de mirc qui lit ca "bêtement" qd ya pas le "="

(au passage,ca le fait pas sur tous les identifieurs et selon le contexte, et ca, ca c'est bizarre lol)

PaDa
0
calopsfr Messages postés 137 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 22 août 2005
30 nov. 2004 à 20:14
aaah ouais bien raisonné j'avais pas vu sous cet angle ^^... sauf que ca résoud pas le probleme qu'y prend avec un - et pas sans... bon onv a le laisser fiare comme y veut l'essentiel est que ca amrche ^^
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
30 nov. 2004 à 20:22
oué c clair que c'est étonnant, ya quand même des choses bizarres c'est sur, mais je crois que mon explication tient la route pour partie au moins. :))
PaDa
0
Rejoignez-nous